diff --git a/.gitignore b/.gitignore index 3c3629e..78173a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ node_modules +repos/ +tests/ diff --git a/clash/bin/clash_for_arm64 b/bin/clash_for_arm64 similarity index 100% rename from clash/bin/clash_for_arm64 rename to bin/clash_for_arm64 diff --git a/clash/bin/clash_for_armv5 b/bin/clash_for_armv5 similarity index 100% rename from clash/bin/clash_for_armv5 rename to bin/clash_for_armv5 diff --git a/clash/bin/jq_for_arm64 b/bin/jq_for_arm64 similarity index 100% rename from clash/bin/jq_for_arm64 rename to bin/jq_for_arm64 diff --git a/clash/bin/jq_for_armv5 b/bin/jq_for_armv5 similarity index 100% rename from clash/bin/jq_for_armv5 rename to bin/jq_for_armv5 diff --git a/clash/bin/yq_for_arm64 b/bin/yq_for_arm64 similarity index 100% rename from clash/bin/yq_for_arm64 rename to bin/yq_for_arm64 diff --git a/clash/bin/yq_for_armv5 b/bin/yq_for_armv5 similarity index 100% rename from clash/bin/yq_for_armv5 rename to bin/yq_for_armv5 diff --git a/build.sh b/build.sh index 752e989..8a54241 100755 --- a/build.sh +++ b/build.sh @@ -34,11 +34,22 @@ generate_package() { echo "正在生成 release 安装包 ..." outdir="./release/" new_version="$1" + arch="${2:-arm64}" sed -i "s/vClash:.*/vClash:$new_version/" clash/clash/version echo -n "arm384" > clash/.valid + + # 拷贝可执行文件,构建最小安装包 + rm -rf ./clash/clash/bin + mkdir ./clash/clash/bin + bin_list="yq jq clash" + for fn in ${bin_list} ; do + cp ./bin/${fn}_for_${arch} ./clash/clash/bin/${fn} + done tar zcf ./release/clash_384.tar.gz clash/ echo -n "hnd|arm384|arm386|p1axhnd.675x" > clash/.valid tar zcf ./release/clash.tar.gz clash/ + rm -rf ./clash/clash/bin + } # 更新ruleset内部的文件 @@ -105,11 +116,11 @@ generate_gfwlist() { case "$1" in go) [[ "$2" == "" ]] && echo "缺少版本号信息!" && exit 1 - generate_package $2 + generate_package $2 $3 ;; pack) [[ "$2" == "" ]] && echo "缺少版本号信息!" && exit 1 - generate_package $2 + generate_package $2 $3 git add ./ git commit -m "docs: 提交$2版本离线包" git tag $2 diff --git a/clash/bin/uri_decoder_for_arm64 b/clash/bin/uri_decoder_for_arm64 deleted file mode 120000 index 8bf2443..0000000 --- a/clash/bin/uri_decoder_for_arm64 +++ /dev/null @@ -1 +0,0 @@ -uri_decoder_for_armv5 \ No newline at end of file diff --git a/clash/bin/uri_decoder_for_armv5 b/clash/bin/uri_decoder_for_armv5 deleted file mode 100755 index 1c35ac2..0000000 Binary files a/clash/bin/uri_decoder_for_armv5 and /dev/null differ diff --git a/clash/clash/config.yaml b/clash/clash/config.yaml index be2aee6..02c7c16 100644 --- a/clash/clash/config.yaml +++ b/clash/clash/config.yaml @@ -1,9 +1,10 @@ port: 7890 socks-port: 1080 # SOCKS5代理端口,DNS请求会中转 redir-port: 3333 # 透明代理端口 +tproxy-port: 3330 # TPROXY使用的透明代理端口 支持TCP和UDP mode: rule allow-lan: true - +routing-mark: 0xff # allow-lan=true时,最好设置内网访问IP,关闭IPv6监听 # '*': bind all IP addresses # 192.168.122.11: bind a single IPv4 address @@ -11,21 +12,29 @@ allow-lan: true bind-address: '*' # 不使用IPv6地址(配合上面的bind-address) ipv6: false - -external-controller: 0.0.0.0:9090 -external-ui: /koolshare/clash/dashboard/ +external-controller: 192.168.50.1:9090 +external-ui: /koolshare/clash/dashboard secret: route - - +# 启用 tun 模式来路由全局流量 +tun: + enable: false + stack: system # 可选参数: system/gvisor/mixed + auto-route: true + auto-detect-interface: true + dns-hijack: + - 8.8.8.8:53 + - tcp://8.8.8.8:53 + - any:53 + - tcp://any:53 dns: enable: true ipv6: false enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 - listen: 0.0.0.0:7874 + listen: 0.0.0.0:1053 nameserver: - - 114.114.114.114 - 223.5.5.5 + - 114.114.114.114 - https://doh.pub/dns-query - https://dns.alidns.com/dns-query fallback: @@ -42,10 +51,8 @@ experimental: sniff-tls-sni: true profile: store-selected: true - # 保留的proxy节点列表(启动配置文件不包含任何节点信息,节点信息通过 proxy-provider 提供) proxies: [] - proxy-providers: proxy-provider-http001: type: http @@ -63,7 +70,6 @@ proxy-providers: enable: true url: http://www.gstatic.com/generate_204 interval: 300 - proxy-groups: - name: 个人节点组 type: select @@ -256,7 +262,6 @@ proxy-groups: proxies: - DIRECT - ⭐默认节点组⭐ - rule-providers: Reject: type: http @@ -602,7 +607,7 @@ rule-providers: interval: 86400 MyBlacklist: type: http - behavior: classical # domain, ipcidr or classical (仅限 Clash Premium 内核) + behavior: classical # domain, ipcidr or classical (仅限 Clash Premium 内核) url: https://raw.githubusercontent.com/vxiaov/vClash/ksmerlin386/clash/clash/ruleset/my_blacklist.yaml path: ./ruleset/my_blacklist.yaml interval: 86400 @@ -612,7 +617,6 @@ rule-providers: url: https://raw.githubusercontent.com/vxiaov/vClash/ksmerlin386/clash/clash/ruleset/my_whitelist.yaml path: ./ruleset/my_whitelist.yaml interval: 86400 - rules: - IP-CIDR,198.18.0.1/16,REJECT,no-resolve - DOMAIN-SUFFIX,local,DIRECT diff --git a/clash/clash/dashboard/yacd/assets/Config-c412a416.js b/clash/clash/dashboard/yacd/assets/Config-c412a416.js new file mode 100644 index 0000000..e234bf8 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Config-c412a416.js @@ -0,0 +1 @@ +import{r as F,R as v,P as j,c as W,j as e,e as q,g as L,h as T,i as H,k as R,l as G,m as K,n as b,u as Q,o as V,d as J,C as X,B as Y,q as Z,s as ee,t as te,v as se}from"./index-3b7e2f10.js";import{r as ne}from"./logs-2efc7736.js";import{S as C}from"./Select-a2c574c2.js";import{T as E}from"./Toggle-7a52109a.js";import{I as ae,S as oe}from"./Input-157c292d.js";import{u as le}from"./useMutation-75c97bd7.js";function _(){return _=Object.assign||function(t){for(var o=1;o=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}function ie(t,o){if(t==null)return{};var a={},n=Object.keys(t),l,r;for(r=0;r=0)&&(a[l]=t[l]);return a}var w=F.forwardRef(function(t,o){var a=t.color,n=a===void 0?"currentColor":a,l=t.size,r=l===void 0?24:l,u=re(t,["color","size"]);return v.createElement("svg",_({ref:o,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},u),v.createElement("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),v.createElement("polyline",{points:"16 17 21 12 16 7"}),v.createElement("line",{x1:"21",y1:"12",x2:"9",y2:"12"}))});w.propTypes={color:j.string,size:j.oneOfType([j.string,j.number])};w.displayName="LogOut";const ce=w,de="_root_1s1gc_1",ue="_section_1s1gc_2",pe="_item_1s1gc_14",ge="_sep_1s1gc_34",he="_label_1s1gc_47",c={root:de,section:ue,item:pe,sep:ge,label:he},me="_fieldset_1ghjp_1",fe="_input_1ghjp_9",xe="_cnt_1ghjp_9",k={fieldset:me,input:fe,cnt:xe};function ve({OptionComponent:t,optionPropsList:o,selectedIndex:a,onChange:n}){const l=W("visually-hidden",k.input),r=u=>{n(u.target.value)};return e.jsx("fieldset",{className:k.fieldset,children:o.map((u,i)=>e.jsxs("label",{children:[e.jsx("input",{type:"radio",checked:a===i,name:"selection",value:i,"aria-labelledby":"traffic chart type "+i,onChange:r,className:l}),e.jsx("div",{className:k.cnt,children:e.jsx(t,{...u})})]},i))})}const{useMemo:je}=R,ye={plugins:{legend:{display:!1}},scales:{x:{display:!1,type:"category"},y:{display:!1,type:"linear"}}},B=[23e3,35e3,46e3,33e3,9e4,68e3,23e3,45e3],be=[184e3,183e3,196e3,182e3,19e4,186e3,182e3,189e3],Ce=B;function ke({id:t}){const o=q.read(),a=je(()=>({labels:Ce,datasets:[{...L,...T[t].up,data:B},{...L,...T[t].down,data:be}]}),[t]),n="chart-"+t;return H(o.Chart,n,a,null,ye),e.jsx("div",{style:{width:100,padding:5},children:e.jsx("canvas",{id:n})})}const{useEffect:_e,useState:we,useCallback:f,useRef:Oe,useMemo:Se}=R,Ne=[{id:0},{id:1},{id:2},{id:3}],Ie=[["debug","Debug"],["info","Info"],["warning","Warning"],["error","Error"],["silent","Silent"]],Pe=[{key:"port",label:"HTTP Proxy Port"},{key:"socks-port",label:"SOCKS5 Proxy Port"},{key:"mixed-port",label:"Mixed Port"},{key:"redir-port",label:"Redir Port"}],Le=[["zh","中文"],["en","English"]],Te=[["Global","Global"],["Rule","Rule"],["Direct","Direct"]];function $e(){const{data:t}=G();return e.jsx(Ee,{configs:t})}function Ee({configs:t}){const o=K(),[a,n]=b(Z),[l,r]=b(ee),u=Q(),[i,O]=we(t),S=Oe(t);_e(()=>{S.current!==t&&O(t),S.current=t},[t]);const m=f((s,d)=>{O({...i,[s]:d})},[i]),M=V(),h=le({mutationFn:te(u),onSuccess:()=>{M.invalidateQueries({queryKey:["/configs"]})}}),A=f(s=>{const d="allow-lan",p=s;m(d,p),h.mutate({"allow-lan":p})},[h,m]),x=f(({name:s,value:d})=>{switch(s){case"mode":case"log-level":m(s,d),h.mutate({[s]:d}),s==="log-level"&&ne({...u,logLevel:d});break;case"redir-port":case"socks-port":case"mixed-port":case"port":if(d!==""){const p=parseInt(d,10);if(p<0||p>65535)return}m(s,d);break;default:return}},[u,h,m]),z=f(s=>x(s.target),[x]),N=f(s=>{const d=s.target,{name:p,value:P}=d;switch(p){case"port":case"socks-port":case"mixed-port":case"redir-port":{const y=parseInt(P,10);if(y<0||y>65535)return;h.mutate({[p]:y});break}case"latencyTestUrl":{n(P);break}default:throw new Error(`unknown input name ${p}`)}},[h,n]),U=Se(()=>{const s=i.mode;return typeof s=="string"&&s[0].toUpperCase()+s.slice(1)},[i.mode]),[$,D]=b(se),{t:g,i18n:I}=J();return e.jsxs("div",{children:[e.jsx(X,{title:g("Config")}),e.jsxs("div",{className:c.root,children:[Pe.map(s=>i[s.key]!==void 0?e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:s.label}),e.jsx(ae,{name:s.key,value:i[s.key],onChange:z,onBlur:N})]},s.key):null),e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:"Mode"}),e.jsx(C,{options:Te,selected:U,onChange:s=>x({name:"mode",value:s.target.value})})]}),e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:"Log Level"}),e.jsx(C,{options:Ie,selected:i["log-level"],onChange:s=>x({name:"log-level",value:s.target.value})})]}),e.jsxs("div",{className:c.item,children:[e.jsx(E,{id:"config-allow-lan",checked:i["allow-lan"],onChange:A}),e.jsx("label",{htmlFor:"config-allow-lan",children:"Allow LAN"})]})]}),e.jsx("div",{className:c.sep,children:e.jsx("div",{})}),e.jsxs("div",{className:c.section,children:[e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:g("latency_test_url")}),e.jsx(oe,{name:"latencyTestUrl",type:"text",value:a,onBlur:N})]}),e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:g("lang")}),e.jsx("div",{children:e.jsx(C,{options:Le,selected:I.language,onChange:s=>I.changeLanguage(s.target.value)})})]}),e.jsxs("div",{children:[e.jsx("div",{className:c.label,children:g("chart_style")}),e.jsx(ve,{OptionComponent:ke,optionPropsList:Ne,selectedIndex:l,onChange:s=>r(parseInt(s,10))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:c.label,children:[g("current_backend"),e.jsx("p",{children:u.baseURL})]}),e.jsx("div",{className:c.label,children:"Action"}),e.jsx(Y,{start:e.jsx(ce,{size:16}),label:g("switch_backend"),onClick:()=>o("/backend")})]}),e.jsxs("div",{className:c.item,children:[e.jsx(E,{id:"dark-mode-pure-black-toggle",checked:$,onChange:D}),e.jsx("label",{htmlFor:"dark-mode-pure-black-toggle",children:g("dark_mode_pure_black_toggle_label")})]})]})]})}export{$e as default}; diff --git a/clash/clash/dashboard/yacd/assets/Config-cf41b8ef.css b/clash/clash/dashboard/yacd/assets/Config-cf41b8ef.css new file mode 100644 index 0000000..7058362 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Config-cf41b8ef.css @@ -0,0 +1 @@ +._root_1s1gc_1,._section_1s1gc_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(345px,1fr));max-width:900px;gap:5px}@media screen and (min-width: 30em){._root_1s1gc_1,._section_1s1gc_2{gap:15px}}._root_1s1gc_1 ._item_1s1gc_14,._section_1s1gc_2 ._item_1s1gc_14{margin-top:11px}._root_1s1gc_1 ._item_1s1gc_14 label,._section_1s1gc_2 ._item_1s1gc_14 label{padding-left:12px}._root_1s1gc_1,._section_1s1gc_2{padding:6px 15px 10px}@media screen and (min-width: 30em){._root_1s1gc_1,._section_1s1gc_2{padding:10px 40px 15px}}._sep_1s1gc_34{max-width:900px;padding:0 15px}@media screen and (min-width: 30em){._sep_1s1gc_34{padding:0 40px}}._sep_1s1gc_34>div{border-top:1px dashed #373737}._label_1s1gc_47{padding:11px 0}._fieldset_1ghjp_1{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap}._input_1ghjp_9+._cnt_1ghjp_9{border:1px solid transparent;border-radius:8px;cursor:pointer;margin-right:5px;margin-bottom:5px}._input_1ghjp_9:focus+._cnt_1ghjp_9{border-color:#387cec}._input_1ghjp_9:checked+._cnt_1ghjp_9{border-color:#387cec} diff --git a/clash/clash/dashboard/yacd/assets/Config.58870520.css b/clash/clash/dashboard/yacd/assets/Config.58870520.css deleted file mode 100644 index 1f0d6c3..0000000 --- a/clash/clash/dashboard/yacd/assets/Config.58870520.css +++ /dev/null @@ -1 +0,0 @@ -._root_1tdl3_1,._section_1tdl3_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(345px,1fr));max-width:900px;gap:5px}@media screen and (min-width: 30em){._root_1tdl3_1,._section_1tdl3_2{gap:15px}}._root_1tdl3_1,._section_1tdl3_2{padding:6px 15px 10px}@media screen and (min-width: 30em){._root_1tdl3_1,._section_1tdl3_2{padding:10px 40px 15px}}._wrapSwitch_1tdl3_26{height:40px;display:flex;align-items:center}._sep_1tdl3_32{max-width:900px;padding:0 15px}@media screen and (min-width: 30em){._sep_1tdl3_32{padding:0 40px}}._sep_1tdl3_32>div{border-top:1px dashed #373737}._label_1tdl3_45{padding:11px 0}._fieldset_1ghjp_1{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap}._input_1ghjp_9+._cnt_1ghjp_9{border:1px solid transparent;border-radius:8px;cursor:pointer;margin-right:5px;margin-bottom:5px}._input_1ghjp_9:focus+._cnt_1ghjp_9{border-color:#387cec}._input_1ghjp_9:checked+._cnt_1ghjp_9{border-color:#387cec} diff --git a/clash/clash/dashboard/yacd/assets/Config.e907894c.js b/clash/clash/dashboard/yacd/assets/Config.e907894c.js deleted file mode 100644 index 4fdbfdd..0000000 --- a/clash/clash/dashboard/yacd/assets/Config.e907894c.js +++ /dev/null @@ -1 +0,0 @@ -var J=Object.defineProperty,K=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var $=(e,t,a)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&$(e,a,t[a]);if(b)for(var a of b(t))T.call(t,a)&&$(e,a,t[a]);return e},f=(e,t)=>K(e,Q(t));var M=(e,t)=>{var a={};for(var o in e)R.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&b)for(var o of b(e))t.indexOf(o)<0&&T.call(e,o)&&(a[o]=e[o]);return a};import{r as X,b as c,j as n,P as w,s as A,R as Y,c as Z,i as ee,k as z,l as E,n as te,h as B,d as D,o as ne,g as U,q as ae,t as oe,v as _,w as le,u as se,C as re,x as ce,B as ie,y as de,z as ue}from"./index.25cbb458.js";import{r as pe}from"./logs.b2a9e8c9.js";import{S as x}from"./Select.3926bbe9.js";function he(e,t){if(e==null)return{};var a=ge(e,t),o,r;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&(!Object.prototype.propertyIsEnumerable.call(e,o)||(a[o]=e[o]))}return a}function ge(e,t){if(e==null)return{};var a={},o=Object.keys(e),r,s;for(s=0;s=0)&&(a[r]=e[r]);return a}var I=X.exports.forwardRef(function(e,t){var a=e.color,o=a===void 0?"currentColor":a,r=e.size,s=r===void 0?24:r,u=he(e,["color","size"]);return c("svg",f(p({ref:t,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:o,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},u),{children:[n("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),n("polyline",{points:"16 17 21 12 16 7"}),n("line",{x1:"21",y1:"12",x2:"9",y2:"12"})]}))});I.propTypes={color:w.string,size:w.oneOfType([w.string,w.number])};I.displayName="LogOut";var fe=I;const{useState:me,useRef:ve,useEffect:ye,useCallback:Ce}=Y;function be(e){return n("input",p({className:A.input},e))}function we(a){var o=a,{value:e}=o,t=M(o,["value"]);const[r,s]=me(e),u=ve(e);ye(()=>{u.current!==e&&s(e),u.current=e},[e]);const g=Ce(k=>s(k.target.value),[s]);return n("input",p({className:A.input,value:r,onChange:g},t))}const ke="_root_1tdl3_1",Se="_section_1tdl3_2",_e="_wrapSwitch_1tdl3_26",xe="_sep_1tdl3_32",Oe="_label_1tdl3_45";var d={root:ke,section:Se,wrapSwitch:_e,sep:xe,label:Oe};const Ie="_fieldset_1ghjp_1",Ne="_input_1ghjp_9",Pe="_cnt_1ghjp_9";var O={fieldset:Ie,input:Ne,cnt:Pe};function Le({OptionComponent:e,optionPropsList:t,selectedIndex:a,onChange:o}){const r=Z("visually-hidden",O.input),s=u=>{o(u.target.value)};return n("fieldset",{className:O.fieldset,children:t.map((u,g)=>c("label",{children:[n("input",{type:"radio",checked:a===g,name:"selection",value:g,"aria-labelledby":"traffic chart type "+g,onChange:s,className:r}),n("div",{className:O.cnt,children:n(e,p({},u))})]},g))})}const{useMemo:je}=B,$e={plugins:{legend:{display:!1}},scales:{x:{display:!1,type:"category"},y:{display:!1,type:"linear"}}},V=[23e3,35e3,46e3,33e3,9e4,68e3,23e3,45e3],Re=[184e3,183e3,196e3,182e3,19e4,186e3,182e3,189e3],Te=V;function Me({id:e}){const t=ee.read(),a=je(()=>({labels:Te,datasets:[f(p(p({},z),E[e].up),{data:V}),f(p(p({},z),E[e].down),{data:Re})]}),[e]),o="chart-"+e;return te(t.Chart,o,a,null,$e),n("div",{style:{width:100,padding:5},children:n("canvas",{id:o})})}const{useEffect:W,useState:ze,useCallback:m,useRef:Ee,useMemo:Ae}=B,Be=[{id:0},{id:1},{id:2},{id:3}],De=[["debug","Debug"],["info","Info"],["warning","Warning"],["error","Error"],["silent","Silent"]],Ue=[{key:"port",label:"HTTP Proxy Port"},{key:"socks-port",label:"SOCKS5 Proxy Port"},{key:"mixed-port",label:"Mixed Port"},{key:"redir-port",label:"Redir Port"}],Ve=[["zh","\u4E2D\u6587"],["en","English"]],We=[["Global","Global"],["Rule","Rule"],["Direct","Direct"]],He=e=>({configs:ne(e),apiConfig:U(e)}),Ge=e=>({selectedChartStyleIndex:de(e),latencyTestUrl:ue(e),apiConfig:U(e)}),qe=D(Ge)(Je);var Ze=D(He)(Fe);function Fe({dispatch:e,configs:t,apiConfig:a}){return W(()=>{e(ae(a))},[e,a]),n(qe,{configs:t})}function Je({dispatch:e,configs:t,selectedChartStyleIndex:a,latencyTestUrl:o,apiConfig:r}){const[s,u]=ze(t),g=Ee(t);W(()=>{g.current!==t&&u(t),g.current=t},[t]);const k=m(()=>{e(oe("apiConfig"))},[e]),v=m((l,i)=>{u(f(p({},s),{[l]:i}))},[s]),H=m(l=>{const i="allow-lan",h=l;v(i,h),e(_(r,{"allow-lan":h}))},[r,e,v]),y=m(({name:l,value:i})=>{switch(l){case"mode":case"log-level":v(l,i),e(_(r,{[l]:i})),l==="log-level"&&pe(f(p({},r),{logLevel:i}));break;case"redir-port":case"socks-port":case"mixed-port":case"port":if(i!==""){const h=parseInt(i,10);if(h<0||h>65535)return}v(l,i);break;default:return}},[r,e,v]),G=m(l=>y(l.target),[y]),{selectChartStyleIndex:q,updateAppConfig:N}=le(),P=m(l=>{const i=l.target,{name:h,value:j}=i;switch(h){case"port":case"socks-port":case"mixed-port":case"redir-port":{const S=parseInt(j,10);if(S<0||S>65535)return;e(_(r,{[h]:S}));break}case"latencyTestUrl":{N(h,j);break}default:throw new Error(`unknown input name ${h}`)}},[r,e,N]),F=Ae(()=>{const l=s.mode;return typeof l=="string"&&l[0].toUpperCase()+l.slice(1)},[s.mode]),{t:C,i18n:L}=se();return c("div",{children:[n(re,{title:C("Config")}),c("div",{className:d.root,children:[Ue.map(l=>s[l.key]!==void 0?c("div",{children:[n("div",{className:d.label,children:l.label}),n(be,{name:l.key,value:s[l.key],onChange:G,onBlur:P})]},l.key):null),c("div",{children:[n("div",{className:d.label,children:"Mode"}),n(x,{options:We,selected:F,onChange:l=>y({name:"mode",value:l.target.value})})]}),c("div",{children:[n("div",{className:d.label,children:"Log Level"}),n(x,{options:De,selected:s["log-level"],onChange:l=>y({name:"log-level",value:l.target.value})})]}),c("div",{children:[n("div",{className:d.label,children:"Allow LAN"}),n("div",{className:d.wrapSwitch,children:n(ce,{name:"allow-lan",checked:s["allow-lan"],onChange:H})})]})]}),n("div",{className:d.sep,children:n("div",{})}),c("div",{className:d.section,children:[c("div",{children:[n("div",{className:d.label,children:C("latency_test_url")}),n(we,{name:"latencyTestUrl",type:"text",value:o,onBlur:P})]}),c("div",{children:[n("div",{className:d.label,children:C("lang")}),n("div",{children:n(x,{options:Ve,selected:L.language,onChange:l=>L.changeLanguage(l.target.value)})})]}),c("div",{children:[n("div",{className:d.label,children:C("chart_style")}),n(Le,{OptionComponent:Me,optionPropsList:Be,selectedIndex:a,onChange:q})]}),c("div",{children:[n("div",{className:d.label,children:"Action"}),n(ie,{start:n(fe,{size:16}),label:"Switch backend",onClick:k})]})]})]})}export{Ze as default}; diff --git a/clash/clash/dashboard/yacd/assets/Connections-7210eedd.js b/clash/clash/dashboard/yacd/assets/Connections-7210eedd.js new file mode 100644 index 0000000..61e6e5d --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Connections-7210eedd.js @@ -0,0 +1,22 @@ +import{r as P,R as L,c as q,p as oe,M as rt,j as R,a as _t,B as Ue,u as $t,b as xt,f as Ft,d as Pt,C as yt,I as It,S as Mt}from"./index-3b7e2f10.js";import{u as Vt}from"./useRemainingViewPortHeight-22ab7283.js";import{f as Et}from"./index-138a52ef.js";import{C as Dt,m as be}from"./Modal.module-651c4560.js";import{F as At,p as Lt,A as Ht}from"./Fab-d86fe1ea.js";import{P as Gt,a as Tt}from"./play-c4e5016b.js";function Me(e){return o=>!!o.type&&o.type.tabsRole===e}const ge=Me("Tab"),Ve=Me("TabList"),Ee=Me("TabPanel");function Ot(e){return ge(e)||Ve(e)||Ee(e)}function $e(e,o){return P.Children.map(e,t=>t===null?null:Ot(t)?o(t):t.props&&t.props.children&&typeof t.props.children=="object"?P.cloneElement(t,{...t.props,children:$e(t.props.children,o)}):t)}function it(e,o){return P.Children.forEach(e,t=>{t!==null&&(ge(t)||Ee(t)?o(t):t.props&&t.props.children&&typeof t.props.children=="object"&&(Ve(t)&&o(t),it(t.props.children,o)))})}function lt(e){let o=0;return it(e,t=>{ge(t)&&o++}),o}function st(e){return e&&"getAttribute"in e}function Ke(e){return st(e)&&e.getAttribute("data-rttab")}function K(e){return st(e)&&e.getAttribute("aria-disabled")==="true"}let ae;function zt(e){const o=e||(typeof window<"u"?window:void 0);try{ae=!!(typeof o<"u"&&o.document&&o.document.activeElement)}catch{ae=!1}}const jt={className:"react-tabs",focus:!1},ut=e=>{let o=P.useRef([]),t=P.useRef([]);const n=P.useRef();function r(C,_){if(C<0||C>=a())return;const{onSelect:y,selectedIndex:X}=e;y(C,X,_)}function i(C){const _=a();for(let y=C+1;y<_;y++)if(!K(d(y)))return y;for(let y=0;yC;)if(!K(d(_)))return _;return C}function s(){const C=a();for(let _=0;_{let ce=b;if(Ve(b)){let N=0,Ne=!1;ae==null&&zt(je);const ke=je||(typeof window<"u"?window:void 0);ae&&ke&&(Ne=L.Children.toArray(b.props.children).filter(ge).some((Be,fe)=>ke.document.activeElement===d(fe))),ce=P.cloneElement(b,{children:$e(b.props.children,Be=>{const fe=`tabs-${N}`,qe=T===N,pe={tabRef:vt=>{o.current[fe]=vt},id:t.current[N],selected:qe,focus:qe&&(X||Ne)};return O&&(pe.selectedClassName=O),y&&(pe.disabledClassName=y),N++,P.cloneElement(Be,pe)})})}else if(Ee(b)){const N={id:t.current[C],selected:T===C};E&&(N.forceRender=E),ze&&(N.selectedClassName=ze),C++,ce=P.cloneElement(b,N)}return ce})}function c(C){const{direction:_,disableUpDownKeys:y,disableLeftRightKeys:X}=e;if(f(C.target)){let{selectedIndex:E}=e,T=!1,O=!1;(C.code==="Space"||C.keyCode===32||C.code==="Enter"||C.keyCode===13)&&(T=!0,O=!1,g(C)),!X&&(C.keyCode===37||C.code==="ArrowLeft")||!y&&(C.keyCode===38||C.code==="ArrowUp")?(_==="rtl"?E=i(E):E=l(E),T=!0,O=!0):!X&&(C.keyCode===39||C.code==="ArrowRight")||!y&&(C.keyCode===40||C.code==="ArrowDown")?(_==="rtl"?E=l(E):E=i(E),T=!0,O=!0):C.keyCode===35||C.code==="End"?(E=u(),T=!0,O=!0):(C.keyCode===36||C.code==="Home")&&(E=s(),T=!0,O=!0),T&&C.preventDefault(),O&&r(E,C)}}function g(C){let _=C.target;do if(f(_)){if(K(_))return;const y=[].slice.call(_.parentNode.children).filter(Ke).indexOf(_);r(y,C);return}while((_=_.parentNode)!=null)}function f(C){if(!Ke(C))return!1;let _=C.parentElement;do{if(_===n.current)return!0;if(_.getAttribute("data-rttabs"))break;_=_.parentElement}while(_);return!1}const{children:p,className:w,disabledTabClassName:v,domRef:x,focus:$,forceRenderTabPanel:I,onSelect:F,selectedIndex:V,selectedTabClassName:H,selectedTabPanelClassName:Q,environment:ne,disableUpDownKeys:G,disableLeftRightKeys:W,...j}={...jt,...e};return L.createElement("div",Object.assign({},j,{className:q(w),onClick:g,onKeyDown:c,ref:C=>{n.current=C,x&&x(C)},"data-rttabs":!0}),m())};ut.propTypes={};const Nt=0,ue=1,kt={defaultFocus:!1,focusTabOnClick:!0,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1,disableLeftRightKeys:!1},Bt=e=>e.selectedIndex===null?ue:Nt,De=e=>{const{children:o,defaultFocus:t,defaultIndex:n,focusTabOnClick:r,onSelect:i,...l}={...kt,...e},[s,u]=P.useState(t),[a]=P.useState(Bt(l)),[d,m]=P.useState(a===ue?n||0:null);if(P.useEffect(()=>{u(!1)},[]),a===ue){const f=lt(o);P.useEffect(()=>{if(d!=null){const p=Math.max(0,f-1);m(Math.min(d,p))}},[f])}const c=(f,p,w)=>{typeof i=="function"&&i(f,p,w)===!1||(r&&u(!0),a===ue&&m(f))};let g={...e,...l};return g.focus=s,g.onSelect=c,d!=null&&(g.selectedIndex=d),delete g.defaultFocus,delete g.defaultIndex,delete g.focusTabOnClick,L.createElement(ut,g,o)};De.propTypes={};De.tabsRole="Tabs";const qt=De,Ut={className:"react-tabs__tab-list"},Ae=e=>{const{children:o,className:t,...n}={...Ut,...e};return L.createElement("ul",Object.assign({},n,{className:q(t),role:"tablist"}),o)};Ae.tabsRole="TabList";Ae.propTypes={};const bt=Ae,me="react-tabs__tab",Kt={className:me,disabledClassName:`${me}--disabled`,focus:!1,id:null,selected:!1,selectedClassName:`${me}--selected`},Le=e=>{let o=P.useRef();const{children:t,className:n,disabled:r,disabledClassName:i,focus:l,id:s,selected:u,selectedClassName:a,tabIndex:d,tabRef:m,...c}={...Kt,...e};return P.useEffect(()=>{u&&l&&o.current.focus()},[u,l]),L.createElement("li",Object.assign({},c,{className:q(n,{[a]:u,[i]:r}),ref:g=>{o.current=g,m&&m(g)},role:"tab",id:`tab${s}`,"aria-selected":u?"true":"false","aria-disabled":r?"true":"false","aria-controls":`panel${s}`,tabIndex:d||(u?"0":null),"data-rttab":!0}),t)};Le.propTypes={};Le.tabsRole="Tab";const We=Le,Xe="react-tabs__tab-panel",Wt={className:Xe,forceRender:!1,selectedClassName:`${Xe}--selected`},He=e=>{const{children:o,className:t,forceRender:n,id:r,selected:i,selectedClassName:l,...s}={...Wt,...e};return L.createElement("div",Object.assign({},s,{className:q(t,{[l]:i}),role:"tabpanel",id:`panel${r}`,"aria-labelledby":`tab${r}`}),n||i?o:null)};He.tabsRole="TabPanel";He.propTypes={};const Qe=He,Xt="_placeHolder_1mf9d_1",Qt="_connQty_1mf9d_10",Yt="_inputWrapper_1mf9d_22",Jt="_input_1mf9d_22",ee={placeHolder:Xt,connQty:Qt,inputWrapper:Yt,input:Jt};/** + * table-core + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function B(e,o){return typeof e=="function"?e(o):e}function D(e,o){return t=>{o.setState(n=>({...n,[e]:B(t,n[e])}))}}function de(e){return e instanceof Function}function Zt(e){return Array.isArray(e)&&e.every(o=>typeof o=="number")}function en(e,o){const t=[],n=r=>{r.forEach(i=>{t.push(i);const l=o(i);l!=null&&l.length&&n(l)})};return n(e),t}function S(e,o,t){let n=[],r;return i=>{let l;t.key&&t.debug&&(l=Date.now());const s=e(i);if(!(s.length!==n.length||s.some((d,m)=>n[m]!==d)))return r;n=s;let a;if(t.key&&t.debug&&(a=Date.now()),r=o(...s),t==null||t.onChange==null||t.onChange(r),t.key&&t.debug&&t!=null&&t.debug()){const d=Math.round((Date.now()-l)*100)/100,m=Math.round((Date.now()-a)*100)/100,c=m/16,g=(f,p)=>{for(f=String(f);f.length{var r;return(r=e==null?void 0:e.debugAll)!=null?r:e[o]},key:!1,onChange:n}}function tn(e,o,t,n){const r=()=>{var l;return(l=i.getValue())!=null?l:e.options.renderFallbackValue},i={id:`${o.id}_${t.id}`,row:o,column:t,getValue:()=>o.getValue(n),renderValue:r,getContext:S(()=>[e,t,o,i],(l,s,u,a)=>({table:l,column:s,row:u,cell:a,getValue:a.getValue,renderValue:a.renderValue}),h(e.options,"debugCells"))};return e._features.forEach(l=>{l.createCell==null||l.createCell(i,t,o,e)},{}),i}function nn(e,o,t,n){var r,i;const s={...e._getDefaultColumnDef(),...o},u=s.accessorKey;let a=(r=(i=s.id)!=null?i:u?u.replace(".","_"):void 0)!=null?r:typeof s.header=="string"?s.header:void 0,d;if(s.accessorFn?d=s.accessorFn:u&&(u.includes(".")?d=c=>{let g=c;for(const p of u.split(".")){var f;g=(f=g)==null?void 0:f[p]}return g}:d=c=>c[s.accessorKey]),!a)throw new Error;let m={id:`${String(a)}`,accessorFn:d,parent:n,depth:t,columnDef:s,columns:[],getFlatColumns:S(()=>[!0],()=>{var c;return[m,...(c=m.columns)==null?void 0:c.flatMap(g=>g.getFlatColumns())]},h(e.options,"debugColumns")),getLeafColumns:S(()=>[e._getOrderColumnsFn()],c=>{var g;if((g=m.columns)!=null&&g.length){let f=m.columns.flatMap(p=>p.getLeafColumns());return c(f)}return[m]},h(e.options,"debugColumns"))};for(const c of e._features)c.createColumn==null||c.createColumn(m,e);return m}const M="debugHeaders";function Ye(e,o,t){var n;let i={id:(n=t.id)!=null?n:o.id,column:o,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const l=[],s=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(s),l.push(u)};return s(i),l},getContext:()=>({table:e,header:i,column:o})};return e._features.forEach(l=>{l.createHeader==null||l.createHeader(i,e)}),i}const on={createTable:e=>{e.getHeaderGroups=S(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>{var i,l;const s=(i=n==null?void 0:n.map(m=>t.find(c=>c.id===m)).filter(Boolean))!=null?i:[],u=(l=r==null?void 0:r.map(m=>t.find(c=>c.id===m)).filter(Boolean))!=null?l:[],a=t.filter(m=>!(n!=null&&n.includes(m.id))&&!(r!=null&&r.includes(m.id)));return re(o,[...s,...a,...u],e)},h(e.options,M)),e.getCenterHeaderGroups=S(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>(t=t.filter(i=>!(n!=null&&n.includes(i.id))&&!(r!=null&&r.includes(i.id))),re(o,t,e,"center")),h(e.options,M)),e.getLeftHeaderGroups=S(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(o,t,n)=>{var r;const i=(r=n==null?void 0:n.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return re(o,i,e,"left")},h(e.options,M)),e.getRightHeaderGroups=S(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(o,t,n)=>{var r;const i=(r=n==null?void 0:n.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return re(o,i,e,"right")},h(e.options,M)),e.getFooterGroups=S(()=>[e.getHeaderGroups()],o=>[...o].reverse(),h(e.options,M)),e.getLeftFooterGroups=S(()=>[e.getLeftHeaderGroups()],o=>[...o].reverse(),h(e.options,M)),e.getCenterFooterGroups=S(()=>[e.getCenterHeaderGroups()],o=>[...o].reverse(),h(e.options,M)),e.getRightFooterGroups=S(()=>[e.getRightHeaderGroups()],o=>[...o].reverse(),h(e.options,M)),e.getFlatHeaders=S(()=>[e.getHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,M)),e.getLeftFlatHeaders=S(()=>[e.getLeftHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,M)),e.getCenterFlatHeaders=S(()=>[e.getCenterHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,M)),e.getRightFlatHeaders=S(()=>[e.getRightHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,M)),e.getCenterLeafHeaders=S(()=>[e.getCenterFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,M)),e.getLeftLeafHeaders=S(()=>[e.getLeftFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,M)),e.getRightLeafHeaders=S(()=>[e.getRightFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,M)),e.getLeafHeaders=S(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(o,t,n)=>{var r,i,l,s,u,a;return[...(r=(i=o[0])==null?void 0:i.headers)!=null?r:[],...(l=(s=t[0])==null?void 0:s.headers)!=null?l:[],...(u=(a=n[0])==null?void 0:a.headers)!=null?u:[]].map(d=>d.getLeafHeaders()).flat()},h(e.options,M))}};function re(e,o,t,n){var r,i;let l=0;const s=function(c,g){g===void 0&&(g=1),l=Math.max(l,g),c.filter(f=>f.getIsVisible()).forEach(f=>{var p;(p=f.columns)!=null&&p.length&&s(f.columns,g+1)},0)};s(e);let u=[];const a=(c,g)=>{const f={depth:g,id:[n,`${g}`].filter(Boolean).join("_"),headers:[]},p=[];c.forEach(w=>{const v=[...p].reverse()[0],x=w.column.depth===f.depth;let $,I=!1;if(x&&w.column.parent?$=w.column.parent:($=w.column,I=!0),v&&(v==null?void 0:v.column)===$)v.subHeaders.push(w);else{const F=Ye(t,$,{id:[n,g,$.id,w==null?void 0:w.id].filter(Boolean).join("_"),isPlaceholder:I,placeholderId:I?`${p.filter(V=>V.column===$).length}`:void 0,depth:g,index:p.length});F.subHeaders.push(w),p.push(F)}f.headers.push(w),w.headerGroup=f}),u.push(f),g>0&&a(p,g-1)},d=o.map((c,g)=>Ye(t,c,{depth:l,index:g}));a(d,l-1),u.reverse();const m=c=>c.filter(f=>f.column.getIsVisible()).map(f=>{let p=0,w=0,v=[0];f.subHeaders&&f.subHeaders.length?(v=[],m(f.subHeaders).forEach($=>{let{colSpan:I,rowSpan:F}=$;p+=I,v.push(F)})):p=1;const x=Math.min(...v);return w=w+x,f.colSpan=p,f.rowSpan=w,{colSpan:p,rowSpan:w}});return m((r=(i=u[0])==null?void 0:i.headers)!=null?r:[]),u}const rn=(e,o,t,n,r,i,l)=>{let s={id:o,index:n,original:t,depth:r,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:u=>{if(s._valuesCache.hasOwnProperty(u))return s._valuesCache[u];const a=e.getColumn(u);if(a!=null&&a.accessorFn)return s._valuesCache[u]=a.accessorFn(s.original,n),s._valuesCache[u]},getUniqueValues:u=>{if(s._uniqueValuesCache.hasOwnProperty(u))return s._uniqueValuesCache[u];const a=e.getColumn(u);if(a!=null&&a.accessorFn)return a.columnDef.getUniqueValues?(s._uniqueValuesCache[u]=a.columnDef.getUniqueValues(s.original,n),s._uniqueValuesCache[u]):(s._uniqueValuesCache[u]=[s.getValue(u)],s._uniqueValuesCache[u])},renderValue:u=>{var a;return(a=s.getValue(u))!=null?a:e.options.renderFallbackValue},subRows:i??[],getLeafRows:()=>en(s.subRows,u=>u.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let u=[],a=s;for(;;){const d=a.getParentRow();if(!d)break;u.push(d),a=d}return u.reverse()},getAllCells:S(()=>[e.getAllLeafColumns()],u=>u.map(a=>tn(e,s,a,a.id)),h(e.options,"debugRows")),_getAllCellsByColumnId:S(()=>[s.getAllCells()],u=>u.reduce((a,d)=>(a[d.column.id]=d,a),{}),h(e.options,"debugRows"))};for(let u=0;u{e._getFacetedRowModel=o.options.getFacetedRowModel&&o.options.getFacetedRowModel(o,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():o.getPreFilteredRowModel(),e._getFacetedUniqueValues=o.options.getFacetedUniqueValues&&o.options.getFacetedUniqueValues(o,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=o.options.getFacetedMinMaxValues&&o.options.getFacetedMinMaxValues(o,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},at=(e,o,t)=>{var n;const r=t.toLowerCase();return!!(!((n=e.getValue(o))==null||(n=n.toString())==null||(n=n.toLowerCase())==null)&&n.includes(r))};at.autoRemove=e=>A(e);const gt=(e,o,t)=>{var n;return!!(!((n=e.getValue(o))==null||(n=n.toString())==null)&&n.includes(t))};gt.autoRemove=e=>A(e);const dt=(e,o,t)=>{var n;return((n=e.getValue(o))==null||(n=n.toString())==null?void 0:n.toLowerCase())===(t==null?void 0:t.toLowerCase())};dt.autoRemove=e=>A(e);const ct=(e,o,t)=>{var n;return(n=e.getValue(o))==null?void 0:n.includes(t)};ct.autoRemove=e=>A(e)||!(e!=null&&e.length);const ft=(e,o,t)=>!t.some(n=>{var r;return!((r=e.getValue(o))!=null&&r.includes(n))});ft.autoRemove=e=>A(e)||!(e!=null&&e.length);const pt=(e,o,t)=>t.some(n=>{var r;return(r=e.getValue(o))==null?void 0:r.includes(n)});pt.autoRemove=e=>A(e)||!(e!=null&&e.length);const mt=(e,o,t)=>e.getValue(o)===t;mt.autoRemove=e=>A(e);const Ct=(e,o,t)=>e.getValue(o)==t;Ct.autoRemove=e=>A(e);const Ge=(e,o,t)=>{let[n,r]=t;const i=e.getValue(o);return i>=n&&i<=r};Ge.resolveFilterValue=e=>{let[o,t]=e,n=typeof o!="number"?parseFloat(o):o,r=typeof t!="number"?parseFloat(t):t,i=o===null||Number.isNaN(n)?-1/0:n,l=t===null||Number.isNaN(r)?1/0:r;if(i>l){const s=i;i=l,l=s}return[i,l]};Ge.autoRemove=e=>A(e)||A(e[0])&&A(e[1]);const z={includesString:at,includesStringSensitive:gt,equalsString:dt,arrIncludes:ct,arrIncludesAll:ft,arrIncludesSome:pt,equals:mt,weakEquals:Ct,inNumberRange:Ge};function A(e){return e==null||e===""}const sn={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:D("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,o)=>{e.getAutoFilterFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t==null?void 0:t.getValue(e.id);return typeof n=="string"?z.includesString:typeof n=="number"?z.inNumberRange:typeof n=="boolean"||n!==null&&typeof n=="object"?z.equals:Array.isArray(n)?z.arrIncludes:z.weakEquals},e.getFilterFn=()=>{var t,n;return de(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(n=o.options.filterFns)==null?void 0:n[e.columnDef.filterFn])!=null?t:z[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,n,r;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((n=o.options.enableColumnFilters)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=o.getState().columnFilters)==null||(t=t.find(n=>n.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,n;return(t=(n=o.getState().columnFilters)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.setFilterValue=t=>{o.setColumnFilters(n=>{const r=e.getFilterFn(),i=n==null?void 0:n.find(d=>d.id===e.id),l=B(t,i?i.value:void 0);if(Je(r,l,e)){var s;return(s=n==null?void 0:n.filter(d=>d.id!==e.id))!=null?s:[]}const u={id:e.id,value:l};if(i){var a;return(a=n==null?void 0:n.map(d=>d.id===e.id?u:d))!=null?a:[]}return n!=null&&n.length?[...n,u]:[u]})}},createRow:(e,o)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=o=>{const t=e.getAllLeafColumns(),n=r=>{var i;return(i=B(o,r))==null?void 0:i.filter(l=>{const s=t.find(u=>u.id===l.id);if(s){const u=s.getFilterFn();if(Je(u,l.value,s))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(n)},e.resetColumnFilters=o=>{var t,n;e.setColumnFilters(o?[]:(t=(n=e.initialState)==null?void 0:n.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Je(e,o,t){return(e&&e.autoRemove?e.autoRemove(o,t):!1)||typeof o>"u"||typeof o=="string"&&!o}const un=(e,o,t)=>t.reduce((n,r)=>{const i=r.getValue(e);return n+(typeof i=="number"?i:0)},0),an=(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}),n},gn=(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n=i)&&(n=i)}),n},dn=(e,o,t)=>{let n,r;return t.forEach(i=>{const l=i.getValue(e);l!=null&&(n===void 0?l>=l&&(n=r=l):(n>l&&(n=l),r{let t=0,n=0;if(o.forEach(r=>{let i=r.getValue(e);i!=null&&(i=+i)>=i&&(++t,n+=i)}),t)return n/t},fn=(e,o)=>{if(!o.length)return;const t=o.map(i=>i.getValue(e));if(!Zt(t))return;if(t.length===1)return t[0];const n=Math.floor(t.length/2),r=t.sort((i,l)=>i-l);return t.length%2!==0?r[n]:(r[n-1]+r[n])/2},pn=(e,o)=>Array.from(new Set(o.map(t=>t.getValue(e))).values()),mn=(e,o)=>new Set(o.map(t=>t.getValue(e))).size,Cn=(e,o)=>o.length,Ce={sum:un,min:an,max:gn,extent:dn,mean:cn,median:fn,unique:pn,uniqueCount:mn,count:Cn},Sn={getDefaultColumnDef:()=>({aggregatedCell:e=>{var o,t;return(o=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?o:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:D("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,o)=>{e.toggleGrouping=()=>{o.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(n=>n!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,n;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((n=o.options.enableGrouping)!=null?n:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t==null?void 0:t.getValue(e.id);if(typeof n=="number")return Ce.sum;if(Object.prototype.toString.call(n)==="[object Date]")return Ce.extent},e.getAggregationFn=()=>{var t,n;if(!e)throw new Error;return de(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(n=o.options.aggregationFns)==null?void 0:n[e.columnDef.aggregationFn])!=null?t:Ce[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=o=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(o),e.resetGrouping=o=>{var t,n;e.setGrouping(o?[]:(t=(n=e.initialState)==null?void 0:n.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,o)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const n=o.getColumn(t);return n!=null&&n.columnDef.getGroupingValue?(e._groupingValuesCache[t]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,o,t,n)=>{e.getIsGrouped=()=>o.getIsGrouped()&&o.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&o.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=t.subRows)!=null&&r.length)}}};function hn(e,o,t){if(!(o!=null&&o.length)||!t)return e;const n=e.filter(i=>!o.includes(i.id));return t==="remove"?n:[...o.map(i=>e.find(l=>l.id===i)).filter(Boolean),...n]}const Rn={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:D("columnOrder",e)}),createColumn:(e,o)=>{e.getIndex=S(t=>[te(o,t)],t=>t.findIndex(n=>n.id===e.id),h(o.options,"debugColumns")),e.getIsFirstColumn=t=>{var n;return((n=te(o,t)[0])==null?void 0:n.id)===e.id},e.getIsLastColumn=t=>{var n;const r=te(o,t);return((n=r[r.length-1])==null?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=o=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(o),e.resetColumnOrder=o=>{var t;e.setColumnOrder(o?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=S(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(o,t,n)=>r=>{let i=[];if(!(o!=null&&o.length))i=r;else{const l=[...o],s=[...r];for(;s.length&&l.length;){const u=l.shift(),a=s.findIndex(d=>d.id===u);a>-1&&i.push(s.splice(a,1)[0])}i=[...i,...s]}return hn(i,t,n)},h(e.options,"debugTable"))}},Se=()=>({left:[],right:[]}),wn={getInitialState:e=>({columnPinning:Se(),...e}),getDefaultOptions:e=>({onColumnPinningChange:D("columnPinning",e)}),createColumn:(e,o)=>{e.pin=t=>{const n=e.getLeafColumns().map(r=>r.id).filter(Boolean);o.setColumnPinning(r=>{var i,l;if(t==="right"){var s,u;return{left:((s=r==null?void 0:r.left)!=null?s:[]).filter(m=>!(n!=null&&n.includes(m))),right:[...((u=r==null?void 0:r.right)!=null?u:[]).filter(m=>!(n!=null&&n.includes(m))),...n]}}if(t==="left"){var a,d;return{left:[...((a=r==null?void 0:r.left)!=null?a:[]).filter(m=>!(n!=null&&n.includes(m))),...n],right:((d=r==null?void 0:r.right)!=null?d:[]).filter(m=>!(n!=null&&n.includes(m)))}}return{left:((i=r==null?void 0:r.left)!=null?i:[]).filter(m=>!(n!=null&&n.includes(m))),right:((l=r==null?void 0:r.right)!=null?l:[]).filter(m=>!(n!=null&&n.includes(m)))}})},e.getCanPin=()=>e.getLeafColumns().some(n=>{var r,i,l;return((r=n.columnDef.enablePinning)!=null?r:!0)&&((i=(l=o.options.enableColumnPinning)!=null?l:o.options.enablePinning)!=null?i:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(s=>s.id),{left:n,right:r}=o.getState().columnPinning,i=t.some(s=>n==null?void 0:n.includes(s)),l=t.some(s=>r==null?void 0:r.includes(s));return i?"left":l?"right":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();return r?(t=(n=o.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))!=null?t:-1:0}},createRow:(e,o)=>{e.getCenterVisibleCells=S(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left,o.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(l=>!i.includes(l.column.id))},h(o.options,"debugRows")),e.getLeftVisibleCells=S(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"left"})),h(o.options,"debugRows")),e.getRightVisibleCells=S(()=>[e._getAllVisibleCells(),o.getState().columnPinning.right],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"right"})),h(o.options,"debugRows"))},createTable:e=>{e.setColumnPinning=o=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(o),e.resetColumnPinning=o=>{var t,n;return e.setColumnPinning(o?Se():(t=(n=e.initialState)==null?void 0:n.columnPinning)!=null?t:Se())},e.getIsSomeColumnsPinned=o=>{var t;const n=e.getState().columnPinning;if(!o){var r,i;return!!((r=n.left)!=null&&r.length||(i=n.right)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e.getLeftLeafColumns=S(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),h(e.options,"debugColumns")),e.getRightLeafColumns=S(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),h(e.options,"debugColumns")),e.getCenterLeafColumns=S(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n)=>{const r=[...t??[],...n??[]];return o.filter(i=>!r.includes(i.id))},h(e.options,"debugColumns"))}},ie={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},he=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),vn={getDefaultColumnDef:()=>ie,getInitialState:e=>({columnSizing:{},columnSizingInfo:he(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:D("columnSizing",e),onColumnSizingInfoChange:D("columnSizingInfo",e)}),createColumn:(e,o)=>{e.getSize=()=>{var t,n,r;const i=o.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:ie.minSize,(n=i??e.columnDef.size)!=null?n:ie.size),(r=e.columnDef.maxSize)!=null?r:ie.maxSize)},e.getStart=S(t=>[t,te(o,t),o.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((r,i)=>r+i.getSize(),0),h(o.options,"debugColumns")),e.getAfter=S(t=>[t,te(o,t),o.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((r,i)=>r+i.getSize(),0),h(o.options,"debugColumns")),e.resetSize=()=>{o.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>{var t,n;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((n=o.options.enableColumnResizing)!=null?n:!0)},e.getIsResizing=()=>o.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,o)=>{e.getSize=()=>{let t=0;const n=r=>{if(r.subHeaders.length)r.subHeaders.forEach(n);else{var i;t+=(i=r.column.getSize())!=null?i:0}};return n(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const n=o.getColumn(e.column.id),r=n==null?void 0:n.getCanResize();return i=>{if(!n||!r||(i.persist==null||i.persist(),Re(i)&&i.touches&&i.touches.length>1))return;const l=e.getSize(),s=e?e.getLeafHeaders().map(v=>[v.column.id,v.column.getSize()]):[[n.id,n.getSize()]],u=Re(i)?Math.round(i.touches[0].clientX):i.clientX,a={},d=(v,x)=>{typeof x=="number"&&(o.setColumnSizingInfo($=>{var I,F;const V=o.options.columnResizeDirection==="rtl"?-1:1,H=(x-((I=$==null?void 0:$.startOffset)!=null?I:0))*V,Q=Math.max(H/((F=$==null?void 0:$.startSize)!=null?F:0),-.999999);return $.columnSizingStart.forEach(ne=>{let[G,W]=ne;a[G]=Math.round(Math.max(W+W*Q,0)*100)/100}),{...$,deltaOffset:H,deltaPercentage:Q}}),(o.options.columnResizeMode==="onChange"||v==="end")&&o.setColumnSizing($=>({...$,...a})))},m=v=>d("move",v),c=v=>{d("end",v),o.setColumnSizingInfo(x=>({...x,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},g=t||typeof document<"u"?document:null,f={moveHandler:v=>m(v.clientX),upHandler:v=>{g==null||g.removeEventListener("mousemove",f.moveHandler),g==null||g.removeEventListener("mouseup",f.upHandler),c(v.clientX)}},p={moveHandler:v=>(v.cancelable&&(v.preventDefault(),v.stopPropagation()),m(v.touches[0].clientX),!1),upHandler:v=>{var x;g==null||g.removeEventListener("touchmove",p.moveHandler),g==null||g.removeEventListener("touchend",p.upHandler),v.cancelable&&(v.preventDefault(),v.stopPropagation()),c((x=v.touches[0])==null?void 0:x.clientX)}},w=_n()?{passive:!1}:!1;Re(i)?(g==null||g.addEventListener("touchmove",p.moveHandler,w),g==null||g.addEventListener("touchend",p.upHandler,w)):(g==null||g.addEventListener("mousemove",f.moveHandler,w),g==null||g.addEventListener("mouseup",f.upHandler,w)),o.setColumnSizingInfo(v=>({...v,startOffset:u,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=o=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(o),e.setColumnSizingInfo=o=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(o),e.resetColumnSizing=o=>{var t;e.setColumnSizing(o?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=o=>{var t;e.setColumnSizingInfo(o?he():(t=e.initialState.columnSizingInfo)!=null?t:he())},e.getTotalSize=()=>{var o,t;return(o=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getLeftTotalSize=()=>{var o,t;return(o=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getCenterTotalSize=()=>{var o,t;return(o=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getRightTotalSize=()=>{var o,t;return(o=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0}}};let le=null;function _n(){if(typeof le=="boolean")return le;let e=!1;try{const o={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,o),window.removeEventListener("test",t)}catch{e=!1}return le=e,le}function Re(e){return e.type==="touchstart"}const $n={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:D("columnVisibility",e)}),createColumn:(e,o)=>{e.toggleVisibility=t=>{e.getCanHide()&&o.setColumnVisibility(n=>({...n,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,n;const r=e.columns;return(t=r.length?r.some(i=>i.getIsVisible()):(n=o.getState().columnVisibility)==null?void 0:n[e.id])!=null?t:!0},e.getCanHide=()=>{var t,n;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((n=o.options.enableHiding)!=null?n:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,o)=>{e._getAllVisibleCells=S(()=>[e.getAllCells(),o.getState().columnVisibility],t=>t.filter(n=>n.column.getIsVisible()),h(o.options,"debugRows")),e.getVisibleCells=S(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,n,r)=>[...t,...n,...r],h(o.options,"debugRows"))},createTable:e=>{const o=(t,n)=>S(()=>[n(),n().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(i=>i.getIsVisible==null?void 0:i.getIsVisible()),h(e.options,"debugColumns"));e.getVisibleFlatColumns=o("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=o("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=o("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=o("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=o("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var n;e.setColumnVisibility(t?{}:(n=e.initialState.columnVisibility)!=null?n:{})},e.toggleAllColumnsVisible=t=>{var n;t=(n=t)!=null?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,i)=>({...r,[i.id]:t||!(i.getCanHide!=null&&i.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var n;e.toggleAllColumnsVisible((n=t.target)==null?void 0:n.checked)}}};function te(e,o){return o?o==="center"?e.getCenterVisibleLeafColumns():o==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const xn={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Fn={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:D("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:o=>{var t;const n=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[o.id])==null?void 0:t.getValue();return typeof n=="string"||typeof n=="number"}}),createColumn:(e,o)=>{e.getCanGlobalFilter=()=>{var t,n,r,i;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((n=o.options.enableGlobalFilter)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&((i=o.options.getColumnCanGlobalFilter==null?void 0:o.options.getColumnCanGlobalFilter(e))!=null?i:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>z.includesString,e.getGlobalFilterFn=()=>{var o,t;const{globalFilterFn:n}=e.options;return de(n)?n:n==="auto"?e.getGlobalAutoFilterFn():(o=(t=e.options.filterFns)==null?void 0:t[n])!=null?o:z[n]},e.setGlobalFilter=o=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(o)},e.resetGlobalFilter=o=>{e.setGlobalFilter(o?void 0:e.initialState.globalFilter)}}},Pn={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:D("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let o=!1,t=!1;e._autoResetExpanded=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?n:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=n=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(n),e.toggleAllRowsExpanded=n=>{n??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=n=>{var r,i;e.setExpanded(n?{}:(r=(i=e.initialState)==null?void 0:i.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(n=>n.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>n=>{n.persist==null||n.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const n=e.getState().expanded;return n===!0||Object.values(n).some(Boolean)},e.getIsAllRowsExpanded=()=>{const n=e.getState().expanded;return typeof n=="boolean"?n===!0:!(!Object.keys(n).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},e.getExpandedDepth=()=>{let n=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(i=>{const l=i.split(".");n=Math.max(n,l.length)}),n},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,o)=>{e.toggleExpanded=t=>{o.setExpanded(n=>{var r;const i=n===!0?!0:!!(n!=null&&n[e.id]);let l={};if(n===!0?Object.keys(o.getRowModel().rowsById).forEach(s=>{l[s]=!0}):l=n,t=(r=t)!=null?r:!i,!i&&t)return{...l,[e.id]:!0};if(i&&!t){const{[e.id]:s,...u}=l;return u}return n})},e.getIsExpanded=()=>{var t;const n=o.getState().expanded;return!!((t=o.options.getIsRowExpanded==null?void 0:o.options.getIsRowExpanded(e))!=null?t:n===!0||n!=null&&n[e.id])},e.getCanExpand=()=>{var t,n,r;return(t=o.options.getRowCanExpand==null?void 0:o.options.getRowCanExpand(e))!=null?t:((n=o.options.enableExpanding)!=null?n:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let t=!0,n=e;for(;t&&n.parentId;)n=o.getRow(n.parentId,!0),t=n.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},xe=0,Fe=10,we=()=>({pageIndex:xe,pageSize:Fe}),yn={getInitialState:e=>({...e,pagination:{...we(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:D("pagination",e)}),createTable:e=>{let o=!1,t=!1;e._autoResetPageIndex=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?n:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=n=>{const r=i=>B(n,i);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=n=>{var r;e.setPagination(n?we():(r=e.initialState.pagination)!=null?r:we())},e.setPageIndex=n=>{e.setPagination(r=>{let i=B(n,r.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return i=Math.max(0,Math.min(i,l)),{...r,pageIndex:i}})},e.resetPageIndex=n=>{var r,i;e.setPageIndex(n?xe:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageIndex)!=null?r:xe)},e.resetPageSize=n=>{var r,i;e.setPageSize(n?Fe:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageSize)!=null?r:Fe)},e.setPageSize=n=>{e.setPagination(r=>{const i=Math.max(1,B(n,r.pageSize)),l=r.pageSize*r.pageIndex,s=Math.floor(l/i);return{...r,pageIndex:s,pageSize:i}})},e.setPageCount=n=>e.setPagination(r=>{var i;let l=B(n,(i=e.options.pageCount)!=null?i:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...r,pageCount:l}}),e.getPageOptions=S(()=>[e.getPageCount()],n=>{let r=[];return n&&n>0&&(r=[...new Array(n)].fill(null).map((i,l)=>l)),r},h(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:n}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:ne.setPageIndex(n=>n-1),e.nextPage=()=>e.setPageIndex(n=>n+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var n;return(n=e.options.pageCount)!=null?n:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var n;return(n=e.options.rowCount)!=null?n:e.getPrePaginationRowModel().rows.length}}},ve=()=>({top:[],bottom:[]}),In={getInitialState:e=>({rowPinning:ve(),...e}),getDefaultOptions:e=>({onRowPinningChange:D("rowPinning",e)}),createRow:(e,o)=>{e.pin=(t,n,r)=>{const i=n?e.getLeafRows().map(u=>{let{id:a}=u;return a}):[],l=r?e.getParentRows().map(u=>{let{id:a}=u;return a}):[],s=new Set([...l,e.id,...i]);o.setRowPinning(u=>{var a,d;if(t==="bottom"){var m,c;return{top:((m=u==null?void 0:u.top)!=null?m:[]).filter(p=>!(s!=null&&s.has(p))),bottom:[...((c=u==null?void 0:u.bottom)!=null?c:[]).filter(p=>!(s!=null&&s.has(p))),...Array.from(s)]}}if(t==="top"){var g,f;return{top:[...((g=u==null?void 0:u.top)!=null?g:[]).filter(p=>!(s!=null&&s.has(p))),...Array.from(s)],bottom:((f=u==null?void 0:u.bottom)!=null?f:[]).filter(p=>!(s!=null&&s.has(p)))}}return{top:((a=u==null?void 0:u.top)!=null?a:[]).filter(p=>!(s!=null&&s.has(p))),bottom:((d=u==null?void 0:u.bottom)!=null?d:[]).filter(p=>!(s!=null&&s.has(p)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:n,enablePinning:r}=o.options;return typeof n=="function"?n(e):(t=n??r)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:n,bottom:r}=o.getState().rowPinning,i=t.some(s=>n==null?void 0:n.includes(s)),l=t.some(s=>r==null?void 0:r.includes(s));return i?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();if(!r)return-1;const i=(t=o._getPinnedRows(r))==null?void 0:t.map(l=>{let{id:s}=l;return s});return(n=i==null?void 0:i.indexOf(e.id))!=null?n:-1}},createTable:e=>{e.setRowPinning=o=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(o),e.resetRowPinning=o=>{var t,n;return e.setRowPinning(o?ve():(t=(n=e.initialState)==null?void 0:n.rowPinning)!=null?t:ve())},e.getIsSomeRowsPinned=o=>{var t;const n=e.getState().rowPinning;if(!o){var r,i;return!!((r=n.top)!=null&&r.length||(i=n.bottom)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e._getPinnedRows=S(o=>[e.getRowModel().rows,e.getState().rowPinning[o],o],(o,t,n)=>{var r;return((r=e.options.keepPinnedRows)==null||r?(t??[]).map(l=>{const s=e.getRow(l,!0);return s.getIsAllParentsExpanded()?s:null}):(t??[]).map(l=>o.find(s=>s.id===l))).filter(Boolean).map(l=>({...l,position:n}))},h(e.options,"debugRows")),e.getTopRows=()=>e._getPinnedRows("top"),e.getBottomRows=()=>e._getPinnedRows("bottom"),e.getCenterRows=S(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(o,t,n)=>{const r=new Set([...t??[],...n??[]]);return o.filter(i=>!r.has(i.id))},h(e.options,"debugRows"))}},Mn={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:D("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=o=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(o),e.resetRowSelection=o=>{var t;return e.setRowSelection(o?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=o=>{e.setRowSelection(t=>{o=typeof o<"u"?o:!e.getIsAllRowsSelected();const n={...t},r=e.getPreGroupedRowModel().flatRows;return o?r.forEach(i=>{i.getCanSelect()&&(n[i.id]=!0)}):r.forEach(i=>{delete n[i.id]}),n})},e.toggleAllPageRowsSelected=o=>e.setRowSelection(t=>{const n=typeof o<"u"?o:!e.getIsAllPageRowsSelected(),r={...t};return e.getRowModel().rows.forEach(i=>{Pe(r,i.id,n,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=S(()=>[e.getState().rowSelection,e.getCoreRowModel()],(o,t)=>Object.keys(o).length?_e(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getFilteredSelectedRowModel=S(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(o,t)=>Object.keys(o).length?_e(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getGroupedSelectedRowModel=S(()=>[e.getState().rowSelection,e.getSortedRowModel()],(o,t)=>Object.keys(o).length?_e(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const o=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let n=!!(o.length&&Object.keys(t).length);return n&&o.some(r=>r.getCanSelect()&&!t[r.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:t}=e.getState();let n=!!o.length;return n&&o.some(r=>!t[r.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var o;const t=Object.keys((o=e.getState().rowSelection)!=null?o:{}).length;return t>0&&t{const o=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:o.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>o=>{e.toggleAllRowsSelected(o.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>o=>{e.toggleAllPageRowsSelected(o.target.checked)}},createRow:(e,o)=>{e.toggleSelected=(t,n)=>{const r=e.getIsSelected();o.setRowSelection(i=>{var l;if(t=typeof t<"u"?t:!r,e.getCanSelect()&&r===t)return i;const s={...i};return Pe(s,e.id,t,(l=n==null?void 0:n.selectChildren)!=null?l:!0,o),s})},e.getIsSelected=()=>{const{rowSelection:t}=o.getState();return Te(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=o.getState();return ye(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=o.getState();return ye(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof o.options.enableRowSelection=="function"?o.options.enableRowSelection(e):(t=o.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof o.options.enableSubRowSelection=="function"?o.options.enableSubRowSelection(e):(t=o.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof o.options.enableMultiRowSelection=="function"?o.options.enableMultiRowSelection(e):(t=o.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return n=>{var r;t&&e.toggleSelected((r=n.target)==null?void 0:r.checked)}}}},Pe=(e,o,t,n,r)=>{var i;const l=r.getRow(o,!0);t?(l.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),l.getCanSelect()&&(e[o]=!0)):delete e[o],n&&(i=l.subRows)!=null&&i.length&&l.getCanSelectSubRows()&&l.subRows.forEach(s=>Pe(e,s.id,t,n,r))};function _e(e,o){const t=e.getState().rowSelection,n=[],r={},i=function(l,s){return l.map(u=>{var a;const d=Te(u,t);if(d&&(n.push(u),r[u.id]=u),(a=u.subRows)!=null&&a.length&&(u={...u,subRows:i(u.subRows)}),d)return u}).filter(Boolean)};return{rows:i(o.rows),flatRows:n,rowsById:r}}function Te(e,o){var t;return(t=o[e.id])!=null?t:!1}function ye(e,o,t){var n;if(!((n=e.subRows)!=null&&n.length))return!1;let r=!0,i=!1;return e.subRows.forEach(l=>{if(!(i&&!r)&&(l.getCanSelect()&&(Te(l,o)?i=!0:r=!1),l.subRows&&l.subRows.length)){const s=ye(l,o);s==="all"?i=!0:(s==="some"&&(i=!0),r=!1)}}),r?"all":i?"some":!1}const Ie=/([0-9]+)/gm,Vn=(e,o,t)=>St(U(e.getValue(t)).toLowerCase(),U(o.getValue(t)).toLowerCase()),En=(e,o,t)=>St(U(e.getValue(t)),U(o.getValue(t))),Dn=(e,o,t)=>Oe(U(e.getValue(t)).toLowerCase(),U(o.getValue(t)).toLowerCase()),An=(e,o,t)=>Oe(U(e.getValue(t)),U(o.getValue(t))),Ln=(e,o,t)=>{const n=e.getValue(t),r=o.getValue(t);return n>r?1:nOe(e.getValue(t),o.getValue(t));function Oe(e,o){return e===o?0:e>o?1:-1}function U(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function St(e,o){const t=e.split(Ie).filter(Boolean),n=o.split(Ie).filter(Boolean);for(;t.length&&n.length;){const r=t.shift(),i=n.shift(),l=parseInt(r,10),s=parseInt(i,10),u=[l,s].sort();if(isNaN(u[0])){if(r>i)return 1;if(i>r)return-1;continue}if(isNaN(u[1]))return isNaN(l)?-1:1;if(l>s)return 1;if(s>l)return-1}return t.length-n.length}const Y={alphanumeric:Vn,alphanumericCaseSensitive:En,text:Dn,textCaseSensitive:An,datetime:Ln,basic:Hn},Gn={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:D("sorting",e),isMultiSortEvent:o=>o.shiftKey}),createColumn:(e,o)=>{e.getAutoSortingFn=()=>{const t=o.getFilteredRowModel().flatRows.slice(10);let n=!1;for(const r of t){const i=r==null?void 0:r.getValue(e.id);if(Object.prototype.toString.call(i)==="[object Date]")return Y.datetime;if(typeof i=="string"&&(n=!0,i.split(Ie).length>1))return Y.alphanumeric}return n?Y.text:Y.basic},e.getAutoSortDir=()=>{const t=o.getFilteredRowModel().flatRows[0];return typeof(t==null?void 0:t.getValue(e.id))=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,n;if(!e)throw new Error;return de(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(n=o.options.sortingFns)==null?void 0:n[e.columnDef.sortingFn])!=null?t:Y[e.columnDef.sortingFn]},e.toggleSorting=(t,n)=>{const r=e.getNextSortingOrder(),i=typeof t<"u"&&t!==null;o.setSorting(l=>{const s=l==null?void 0:l.find(g=>g.id===e.id),u=l==null?void 0:l.findIndex(g=>g.id===e.id);let a=[],d,m=i?t:r==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&n?s?d="toggle":d="add":l!=null&&l.length&&u!==l.length-1?d="replace":s?d="toggle":d="replace",d==="toggle"&&(i||r||(d="remove")),d==="add"){var c;a=[...l,{id:e.id,desc:m}],a.splice(0,a.length-((c=o.options.maxMultiSortColCount)!=null?c:Number.MAX_SAFE_INTEGER))}else d==="toggle"?a=l.map(g=>g.id===e.id?{...g,desc:m}:g):d==="remove"?a=l.filter(g=>g.id!==e.id):a=[{id:e.id,desc:m}];return a})},e.getFirstSortDir=()=>{var t,n;return((t=(n=e.columnDef.sortDescFirst)!=null?n:o.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var n,r;const i=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==i&&((n=o.options.enableSortingRemoval)==null||n)&&(!(t&&(r=o.options.enableMultiRemove)!=null)||r)?!1:l==="desc"?"asc":"desc":i},e.getCanSort=()=>{var t,n;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((n=o.options.enableSorting)!=null?n:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,n;return(t=(n=e.columnDef.enableMultiSort)!=null?n:o.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const n=(t=o.getState().sorting)==null?void 0:t.find(r=>r.id===e.id);return n?n.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,n;return(t=(n=o.getState().sorting)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.clearSorting=()=>{o.setSorting(t=>t!=null&&t.length?t.filter(n=>n.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return n=>{t&&(n.persist==null||n.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?o.options.isMultiSortEvent==null?void 0:o.options.isMultiSortEvent(n):!1))}}},createTable:e=>{e.setSorting=o=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(o),e.resetSorting=o=>{var t,n;e.setSorting(o?[]:(t=(n=e.initialState)==null?void 0:n.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Tn=[on,$n,Rn,wn,ln,sn,xn,Fn,Gn,Sn,Pn,yn,In,Mn,vn];function On(e){var o,t;const n=[...Tn,...(o=e._features)!=null?o:[]];let r={_features:n};const i=r._features.reduce((c,g)=>Object.assign(c,g.getDefaultOptions==null?void 0:g.getDefaultOptions(r)),{}),l=c=>r.options.mergeOptions?r.options.mergeOptions(i,c):{...i,...c};let u={...{},...(t=e.initialState)!=null?t:{}};r._features.forEach(c=>{var g;u=(g=c.getInitialState==null?void 0:c.getInitialState(u))!=null?g:u});const a=[];let d=!1;const m={_features:n,options:{...i,...e},initialState:u,_queue:c=>{a.push(c),d||(d=!0,Promise.resolve().then(()=>{for(;a.length;)a.shift()();d=!1}).catch(g=>setTimeout(()=>{throw g})))},reset:()=>{r.setState(r.initialState)},setOptions:c=>{const g=B(c,r.options);r.options=l(g)},getState:()=>r.options.state,setState:c=>{r.options.onStateChange==null||r.options.onStateChange(c)},_getRowId:(c,g,f)=>{var p;return(p=r.options.getRowId==null?void 0:r.options.getRowId(c,g,f))!=null?p:`${f?[f.id,g].join("."):g}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(c,g)=>{let f=(g?r.getPrePaginationRowModel():r.getRowModel()).rowsById[c];if(!f&&(f=r.getCoreRowModel().rowsById[c],!f))throw new Error;return f},_getDefaultColumnDef:S(()=>[r.options.defaultColumn],c=>{var g;return c=(g=c)!=null?g:{},{header:f=>{const p=f.header.column.columnDef;return p.accessorKey?p.accessorKey:p.accessorFn?p.id:null},cell:f=>{var p,w;return(p=(w=f.renderValue())==null||w.toString==null?void 0:w.toString())!=null?p:null},...r._features.reduce((f,p)=>Object.assign(f,p.getDefaultColumnDef==null?void 0:p.getDefaultColumnDef()),{}),...c}},h(e,"debugColumns")),_getColumnDefs:()=>r.options.columns,getAllColumns:S(()=>[r._getColumnDefs()],c=>{const g=function(f,p,w){return w===void 0&&(w=0),f.map(v=>{const x=nn(r,v,w,p),$=v;return x.columns=$.columns?g($.columns,x,w+1):[],x})};return g(c)},h(e,"debugColumns")),getAllFlatColumns:S(()=>[r.getAllColumns()],c=>c.flatMap(g=>g.getFlatColumns()),h(e,"debugColumns")),_getAllFlatColumnsById:S(()=>[r.getAllFlatColumns()],c=>c.reduce((g,f)=>(g[f.id]=f,g),{}),h(e,"debugColumns")),getAllLeafColumns:S(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(c,g)=>{let f=c.flatMap(p=>p.getLeafColumns());return g(f)},h(e,"debugColumns")),getColumn:c=>r._getAllFlatColumnsById()[c]};Object.assign(r,m);for(let c=0;cS(()=>[e.options.data],o=>{const t={rows:[],flatRows:[],rowsById:{}},n=function(r,i,l){i===void 0&&(i=0);const s=[];for(let a=0;ae._autoResetPageIndex()))}function jn(){return e=>S(()=>[e.getState().sorting,e.getPreSortedRowModel()],(o,t)=>{if(!t.rows.length||!(o!=null&&o.length))return t;const n=e.getState().sorting,r=[],i=n.filter(u=>{var a;return(a=e.getColumn(u.id))==null?void 0:a.getCanSort()}),l={};i.forEach(u=>{const a=e.getColumn(u.id);a&&(l[u.id]={sortUndefined:a.columnDef.sortUndefined,invertSorting:a.columnDef.invertSorting,sortingFn:a.getSortingFn()})});const s=u=>{const a=u.map(d=>({...d}));return a.sort((d,m)=>{for(let g=0;g{var m;r.push(d),(m=d.subRows)!=null&&m.length&&(d.subRows=s(d.subRows))}),a};return{rows:s(t.rows),flatRows:r,rowsById:t.rowsById}},h(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}/** + * react-table + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Ze(e,o){return e?Nn(e)?P.createElement(e,o):e:null}function Nn(e){return kn(e)||typeof e=="function"||Bn(e)}function kn(e){return typeof e=="function"&&(()=>{const o=Object.getPrototypeOf(e);return o.prototype&&o.prototype.isReactComponent})()}function Bn(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function qn(e){const o={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[t]=P.useState(()=>({current:On(o)})),[n,r]=P.useState(()=>t.current.initialState);return t.current.setOptions(i=>({...i,...e,state:{...n,...e.state},onStateChange:l=>{r(l),e.onStateChange==null||e.onStateChange(l)}})),t.current}const Un="_tr_ludqf_1",bn="_pointer_ludqf_6",Kn="_table_ludqf_10",Wn="_thWrap_ludqf_38",Xn="_sortIconContainer_ludqf_48",Qn="_rotate180_ludqf_55",k={tr:Un,pointer:bn,table:Kn,thWrap:Wn,sortIconContainer:Xn,rotate180:Qn},ht=[{header:"Id",accessorKey:"id"},{header:"Host",accessorKey:"host"},{header:"Process",accessorKey:"process"},{header:"DL",accessorKey:"download",cell:e=>oe(e.getValue())},{header:"UL",accessorKey:"upload",cell:e=>oe(e.getValue())},{header:"DL Speed",accessorKey:"downloadSpeedCurr",cell:e=>oe(e.getValue())+"/s"},{header:"UL Speed",accessorKey:"uploadSpeedCurr",cell:e=>oe(e.getValue())+"/s"},{header:"Chains",accessorKey:"chains"},{header:"Rule",accessorKey:"rule"},{header:"Time",accessorKey:"start",cell:e=>Et(e.getValue(),0)},{header:"Source",accessorKey:"source"},{header:"Destination IP",accessorKey:"destinationIP"},{header:"Type",accessorKey:"type"}],Yn=[{id:"id",desc:!0}],Jn=ht,Zn=ht.filter(e=>e.accessorKey!=="process");function eo({data:e}){const o=L.useContext(rt),[t,n]=L.useState(Yn),r=qn({columns:o.hasProcessPath?Jn:Zn,data:e,state:{sorting:t,columnVisibility:{id:!1}},onSortingChange:n,getCoreRowModel:zn(),getSortedRowModel:jn()});return R.jsxs("table",{className:k.table,children:[R.jsx("thead",{children:r.getHeaderGroups().map(i=>R.jsx("tr",{children:i.headers.map(l=>R.jsx("th",{className:l.column.getCanSort()?q(k.th,k.pointer):k.th,onClick:l.column.getToggleSortingHandler(),children:R.jsxs("span",{className:k.thWrap,children:[R.jsx("span",{children:Ze(l.column.columnDef.header,l.getContext())}),l.column.getIsSorted()?R.jsx("span",{className:l.column.getIsSorted()==="desc"?k.sortIconContainer:q(k.rotate180,k.sortIconContainer),children:R.jsx(Dt,{size:16})}):null]})},l.id))},i.id))}),R.jsx("tbody",{children:r.getRowModel().rows.map(i=>R.jsx("tr",{children:i.getVisibleCells().map(l=>R.jsx("td",{children:Ze(l.column.columnDef.cell,l.getContext())},l.id))},i.id))})]})}const to="_overlay_148w6_1",no="_cnt_148w6_5",oo="_afterOpen_148w6_15",ro="_btngrp_148w6_20",se={overlay:to,cnt:no,afterOpen:oo,btngrp:ro},{useRef:io,useCallback:lo,useMemo:so}=L;function uo({isOpen:e,onRequestClose:o,primaryButtonOnTap:t}){const n=io(null),r=lo(()=>{n.current.focus()},[]),i=so(()=>({base:q(be.content,se.cnt),afterOpen:se.afterOpen,beforeClose:""}),[]);return R.jsxs(_t,{isOpen:e,onRequestClose:o,onAfterOpen:r,className:i,overlayClassName:q(be.overlay,se.overlay),children:[R.jsx("p",{children:"Are you sure you want to close all connections?"}),R.jsxs("div",{className:se.btngrp,children:[R.jsx(Ue,{onClick:t,ref:n,children:"I'm sure"}),R.jsx("div",{style:{width:20}}),R.jsx(Ue,{onClick:o,children:"No"})]})]})}const{useEffect:ao,useState:J,useRef:go,useCallback:Z}=L,et=30;function co(e){const o={};for(let t=0;t[t.host,t.sourceIP,t.sourcePort,t.destinationIP,t.chains,t.rule,t.type,t.network,t.processPath].some(n=>po(n,o))):e}function mo(e,o,t,n){const{id:r,metadata:i,upload:l,download:s,start:u,chains:a,rule:d,rulePayload:m}=e,{host:c,destinationPort:g,destinationIP:f,network:p,type:w,sourceIP:v,sourcePort:x}=i,$=i.processPath;n.hasProcessPath===!1&&typeof $<"u"&&(n.hasProcessPath=!0);const I=c||f||"",F=o[r];return{id:r,upload:l,download:s,start:t-new Date(u).valueOf(),chains:a.reverse().join(" / "),rule:m?`${d}(${m})`:d,...i,host:`${I}:${g}`,type:`${w}(${p})`,source:`${v}:${x}`,downloadSpeedCurr:s-(F?F.download:0),uploadSpeedCurr:l-(F?F.upload:0),process:fo($)}}function nt(e){return e.length>0?R.jsx(eo,{data:e}):R.jsx("div",{className:ee.placeHolder,children:R.jsx(Mt,{width:200,height:200,c1:"var(--color-text)"})})}function ot({qty:e}){return e<100?""+e:"99+"}function _o(){const e=$t(),[o,t]=Vt(),[n,r]=J([]),[i,l]=J([]),[s,u]=J(""),a=tt(n,s),d=tt(i,s),[m,c]=J(!1),g=Z(()=>c(!0),[]),f=Z(()=>c(!1),[]),[p,w]=J(!1),v=Z(()=>w(H=>!H),[]),x=Z(()=>{xt(e),f()},[e,f]),$=go(n),I=L.useContext(rt),F=Z(({connections:H})=>{const Q=co($.current),ne=Date.now(),G=H.map(j=>mo(j,Q,ne,I)),W=[];for(const j of $.current)G.findIndex(_=>_.id===j.id)<0&&W.push(j);l(j=>[...W,...j].slice(0,101)),G&&(G.length!==0||$.current.length!==0)&&!p?($.current=G,r(G)):$.current=G},[r,p,I]);ao(()=>Ft(e,F),[e,F]);const{t:V}=Pt();return R.jsxs("div",{children:[R.jsx(yt,{title:V("Connections")}),R.jsxs(qt,{children:[R.jsxs("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"space-between"},children:[R.jsxs(bt,{children:[R.jsxs(We,{children:[R.jsx("span",{children:V("Active")}),R.jsx("span",{className:ee.connQty,children:ot({qty:a.length})})]}),R.jsxs(We,{children:[R.jsx("span",{children:V("Closed")}),R.jsx("span",{className:ee.connQty,children:ot({qty:d.length})})]})]}),R.jsx("div",{className:ee.inputWrapper,children:R.jsx("input",{type:"text",name:"filter",autoComplete:"off",className:ee.input,placeholder:"Filter",onChange:H=>u(H.target.value)})})]}),R.jsx("div",{ref:o,style:{padding:30,paddingBottom:et,paddingTop:0},children:R.jsxs("div",{style:{height:t-et,overflow:"auto"},children:[R.jsxs(Qe,{children:[R.jsx(R.Fragment,{children:nt(a)}),R.jsx(At,{icon:p?R.jsx(Gt,{size:16}):R.jsx(Tt,{size:16}),mainButtonStyles:p?{background:"#e74c3c"}:{},style:Lt,text:V(p?"Resume Refresh":"Pause Refresh"),onClick:v,children:R.jsx(Ht,{text:"Close All Connections",onClick:g,children:R.jsx(It,{size:10})})})]}),R.jsx(Qe,{children:nt(d)})]})}),R.jsx(uo,{isOpen:m,primaryButtonOnTap:x,onRequestClose:f})]})]})}export{_o as default}; diff --git a/clash/clash/dashboard/yacd/assets/Connections-ddae4f70.css b/clash/clash/dashboard/yacd/assets/Connections-ddae4f70.css new file mode 100644 index 0000000..7d308e2 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Connections-ddae4f70.css @@ -0,0 +1 @@ +.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{margin:0 0 10px;padding:0 30px}.react-tabs__tab{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:5px;bottom:-1px;position:relative;list-style:none;padding:6px 10px;cursor:pointer;font-size:1.2em;opacity:.5}.react-tabs__tab--selected{opacity:1}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{border-color:#0188fe;outline:none}.react-tabs__tab:focus:after{content:"";position:absolute}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}._placeHolder_1mf9d_1{height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-background);opacity:.1}._connQty_1mf9d_10{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}._inputWrapper_1mf9d_22{margin:0 30px;width:100%;max-width:350px;justify-self:flex-end}._input_1mf9d_22{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--color-input-bg);background-image:none;border-radius:18px;border:1px solid var(--color-input-border);box-sizing:border-box;color:#c1c1c1;display:inline-block;font-size:inherit;height:36px;outline:none;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}._tr_ludqf_1{display:grid;grid-template-columns:repeat(var(--col-count, 11),minmax(-webkit-max-content,auto));grid-template-columns:repeat(var(--col-count, 11),minmax(max-content,auto))}._pointer_ludqf_6{cursor:pointer}._table_ludqf_10{border:none;border-collapse:collapse}._table_ludqf_10 thead tr{position:-webkit-sticky;position:sticky;top:0;background:var(--color-background)}._table_ludqf_10 th{padding:8px 13px;height:50px;font-weight:initial;font-size:.8em;text-align:left;white-space:nowrap}._table_ludqf_10 td{border:none;white-space:nowrap;padding:8px 13px;font-size:.9em;font-family:var(--font-normal)}._table_ludqf_10>tbody>tr:nth-of-type(odd)>*{background:var(--color-row-odd)}._thWrap_ludqf_38{-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:space-between}._thWrap_ludqf_38:hover{color:var(--color-text-highlight)}._sortIconContainer_ludqf_48{display:inline-flex;margin-left:10px;width:16px;height:16px}._rotate180_ludqf_55{transform:rotate(180deg)}._overlay_148w6_1{background-color:#0009}._cnt_148w6_5{background-color:var(--bg-modal);color:var(--color-text);max-width:300px;line-height:1.4;transform:translate(-50%,-50%) scale(1.2);opacity:.6;transition:all .3s ease}._afterOpen_148w6_15{opacity:1;transform:translate(-50%,-50%) scale(1)}._btngrp_148w6_20{display:flex;align-items:center;justify-content:center;margin-top:30px} diff --git a/clash/clash/dashboard/yacd/assets/Connections.1d834293.js b/clash/clash/dashboard/yacd/assets/Connections.1d834293.js deleted file mode 100644 index cd0e00f..0000000 --- a/clash/clash/dashboard/yacd/assets/Connections.1d834293.js +++ /dev/null @@ -1 +0,0 @@ -var io=Object.defineProperty,ao=Object.defineProperties;var uo=Object.getOwnPropertyDescriptors;var vn=Object.getOwnPropertySymbols;var so=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable;var mn=(y,p,d)=>p in y?io(y,p,{enumerable:!0,configurable:!0,writable:!0,value:d}):y[p]=d,He=(y,p)=>{for(var d in p||(p={}))so.call(p,d)&&mn(y,d,p[d]);if(vn)for(var d of vn(p))lo.call(p,d)&&mn(y,d,p[d]);return y},Ne=(y,p)=>ao(y,uo(p));import{r as ue,R as Pe,c as Ae,a as co,j as K,b as we,p as hn,m as yn,M as fo,B as wn,d as po,e as go,f as vo,u as mo,C as ho,F as yo,S as wo,I as bo,g as Ro}from"./index.25cbb458.js";import{u as Co}from"./useRemainingViewPortHeight.037d3897.js";import{C as So}from"./chevron-down.2fd59aec.js";import{f as Po}from"./index.e97a91e5.js";import{F as xo,p as Bo,A as Eo}from"./Fab.653b8c23.js";import{P as Io,a as To}from"./play.4df3e162.js";function bt(y){return function(p){return!!p.type&&p.type.tabsRole===y}}var rt=bt("Tab"),Rt=bt("TabList"),Ct=bt("TabPanel");function Fo(y){return rt(y)||Rt(y)||Ct(y)}function ht(y,p){return ue.exports.Children.map(y,function(d){return d===null?null:Fo(d)?p(d):d.props&&d.props.children&&typeof d.props.children=="object"?ue.exports.cloneElement(d,Object.assign({},d.props,{children:ht(d.props.children,p)})):d})}function Bn(y,p){return ue.exports.Children.forEach(y,function(d){d!==null&&(rt(d)||Ct(d)?p(d):d.props&&d.props.children&&typeof d.props.children=="object"&&(Rt(d)&&p(d),Bn(d.props.children,p)))})}function En(y){var p=0;return Bn(y,function(d){rt(d)&&p++}),p}var Ao=["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName","environment","disableUpDownKeys"];function ko(y,p){if(y==null)return{};var d={},v=Object.keys(y),O,_;for(_=0;_=0)&&(d[O]=y[O]);return d}function In(y){return y&&"getAttribute"in y}function bn(y){return In(y)&&y.getAttribute("data-rttab")}function Te(y){return In(y)&&y.getAttribute("aria-disabled")==="true"}var nt;function Go(y){var p=y||(typeof window!="undefined"?window:void 0);try{nt=!!(typeof p!="undefined"&&p.document&&p.document.activeElement)}catch{nt=!1}}var Ho={className:"react-tabs",focus:!1},St=function(p){var d=ue.exports.useRef([]),v=ue.exports.useRef([]),O=ue.exports.useRef();function _(m,N){if(!(m<0||m>=J())){var L=p.onSelect,U=p.selectedIndex;L(m,U,N)}}function l(m){for(var N=J(),L=m+1;Lm;)if(!Te(te(N)))return N;return m}function se(){for(var m=J(),N=0;N=0)&&(d[O]=y[O]);return d}var Mo={className:"react-tabs__tab-list"},it=function(p){var d=p.children,v=p.className,O=zo(p,_o);return Pe.createElement("ul",Object.assign({},O,{className:Ae(v),role:"tablist"}),d)};it.tabsRole="TabList";it.propTypes={};it.defaultProps=Mo;var jo=["children","className","disabled","disabledClassName","focus","id","selected","selectedClassName","tabIndex","tabRef"];function Lo(y,p){if(y==null)return{};var d={},v=Object.keys(y),O,_;for(_=0;_=0)&&(d[O]=y[O]);return d}var mt="react-tabs__tab",Do={className:mt,disabledClassName:mt+"--disabled",focus:!1,id:null,selected:!1,selectedClassName:mt+"--selected"},Ve=function(p){var d,v=ue.exports.useRef(),O=p.children,_=p.className,l=p.disabled,Z=p.disabledClassName,se=p.focus,u=p.id,J=p.selected,te=p.selectedClassName,le=p.tabIndex,de=p.tabRef,D=Lo(p,jo);return ue.exports.useEffect(function(){J&&se&&v.current.focus()},[J,se]),Pe.createElement("li",Object.assign({},D,{className:Ae(_,(d={},d[te]=J,d[Z]=l,d)),ref:function(ce){v.current=ce,de&&de(ce)},role:"tab",id:"tab"+u,"aria-selected":J?"true":"false","aria-disabled":l?"true":"false","aria-controls":"panel"+u,tabIndex:le||(J?"0":null),"data-rttab":!0}),O)};Ve.propTypes={};Ve.tabsRole="Tab";Ve.defaultProps=Do;var Vo=["children","className","forceRender","id","selected","selectedClassName"];function $o(y,p){if(y==null)return{};var d={},v=Object.keys(y),O,_;for(_=0;_=0)&&(d[O]=y[O]);return d}var Rn="react-tabs__tab-panel",Ko={className:Rn,forceRender:!1,selectedClassName:Rn+"--selected"},$e=function(p){var d,v=p.children,O=p.className,_=p.forceRender,l=p.id,Z=p.selected,se=p.selectedClassName,u=$o(p,Vo);return Pe.createElement("div",Object.assign({},u,{className:Ae(O,(d={},d[se]=Z,d)),role:"tabpanel",id:"panel"+l,"aria-labelledby":"tab"+l}),_||Z?v:null)};$e.tabsRole="TabPanel";$e.propTypes={};$e.defaultProps=Ko;const Uo="_placeHolder_12xws_1",qo="_connQty_12xws_10",Xo="_inputWrapper_12xws_22",Qo="_input_12xws_22";var De={placeHolder:Uo,connQty:qo,inputWrapper:Xo,input:Qo},yt={exports:{}},wt={exports:{}};(function(y,p){(function(d,v){v(p,ue.exports)})(co,function(d,v){function O(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(f){return void n(f)}s.done?t(c):Promise.resolve(c).then(r,i)}function _(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(c){O(o,r,i,a,s,"next",c)}function s(c){O(o,r,i,a,s,"throw",c)}a(void 0)})}}function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function se(e){var t=function(n,r){if(typeof n!="object"||n===null)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var o=i.call(n,r||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(n)}(e,"string");return typeof t=="symbol"?t:String(t)}v=v&&Object.prototype.hasOwnProperty.call(v,"default")?v.default:v;var u={init:"init"},J=function(e){var t=e.value;return t===void 0?"":t},te=function(){return v.createElement(v.Fragment,null,"\xA0")},le={Cell:J,width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function de(){for(var e=arguments.length,t=new Array(e),n=0;n(o=typeof o=="number"?o:1/0)){var a=i;i=o,o=a}return e.filter(function(s){return t.some(function(c){var f=s.values[c];return f>=i&&f<=o})})};_t.autoRemove=function(e){return!e||typeof e[0]!="number"&&typeof e[1]!="number"};var _e=Object.freeze({__proto__:null,text:Tt,exactText:Ft,exactTextCase:At,includes:kt,includesAll:Gt,includesSome:Ht,includesValue:Nt,exact:Ot,equals:Wt,between:_t});u.resetFilters="resetFilters",u.setFilter="setFilter",u.setAllFilters="setAllFilters";var zt=function(e){e.stateReducers.push(Zn),e.useInstance.push(er)};function Zn(e,t,n,r){if(t.type===u.init)return l({filters:[]},e);if(t.type===u.resetFilters)return l({},e,{filters:r.initialState.filters||[]});if(t.type===u.setFilter){var i=t.columnId,o=t.filterValue,a=r.allColumns,s=r.filterTypes,c=a.find(function(S){return S.id===i});if(!c)throw new Error("React-Table: Could not find a column with id: "+i);var f=Ce(c.filter,s||{},_e),R=e.filters.find(function(S){return S.id===i}),h=ne(o,R&&R.value);return Be(f.autoRemove,h,c)?l({},e,{filters:e.filters.filter(function(S){return S.id!==i})}):l({},e,R?{filters:e.filters.map(function(S){return S.id===i?{id:i,value:h}:S})}:{filters:[].concat(e.filters,[{id:i,value:h}])})}if(t.type===u.setAllFilters){var w=t.filters,g=r.allColumns,b=r.filterTypes;return l({},e,{filters:ne(w,e.filters).filter(function(S){var P=g.find(function(E){return E.id===S.id});return!Be(Ce(P.filter,b||{},_e).autoRemove,S.value,P)})})}}function er(e){var t=e.data,n=e.rows,r=e.flatRows,i=e.rowsById,o=e.allColumns,a=e.filterTypes,s=e.manualFilters,c=e.defaultCanFilter,f=c!==void 0&&c,R=e.disableFilters,h=e.state.filters,w=e.dispatch,g=e.autoResetFilters,b=g===void 0||g,S=v.useCallback(function(x,k){w({type:u.setFilter,columnId:x,filterValue:k})},[w]),P=v.useCallback(function(x){w({type:u.setAllFilters,filters:x})},[w]);o.forEach(function(x){var k=x.id,z=x.accessor,T=x.defaultCanFilter,A=x.disableFilters;x.canFilter=z?ie(A!==!0&&void 0,R!==!0&&void 0,!0):ie(T,f,!1),x.setFilter=function(G){return S(x.id,G)};var $=h.find(function(G){return G.id===k});x.filterValue=$&&$.value});var E=v.useMemo(function(){if(s||!h.length)return[n,r,i];var x=[],k={};return[function z(T,A){A===void 0&&(A=0);var $=T;return($=h.reduce(function(G,V){var j=V.id,q=V.value,I=o.find(function(ee){return ee.id===j});if(!I)return G;A===0&&(I.preFilteredRows=G);var M=Ce(I.filter,a||{},_e);return M?(I.filteredRows=M(G,[j],q),I.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: "+I.id+"."),G)},T)).forEach(function(G){x.push(G),k[G.id]=G,G.subRows&&(G.subRows=G.subRows&&G.subRows.length>0?z(G.subRows,A+1):G.subRows)}),$}(n),x,k]},[s,h,n,r,i,o,a]),W=E[0],B=E[1],C=E[2];v.useMemo(function(){o.filter(function(x){return!h.find(function(k){return k.id===x.id})}).forEach(function(x){x.preFilteredRows=W,x.filteredRows=W})},[W,h,o]);var H=m(b);L(function(){H()&&w({type:u.resetFilters})},[w,s?null:t]),Object.assign(e,{preFilteredRows:n,preFilteredFlatRows:r,preFilteredRowsById:i,filteredRows:W,filteredFlatRows:B,filteredRowsById:C,rows:W,flatRows:B,rowsById:C,setFilter:S,setAllFilters:P})}zt.pluginName="useFilters",u.resetGlobalFilter="resetGlobalFilter",u.setGlobalFilter="setGlobalFilter";var Mt=function(e){e.stateReducers.push(tr),e.useInstance.push(nr)};function tr(e,t,n,r){if(t.type===u.resetGlobalFilter)return l({},e,{globalFilter:r.initialState.globalFilter||void 0});if(t.type===u.setGlobalFilter){var i=t.filterValue,o=r.userFilterTypes,a=Ce(r.globalFilter,o||{},_e),s=ne(i,e.globalFilter);return Be(a.autoRemove,s)?(e.globalFilter,Z(e,["globalFilter"])):l({},e,{globalFilter:s})}}function nr(e){var t=e.data,n=e.rows,r=e.flatRows,i=e.rowsById,o=e.allColumns,a=e.filterTypes,s=e.globalFilter,c=e.manualGlobalFilter,f=e.state.globalFilter,R=e.dispatch,h=e.autoResetGlobalFilter,w=h===void 0||h,g=e.disableGlobalFilter,b=v.useCallback(function(C){R({type:u.setGlobalFilter,filterValue:C})},[R]),S=v.useMemo(function(){if(c||f===void 0)return[n,r,i];var C=[],H={},x=Ce(s,a||{},_e);if(!x)return console.warn("Could not find a valid 'globalFilter' option."),n;o.forEach(function(z){var T=z.disableGlobalFilter;z.canFilter=ie(T!==!0&&void 0,g!==!0&&void 0,!0)});var k=o.filter(function(z){return z.canFilter===!0});return[function z(T){return(T=x(T,k.map(function(A){return A.id}),f)).forEach(function(A){C.push(A),H[A.id]=A,A.subRows=A.subRows&&A.subRows.length?z(A.subRows):A.subRows}),T}(n),C,H]},[c,f,s,a,o,n,r,i,g]),P=S[0],E=S[1],W=S[2],B=m(w);L(function(){B()&&R({type:u.resetGlobalFilter})},[R,c?null:t]),Object.assign(e,{preGlobalFilteredRows:n,preGlobalFilteredFlatRows:r,preGlobalFilteredRowsById:i,globalFilteredRows:P,globalFilteredFlatRows:E,globalFilteredRowsById:W,rows:P,flatRows:E,rowsById:W,setGlobalFilter:b,disableGlobalFilter:g})}function jt(e,t){return t.reduce(function(n,r){return n+(typeof r=="number"?r:0)},0)}Mt.pluginName="useGlobalFilter";var Lt=Object.freeze({__proto__:null,sum:jt,min:function(e){var t=e[0]||0;return e.forEach(function(n){typeof n=="number"&&(t=Math.min(t,n))}),t},max:function(e){var t=e[0]||0;return e.forEach(function(n){typeof n=="number"&&(t=Math.max(t,n))}),t},minMax:function(e){var t=e[0]||0,n=e[0]||0;return e.forEach(function(r){typeof r=="number"&&(t=Math.min(t,r),n=Math.max(n,r))}),t+".."+n},average:function(e){return jt(0,e)/e.length},median:function(e){if(!e.length)return null;var t=Math.floor(e.length/2),n=[].concat(e).sort(function(r,i){return r-i});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}}),rr=[],or={};u.resetGroupBy="resetGroupBy",u.setGroupBy="setGroupBy",u.toggleGroupBy="toggleGroupBy";var Dt=function(e){e.getGroupByToggleProps=[ir],e.stateReducers.push(ar),e.visibleColumnsDeps.push(function(t,n){var r=n.instance;return[].concat(t,[r.state.groupBy])}),e.visibleColumns.push(ur),e.useInstance.push(lr),e.prepareRow.push(cr)};Dt.pluginName="useGroupBy";var ir=function(e,t){var n=t.header;return[e,{onClick:n.canGroupBy?function(r){r.persist(),n.toggleGroupBy()}:void 0,style:{cursor:n.canGroupBy?"pointer":void 0},title:"Toggle GroupBy"}]};function ar(e,t,n,r){if(t.type===u.init)return l({groupBy:[]},e);if(t.type===u.resetGroupBy)return l({},e,{groupBy:r.initialState.groupBy||[]});if(t.type===u.setGroupBy)return l({},e,{groupBy:t.value});if(t.type===u.toggleGroupBy){var i=t.columnId,o=t.value,a=o!==void 0?o:!e.groupBy.includes(i);return l({},e,a?{groupBy:[].concat(e.groupBy,[i])}:{groupBy:e.groupBy.filter(function(s){return s!==i})})}}function ur(e,t){var n=t.instance.state.groupBy,r=n.map(function(o){return e.find(function(a){return a.id===o})}).filter(Boolean),i=e.filter(function(o){return!n.includes(o.id)});return(e=[].concat(r,i)).forEach(function(o){o.isGrouped=n.includes(o.id),o.groupedIndex=n.indexOf(o.id)}),e}var sr={};function lr(e){var t=e.data,n=e.rows,r=e.flatRows,i=e.rowsById,o=e.allColumns,a=e.flatHeaders,s=e.groupByFn,c=s===void 0?Vt:s,f=e.manualGroupBy,R=e.aggregations,h=R===void 0?sr:R,w=e.plugins,g=e.state.groupBy,b=e.dispatch,S=e.autoResetGroupBy,P=S===void 0||S,E=e.disableGroupBy,W=e.defaultCanGroupBy,B=e.getHooks;Y(w,["useColumnOrder","useFilters"],"useGroupBy");var C=m(e);o.forEach(function(I){var M=I.accessor,ee=I.defaultGroupBy,fe=I.disableGroupBy;I.canGroupBy=M?ie(I.canGroupBy,fe!==!0&&void 0,E!==!0&&void 0,!0):ie(I.canGroupBy,ee,W,!1),I.canGroupBy&&(I.toggleGroupBy=function(){return e.toggleGroupBy(I.id)}),I.Aggregated=I.Aggregated||I.Cell});var H=v.useCallback(function(I,M){b({type:u.toggleGroupBy,columnId:I,value:M})},[b]),x=v.useCallback(function(I){b({type:u.setGroupBy,value:I})},[b]);a.forEach(function(I){I.getGroupByToggleProps=D(B().getGroupByToggleProps,{instance:C(),header:I})});var k=v.useMemo(function(){if(f||!g.length)return[n,r,i,rr,or,r,i];var I=g.filter(function(ae){return o.find(function(Se){return Se.id===ae})}),M=[],ee={},fe=[],F={},Q=[],re={},pe=function ae(Se,be,ln){if(be===void 0&&(be=0),be===I.length)return Se.map(function(Xe){return l({},Xe,{depth:be})});var pt=I[be],Yr=c(Se,pt);return Object.entries(Yr).map(function(Xe,Zr){var cn=Xe[0],Qe=Xe[1],Je=pt+":"+cn,dn=ae(Qe,be+1,Je=ln?ln+">"+Je:Je),fn=be?xe(Qe,"leafRows"):Qe,eo=function(ye,gt,no){var Ye={};return o.forEach(function(oe){if(I.includes(oe.id))Ye[oe.id]=gt[0]?gt[0].values[oe.id]:null;else{var pn=typeof oe.aggregate=="function"?oe.aggregate:h[oe.aggregate]||Lt[oe.aggregate];if(pn){var ro=gt.map(function(Ze){return Ze.values[oe.id]}),oo=ye.map(function(Ze){var vt=Ze.values[oe.id];if(!no&&oe.aggregateValue){var gn=typeof oe.aggregateValue=="function"?oe.aggregateValue:h[oe.aggregateValue]||Lt[oe.aggregateValue];if(!gn)throw console.info({column:oe}),new Error("React Table: Invalid column.aggregateValue option for column listed above");vt=gn(vt,Ze,oe)}return vt});Ye[oe.id]=pn(oo,ro)}else{if(oe.aggregate)throw console.info({column:oe}),new Error("React Table: Invalid column.aggregate option for column listed above");Ye[oe.id]=null}}}),Ye}(fn,Qe,be),to={id:Je,isGrouped:!0,groupByID:pt,groupByVal:cn,values:eo,subRows:dn,leafRows:fn,depth:be,index:Zr};return dn.forEach(function(ye){M.push(ye),ee[ye.id]=ye,ye.isGrouped?(fe.push(ye),F[ye.id]=ye):(Q.push(ye),re[ye.id]=ye)}),to})}(n);return pe.forEach(function(ae){M.push(ae),ee[ae.id]=ae,ae.isGrouped?(fe.push(ae),F[ae.id]=ae):(Q.push(ae),re[ae.id]=ae)}),[pe,M,ee,fe,F,Q,re]},[f,g,n,r,i,o,h,c]),z=k[0],T=k[1],A=k[2],$=k[3],G=k[4],V=k[5],j=k[6],q=m(P);L(function(){q()&&b({type:u.resetGroupBy})},[b,f?null:t]),Object.assign(e,{preGroupedRows:n,preGroupedFlatRow:r,preGroupedRowsById:i,groupedRows:z,groupedFlatRows:T,groupedRowsById:A,onlyGroupedFlatRows:$,onlyGroupedRowsById:G,nonGroupedFlatRows:V,nonGroupedRowsById:j,rows:z,flatRows:T,rowsById:A,toggleGroupBy:H,setGroupBy:x})}function cr(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&&((n=e.subRows)==null?void 0:n.length)})}function Vt(e,t){return e.reduce(function(n,r,i){var o=""+r.values[t];return n[o]=Array.isArray(n[o])?n[o]:[],n[o].push(r),n},{})}var $t=/([0-9]+)/gm;function ut(e,t){return e===t?0:e>t?1:-1}function ze(e,t,n){return[e.values[n],t.values[n]]}function Kt(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}var dr=Object.freeze({__proto__:null,alphanumeric:function(e,t,n){var r=ze(e,t,n),i=r[0],o=r[1];for(i=Kt(i),o=Kt(o),i=i.split($t).filter(Boolean),o=o.split($t).filter(Boolean);i.length&&o.length;){var a=i.shift(),s=o.shift(),c=parseInt(a,10),f=parseInt(s,10),R=[c,f].sort();if(isNaN(R[0])){if(a>s)return 1;if(s>a)return-1}else{if(isNaN(R[1]))return isNaN(c)?-1:1;if(c>f)return 1;if(f>c)return-1}}return i.length-o.length},datetime:function(e,t,n){var r=ze(e,t,n),i=r[0],o=r[1];return ut(i=i.getTime(),o=o.getTime())},basic:function(e,t,n){var r=ze(e,t,n);return ut(r[0],r[1])},string:function(e,t,n){var r=ze(e,t,n),i=r[0],o=r[1];for(i=i.split("").filter(Boolean),o=o.split("").filter(Boolean);i.length&&o.length;){var a=i.shift(),s=o.shift(),c=a.toLowerCase(),f=s.toLowerCase();if(c>f)return 1;if(f>c)return-1;if(a>s)return 1;if(s>a)return-1}return i.length-o.length},number:function(e,t,n){var r=ze(e,t,n),i=r[0],o=r[1],a=/[^0-9.]/gi;return ut(i=Number(String(i).replace(a,"")),o=Number(String(o).replace(a,"")))}});u.resetSortBy="resetSortBy",u.setSortBy="setSortBy",u.toggleSortBy="toggleSortBy",u.clearSortBy="clearSortBy",le.sortType="alphanumeric",le.sortDescFirst=!1;var Ut=function(e){e.getSortByToggleProps=[fr],e.stateReducers.push(pr),e.useInstance.push(gr)};Ut.pluginName="useSortBy";var fr=function(e,t){var n=t.instance,r=t.column,i=n.isMultiSortEvent,o=i===void 0?function(a){return a.shiftKey}:i;return[e,{onClick:r.canSort?function(a){a.persist(),r.toggleSortBy(void 0,!n.disableMultiSort&&o(a))}:void 0,style:{cursor:r.canSort?"pointer":void 0},title:r.canSort?"Toggle SortBy":void 0}]};function pr(e,t,n,r){if(t.type===u.init)return l({sortBy:[]},e);if(t.type===u.resetSortBy)return l({},e,{sortBy:r.initialState.sortBy||[]});if(t.type===u.clearSortBy)return l({},e,{sortBy:e.sortBy.filter(function(C){return C.id!==t.columnId})});if(t.type===u.setSortBy)return l({},e,{sortBy:t.sortBy});if(t.type===u.toggleSortBy){var i,o=t.columnId,a=t.desc,s=t.multi,c=r.allColumns,f=r.disableMultiSort,R=r.disableSortRemove,h=r.disableMultiRemove,w=r.maxMultiSortColCount,g=w===void 0?Number.MAX_SAFE_INTEGER:w,b=e.sortBy,S=c.find(function(C){return C.id===o}).sortDescFirst,P=b.find(function(C){return C.id===o}),E=b.findIndex(function(C){return C.id===o}),W=a!=null,B=[];return(i=!f&&s?P?"toggle":"add":E!==b.length-1||b.length!==1?"replace":P?"toggle":"replace")!="toggle"||R||W||s&&h||!(P&&P.desc&&!S||!P.desc&&S)||(i="remove"),i==="replace"?B=[{id:o,desc:W?a:S}]:i==="add"?(B=[].concat(b,[{id:o,desc:W?a:S}])).splice(0,B.length-g):i==="toggle"?B=b.map(function(C){return C.id===o?l({},C,{desc:W?a:!P.desc}):C}):i==="remove"&&(B=b.filter(function(C){return C.id!==o})),l({},e,{sortBy:B})}}function gr(e){var t=e.data,n=e.rows,r=e.flatRows,i=e.allColumns,o=e.orderByFn,a=o===void 0?qt:o,s=e.sortTypes,c=e.manualSortBy,f=e.defaultCanSort,R=e.disableSortBy,h=e.flatHeaders,w=e.state.sortBy,g=e.dispatch,b=e.plugins,S=e.getHooks,P=e.autoResetSortBy,E=P===void 0||P;Y(b,["useFilters","useGlobalFilter","useGroupBy","usePivotColumns"],"useSortBy");var W=v.useCallback(function(T){g({type:u.setSortBy,sortBy:T})},[g]),B=v.useCallback(function(T,A,$){g({type:u.toggleSortBy,columnId:T,desc:A,multi:$})},[g]),C=m(e);h.forEach(function(T){var A=T.accessor,$=T.canSort,G=T.disableSortBy,V=T.id,j=A?ie(G!==!0&&void 0,R!==!0&&void 0,!0):ie(f,$,!1);T.canSort=j,T.canSort&&(T.toggleSortBy=function(I,M){return B(T.id,I,M)},T.clearSortBy=function(){g({type:u.clearSortBy,columnId:T.id})}),T.getSortByToggleProps=D(S().getSortByToggleProps,{instance:C(),column:T});var q=w.find(function(I){return I.id===V});T.isSorted=!!q,T.sortedIndex=w.findIndex(function(I){return I.id===V}),T.isSortedDesc=T.isSorted?q.desc:void 0});var H=v.useMemo(function(){if(c||!w.length)return[n,r];var T=[],A=w.filter(function($){return i.find(function(G){return G.id===$.id})});return[function $(G){var V=a(G,A.map(function(j){var q=i.find(function(ee){return ee.id===j.id});if(!q)throw new Error("React-Table: Could not find a column with id: "+j.id+" while sorting");var I=q.sortType,M=Ge(I)||(s||{})[I]||dr[I];if(!M)throw new Error("React-Table: Could not find a valid sortType of '"+I+"' for column '"+j.id+"'.");return function(ee,fe){return M(ee,fe,j.id,j.desc)}}),A.map(function(j){var q=i.find(function(I){return I.id===j.id});return q&&q.sortInverted?j.desc:!j.desc}));return V.forEach(function(j){T.push(j),j.subRows&&j.subRows.length!==0&&(j.subRows=$(j.subRows))}),V}(n),T]},[c,w,n,r,i,a,s]),x=H[0],k=H[1],z=m(E);L(function(){z()&&g({type:u.resetSortBy})},[c?null:t]),Object.assign(e,{preSortedRows:n,preSortedFlatRows:r,sortedRows:x,sortedFlatRows:k,rows:x,flatRows:k,setSortBy:W,toggleSortBy:B})}function qt(e,t,n){return[].concat(e).sort(function(r,i){for(var o=0;oe.pageIndex?s=i===-1?o.length>=e.pageSize:a-1),s?l({},e,{pageIndex:a}):e}if(t.type===u.setPageSize){var c=t.pageSize,f=e.pageSize*e.pageIndex;return l({},e,{pageIndex:Math.floor(f/c),pageSize:c})}}function mr(e){var t=e.rows,n=e.autoResetPage,r=n===void 0||n,i=e.manualExpandedKey,o=i===void 0?"expanded":i,a=e.plugins,s=e.pageCount,c=e.paginateExpandedRows,f=c===void 0||c,R=e.expandSubRows,h=R===void 0||R,w=e.state,g=w.pageSize,b=w.pageIndex,S=w.expanded,P=w.globalFilter,E=w.filters,W=w.groupBy,B=w.sortBy,C=e.dispatch,H=e.data,x=e.manualPagination;Y(a,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var k=m(r);L(function(){k()&&C({type:u.resetPage})},[C,x?null:H,P,E,W,B]);var z=x?s:Math.ceil(t.length/g),T=v.useMemo(function(){return z>0?[].concat(new Array(z)).fill(null).map(function(M,ee){return ee}):[]},[z]),A=v.useMemo(function(){var M;if(x)M=t;else{var ee=g*b,fe=ee+g;M=t.slice(ee,fe)}return f?M:Oe(M,{manualExpandedKey:o,expanded:S,expandSubRows:h})},[h,S,o,x,b,g,f,t]),$=b>0,G=z===-1?A.length>=g:b-1&&o.push(i.splice(c,1)[0])};i.length&&r.length;)a();return[].concat(o,i)}function zr(e){var t=e.dispatch;e.setColumnOrder=v.useCallback(function(n){return t({type:u.setColumnOrder,columnOrder:n})},[t])}nn.pluginName="useColumnOrder",le.canResize=!0,u.columnStartResizing="columnStartResizing",u.columnResizing="columnResizing",u.columnDoneResizing="columnDoneResizing",u.resetResize="resetResize";var rn=function(e){e.getResizerProps=[Mr],e.getHeaderProps.push({style:{position:"relative"}}),e.stateReducers.push(jr),e.useInstance.push(Dr),e.useInstanceBeforeDimensions.push(Lr)},Mr=function(e,t){var n=t.instance,r=t.header,i=n.dispatch,o=function(a,s){var c=!1;if(a.type==="touchstart"){if(a.touches&&a.touches.length>1)return;c=!0}var f,R,h=function(B){var C=[];return function H(x){x.columns&&x.columns.length&&x.columns.map(H),C.push(x)}(B),C}(s).map(function(B){return[B.id,B.totalWidth]}),w=c?Math.round(a.touches[0].clientX):a.clientX,g=function(){window.cancelAnimationFrame(f),f=null,i({type:u.columnDoneResizing})},b=function(){window.cancelAnimationFrame(f),f=null,i({type:u.columnResizing,clientX:R})},S=function(B){R=B,f||(f=window.requestAnimationFrame(b))},P={mouse:{moveEvent:"mousemove",moveHandler:function(B){return S(B.clientX)},upEvent:"mouseup",upHandler:function(B){document.removeEventListener("mousemove",P.mouse.moveHandler),document.removeEventListener("mouseup",P.mouse.upHandler),g()}},touch:{moveEvent:"touchmove",moveHandler:function(B){return B.cancelable&&(B.preventDefault(),B.stopPropagation()),S(B.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(B){document.removeEventListener(P.touch.moveEvent,P.touch.moveHandler),document.removeEventListener(P.touch.upEvent,P.touch.moveHandler),g()}}},E=c?P.touch:P.mouse,W=!!function(){if(typeof Ie=="boolean")return Ie;var B=!1;try{var C={get passive(){return B=!0,!1}};window.addEventListener("test",null,C),window.removeEventListener("test",null,C)}catch{B=!1}return Ie=B}()&&{passive:!1};document.addEventListener(E.moveEvent,E.moveHandler,W),document.addEventListener(E.upEvent,E.upHandler,W),i({type:u.columnStartResizing,columnId:s.id,columnWidth:s.totalWidth,headerIdWidths:h,clientX:w})};return[e,{onMouseDown:function(a){return a.persist()||o(a,r)},onTouchStart:function(a){return a.persist()||o(a,r)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function jr(e,t){if(t.type===u.init)return l({columnResizing:{columnWidths:{}}},e);if(t.type===u.resetResize)return l({},e,{columnResizing:{columnWidths:{}}});if(t.type===u.columnStartResizing){var n=t.clientX,r=t.columnId,i=t.columnWidth,o=t.headerIdWidths;return l({},e,{columnResizing:l({},e.columnResizing,{startX:n,headerIdWidths:o,columnWidth:i,isResizingColumn:r})})}if(t.type===u.columnResizing){var a=t.clientX,s=e.columnResizing,c=s.startX,f=s.columnWidth,R=s.headerIdWidths,h=(a-c)/f,w={};return(R===void 0?[]:R).forEach(function(g){var b=g[0],S=g[1];w[b]=Math.max(S+S*h,0)}),l({},e,{columnResizing:l({},e.columnResizing,{columnWidths:l({},e.columnResizing.columnWidths,{},w)})})}return t.type===u.columnDoneResizing?l({},e,{columnResizing:l({},e.columnResizing,{startX:null,isResizingColumn:null})}):void 0}rn.pluginName="useResizeColumns";var Lr=function(e){var t=e.flatHeaders,n=e.disableResizing,r=e.getHooks,i=e.state.columnResizing,o=m(e);t.forEach(function(a){var s=ie(a.disableResizing!==!0&&void 0,n!==!0&&void 0,!0);a.canResize=s,a.width=i.columnWidths[a.id]||a.originalWidth||a.width,a.isResizing=i.isResizingColumn===a.id,s&&(a.getResizerProps=D(r().getResizerProps,{instance:o(),header:a}))})};function Dr(e){var t=e.plugins,n=e.dispatch,r=e.autoResetResize,i=r===void 0||r,o=e.columns;Y(t,["useAbsoluteLayout"],"useResizeColumns");var a=m(i);L(function(){a()&&n({type:u.resetResize})},[o]);var s=v.useCallback(function(){return n({type:u.resetResize})},[n]);Object.assign(e,{resetResizing:s})}var st={position:"absolute",top:0},on=function(e){e.getTableBodyProps.push(qe),e.getRowProps.push(qe),e.getHeaderGroupProps.push(qe),e.getFooterGroupProps.push(qe),e.getHeaderProps.push(function(t,n){var r=n.column;return[t,{style:l({},st,{left:r.totalLeft+"px",width:r.totalWidth+"px"})}]}),e.getCellProps.push(function(t,n){var r=n.cell;return[t,{style:l({},st,{left:r.column.totalLeft+"px",width:r.column.totalWidth+"px"})}]}),e.getFooterProps.push(function(t,n){var r=n.column;return[t,{style:l({},st,{left:r.totalLeft+"px",width:r.totalWidth+"px"})}]})};on.pluginName="useAbsoluteLayout";var qe=function(e,t){return[e,{style:{position:"relative",width:t.instance.totalColumnsWidth+"px"}}]},lt={display:"inline-block",boxSizing:"border-box"},ct=function(e,t){return[e,{style:{display:"flex",width:t.instance.totalColumnsWidth+"px"}}]},an=function(e){e.getRowProps.push(ct),e.getHeaderGroupProps.push(ct),e.getFooterGroupProps.push(ct),e.getHeaderProps.push(function(t,n){var r=n.column;return[t,{style:l({},lt,{width:r.totalWidth+"px"})}]}),e.getCellProps.push(function(t,n){var r=n.cell;return[t,{style:l({},lt,{width:r.column.totalWidth+"px"})}]}),e.getFooterProps.push(function(t,n){var r=n.column;return[t,{style:l({},lt,{width:r.totalWidth+"px"})}]})};function un(e){e.getTableProps.push(Vr),e.getRowProps.push(dt),e.getHeaderGroupProps.push(dt),e.getFooterGroupProps.push(dt),e.getHeaderProps.push($r),e.getCellProps.push(Kr),e.getFooterProps.push(Ur)}an.pluginName="useBlockLayout",un.pluginName="useFlexLayout";var Vr=function(e,t){return[e,{style:{minWidth:t.instance.totalColumnsMinWidth+"px"}}]},dt=function(e,t){return[e,{style:{display:"flex",flex:"1 0 auto",minWidth:t.instance.totalColumnsMinWidth+"px"}}]},$r=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"}}]},Kr=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"}}]},Ur=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"}}]};function sn(e){e.stateReducers.push(Jr),e.getTableProps.push(qr),e.getHeaderProps.push(Xr),e.getRowProps.push(Qr)}u.columnStartResizing="columnStartResizing",u.columnResizing="columnResizing",u.columnDoneResizing="columnDoneResizing",u.resetResize="resetResize",sn.pluginName="useGridLayout";var qr=function(e,t){var n=t.instance;return[e,{style:{display:"grid",gridTemplateColumns:n.visibleColumns.map(function(r){var i;return n.state.gridLayout.columnWidths[r.id]?n.state.gridLayout.columnWidths[r.id]+"px":(i=n.state.columnResizing)!=null&&i.isResizingColumn?n.state.gridLayout.startWidths[r.id]+"px":typeof r.width=="number"?r.width+"px":r.width}).join(" ")}}]},Xr=function(e,t){var n=t.column;return[e,{id:"header-cell-"+n.id,style:{position:"sticky",gridColumn:"span "+n.totalVisibleHeaderCount}}]},Qr=function(e,t){var n=t.row;return n.isExpanded?[e,{style:{gridColumn:"1 / "+(n.cells.length+1)}}]:[e,{}]};function Jr(e,t,n,r){if(t.type===u.init)return l({gridLayout:{columnWidths:{}}},e);if(t.type===u.resetResize)return l({},e,{gridLayout:{columnWidths:{}}});if(t.type===u.columnStartResizing){var i=t.columnId,o=t.headerIdWidths,a=ft(i);if(a!==void 0){var s=r.visibleColumns.reduce(function(C,H){var x;return l({},C,((x={})[H.id]=ft(H.id),x))},{}),c=r.visibleColumns.reduce(function(C,H){var x;return l({},C,((x={})[H.id]=H.minWidth,x))},{}),f=r.visibleColumns.reduce(function(C,H){var x;return l({},C,((x={})[H.id]=H.maxWidth,x))},{}),R=o.map(function(C){var H=C[0];return[H,ft(H)]});return l({},e,{gridLayout:l({},e.gridLayout,{startWidths:s,minWidths:c,maxWidths:f,headerIdGridWidths:R,columnWidth:a})})}return e}if(t.type===u.columnResizing){var h=t.clientX,w=e.columnResizing.startX,g=e.gridLayout,b=g.columnWidth,S=g.minWidths,P=g.maxWidths,E=g.headerIdGridWidths,W=(h-w)/b,B={};return(E===void 0?[]:E).forEach(function(C){var H=C[0],x=C[1];B[H]=Math.min(Math.max(S[H],x+x*W),P[H])}),l({},e,{gridLayout:l({},e.gridLayout,{columnWidths:l({},e.gridLayout.columnWidths,{},B)})})}return t.type===u.columnDoneResizing?l({},e,{gridLayout:l({},e.gridLayout,{startWidths:{},minWidths:{},maxWidths:{}})}):void 0}function ft(e){var t,n=(t=document.getElementById("header-cell-"+e))==null?void 0:t.offsetWidth;if(n!==void 0)return n}d._UNSTABLE_usePivotColumns=Qt,d.actions=u,d.defaultColumn=le,d.defaultGroupByFn=Vt,d.defaultOrderByFn=qt,d.defaultRenderer=J,d.emptyRenderer=te,d.ensurePluginOrder=Y,d.flexRender=ge,d.functionalUpdate=ne,d.loopHooks=ce,d.makePropGetter=D,d.makeRenderer=U,d.reduceHooks=X,d.safeUseLayoutEffect=N,d.useAbsoluteLayout=on,d.useAsyncDebounce=function(e,t){t===void 0&&(t=0);var n=v.useRef({}),r=m(e),i=m(t);return v.useCallback(function(){var o=_(regeneratorRuntime.mark(function a(){var s,c,f,R=arguments;return regeneratorRuntime.wrap(function(h){for(;;)switch(h.prev=h.next){case 0:for(s=R.length,c=new Array(s),f=0;f1?t-1:0),r=1;rwe("div",Ne(He({},_.getHeaderGroupProps()),{className:Fe.tr,children:[_.headers.map(l=>we("div",Ne(He({},l.getHeaderProps(l.getSortByToggleProps())),{className:Fe.th,children:[K("span",{children:l.render("Header")}),K("span",{className:Fe.sortIconContainer,children:l.isSorted?K("span",{className:l.isSortedDesc?"":Fe.rotate180,children:K(So,{size:16})}):null})]}))),v.map((l,Z)=>(O(l),l.cells.map((se,u)=>K("div",Ne(He({},se.getCellProps()),{className:Ae(Fe.td,Z%2===0?Fe.odd:!1,u>=1&&u<=4?Fe.du:!1),children:ii(se)})))))]})))}))}const li="_overlay_148w6_1",ci="_cnt_148w6_5",di="_afterOpen_148w6_15",fi="_btngrp_148w6_20";var et={overlay:li,cnt:ci,afterOpen:di,btngrp:fi};const{useRef:pi,useCallback:gi,useMemo:vi}=Pe;function mi({isOpen:y,onRequestClose:p,primaryButtonOnTap:d}){const v=pi(null),O=gi(()=>{v.current.focus()},[]),_=vi(()=>({base:Ae(yn.content,et.cnt),afterOpen:et.afterOpen,beforeClose:""}),[]);return we(fo,{isOpen:y,onRequestClose:p,onAfterOpen:O,className:_,overlayClassName:Ae(yn.overlay,et.overlay),children:[K("p",{children:"Are you sure you want to close all connections?"}),we("div",{className:et.btngrp,children:[K(wn,{onClick:d,ref:v,children:"I'm sure"}),K("div",{style:{width:20}}),K(wn,{onClick:p,children:"No"})]})]})}const{useEffect:hi,useState:je,useRef:yi,useCallback:Le}=Pe,Cn=30;function wi(y){const p={};for(let d=0;d[d.host,d.sourceIP,d.sourcePort,d.destinationIP,d.chains,d.rule,d.type,d.network].some(v=>bi(v,p))):y}function Ri(y,p,d){const{id:v,metadata:O,upload:_,download:l,start:Z,chains:se,rule:u,rulePayload:J}=y,{host:te,destinationPort:le,destinationIP:de,network:D,type:X,sourceIP:ce,sourcePort:Y}=O;let ne=te;ne===""&&(ne=de);const m=p[v];return Ne(He({id:v,upload:_,download:l,start:d-new Date(Z).valueOf(),chains:se.reverse().join(" / "),rule:J?`${u}(${J})`:u},O),{host:`${ne}:${le}`,type:`${X}(${D})`,source:`${ce}:${Y}`,downloadSpeedCurr:l-(m?m.download:0),uploadSpeedCurr:_-(m?m.upload:0)})}function Pn(y){return y.length>0?K(si,{data:y}):K("div",{className:De.placeHolder,children:K(wo,{width:200,height:200,c1:"var(--color-text)"})})}function xn({qty:y}){return y<100?""+y:"99+"}function Ci({apiConfig:y}){const[p,d]=Co(),[v,O]=je([]),[_,l]=je([]),[Z,se]=je(""),u=Sn(v,Z),J=Sn(_,Z),[te,le]=je(!1),de=Le(()=>le(!0),[]),D=Le(()=>le(!1),[]),[X,ce]=je(!1),Y=Le(()=>{ce(U=>!U)},[]),ne=Le(()=>{go(y),D()},[y,D]),m=yi(v),N=Le(({connections:U})=>{const ge=wi(m.current),ve=Date.now(),me=U.map(he=>Ri(he,ge,ve)),Re=[];for(const he of m.current)me.findIndex(ke=>ke.id===he.id)<0&&Re.push(he);l(he=>[...Re,...he].slice(0,101)),me&&(me.length!==0||m.current.length!==0)&&!X?(m.current=me,O(me)):m.current=me},[O,X]);hi(()=>vo(y,N),[y,N]);const{t:L}=mo();return we("div",{children:[K(ho,{title:L("Connections")}),we(ot,{children:[we("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"space-between"},children:[we(it,{children:[we(Ve,{children:[K("span",{children:L("Active")}),K("span",{className:De.connQty,children:K(xn,{qty:u.length})})]}),we(Ve,{children:[K("span",{children:L("Closed")}),K("span",{className:De.connQty,children:K(xn,{qty:J.length})})]})]}),K("div",{className:De.inputWrapper,children:K("input",{type:"text",name:"filter",autoComplete:"off",className:De.input,placeholder:"Filter",onChange:U=>se(U.target.value)})})]}),K("div",{ref:p,style:{padding:30,paddingBottom:Cn,paddingTop:0},children:we("div",{style:{height:d-Cn,overflow:"auto"},children:[we($e,{children:[K(yo,{children:Pn(u)}),K(xo,{icon:X?K(Io,{size:16}):K(To,{size:16}),mainButtonStyles:X?{background:"#e74c3c"}:{},style:Bo,text:L(X?"Resume Refresh":"Pause Refresh"),onClick:Y,children:K(Eo,{text:"Close All Connections",onClick:de,children:K(bo,{size:10})})})]}),K($e,{children:Pn(J)})]})}),K(mi,{isOpen:te,primaryButtonOnTap:ne,onRequestClose:D})]})]})}const Si=y=>({apiConfig:Ro(y)});var Ai=po(Si)(Ci);export{Ai as default}; diff --git a/clash/clash/dashboard/yacd/assets/Connections.c7e8fa7e.css b/clash/clash/dashboard/yacd/assets/Connections.c7e8fa7e.css deleted file mode 100644 index bd31787..0000000 --- a/clash/clash/dashboard/yacd/assets/Connections.c7e8fa7e.css +++ /dev/null @@ -1 +0,0 @@ -.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{margin:0 0 10px;padding:0 30px}.react-tabs__tab{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:5px;bottom:-1px;position:relative;list-style:none;padding:6px 10px;cursor:pointer;font-size:1.2em;opacity:.5}.react-tabs__tab--selected{opacity:1}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{border-color:#0188fe;outline:none}.react-tabs__tab:focus:after{content:"";position:absolute}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}._placeHolder_12xws_1{height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-background);opacity:.1}._connQty_12xws_10{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}._inputWrapper_12xws_22{margin:0 30px;width:100%;max-width:350px;justify-self:flex-end}._input_12xws_22{-webkit-appearance:none;background-color:var(--color-input-bg);background-image:none;border-radius:18px;border:1px solid var(--color-input-border);box-sizing:border-box;color:#c1c1c1;display:inline-block;font-size:inherit;height:36px;outline:none;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}._tr_198pq_1{display:grid;grid-template-columns:repeat(11,minmax(-webkit-max-content,auto));grid-template-columns:repeat(11,minmax(max-content,auto))}._th_198pq_7{padding:8px 10px;height:50px;background:var(--color-background);position:-webkit-sticky;position:sticky;top:0;font-size:.8em;text-align:center;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between}._th_198pq_7:hover{color:var(--color-text-highlight)}._td_198pq_24{padding:8px 13px;font-size:.9em;font-family:var(--font-normal)}._td_198pq_24._odd_198pq_30{background:var(--color-row-odd)}._du_198pq_35{text-align:right}._sortIconContainer_198pq_39{display:inline-flex;margin-left:10px;width:16px;height:16px}._rotate180_198pq_46{-webkit-transform:rotate(180deg);transform:rotate(180deg)}._overlay_148w6_1{background-color:#0009}._cnt_148w6_5{background-color:var(--bg-modal);color:var(--color-text);max-width:300px;line-height:1.4;-webkit-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);opacity:.6;transition:all .3s ease}._afterOpen_148w6_15{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}._btngrp_148w6_20{display:flex;align-items:center;justify-content:center;margin-top:30px} diff --git a/clash/clash/dashboard/yacd/assets/Fab-a434d836.css b/clash/clash/dashboard/yacd/assets/Fab-a434d836.css new file mode 100644 index 0000000..05590d1 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Fab-a434d836.css @@ -0,0 +1 @@ +.rtf{box-sizing:border-box;margin:25px;position:fixed;white-space:nowrap;z-index:9998;padding-left:0;list-style:none}.rtf.open .rtf--mb{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span{transition:ease-in-out opacity .2s;opacity:.9}.rtf.open .rtf--ab__c>span.always-show{transition:ease-in-out opacity .2s;opacity:.9}.rtf.open .rtf--ab__c:nth-child(1){transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:nth-child(1).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{transition:ease-in-out opacity .2s;opacity:.9}.rtf--mb__c>span.always-show{transition:ease-in-out opacity .2s;opacity:.9}.rtf--mb__c>span{opacity:0;transition:ease-in-out opacity .2s;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 #00000024,0 4px 8px #00000047}.rtf--mb__c>span.right{right:100%}.rtf--mb{width:48px;height:48px;background:var(--btn-bg);z-index:9999;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px #00000024,0 4px 8px #00000047;cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--mb>*{transition:ease-in-out transform .2s}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0;transition:ease-in-out transform .2s}.rtf--ab__c>span{opacity:0;transition:ease-in-out opacity .2s;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 #00000024,0 4px 8px #00000047}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:nth-child(1){transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:nth-child(1).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 #00000024,0 4px 8px #00000047;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)}._spining_4i8sg_1{position:relative;border-radius:50%;background:linear-gradient(60deg,#e66465,#9198e5);width:48px;height:48px;display:flex;justify-content:center;align-items:center}._spining_4i8sg_1:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:_spining_keyframes_4i8sg_1 1s linear infinite}@keyframes _spining_keyframes_4i8sg_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/clash/clash/dashboard/yacd/assets/Fab-d86fe1ea.js b/clash/clash/dashboard/yacd/assets/Fab-d86fe1ea.js new file mode 100644 index 0000000..5df7202 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Fab-d86fe1ea.js @@ -0,0 +1 @@ +import{j as t,k as C,r as l}from"./index-3b7e2f10.js";const E="_spining_4i8sg_1",I="_spining_keyframes_4i8sg_1",y={spining:E,spining_keyframes:I},{useState:F}=C;function A({children:n}){return t.jsx("span",{className:y.spining,children:n})}const B={right:10,bottom:10},R=({children:n,...e})=>t.jsx("button",{type:"button",...e,className:"rtf--ab",children:n}),M=({children:n,...e})=>t.jsx("button",{type:"button",className:"rtf--mb",...e,children:n}),v={bottom:24,right:24},H=({event:n="hover",style:e=v,alwaysShowTitle:o=!1,children:b,icon:f,mainButtonStyles:g,onClick:p,text:u,...x})=>{const[a,r]=F(!1),c=o||!a,d=()=>r(!0),m=()=>r(!1),h=()=>n==="hover"&&d(),_=()=>n==="hover"&&m(),j=s=>p?p(s):(s.persist(),n==="click"?a?m():d():null),k=(s,i)=>{s.persist(),r(!1),setTimeout(()=>{i(s)},1)},N=()=>l.Children.map(b,(s,i)=>l.isValidElement(s)?t.jsxs("li",{className:`rtf--ab__c ${"top"in e?"top":""}`,children:[l.cloneElement(s,{"data-testid":`action-button-${i}`,"aria-label":s.props.text||`Menu button ${i+1}`,"aria-hidden":c,tabIndex:a?0:-1,...s.props,onClick:$=>{s.props.onClick&&k($,s.props.onClick)}}),s.props.text&&t.jsx("span",{className:`${"right"in e?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:s.props.text})]}):null);return t.jsx("ul",{onMouseEnter:h,onMouseLeave:_,className:`rtf ${a?"open":"closed"}`,"data-testid":"fab",style:e,...x,children:t.jsxs("li",{className:"rtf--mb__c",children:[t.jsx(M,{onClick:j,style:g,"data-testid":"main-button",role:"button","aria-label":"Floating menu",tabIndex:0,children:f}),u&&t.jsx("span",{className:`${"right"in e?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:u}),t.jsx("ul",{children:N()})]})})};export{R as A,H as F,A as I,B as p}; diff --git a/clash/clash/dashboard/yacd/assets/Fab.33a60e0e.css b/clash/clash/dashboard/yacd/assets/Fab.33a60e0e.css deleted file mode 100644 index 673a61d..0000000 --- a/clash/clash/dashboard/yacd/assets/Fab.33a60e0e.css +++ /dev/null @@ -1 +0,0 @@ -.rtf{box-sizing:border-box;margin:25px;position:fixed;white-space:nowrap;z-index:9998;padding-left:0;list-style:none}.rtf.open .rtf--mb{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span{transition:ease-in-out opacity .2s;opacity:.9}.rtf.open .rtf--ab__c>span.always-show{transition:ease-in-out opacity .2s;opacity:.9}.rtf.open .rtf--ab__c:nth-child(1){-webkit-transform:translateY(-60px) scale(1);transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:nth-child(1).top{-webkit-transform:translateY(60px) scale(1);transform:translateY(60px) scale(1)}.rtf.open .rtf--ab__c:nth-child(2){-webkit-transform:translateY(-120px) scale(1);transform:translateY(-120px) scale(1);transition-delay:.09s}.rtf.open .rtf--ab__c:nth-child(2).top{-webkit-transform:translateY(120px) scale(1);transform:translateY(120px) scale(1)}.rtf.open .rtf--ab__c:nth-child(3){-webkit-transform:translateY(-180px) scale(1);transform:translateY(-180px) scale(1);transition-delay:.12s}.rtf.open .rtf--ab__c:nth-child(3).top{-webkit-transform:translateY(180px) scale(1);transform:translateY(180px) scale(1)}.rtf.open .rtf--ab__c:nth-child(4){-webkit-transform:translateY(-240px) scale(1);transform:translateY(-240px) scale(1);transition-delay:.15s}.rtf.open .rtf--ab__c:nth-child(4).top{-webkit-transform:translateY(240px) scale(1);transform:translateY(240px) scale(1)}.rtf.open .rtf--ab__c:nth-child(5){-webkit-transform:translateY(-300px) scale(1);transform:translateY(-300px) scale(1);transition-delay:.18s}.rtf.open .rtf--ab__c:nth-child(5).top{-webkit-transform:translateY(300px) scale(1);transform:translateY(300px) scale(1)}.rtf.open .rtf--ab__c:nth-child(6){-webkit-transform:translateY(-360px) scale(1);transform:translateY(-360px) scale(1);transition-delay:.21s}.rtf.open .rtf--ab__c:nth-child(6).top{-webkit-transform:translateY(360px) scale(1);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{transition:ease-in-out opacity .2s;opacity:.9}.rtf--mb__c>span.always-show{transition:ease-in-out opacity .2s;opacity:.9}.rtf--mb__c>span{opacity:0;transition:ease-in-out opacity .2s;position:absolute;top:50%;-webkit-transform:translateY(-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 #00000024,0 4px 8px #00000047}.rtf--mb__c>span.right{right:100%}.rtf--mb{width:48px;height:48px;background:var(--btn-bg);z-index:9999;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px #00000024,0 4px 8px #00000047;cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--mb>*{transition:ease-in-out transform .2s}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0;transition:ease-in-out transform .2s}.rtf--ab__c>span{opacity:0;transition:ease-in-out opacity .2s;position:absolute;top:50%;-webkit-transform:translateY(-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 #00000024,0 4px 8px #00000047}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:nth-child(1){-webkit-transform:translateY(-60px) scale(0);transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:nth-child(1).top{-webkit-transform:translateY(60px) scale(0);transform:translateY(60px) scale(0)}.rtf--ab__c:nth-child(2){-webkit-transform:translateY(-120px) scale(0);transform:translateY(-120px) scale(0);transition-delay:.18s}.rtf--ab__c:nth-child(2).top{-webkit-transform:translateY(120px) scale(0);transform:translateY(120px) scale(0)}.rtf--ab__c:nth-child(3){-webkit-transform:translateY(-180px) scale(0);transform:translateY(-180px) scale(0);transition-delay:.15s}.rtf--ab__c:nth-child(3).top{-webkit-transform:translateY(180px) scale(0);transform:translateY(180px) scale(0)}.rtf--ab__c:nth-child(4){-webkit-transform:translateY(-240px) scale(0);transform:translateY(-240px) scale(0);transition-delay:.12s}.rtf--ab__c:nth-child(4).top{-webkit-transform:translateY(240px) scale(0);transform:translateY(240px) scale(0)}.rtf--ab__c:nth-child(5){-webkit-transform:translateY(-300px) scale(0);transform:translateY(-300px) scale(0);transition-delay:.09s}.rtf--ab__c:nth-child(5).top{-webkit-transform:translateY(300px) scale(0);transform:translateY(300px) scale(0)}.rtf--ab__c:nth-child(6){-webkit-transform:translateY(-360px) scale(0);transform:translateY(-360px) scale(0);transition-delay:.03s}.rtf--ab__c:nth-child(6).top{-webkit-transform:translateY(360px) scale(0);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 #00000024,0 4px 8px #00000047;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)}._spining_4i8sg_1{position:relative;border-radius:50%;background:linear-gradient(60deg,#e66465,#9198e5);width:48px;height:48px;display:flex;justify-content:center;align-items:center}._spining_4i8sg_1:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;-webkit-animation:_spining_keyframes_4i8sg_1 1s linear infinite;animation:_spining_keyframes_4i8sg_1 1s linear infinite}@-webkit-keyframes _spining_keyframes_4i8sg_1{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes _spining_keyframes_4i8sg_1{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}} diff --git a/clash/clash/dashboard/yacd/assets/Fab.653b8c23.js b/clash/clash/dashboard/yacd/assets/Fab.653b8c23.js deleted file mode 100644 index 940d215..0000000 --- a/clash/clash/dashboard/yacd/assets/Fab.653b8c23.js +++ /dev/null @@ -1 +0,0 @@ -var B=Object.defineProperty,H=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var k=(t,s,n)=>s in t?B(t,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[s]=n,o=(t,s)=>{for(var n in s||(s={}))N.call(s,n)&&k(t,n,s[n]);if(p)for(var n of p(s))$.call(s,n)&&k(t,n,s[n]);return t},r=(t,s)=>H(t,L(s));var d=(t,s)=>{var n={};for(var e in t)N.call(t,e)&&s.indexOf(e)<0&&(n[e]=t[e]);if(t!=null&&p)for(var e of p(t))s.indexOf(e)<0&&$.call(t,e)&&(n[e]=t[e]);return n};import{j as i,b as v,r as b,h as R}from"./index.25cbb458.js";const V="_spining_4i8sg_1",q="_spining_keyframes_4i8sg_1";var w={spining:V,spining_keyframes:q};const{useState:z}=R;function Q({children:t}){return i("span",{className:w.spining,children:t})}const S={right:10,bottom:10},U=n=>{var e=n,{children:t}=e,s=d(e,["children"]);return i("button",r(o({type:"button"},s),{className:"rtf--ab",children:t}))},D=n=>{var e=n,{children:t}=e,s=d(e,["children"]);return i("button",r(o({type:"button",className:"rtf--mb"},s),{children:t}))},G={bottom:24,right:24},W=J=>{var h=J,{event:t="hover",style:s=G,alwaysShowTitle:n=!1,children:e,icon:C,mainButtonStyles:I,onClick:f,text:g}=h,y=d(h,["event","style","alwaysShowTitle","children","icon","mainButtonStyles","onClick","text"]);const[l,u]=z(!1),m=n||!l,_=()=>u(!0),x=()=>u(!1),F=()=>t==="hover"&&_(),M=()=>t==="hover"&&x(),j=a=>f?f(a):(a.persist(),t==="click"?l?x():_():null),E=(a,c)=>{a.persist(),u(!1),setTimeout(()=>{c(a)},1)},O=()=>b.exports.Children.map(e,(a,c)=>b.exports.isValidElement(a)?v("li",{className:`rtf--ab__c ${"top"in s?"top":""}`,children:[b.exports.cloneElement(a,r(o({"data-testid":`action-button-${c}`,"aria-label":a.props.text||`Menu button ${c+1}`,"aria-hidden":m,tabIndex:l?0:-1},a.props),{onClick:A=>{a.props.onClick&&E(A,a.props.onClick)}})),a.props.text&&i("span",{className:`${"right"in s?"right":""} ${n?"always-show":""}`,"aria-hidden":m,children:a.props.text})]}):null);return i("ul",r(o({onMouseEnter:F,onMouseLeave:M,className:`rtf ${l?"open":"closed"}`,"data-testid":"fab",style:s},y),{children:v("li",{className:"rtf--mb__c",children:[i(D,{onClick:j,style:I,"data-testid":"main-button",role:"button","aria-label":"Floating menu",tabIndex:0,children:C}),g&&i("span",{className:`${"right"in s?"right":""} ${n?"always-show":""}`,"aria-hidden":m,children:g}),i("ul",{children:O()})]})}))};export{U as A,W as F,Q as I,S as p}; diff --git a/clash/clash/dashboard/yacd/assets/Input-157c292d.js b/clash/clash/dashboard/yacd/assets/Input-157c292d.js new file mode 100644 index 0000000..00331d4 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Input-157c292d.js @@ -0,0 +1 @@ +import{j as s,k as i}from"./index-3b7e2f10.js";const p="_input_1hkb4_1",u={input:p},{useState:f,useRef:l,useEffect:m,useCallback:x}=i;function I(t){return s.jsx("input",{className:u.input,...t})}function k({value:t,...r}){const[a,n]=f(t),e=l(t);m(()=>{e.current!==t&&n(t),e.current=t},[t]);const c=x(o=>n(o.target.value),[n]);return s.jsx("input",{className:u.input,value:a,onChange:c,...r})}export{I,k as S}; diff --git a/clash/clash/dashboard/yacd/assets/Input-505b5fdb.css b/clash/clash/dashboard/yacd/assets/Input-505b5fdb.css new file mode 100644 index 0000000..8d13919 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Input-505b5fdb.css @@ -0,0 +1 @@ +._input_1hkb4_1{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--color-input-bg);background-image:none;border-radius:4px;border:1px solid var(--color-input-border);box-sizing:border-box;color:inherit;display:inline-block;font-size:inherit;height:40px;outline:none;padding:0 8px;width:100%}._input_1hkb4_1:focus{box-shadow:#4299e199 0 0 0 3px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0} diff --git a/clash/clash/dashboard/yacd/assets/Logs-5e5ee0ad.css b/clash/clash/dashboard/yacd/assets/Logs-5e5ee0ad.css new file mode 100644 index 0000000..5fb020e --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Logs-5e5ee0ad.css @@ -0,0 +1 @@ +._RuleSearch_bd30s_1{padding:0 40px 5px}._RuleSearchContainer_bd30s_5{position:relative;height:40px}._inputWrapper_bd30s_10{position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%}._input_bd30s_10{-moz-appearance:none;appearance:none;-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%}._iconWrapper_bd30s_36{position:absolute;top:50%;transform:translateY(-50%);left:10px;display:flex;justify-content:center;align-items:center}._logMeta_7a1x3_1{display:flex;align-items:center;flex-wrap:wrap;font-size:.9em}._logType_7a1x3_8{color:#eee;flex-shrink:0;text-align:center;width:66px;border-radius:100px;padding:3px 5px;margin:0 8px}._logTime_7a1x3_18{flex-shrink:0;color:#999;font-size:14px}._logText_7a1x3_24{flex-shrink:0;display:flex;font-family:Roboto Mono,Menlo,monospace;align-items:center;padding:8px 0;width:100%;white-space:pre;overflow:auto}._logsWrapper_7a1x3_37{margin:0;padding:0;color:var(--color-text)}._logsWrapper_7a1x3_37 .log{padding:10px 40px;background:var(--color-background)}._logsWrapper_7a1x3_37 .log.even{background:var(--color-background)}._logPlaceholder_7a1x3_51{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2d2d30}._logPlaceholder_7a1x3_51 div:nth-child(2){color:var(--color-text-secondary);font-size:1.4em;opacity:.6}._logPlaceholderIcon_7a1x3_64{opacity:.3}._search_7a1x3_68{max-width:1000px} diff --git a/clash/clash/dashboard/yacd/assets/Logs-b414e967.js b/clash/clash/dashboard/yacd/assets/Logs-b414e967.js new file mode 100644 index 0000000..c6cf2e0 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Logs-b414e967.js @@ -0,0 +1 @@ +import{r as u,R as m,P as d,j as t,w as y,x as R,y as T,l as C,n as w,u as L,z as N,d as W,C as O,S as k,A as z,k as I,c as E,D as M}from"./index-3b7e2f10.js";import{a as $,F}from"./index.esm-18eb5056.js";import{r as A,s as D,f as B}from"./logs-2efc7736.js";import{d as H}from"./debounce-c1ba2006.js";import{u as q}from"./useRemainingViewPortHeight-22ab7283.js";import{F as K,p as V}from"./Fab-d86fe1ea.js";import{P as Y,a as G}from"./play-c4e5016b.js";function f(){return f=Object.assign||function(e){for(var a=1;a=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}function Q(e,a){if(e==null)return{};var r={},s=Object.keys(e),o,n;for(n=0;n=0)&&(r[o]=e[o]);return r}var _=u.forwardRef(function(e,a){var r=e.color,s=r===void 0?"currentColor":r,o=e.size,n=o===void 0?24:o,c=J(e,["color","size"]);return m.createElement("svg",f({ref:a,xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:s,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},c),m.createElement("circle",{cx:"11",cy:"11",r:"8"}),m.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}))});_.propTypes={color:d.string,size:d.oneOfType([d.string,d.number])};_.displayName="Search";const U=_,X="_RuleSearch_bd30s_1",Z="_RuleSearchContainer_bd30s_5",ee="_inputWrapper_bd30s_10",te="_input_bd30s_10",se="_iconWrapper_bd30s_36",g={RuleSearch:X,RuleSearchContainer:Z,inputWrapper:ee,input:te,iconWrapper:se};function oe({dispatch:e,searchText:a,updateSearchText:r}){const[s,o]=u.useState(a),n=u.useCallback(l=>{e(r(l))},[e,r]),c=u.useMemo(()=>H(n,300),[n]),h=l=>{o(l.target.value),c(l.target.value)};return t.jsx("div",{className:g.RuleSearch,children:t.jsxs("div",{className:g.RuleSearchContainer,children:[t.jsx("div",{className:g.inputWrapper,children:t.jsx("input",{type:"text",value:s,onChange:h,className:g.input})}),t.jsx("div",{className:g.iconWrapper,children:t.jsx(U,{size:20})})]})})}const ae=e=>({searchText:R(e),updateSearchText:T}),re=y(ae)(oe),ne="_logMeta_7a1x3_1",ce="_logType_7a1x3_8",ie="_logTime_7a1x3_18",le="_logText_7a1x3_24",ge="_logsWrapper_7a1x3_37",pe="_logPlaceholder_7a1x3_51",de="_logPlaceholderIcon_7a1x3_64",ue="_search_7a1x3_68",i={logMeta:ne,logType:ce,logTime:ie,logText:le,logsWrapper:ge,logPlaceholder:pe,logPlaceholderIcon:de,search:ue},{useCallback:j,memo:he,useEffect:me}=I,x=30,xe={debug:"#28792c",info:"var(--bg-log-info-tag)",warning:"#b99105",error:"#c11c1c"};function fe({time:e,even:a,payload:r,type:s}){const o=E({even:a},"log");return t.jsx("div",{className:o,children:t.jsxs("div",{className:i.logMeta,children:[t.jsx("div",{className:i.logTime,children:e}),t.jsx("div",{className:i.logType,style:{backgroundColor:xe[s]},children:s}),t.jsx("div",{className:i.logText,children:r})]})})}function _e(e,a){return a[e].id}const S=he(({index:e,style:a,data:r})=>{const s=r[e];return t.jsx("div",{style:a,children:t.jsx(fe,{...s})})},$);S.displayName="MemoRow";function ve({dispatch:e,logs:a}){const{data:r}=C(),s=r["log-level"],[o,n]=w(M),c=L(),h=j(()=>{o?A({...c,logLevel:s}):D(),n(!o)},[c,s,o,n]),l=j(P=>e(N(P)),[e]);me(()=>{B({...c,logLevel:s},l)},[c,s,l]);const[b,v]=q(),{t:p}=W();return t.jsxs("div",{children:[t.jsx(O,{title:p("Logs")}),t.jsx("div",{className:i.search,children:t.jsx(re,{})}),t.jsx("div",{ref:b,style:{paddingBottom:x},children:a.length===0?t.jsxs("div",{className:i.logPlaceholder,style:{height:v-x},children:[t.jsx("div",{className:i.logPlaceholderIcon,children:t.jsx(k,{width:200,height:200})}),t.jsx("div",{children:p("no_logs")})]}):t.jsxs("div",{className:i.logsWrapper,children:[t.jsx(F,{height:v-x,width:"100%",itemCount:a.length,itemSize:80,itemData:a,itemKey:_e,children:S}),t.jsx(K,{icon:o?t.jsx(Y,{size:16}):t.jsx(G,{size:16}),mainButtonStyles:o?{background:"#e74c3c"}:{},style:V,text:p(o?"Resume Refresh":"Pause Refresh"),onClick:h})]})})]})}const je=e=>({logs:z(e)}),we=y(je)(ve);export{we as default}; diff --git a/clash/clash/dashboard/yacd/assets/Logs.029b1e0c.css b/clash/clash/dashboard/yacd/assets/Logs.029b1e0c.css deleted file mode 100644 index 1617041..0000000 --- a/clash/clash/dashboard/yacd/assets/Logs.029b1e0c.css +++ /dev/null @@ -1 +0,0 @@ -._RuleSearch_1gcst_1{padding:0 40px 5px}._RuleSearchContainer_1gcst_5{position:relative;height:40px}._inputWrapper_1gcst_10{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:0;width:100%}._input_1gcst_10{-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%}._iconWrapper_1gcst_35{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:10px}._logMeta_1dg5t_1{display:flex;align-items:center;flex-wrap:wrap;font-size:.9em}._logType_1dg5t_8{color:#eee;flex-shrink:0;text-align:center;width:66px;border-radius:100px;padding:3px 5px;margin:0 8px}._logTime_1dg5t_18{flex-shrink:0;color:#999;font-size:14px}._logText_1dg5t_24{flex-shrink:0;display:flex;font-family:Roboto Mono,Menlo,monospace;align-items:center;padding:8px 0;width:100%;white-space:pre;overflow:auto}._logsWrapper_1dg5t_37{margin:0;padding:0;color:var(--color-text)}._logsWrapper_1dg5t_37 .log{padding:10px 40px;background:var(--color-background)}._logsWrapper_1dg5t_37 .log.even{background:var(--color-background)}._logPlaceholder_1dg5t_51{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2d2d30}._logPlaceholder_1dg5t_51 div:nth-child(2){color:var(--color-text-secondary);font-size:1.4em;opacity:.6}._logPlaceholderIcon_1dg5t_64{opacity:.3} diff --git a/clash/clash/dashboard/yacd/assets/Logs.81b3f736.js b/clash/clash/dashboard/yacd/assets/Logs.81b3f736.js deleted file mode 100644 index c57bbbf..0000000 --- a/clash/clash/dashboard/yacd/assets/Logs.81b3f736.js +++ /dev/null @@ -1 +0,0 @@ -var R=Object.defineProperty,w=Object.defineProperties;var C=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var T=(e,t,o)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,p=(e,t)=>{for(var o in t||(t={}))N.call(t,o)&&T(e,o,t[o]);if(S)for(var o of S(t))W.call(t,o)&&T(e,o,t[o]);return e},m=(e,t)=>w(e,C(t));import{r as _,b as l,j as a,P as f,d as P,G as k,H as j,w as z,J as I,u as O,C as F,S as M,K as $,L as H,g as A,N as B,h as D,c as E}from"./index.25cbb458.js";import{a as K,F as q}from"./index.esm.5decbdaf.js";import{r as G,s as J,f as V}from"./logs.b2a9e8c9.js";import{d as Y}from"./debounce.d080d5e1.js";import{u as Q}from"./useRemainingViewPortHeight.037d3897.js";import{F as U,p as X}from"./Fab.653b8c23.js";import{P as Z,a as ee}from"./play.4df3e162.js";function te(e,t){if(e==null)return{};var o=oe(e,t),n,r;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&(!Object.prototype.propertyIsEnumerable.call(e,n)||(o[n]=e[n]))}return o}function oe(e,t){if(e==null)return{};var o={},n=Object.keys(e),r,s;for(s=0;s=0)&&(o[r]=e[r]);return o}var x=_.exports.forwardRef(function(e,t){var o=e.color,n=o===void 0?"currentColor":o,r=e.size,s=r===void 0?24:r,g=te(e,["color","size"]);return l("svg",m(p({ref:t,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},g),{children:[a("circle",{cx:"11",cy:"11",r:"8"}),a("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}))});x.propTypes={color:f.string,size:f.oneOfType([f.string,f.number])};x.displayName="Search";var re=x;const ae="_RuleSearch_1gcst_1",ne="_RuleSearchContainer_1gcst_5",se="_inputWrapper_1gcst_10",ce="_input_1gcst_10",ie="_iconWrapper_1gcst_35";var d={RuleSearch:ae,RuleSearchContainer:ne,inputWrapper:se,input:ce,iconWrapper:ie};function le({dispatch:e,searchText:t,updateSearchText:o}){const[n,r]=_.exports.useState(t),s=_.exports.useCallback(i=>{e(o(i))},[e,o]),g=_.exports.useMemo(()=>Y(s,300),[s]),h=i=>{r(i.target.value),g(i.target.value)};return a("div",{className:d.RuleSearch,children:l("div",{className:d.RuleSearchContainer,children:[a("div",{className:d.inputWrapper,children:a("input",{type:"text",value:n,onChange:h,className:d.input})}),a("div",{className:d.iconWrapper,children:a(re,{size:20})})]})})}const ge=e=>({searchText:k(e),updateSearchText:j});var pe=P(ge)(le);const de="_logMeta_1dg5t_1",he="_logType_1dg5t_8",ue="_logTime_1dg5t_18",me="_logText_1dg5t_24",fe="_logsWrapper_1dg5t_37",_e="_logPlaceholder_1dg5t_51",ve="_logPlaceholderIcon_1dg5t_64";var c={logMeta:de,logType:he,logTime:ue,logText:me,logsWrapper:fe,logPlaceholder:_e,logPlaceholderIcon:ve};const{useCallback:b,memo:xe,useEffect:ye}=D,v=30,Se={debug:"#28792c",info:"var(--bg-log-info-tag)",warning:"#b99105",error:"#c11c1c"};function Te({time:e,even:t,payload:o,type:n}){const r=E({even:t},"log");return a("div",{className:r,children:l("div",{className:c.logMeta,children:[a("div",{className:c.logTime,children:e}),a("div",{className:c.logType,style:{backgroundColor:Se[n]},children:n}),a("div",{className:c.logText,children:o})]})})}function be(e,t){return t[e].id}const Pe=xe(({index:e,style:t,data:o})=>{const n=o[e];return a("div",{style:t,children:a(Te,p({},n))})},K);function Le({dispatch:e,logLevel:t,apiConfig:o,logs:n,logStreamingPaused:r}){const s=z(),g=b(()=>{r?G(m(p({},o),{logLevel:t})):J(),s.app.updateAppConfig("logStreamingPaused",!r)},[o,t,r,s.app]),h=b(L=>e(I(L)),[e]);ye(()=>{V(m(p({},o),{logLevel:t}),h)},[o,t,h]);const[i,y]=Q(),{t:u}=O();return l("div",{children:[a(F,{title:u("Logs")}),a(pe,{}),a("div",{ref:i,style:{paddingBottom:v},children:n.length===0?l("div",{className:c.logPlaceholder,style:{height:y-v},children:[a("div",{className:c.logPlaceholderIcon,children:a(M,{width:200,height:200})}),a("div",{children:u("no_logs")})]}):l("div",{className:c.logsWrapper,children:[a(q,{height:y-v,width:"100%",itemCount:n.length,itemSize:80,itemData:n,itemKey:be,children:Pe}),a(U,{icon:r?a(Z,{size:16}):a(ee,{size:16}),mainButtonStyles:r?{background:"#e74c3c"}:{},style:X,text:u(r?"Resume Refresh":"Pause Refresh"),onClick:g})]})})]})}const Re=e=>({logs:$(e),logLevel:H(e),apiConfig:A(e),logStreamingPaused:B(e)});var Oe=P(Re)(Le);export{Oe as default}; diff --git a/clash/clash/dashboard/yacd/assets/Modal-86bce5c3.css b/clash/clash/dashboard/yacd/assets/Modal-86bce5c3.css new file mode 100644 index 0000000..241cbbb --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Modal-86bce5c3.css @@ -0,0 +1 @@ +._overlay_1i06e_1{position:fixed;top:0;right:0;left:0;bottom:0;background:#444}._content_1i06e_10{outline:none;position:relative;color:var(--color-text);background:#444;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px;border-radius:10px} diff --git a/clash/clash/dashboard/yacd/assets/Modal.module-651c4560.js b/clash/clash/dashboard/yacd/assets/Modal.module-651c4560.js new file mode 100644 index 0000000..f12d851 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Modal.module-651c4560.js @@ -0,0 +1 @@ +import{r as f,R as c,P as a}from"./index-3b7e2f10.js";function s(){return s=Object.assign||function(e){for(var o=1;o=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function u(e,o){if(e==null)return{};var r={},t=Object.keys(e),n,i;for(i=0;i=0)&&(r[n]=e[n]);return r}var l=f.forwardRef(function(e,o){var r=e.color,t=r===void 0?"currentColor":r,n=e.size,i=n===void 0?24:n,p=v(e,["color","size"]);return c.createElement("svg",s({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},p),c.createElement("polyline",{points:"6 9 12 15 18 9"}))});l.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};l.displayName="ChevronDown";const m=l,y="_overlay_1i06e_1",g="_content_1i06e_10",w={overlay:y,content:g};export{m as C,w as m}; diff --git a/clash/clash/dashboard/yacd/assets/Proxies-08f5dc31.js b/clash/clash/dashboard/yacd/assets/Proxies-08f5dc31.js new file mode 100644 index 0000000..8bdd18c --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Proxies-08f5dc31.js @@ -0,0 +1 @@ +import{j as t,B as v,k as y,r as w,H as be,c as A,n as m,J as ee,N as te,w as O,K as Ce,T as ge,L as se,O as E,Q as ne,U as we,V as re,W as I,X as oe,Y as K,Z as V,_ as ae,$ as ke,a0 as Pe,d as z,q as Ne,a1 as Se,u as le,a2 as Ae,a3 as Oe,C as ce,a as Te,a4 as $e,a5 as Le,a6 as De,a7 as Fe}from"./index-3b7e2f10.js";import{C as Ie,m as G}from"./Modal.module-651c4560.js";import{Z as ie,a as Z}from"./ZapAnimated-e7ea61af.js";import{F as Be,p as Re,A as Me,I as Ue}from"./Fab-d86fe1ea.js";import{R as He,a as qe,T as Ee}from"./TextFilter-379059dd.js";import{f as Ke}from"./index-138a52ef.js";import{T as Y}from"./Toggle-7a52109a.js";import{S as Ve}from"./Select-a2c574c2.js";import"./debounce-c1ba2006.js";const ze="_FlexCenter_1380a_1",Ge={FlexCenter:ze};function Ze({children:e}){return t.jsx("div",{className:Ge.FlexCenter,children:e})}const{useRef:W,useEffect:Ye}=y;function We({onClickPrimaryButton:e,onClickSecondaryButton:s}){const n=W(null),r=W(null);Ye(()=>{n.current.focus()},[]);const o=a=>{a.code==="ArrowRight"?r.current.focus():a.code==="ArrowLeft"&&n.current.focus()};return t.jsxs("div",{onKeyDown:o,children:[t.jsx("h2",{children:"Close Connections?"}),t.jsx("p",{children:"Click [Yes] to close those connections that are still using the old selected proxy in this group"}),t.jsx("div",{style:{height:30}}),t.jsxs(Ze,{children:[t.jsx(v,{onClick:e,ref:n,children:"Yes"}),t.jsx("div",{style:{width:20}}),t.jsx(v,{onClick:s,ref:r,children:"No"})]})]})}const Xe="_header_1y9js_1",Je="_arrow_1y9js_8",Qe="_isOpen_1y9js_13",et="_btn_1y9js_20",tt="_qty_1y9js_25",P={header:Xe,arrow:Je,isOpen:Qe,btn:et,qty:tt};function ue({name:e,type:s,toggle:n,isOpen:r,qty:o}){const a=w.useCallback(l=>{l.preventDefault(),(l.key==="Enter"||l.key===" ")&&n()},[n]);return t.jsxs("div",{className:P.header,onClick:n,style:{cursor:"pointer"},tabIndex:0,onKeyDown:a,role:"button",children:[t.jsx("div",{children:t.jsx(be,{name:e,type:s})}),typeof o=="number"?t.jsx("span",{className:P.qty,children:o}):null,t.jsx(v,{kind:"minimal",onClick:n,className:P.btn,title:"Toggle collapsible section",children:t.jsx("span",{className:A(P.arrow,{[P.isOpen]:r}),children:t.jsx(Ie,{size:20})})})]})}const{useMemo:st}=y;function nt(e,s){return e.filter(n=>{const r=s[n];return r===void 0?!0:!("number"in r&&r.number===0)})}const L=(e,s)=>{if(e&&"number"in e&&e.number>0)return e.number;const n=s&&s.type;return n&&te.indexOf(n)>-1?-1:999999},rt={Natural:e=>e,LatencyAsc:(e,s,n)=>e.sort((r,o)=>{const a=L(s[r],n&&n[r]),l=L(s[o],n&&n[o]);return a-l}),LatencyDesc:(e,s,n)=>e.sort((r,o)=>{const a=L(s[r],n&&n[r]);return L(s[o],n&&n[o])-a}),NameAsc:e=>e.sort(),NameDesc:e=>e.sort((s,n)=>s>n?-1:sr.trim()).filter(r=>!!r);return n.length===0?e:e.filter(r=>{let o=0;for(;o-1)return!0}return!1})}function at(e,s,n,r,o,a){let l=[...e];return n&&(l=nt(e,s)),typeof r=="string"&&r!==""&&(l=ot(l,r)),rt[o](l,s,a)}function de(e,s,n,r,o){const[a]=m(ee);return st(()=>at(e,s,n,a,r,o),[e,s,n,a,r,o])}const lt="_header_5pmv2_1",ct="_groupHead_5pmv2_5",it="_action_5pmv2_11",M={header:lt,groupHead:ct,action:it},ut="_proxy_5mgcm_1",dt="_now_5mgcm_25",xt="_error_5mgcm_29",pt="_selectable_5mgcm_32",mt="_proxyType_5mgcm_40",ht="_row_5mgcm_51",yt="_proxyName_5mgcm_57",ft="_proxySmall_5mgcm_66",f={proxy:ut,now:dt,error:xt,selectable:pt,proxyType:mt,row:ht,proxyName:yt,proxySmall:ft},_t="_proxyLatency_pw0sa_1",jt={proxyLatency:_t};function vt({latency:e,color:s}){let n=" ";if(e)switch(e.kind){case"Error":case"Testing":n="- ms";break;case"Result":n=(e.number!==0?e.number:"-")+" ms";break}return t.jsx("span",{className:jt.proxyLatency,style:{color:s},children:n})}const{useMemo:S}=y,g={good:"#67c23a",normal:"#d4b75c",bad:"#e67f3c",na:"#909399"};function xe(e){if(!e||e.kind!=="Result")return g.na;const s=e.number;return s===0?g.na:s<200?g.good:s<400?g.normal:typeof s=="number"?g.bad:g.na}function bt(e,s){return te.indexOf(s)>-1?{border:"1px dotted #777"}:{background:xe(e)}}function Ct({now:e,name:s,proxy:n,latency:r,isSelectable:o,onClick:a}){const l=S(()=>bt(r,n.type),[r,n]),c=S(()=>{let d=s;return r&&r.kind==="Result"&&typeof r.number=="number"&&(d+=" "+r.number+" ms"),d},[s,r]),i=w.useCallback(()=>{o&&a&&a(s)},[s,a,o]),u=S(()=>A(f.proxySmall,{[f.now]:e,[f.selectable]:o}),[o,e]),p=w.useCallback(d=>{d.key==="Enter"&&i()},[i]);return t.jsx("div",{title:c,className:u,style:l,onClick:i,onKeyDown:p,role:o?"menuitem":""})}function gt(e){return e==="Shadowsocks"?"SS":e}const wt=e=>({left:e.left+window.scrollX-5,top:e.top+window.scrollY-38});function kt({children:e,label:s,"aria-label":n}){const[r,o]=Ce();return t.jsxs(t.Fragment,{children:[w.cloneElement(e,r),t.jsx(ge,{...o,label:s,"aria-label":n,position:wt})]})}function Pt({now:e,name:s,proxy:n,latency:r,isSelectable:o,onClick:a}){const l=S(()=>xe(r),[r]),c=w.useCallback(()=>{o&&a&&a(s)},[s,a,o]),i=w.useCallback(p=>{p.key==="Enter"&&c()},[c]),u=S(()=>A(f.proxy,{[f.now]:e,[f.selectable]:o}),[o,e]);return t.jsxs("div",{tabIndex:0,className:u,onClick:c,onKeyDown:i,role:o?"menuitem":"",children:[t.jsx("div",{className:f.proxyName,children:t.jsx(kt,{label:s,"aria-label":"proxy name: "+s,children:t.jsx("span",{children:s})})}),t.jsxs("div",{className:f.row,children:[t.jsx("span",{className:f.proxyType,style:{opacity:e?.6:.2},children:gt(n.type)}),t.jsx(vt,{latency:r,color:l})]})]})}const pe=(e,{name:s})=>{const n=se(e),r=E(e);return{proxy:n[s]||{name:s,type:"Unknown",history:[]},latency:r[s]}},Nt=O(pe)(Pt),St=O(pe)(Ct),At="_list_1oy7w_1",Ot="_listSummaryView_1oy7w_8",me={list:At,listSummaryView:Ot};function he({all:e,now:s,isSelectable:n,itemOnTapCallback:r}){const o=e;return t.jsx("div",{className:me.list,children:o.map(a=>t.jsx(Nt,{onClick:r,isSelectable:n,name:a,now:a===s},a))})}function ye({all:e,now:s,isSelectable:n,itemOnTapCallback:r}){return t.jsx("div",{className:me.listSummaryView,children:e.map(o=>t.jsx(St,{onClick:r,isSelectable:n,name:o,now:o===s},o))})}const{createElement:Tt,useCallback:D,useMemo:$t}=y;function Lt({name:e,all:s,delay:n,proxies:r,type:o,now:a,apiConfig:l,dispatch:c}){const[i,u]=m(oe),p=i[`proxyGroup:${e}`],[d]=m(K),[_]=m(V),x=de(s,n,_,d,r),h=$t(()=>o==="Selector",[o]),{proxies:{requestDelayForProxies:T}}=ne(),k=D((C,_e,je)=>{u(ve=>({...ve,[`${C}:${_e}`]:je}))},[u]),B=D(()=>{k("proxyGroup",e,!p)},[p,k,e]),[$]=m(ae),b=D(C=>{h&&c(we(l,e,C,$))},[l,c,e,h,$]),j=re(!1),R=D(async()=>{if(!j.value){j.set(!0);try{await T(l,x)}catch{}j.set(!1)}},[x,l,T,j]);return t.jsxs("div",{className:M.group,children:[t.jsxs("div",{className:M.groupHead,children:[t.jsx(ue,{name:e,type:o,toggle:B,qty:x.length,isOpen:p}),t.jsx("div",{className:M.action,children:t.jsx(I,{label:"Test latency",children:t.jsx(v,{kind:"circular",onClick:R,children:t.jsx(ie,{animate:j.value,size:16})})})})]}),Tt(p?he:ye,{all:x,now:a,isSelectable:h,itemOnTapCallback:b})]})}const Dt=O((e,{name:s,delay:n})=>{const r=se(e),o=r[s],{all:a,type:l,now:c}=o;return{all:a,delay:n,proxies:r,type:l,now:c}})(Lt),{useCallback:fe,useState:Ft}=y;function It({dispatch:e,apiConfig:s,name:n}){return fe(()=>e(ke(s,n)),[s,e,n])}function Bt({dispatch:e,apiConfig:s,names:n}){const[r,o]=Ft(!1);return[fe(async()=>{if(!r){o(!0);try{await e(Pe(s,n))}catch{}o(!1)}},[s,e,n,r]),r]}const{useState:Rt,useCallback:Mt}=y;function Ut({isLoading:e}){return e?t.jsx(Ue,{children:t.jsx(Z,{width:16,height:16})}):t.jsx(Z,{width:16,height:16})}function Ht({dispatch:e,apiConfig:s}){const[n,r]=Rt(!1),[o]=m(Ne);return[Mt(()=>{n||(r(!0),e(Se(s,o)).then(()=>r(!1),()=>r(!1)))},[s,e,n,o]),n]}function qt({dispatch:e,apiConfig:s,proxyProviders:n}){const{t:r}=z(),[o,a]=Ht({dispatch:e,apiConfig:s}),[l,c]=Bt({apiConfig:s,dispatch:e,names:n.map(i=>i.name)});return t.jsx(Be,{icon:t.jsx(Ut,{isLoading:a}),onClick:o,text:r("Test Latency"),style:Re,children:n.length>0?t.jsx(Me,{text:r("update_all_proxy_provider"),onClick:l,children:t.jsx(He,{isRotating:c})}):null})}const Et="_updatedAt_919yi_1",Kt="_main_919yi_8",Vt="_head_919yi_17",zt="_action_919yi_23",Gt="_refresh_919yi_31",N={updatedAt:Et,main:Kt,head:Vt,action:zt,refresh:Gt},{useCallback:U}=y;function Zt({name:e,proxies:s,delay:n,vehicleType:r,updatedAt:o,dispatch:a}){const[l,c]=m(oe),i=l[`proxyProvider:${e}`],[u]=m(K),[p]=m(V),d=le(),_=de(s,n,p,u),x=re(!1),h=It({dispatch:a,apiConfig:d,name:e}),T=U(()=>{if(x.value)return;x.set(!0);const b=()=>x.set(!1);a(Ae(d,e)).then(b,b)},[d,a,e,x]),k=U((b,j,R)=>{c(C=>({...C,[`${b}:${j}`]:R}))},[c]),B=U(()=>{k("proxyProvider",e,!i)},[i,k,e]),$=Ke(new Date(o),new Date);return t.jsxs("div",{className:N.main,children:[t.jsxs("div",{className:N.head,children:[t.jsx(ue,{name:e,toggle:B,type:r,isOpen:i,qty:_.length}),t.jsxs("div",{className:N.action,children:[t.jsx(I,{label:"Update",children:t.jsx(v,{kind:"circular",onClick:h,children:t.jsx(Xt,{})})}),t.jsx(I,{label:"Health Check",children:t.jsx(v,{kind:"circular",onClick:T,children:t.jsx(ie,{animate:x.value,size:16})})})]})]}),t.jsx("div",{className:N.updatedAt,children:t.jsxs("small",{children:["Updated ",$," ago"]})}),i?t.jsx(he,{all:_}):t.jsx(ye,{all:_})]})}const Yt={rest:{scale:1},pressed:{scale:.95}},Wt={rest:{rotate:0},hover:{rotate:360,transition:{duration:.3}}};function Xt(){const s=Oe.read().motion;return t.jsx(s.div,{className:N.refresh,variants:Yt,initial:"rest",whileHover:"hover",whileTap:"pressed",children:t.jsx(s.div,{className:"flexCenter",variants:Wt,children:t.jsx(qe,{size:16})})})}const Jt=(e,{proxies:s})=>{const n=E(e);return{proxies:s,delay:n}},Qt=O(Jt)(Zt);function es({items:e}){return e.length===0?null:t.jsxs(t.Fragment,{children:[t.jsx(ce,{title:"Proxy Provider"}),t.jsx("div",{children:e.map(s=>t.jsx(Qt,{name:s.name,proxies:s.proxies,type:s.type,vehicleType:s.vehicleType,updatedAt:s.updatedAt},s.name))})]})}const ts="_labeledInput_cmki0_1",H={labeledInput:ts},ss=[["Natural","order_natural"],["LatencyAsc","order_latency_asc"],["LatencyDesc","order_latency_desc"],["NameAsc","order_name_asc"],["NameDesc","order_name_desc"]],{useCallback:X}=y;function ns(){const[e,s]=m(ae),[n,r]=m(K),[o,a]=m(V),l=X(u=>r(u.target.value),[r]),c=X(u=>{a(u)},[a]),{t:i}=z();return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:H.labeledInput,children:[t.jsx("span",{children:i("sort_in_grp")}),t.jsx("div",{children:t.jsx(Ve,{options:ss.map(u=>[u[0],i(u[1])]),selected:n,onChange:l})})]}),t.jsx("hr",{}),t.jsxs("div",{className:H.labeledInput,children:[t.jsx("label",{htmlFor:"hideUnavailableProxies",children:i("hide_unavail_proxies")}),t.jsx("div",{children:t.jsx(Y,{id:"hideUnavailableProxies",checked:o,onChange:c})})]}),t.jsxs("div",{className:H.labeledInput,children:[t.jsx("label",{htmlFor:"autoCloseOldConns",children:i("auto_close_conns")}),t.jsx("div",{children:t.jsx(Y,{id:"autoCloseOldConns",checked:e,onChange:s})})]})]})}const rs="_overlay_uuk3b_1",os="_cnt_uuk3b_5",as="_afterOpen_uuk3b_16",q={overlay:rs,cnt:os,afterOpen:as},{useMemo:ls}=y;function J({isOpen:e,onRequestClose:s,children:n}){const r=ls(()=>({base:A(G.content,q.cnt),afterOpen:q.afterOpen,beforeClose:""}),[]);return t.jsx(Te,{isOpen:e,onRequestClose:s,className:r,overlayClassName:A(G.overlay,q.overlay),children:n})}function cs({color:e="currentColor",size:s=24}){return t.jsxs("svg",{fill:"none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:s,height:s,stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M2 6h9M18.5 6H22"}),t.jsx("circle",{cx:"16",cy:"6",r:"2"}),t.jsx("path",{d:"M22 18h-9M6 18H2"}),t.jsx("circle",{r:"2",transform:"matrix(-1 0 0 1 8 18)"})]})}const is="_topBar_16fpp_1",us="_topBarRight_16fpp_13",ds="_textFilterContainer_16fpp_22",xs="_group_16fpp_29",F={topBar:is,topBarRight:us,textFilterContainer:ds,group:xs},{useState:ps,useEffect:ms,useCallback:Q,useRef:hs}=y;function ys({dispatch:e,groupNames:s,delay:n,proxyProviders:r,showModalClosePrevConns:o}){const a=le(),l=hs({}),c=Q(()=>{l.current.startAt=Date.now(),e($e(a)).then(()=>{l.current.completeAt=Date.now()})},[a,e]);ms(()=>{c();const h=()=>{l.current.startAt&&Date.now()-l.current.startAt>3e4&&c()};return window.addEventListener("focus",h,!1),()=>window.removeEventListener("focus",h,!1)},[c]);const[i,u]=ps(!1),p=Q(()=>{u(!1)},[]),{proxies:{closeModalClosePrevConns:d,closePrevConnsAndTheModal:_}}=ne(),{t:x}=z();return t.jsxs(t.Fragment,{children:[t.jsx(J,{isOpen:i,onRequestClose:p,children:t.jsx(ns,{})}),t.jsxs("div",{className:F.topBar,children:[t.jsx(ce,{title:x("Proxies")}),t.jsxs("div",{className:F.topBarRight,children:[t.jsx("div",{className:F.textFilterContainer,children:t.jsx(Ee,{textAtom:ee})}),t.jsx(I,{label:x("settings"),children:t.jsx(v,{kind:"minimal",onClick:()=>u(!0),children:t.jsx(cs,{size:16})})})]})]}),t.jsx("div",{children:s.map(h=>t.jsx("div",{className:F.group,children:t.jsx(Dt,{name:h,delay:n,apiConfig:a,dispatch:e})},h))}),t.jsx(es,{items:r}),t.jsx("div",{style:{height:60}}),t.jsx(qt,{dispatch:e,apiConfig:a,proxyProviders:r}),t.jsx(J,{isOpen:o,onRequestClose:d,children:t.jsx(We,{onClickPrimaryButton:()=>_(a),onClickSecondaryButton:d})})]})}const fs=e=>({groupNames:Le(e),proxyProviders:De(e),delay:E(e),showModalClosePrevConns:Fe(e)}),Ns=O(fs)(ys);export{Ns as default}; diff --git a/clash/clash/dashboard/yacd/assets/Proxies-40f80166.css b/clash/clash/dashboard/yacd/assets/Proxies-40f80166.css new file mode 100644 index 0000000..c032dbb --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Proxies-40f80166.css @@ -0,0 +1 @@ +._FlexCenter_1380a_1{display:flex;justify-content:center;align-items:center}._header_1y9js_1{display:flex;align-items:center}._header_1y9js_1:focus{outline:none}._header_1y9js_1 ._arrow_1y9js_8{display:inline-flex;transform:rotate(0);transition:transform .3s}._header_1y9js_1 ._arrow_1y9js_8._isOpen_1y9js_13{transform:rotate(180deg)}._header_1y9js_1 ._arrow_1y9js_8:focus{outline:var(--color-focus-blue) solid 1px}._btn_1y9js_20{margin-left:5px}._qty_1y9js_25{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}._header_5pmv2_1{margin-bottom:12px}._groupHead_5pmv2_5{display:flex;flex-wrap:wrap;align-items:center}._action_5pmv2_11{margin:0 5px}._proxy_5mgcm_1{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;max-width:200px;background-color:var(--color-bg-proxy)}._proxy_5mgcm_1:focus{border:1px solid var(--color-focus-blue)}@media screen and (min-width: 30em){._proxy_5mgcm_1{min-width:200px;border-radius:10px;padding:10px}}._proxy_5mgcm_1._now_5mgcm_25{background-color:var(--color-focus-blue);color:#ddd}._proxy_5mgcm_1._error_5mgcm_29{opacity:.5}._proxy_5mgcm_1._selectable_5mgcm_32{transition:transform .2s ease-in-out;cursor:pointer}._proxy_5mgcm_1._selectable_5mgcm_32:hover{border-color:hsl(0deg,0%,var(--card-hover-border-lightness))}._proxyType_5mgcm_40{font-family:var(--font-mono);font-size:.6em;margin-right:3px}@media screen and (min-width: 30em){._proxyType_5mgcm_40{font-size:.85em}}._row_5mgcm_51{display:flex;align-items:center;justify-content:space-between}._proxyName_5mgcm_57{width:100%;margin-bottom:5px;font-size:.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._proxySmall_5mgcm_66{--size: 13px;width:var(--size);height:var(--size);border-radius:50%;position:relative}._proxySmall_5mgcm_66._now_5mgcm_25{--size: 15px}._proxySmall_5mgcm_66._now_5mgcm_25:before{--size-dot: 7px;content:"";position:absolute;width:var(--size-dot);height:var(--size-dot);background-color:#fff;border:1px solid var(--color-proxy-dot-selected-ind-bo);border-radius:4px;top:50%;left:50%;transform:translate(-50%,-50%)}._proxySmall_5mgcm_66._selectable_5mgcm_32{transition:transform .1s ease-in-out;cursor:pointer}._proxySmall_5mgcm_66._selectable_5mgcm_32:hover{transform:scale(1.2)}._proxyLatency_pw0sa_1{border-radius:20px;color:#eee;font-size:.6em}@media screen and (min-width: 30em){._proxyLatency_pw0sa_1{font-size:.85em}}._list_1oy7w_1{display:flex;flex-wrap:wrap;margin:8px 0 8px -3px}._listSummaryView_1oy7w_8{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,13px);grid-gap:10px;place-items:center;max-width:900px}._updatedAt_919yi_1{margin-bottom:12px}._updatedAt_919yi_1 small{color:#777}._main_919yi_8{padding:10px 15px}@media screen and (min-width: 30em){._main_919yi_8{padding:10px 40px}}._head_919yi_17{display:flex;align-items:center;flex-wrap:wrap}._action_919yi_23{margin:0 5px;display:grid;grid-template-columns:auto auto;gap:10px;place-items:center}._refresh_919yi_31{display:flex;justify-content:center;align-items:center;cursor:pointer}._labeledInput_cmki0_1{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 0px}._overlay_uuk3b_1{background-color:#0009}._cnt_uuk3b_5{position:absolute;background-color:var(--bg-modal);color:var(--color-text);line-height:1.4;opacity:.6;transition:all .3s ease;transform:translate(-50%,-50%) scale(1.2);box-shadow:#0000001f 0 4px 4px,#0000003d 0 16px 32px}._afterOpen_uuk3b_16{opacity:1;transform:translate(-50%,-50%) scale(1)}._topBar_16fpp_1{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:1;background-color:var(--color-background2);-webkit-backdrop-filter:blur(36px);backdrop-filter:blur(36px)}._topBarRight_16fpp_13{display:flex;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end;margin-right:20px}._textFilterContainer_16fpp_22{max-width:350px;min-width:150px;flex:1;margin-right:8px}._group_16fpp_29{padding:10px 15px}@media screen and (min-width: 30em){._group_16fpp_29{padding:10px 40px}} diff --git a/clash/clash/dashboard/yacd/assets/Proxies.0b59f3e4.css b/clash/clash/dashboard/yacd/assets/Proxies.0b59f3e4.css deleted file mode 100644 index d557912..0000000 --- a/clash/clash/dashboard/yacd/assets/Proxies.0b59f3e4.css +++ /dev/null @@ -1 +0,0 @@ -._FlexCenter_1380a_1{display:flex;justify-content:center;align-items:center}._header_1y9js_1{display:flex;align-items:center}._header_1y9js_1:focus{outline:none}._header_1y9js_1 ._arrow_1y9js_8{display:inline-flex;-webkit-transform:rotate(0deg);transform:rotate(0);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}._header_1y9js_1 ._arrow_1y9js_8._isOpen_1y9js_13{-webkit-transform:rotate(180deg);transform:rotate(180deg)}._header_1y9js_1 ._arrow_1y9js_8:focus{outline:var(--color-focus-blue) solid 1px}._btn_1y9js_20{margin-left:5px}._qty_1y9js_25{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}._header_15m74_1{margin-bottom:12px}._groupHead_15m74_5{display:flex;align-items:center}._latencyButton_15m74_10{margin-left:5px}._zapWrapper_15m74_14{width:20px;height:20px;display:flex;align-items:center;justify-content:center}._proxy_k2rjp_1{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;max-width:200px;background-color:var(--color-bg-proxy)}._proxy_k2rjp_1:focus{border:1px solid var(--color-focus-blue)}@media screen and (min-width: 30em){._proxy_k2rjp_1{min-width:200px;border-radius:10px;padding:10px}}._proxy_k2rjp_1._now_k2rjp_25{background-color:var(--color-focus-blue);color:#ddd}._proxy_k2rjp_1._error_k2rjp_29{opacity:.5}._proxy_k2rjp_1._selectable_k2rjp_32{transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;cursor:pointer}._proxy_k2rjp_1._selectable_k2rjp_32:hover{border-color:hsl(0deg,0%,var(--card-hover-border-lightness))}._proxyType_k2rjp_40{font-family:var(--font-mono);font-size:.6em;margin-right:3px}@media screen and (min-width: 30em){._proxyType_k2rjp_40{font-size:.85em}}._row_k2rjp_51{display:flex;align-items:center;justify-content:space-between}._proxyName_k2rjp_57{width:100%;margin-bottom:5px;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._proxySmall_k2rjp_66{width:13px;height:13px;border-radius:50%;border:1px solid var(--color-background)}._proxySmall_k2rjp_66._now_k2rjp_25{border-color:var(--color-text-secondary)}._proxySmall_k2rjp_66._selectable_k2rjp_32{transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;cursor:pointer}._proxySmall_k2rjp_66._selectable_k2rjp_32:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}._proxyLatency_hz69v_1{border-radius:20px;color:#eee;font-size:.6em}@media screen and (min-width: 30em){._proxyLatency_hz69v_1{font-size:.85em}}._list_10y5m_1{display:flex;flex-wrap:wrap;margin:8px 0 8px -3px}._listSummaryView_10y5m_8{margin:8px 0;display:grid;grid-template-columns:repeat(auto-fill,13px);grid-gap:10px}._updatedAt_1ql33_1{margin-bottom:12px}._updatedAt_1ql33_1 small{color:#777}._body_1ql33_8{padding:10px 15px}@media screen and (min-width: 30em){._body_1ql33_8{padding:10px 40px}}._actionFooter_1ql33_17{display:flex}._actionFooter_1ql33_17 button{margin:0 5px}._actionFooter_1ql33_17 button:first-child{margin-left:0}._refresh_1ql33_27{display:flex;justify-content:center;align-items:center;cursor:pointer}._labeledInput_cmki0_1{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 0px}._overlay_uuk3b_1{background-color:#0009}._cnt_uuk3b_5{position:absolute;background-color:var(--bg-modal);color:var(--color-text);line-height:1.4;opacity:.6;transition:all .3s ease;-webkit-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);box-shadow:#0000001f 0 4px 4px,#0000003d 0 16px 32px}._afterOpen_uuk3b_16{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}._topBar_jgy4z_1{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:1;background-color:var(--color-background2);-webkit-backdrop-filter:blur(36px);backdrop-filter:blur(36px)}._topBarRight_jgy4z_13{display:flex;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end;margin-right:20px}._textFilterContainer_jgy4z_22{max-width:350px;min-width:150px;flex:1;margin-right:8px}._group_jgy4z_29{padding:10px 15px}@media screen and (min-width: 30em){._group_jgy4z_29{padding:10px 40px}} diff --git a/clash/clash/dashboard/yacd/assets/Proxies.1d18d1df.js b/clash/clash/dashboard/yacd/assets/Proxies.1d18d1df.js deleted file mode 100644 index 4b4c35d..0000000 --- a/clash/clash/dashboard/yacd/assets/Proxies.1d18d1df.js +++ /dev/null @@ -1 +0,0 @@ -var Me=Object.defineProperty,$e=Object.defineProperties;var De=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var ze=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var te=(e,t,n)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t)=>{for(var n in t||(t={}))ze.call(t,n)&&te(e,n,t[n]);if(ee)for(var n of ee(t))Be.call(t,n)&&te(e,n,t[n]);return e},q=(e,t)=>$e(e,De(t));import{r as b,j as s,P as E,b as u,B as g,h as y,T as je,c as P,U as Fe,V as de,W as he,d as x,X as Ie,F as D,Y as qe,Z as fe,$ as V,w as z,a0 as He,a1 as pe,a2 as K,a3 as Z,a4 as We,a5 as Ge,u as Y,a6 as Ue,a7 as ve,R as Ve,a8 as Ke,g as ye,C as me,x as ne,a9 as Ze,m as re,M as Ye,aa as Xe,ab as Je,ac as Qe,ad as et,ae as tt}from"./index.25cbb458.js";import{C as nt}from"./chevron-down.2fd59aec.js";import{F as rt,p as ot,A as st,I as it}from"./Fab.653b8c23.js";import{R as at,a as ct,T as lt}from"./TextFitler.89e5df06.js";import{f as ut}from"./index.e97a91e5.js";import{S as dt}from"./Select.3926bbe9.js";import"./debounce.d080d5e1.js";function ht(e,t){if(e==null)return{};var n=ft(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function ft(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var X=b.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=ht(e,["color","size"]);return s("svg",q(I({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:s("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}))});X.propTypes={color:E.string,size:E.oneOfType([E.string,E.number])};X.displayName="Zap";var L=X;const pt="_FlexCenter_1380a_1";var vt={FlexCenter:pt};function yt({children:e}){return s("div",{className:vt.FlexCenter,children:e})}const{useRef:oe,useEffect:mt}=y;function _t({onClickPrimaryButton:e,onClickSecondaryButton:t}){const n=oe(null),r=oe(null);return mt(()=>{n.current.focus()},[]),u("div",{onKeyDown:i=>{i.keyCode===39?r.current.focus():i.keyCode===37&&n.current.focus()},children:[s("h2",{children:"Close Connections?"}),s("p",{children:'Click "Yes" to close those connections that are still using the old selected proxy in this group'}),s("div",{style:{height:30}}),u(yt,{children:[s(g,{onClick:e,ref:n,children:"Yes"}),s("div",{style:{width:20}}),s(g,{onClick:t,ref:r,children:"No"})]})]})}const bt="_header_1y9js_1",gt="_arrow_1y9js_8",wt="_isOpen_1y9js_13",xt="_btn_1y9js_20",Ct="_qty_1y9js_25";var C={header:bt,arrow:gt,isOpen:wt,btn:xt,qty:Ct};function _e({name:e,type:t,toggle:n,isOpen:r,qty:o}){const i=b.exports.useCallback(a=>{a.preventDefault(),(a.key==="Enter"||a.key===" ")&&n()},[n]);return u("div",{className:C.header,onClick:n,style:{cursor:"pointer"},tabIndex:0,onKeyDown:i,role:"button",children:[s("div",{children:s(je,{name:e,type:t})}),typeof o=="number"?s("span",{className:C.qty,children:o}):null,s(g,{kind:"minimal",onClick:n,className:C.btn,title:"Toggle collapsible section",children:s("span",{className:P(C.arrow,{[C.isOpen]:r}),children:s(nt,{size:20})})})]})}const{useMemo:Ot}=y;function kt(e,t){return e.filter(n=>{const r=t[n];return r===void 0?!0:r.number!==0})}const R=(e,t)=>{if(e&&typeof e.number=="number"&&e.number>0)return e.number;const n=t&&t.type;return n&&he.indexOf(n)>-1?-1:999999},Pt={Natural:e=>e,LatencyAsc:(e,t,n)=>e.sort((r,o)=>{const i=R(t[r],n&&n[r]),a=R(t[o],n&&n[o]);return i-a}),LatencyDesc:(e,t,n)=>e.sort((r,o)=>{const i=R(t[r],n&&n[r]);return R(t[o],n&&n[o])-i}),NameAsc:e=>e.sort(),NameDesc:e=>e.sort((t,n)=>t>n?-1:tr.trim()).filter(r=>!!r);return n.length===0?e:e.filter(r=>{let o=0;for(;o-1)return!0}return!1})}function Et(e,t,n,r,o,i){let a=[...e];return n&&(a=kt(e,t)),typeof r=="string"&&r!==""&&(a=St(a,r)),Pt[o](a,t,i)}function be(e,t,n,r,o){const[i]=Fe(de);return Ot(()=>Et(e,t,n,i,r,o),[e,t,n,i,r,o])}const Rt="_header_15m74_1",At="_groupHead_15m74_5",Tt="_latencyButton_15m74_10",Nt="_zapWrapper_15m74_14";var T={header:Rt,groupHead:At,latencyButton:Tt,zapWrapper:Nt};const Lt={Right:39,Left:37,Enter:13,Space:32},Mt="_proxy_k2rjp_1",$t="_now_k2rjp_25",Dt="_error_k2rjp_29",zt="_selectable_k2rjp_32",Bt="_proxyType_k2rjp_40",jt="_row_k2rjp_51",Ft="_proxyName_k2rjp_57",It="_proxySmall_k2rjp_66";var v={proxy:Mt,now:$t,error:Dt,selectable:zt,proxyType:Bt,row:jt,proxyName:Ft,proxySmall:It};const qt="_proxyLatency_hz69v_1";var Ht={proxyLatency:qt};function Wt({number:e,color:t}){return s("span",{className:Ht.proxyLatency,style:{color:t},children:typeof e=="number"&&e!==0?e+" ms":" "})}const{useMemo:k}=y,O={good:"#67c23a",normal:"#d4b75c",bad:"#e67f3c",na:"#909399"};function ge({number:e}={}){return e===0?O.na:e<200?O.good:e<400?O.normal:typeof e=="number"?O.bad:O.na}function Gt(e,t){return he.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%)":ge(e)}function Ut({now:e,name:t,proxy:n,latency:r,isSelectable:o,onClick:i}){const a=k(()=>Gt(r,n.type),[r,n]),c=k(()=>{let f=t;return r&&typeof r.number=="number"&&(f+=" "+r.number+" ms"),f},[t,r]),l=b.exports.useCallback(()=>{o&&i&&i(t)},[t,i,o]),d=k(()=>P(v.proxySmall,{[v.now]:e,[v.selectable]:o}),[o,e]),h=b.exports.useCallback(f=>{f.keyCode===Lt.Enter&&l()},[l]);return s("div",{title:c,className:d,style:{background:a},onClick:l,onKeyDown:h,role:o?"menuitem":""})}function Vt(e){return e==="Shadowsocks"?"SS":e}const Kt=e=>({left:e.left+window.scrollX-5,top:e.top+window.scrollY-38});function Zt({children:e,label:t,"aria-label":n}){const[r,o]=Ie();return u(D,{children:[b.exports.cloneElement(e,r),s(qe,q(I({},o),{label:t,"aria-label":n,position:Kt}))]})}function Yt({now:e,name:t,proxy:n,latency:r,isSelectable:o,onClick:i}){const a=k(()=>ge(r),[r]),c=b.exports.useCallback(()=>{o&&i&&i(t)},[t,i,o]),l=b.exports.useCallback(h=>{h.key==="Enter"&&c()},[c]),d=k(()=>P(v.proxy,{[v.now]:e,[v.error]:r&&r.error,[v.selectable]:o}),[o,e,r]);return u("div",{tabIndex:0,className:d,onClick:c,onKeyDown:l,role:o?"menuitem":"",children:[s("div",{className:v.proxyName,children:s(Zt,{label:t,"aria-label":"proxy name: "+t,children:s("span",{children:t})})}),u("div",{className:v.row,children:[s("span",{className:v.proxyType,style:{opacity:e?.6:.2},children:Vt(n.type)}),s(Wt,{number:r==null?void 0:r.number,color:a})]})]})}const we=(e,{name:t})=>{const n=fe(e),r=V(e);return{proxy:n[t],latency:r[t]}},Xt=x(we)(Yt),Jt=x(we)(Ut),Qt="_list_10y5m_1",en="_listSummaryView_10y5m_8";var xe={list:Qt,listSummaryView:en};function Ce({all:e,now:t,isSelectable:n,itemOnTapCallback:r}){const o=e;return s("div",{className:xe.list,children:o.map(i=>s(Xt,{onClick:r,isSelectable:n,name:i,now:i===t},i))})}function Oe({all:e,now:t,isSelectable:n,itemOnTapCallback:r}){return s("div",{className:xe.listSummaryView,children:e.map(o=>s(Jt,{onClick:r,isSelectable:n,name:o,now:o===t},o))})}const{createElement:tn,useCallback:H,useMemo:nn,useState:rn}=y;function on(){return s("div",{className:T.zapWrapper,children:s(L,{size:16})})}function sn({name:e,all:t,delay:n,hideUnavailableProxies:r,proxySortBy:o,proxies:i,type:a,now:c,isOpen:l,apiConfig:d,dispatch:h}){const f=be(t,n,r,o,i),m=nn(()=>a==="Selector",[a]),{app:{updateCollapsibleIsOpen:_},proxies:{requestDelayForProxies:p}}=z(),S=H(()=>{_("proxyGroup",e,!l)},[l,_,e]),j=H(Q=>{!m||h(He(d,e,Q))},[d,h,e,m]),[F,J]=rn(!1),Le=H(async()=>{J(!0);try{await p(d,f)}catch{}J(!1)},[f,d,p]);return u("div",{className:T.group,children:[u("div",{className:T.groupHead,children:[s(_e,{name:e,type:a,toggle:S,qty:f.length,isOpen:l}),s(g,{className:T.latencyButton,title:"Test latency",kind:"minimal",onClick:Le,isLoading:F,children:s(on,{})})]}),tn(l?Ce:Oe,{all:f,now:c,isSelectable:m,itemOnTapCallback:j})]})}const an=x((e,{name:t,delay:n})=>{const r=fe(e),o=pe(e),i=K(e),a=Z(e),c=r[t],{all:l,type:d,now:h}=c;return{all:l,delay:n,hideUnavailableProxies:a,proxySortBy:i,proxies:r,type:d,now:h,isOpen:o[`proxyGroup:${t}`]}})(sn),{useCallback:ke,useState:cn}=y;function ln({dispatch:e,apiConfig:t,name:n}){return ke(()=>e(We(t,n)),[t,e,n])}function un({dispatch:e,apiConfig:t,names:n}){const[r,o]=cn(!1);return[ke(async()=>{if(!r){o(!0);try{await e(Ge(t,n))}catch{}o(!1)}},[t,e,n,r]),r]}const{useState:dn,useCallback:hn}=y;function fn({isLoading:e}){return e?s(it,{children:s(L,{width:16,height:16})}):s(L,{width:16,height:16})}function pn({dispatch:e,apiConfig:t}){const[n,r]=dn(!1);return[hn(()=>{n||(r(!0),e(Ue(t)).then(()=>r(!1),()=>r(!1)))},[t,e,n]),n]}function vn({dispatch:e,apiConfig:t,proxyProviders:n}){const{t:r}=Y(),[o,i]=pn({dispatch:e,apiConfig:t}),[a,c]=un({apiConfig:t,dispatch:e,names:n.map(l=>l.name)});return s(rt,{icon:s(fn,{isLoading:i}),onClick:o,text:r("Test Latency"),style:ot,children:n.length>0?s(st,{text:r("update_all_proxy_provider"),onClick:a,children:s(at,{isRotating:c})}):null})}var Pe=function(){if(typeof Map!="undefined")return Map;function e(t,n){var r=-1;return t.some(function(o,i){return o[0]===n?(r=i,!0):!1}),r}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(n){var r=e(this.__entries__,n),o=this.__entries__[r];return o&&o[1]},t.prototype.set=function(n,r){var o=e(this.__entries__,n);~o?this.__entries__[o][1]=r:this.__entries__.push([n,r])},t.prototype.delete=function(n){var r=this.__entries__,o=e(r,n);~o&&r.splice(o,1)},t.prototype.has=function(n){return!!~e(this.__entries__,n)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(n,r){r===void 0&&(r=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!U||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),wn?(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)},e.prototype.disconnect_=function(){!U||!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)},e.prototype.onTransitionEnd_=function(t){var n=t.propertyName,r=n===void 0?"":n,o=gn.some(function(i){return!!~r.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Se=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),Re=typeof WeakMap!="undefined"?new WeakMap:new Pe,Ae=function(){function e(t){if(!(this instanceof e))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=xn.getInstance(),r=new Nn(t,n,this);Re.set(this,r)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Ae.prototype[e]=function(){var t;return(t=Re.get(this))[e].apply(t,arguments)}});var Ln=function(){return typeof M.ResizeObserver!="undefined"?M.ResizeObserver:Ae}();const{memo:Mn,useState:$n,useRef:Te,useEffect:Ne}=Ve;function Dn(e){const t=Te();return Ne(()=>void(t.current=e),[e]),t.current}function zn(){const e=Te(),[t,n]=$n({height:0});return Ne(()=>{const r=new Ln(([o])=>n(o.contentRect));return e.current&&r.observe(e.current),()=>r.disconnect()},[]),[e,t]}const Bn={initialOpen:{height:"auto",transition:{duration:0}},open:e=>({height:e,opacity:1,visibility:"visible",transition:{duration:.3}}),closed:{height:0,opacity:0,visibility:"hidden",transition:{duration:.3}}},jn={open:{x:0},closed:{x:20}},ie=Mn(({children:e,isOpen:t})=>{const r=ve.read().motion,o=Dn(t),[i,{height:a}]=zn();return s("div",{children:s(r.div,{animate:t&&o===t?"initialOpen":t?"open":"closed",custom:a,variants:Bn,children:s(r.div,{variants:jn,ref:i,children:e})})})}),Fn="_updatedAt_1ql33_1",In="_body_1ql33_8",qn="_actionFooter_1ql33_17",Hn="_refresh_1ql33_27";var N={updatedAt:Fn,body:In,actionFooter:qn,refresh:Hn};const{useState:Wn,useCallback:ae}=y;function Gn({name:e,proxies:t,delay:n,hideUnavailableProxies:r,proxySortBy:o,vehicleType:i,updatedAt:a,isOpen:c,dispatch:l,apiConfig:d}){const h=be(t,n,r,o),[f,m]=Wn(!1),_=ln({dispatch:l,apiConfig:d,name:e}),p=ae(async()=>{m(!0),await l(Ke(d,e)),m(!1)},[d,l,e,m]),{app:{updateCollapsibleIsOpen:S}}=z(),j=ae(()=>{S("proxyProvider",e,!c)},[c,S,e]),F=ut(new Date(a),new Date);return u("div",{className:N.body,children:[s(_e,{name:e,toggle:j,type:i,isOpen:c,qty:h.length}),s("div",{className:N.updatedAt,children:u("small",{children:["Updated ",F," ago"]})}),u(ie,{isOpen:c,children:[s(Ce,{all:h}),u("div",{className:N.actionFooter,children:[s(g,{text:"Update",start:s(Kn,{}),onClick:_}),s(g,{text:"Health Check",start:s(L,{size:16}),onClick:p,isLoading:f})]})]}),s(ie,{isOpen:!c,children:s(Oe,{all:h})})]})}const Un={rest:{scale:1},pressed:{scale:.95}},Vn={rest:{rotate:0},hover:{rotate:360,transition:{duration:.3}}};function Kn(){const t=ve.read().motion;return s(t.div,{className:N.refresh,variants:Un,initial:"rest",whileHover:"hover",whileTap:"pressed",children:s(t.div,{className:"flexCenter",variants:Vn,children:s(ct,{size:16})})})}const Zn=(e,{proxies:t,name:n})=>{const r=Z(e),o=V(e),i=pe(e),a=ye(e),c=K(e);return{apiConfig:a,proxies:t,delay:o,hideUnavailableProxies:r,proxySortBy:c,isOpen:i[`proxyProvider:${n}`]}},Yn=x(Zn)(Gn);function Xn({items:e}){return e.length===0?null:u(D,{children:[s(me,{title:"Proxy Provider"}),s("div",{children:e.map(t=>s(Yn,{name:t.name,proxies:t.proxies,type:t.type,vehicleType:t.vehicleType,updatedAt:t.updatedAt},t.name))})]})}const Jn="_labeledInput_cmki0_1";var W={labeledInput:Jn};const Qn=[["Natural","order_natural"],["LatencyAsc","order_latency_asc"],["LatencyDesc","order_latency_desc"],["NameAsc","order_name_asc"],["NameDesc","order_name_desc"]],{useCallback:ce}=y;function er({appConfig:e}){const{app:{updateAppConfig:t}}=z(),n=ce(i=>{t("proxySortBy",i.target.value)},[t]),r=ce(i=>{t("hideUnavailableProxies",i)},[t]),{t:o}=Y();return u(D,{children:[u("div",{className:W.labeledInput,children:[s("span",{children:o("sort_in_grp")}),s("div",{children:s(dt,{options:Qn.map(i=>[i[0],o(i[1])]),selected:e.proxySortBy,onChange:n})})]}),s("hr",{}),u("div",{className:W.labeledInput,children:[s("span",{children:o("hide_unavail_proxies")}),s("div",{children:s(ne,{name:"hideUnavailableProxies",checked:e.hideUnavailableProxies,onChange:r})})]}),u("div",{className:W.labeledInput,children:[s("span",{children:o("auto_close_conns")}),s("div",{children:s(ne,{name:"autoCloseOldConns",checked:e.autoCloseOldConns,onChange:i=>t("autoCloseOldConns",i)})})]})]})}const tr=e=>{const t=K(e),n=Z(e),r=Ze(e);return{appConfig:{proxySortBy:t,hideUnavailableProxies:n,autoCloseOldConns:r}}};var nr=x(tr)(er);const rr="_overlay_uuk3b_1",or="_cnt_uuk3b_5",sr="_afterOpen_uuk3b_16";var G={overlay:rr,cnt:or,afterOpen:sr};const{useMemo:ir}=y;function le({isOpen:e,onRequestClose:t,children:n}){const r=ir(()=>({base:P(re.content,G.cnt),afterOpen:G.afterOpen,beforeClose:""}),[]);return s(Ye,{isOpen:e,onRequestClose:t,className:r,overlayClassName:P(re.overlay,G.overlay),children:n})}function ar({color:e="currentColor",size:t=24}){return u("svg",{fill:"none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s("path",{d:"M2 6h9M18.5 6H22"}),s("circle",{cx:"16",cy:"6",r:"2"}),s("path",{d:"M22 18h-9M6 18H2"}),s("circle",{r:"2",transform:"matrix(-1 0 0 1 8 18)"})]})}const cr="_topBar_jgy4z_1",lr="_topBarRight_jgy4z_13",ur="_textFilterContainer_jgy4z_22",dr="_group_jgy4z_29";var A={topBar:cr,topBarRight:lr,textFilterContainer:ur,group:dr};const{useState:hr,useEffect:fr,useCallback:ue,useRef:pr}=y;function vr({dispatch:e,groupNames:t,delay:n,proxyProviders:r,apiConfig:o,showModalClosePrevConns:i}){const a=pr({}),c=ue(()=>{a.current.startAt=Date.now(),e(Xe(o)).then(()=>{a.current.completeAt=Date.now()})},[o,e]);fr(()=>{c();const p=()=>{a.current.startAt&&Date.now()-a.current.startAt>3e4&&c()};return window.addEventListener("focus",p,!1),()=>window.removeEventListener("focus",p,!1)},[c]);const[l,d]=hr(!1),h=ue(()=>{d(!1)},[]),{proxies:{closeModalClosePrevConns:f,closePrevConnsAndTheModal:m}}=z(),{t:_}=Y();return u(D,{children:[s(le,{isOpen:l,onRequestClose:h,children:s(nr,{})}),u("div",{className:A.topBar,children:[s(me,{title:_("Proxies")}),u("div",{className:A.topBarRight,children:[s("div",{className:A.textFilterContainer,children:s(lt,{textAtom:de})}),s(Je,{label:_("settings"),children:s(g,{kind:"minimal",onClick:()=>d(!0),children:s(ar,{size:16})})})]})]}),s("div",{children:t.map(p=>s("div",{className:A.group,children:s(an,{name:p,delay:n,apiConfig:o,dispatch:e})},p))}),s(Xn,{items:r}),s("div",{style:{height:60}}),s(vn,{dispatch:e,apiConfig:o,proxyProviders:r}),s(le,{isOpen:i,onRequestClose:f,children:s(_t,{onClickPrimaryButton:()=>m(o),onClickSecondaryButton:f})})]})}const yr=e=>({apiConfig:ye(e),groupNames:Qe(e),proxyProviders:et(e),delay:V(e),showModalClosePrevConns:tt(e)});var kr=x(yr)(vr);export{kr as default}; diff --git a/clash/clash/dashboard/yacd/assets/Rules-32591ffb.js b/clash/clash/dashboard/yacd/assets/Rules-32591ffb.js new file mode 100644 index 0000000..0fabd4d --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Rules-32591ffb.js @@ -0,0 +1 @@ +import{a8 as p,F as w,a9 as b,aa as k,ab as v,n as B,o as g,j as i,H as A,B as F,d as _,u as T,C as $,k as S}from"./index-3b7e2f10.js";import{V as z,a as D}from"./index.esm-18eb5056.js";import{u as x}from"./useMutation-75c97bd7.js";import{R,T as E}from"./TextFilter-379059dd.js";import{f as L}from"./index-138a52ef.js";import{F as Q,p as U}from"./Fab-d86fe1ea.js";import{u as q}from"./useRemainingViewPortHeight-22ab7283.js";import"./debounce-c1ba2006.js";function H(e){const t=e.providers,s=Object.keys(t),r={};for(let n=0;n=0,"there is no valid rules list in the rules API response"),e.rules.map((t,s)=>({...t,id:s}))}async function G(e){const t=await p(e)||{rules:[]};return K(t)}const j=k("");function X(e,t){const s=g(),{mutate:r,isLoading:n}=x(y,{onSuccess:()=>{s.invalidateQueries(["/providers/rules"])}});return[o=>{o.preventDefault(),r({name:e,apiConfig:t})},n]}function Y(e){const t=g(),{data:s}=P(e),{mutate:r,isLoading:n}=x(V,{onSuccess:()=>{t.invalidateQueries(["/providers/rules"])}});return[o=>{o.preventDefault(),r({names:s.names,apiConfig:e})},n]}function P(e){return v(["/providers/rules",e],M)}function Z(e){const{data:t,isFetching:s}=v(["/rules",e],G),{data:r}=P(e),[n]=B(j);if(n==="")return{rules:t,provider:r,isFetching:s};{const a=n.toLowerCase();return{rules:t.filter(o=>o.payload.toLowerCase().indexOf(a)>=0),isFetching:s,provider:{byName:r.byName,names:r.names.filter(o=>o.toLowerCase().indexOf(a)>=0)}}}}const ee="_RuleProviderItem_12aid_1",te="_left_12aid_7",se="_middle_12aid_14",ne="_gray_12aid_21",re="_action_12aid_25",ie="_refreshBtn_12aid_32",c={RuleProviderItem:ee,left:te,middle:se,gray:ne,action:re,refreshBtn:ie};function ae({idx:e,name:t,vehicleType:s,behavior:r,updatedAt:n,ruleCount:a,apiConfig:o}){const[u,l]=X(t,o),d=L(new Date(n),new Date);return i.jsxs("div",{className:c.RuleProviderItem,children:[i.jsx("span",{className:c.left,children:e}),i.jsxs("div",{className:c.middle,children:[i.jsx(A,{name:t,type:`${s} / ${r}`}),i.jsx("div",{className:c.gray,children:a<2?`${a} rule`:`${a} rules`}),i.jsxs("div",{className:c.action,children:[i.jsxs(F,{onClick:u,disabled:l,className:c.refreshBtn,children:[i.jsx(R,{isRotating:l,size:13}),i.jsx("span",{className:"visually-hidden",children:"Refresh"})]}),i.jsxs("small",{className:c.gray,children:["Updated ",d," ago"]})]})]})]})}function oe({apiConfig:e}){const[t,s]=Y(e),{t:r}=_();return i.jsx(Q,{icon:i.jsx(R,{isRotating:s}),text:r("update_all_rule_provider"),style:U,onClick:t})}const le="_rule_1kxgd_1",ce="_left_1kxgd_12",ue="_a_1kxgd_19",de="_b_1kxgd_26",me="_type_1kxgd_37",m={rule:le,left:ce,a:ue,b:de,type:me},f={_default:"#59caf9",DIRECT:"#f5bc41",REJECT:"#cb3166"};function fe({proxy:e}){let t=f._default;return f[e]&&(t=f[e]),{color:t}}function he({type:e,payload:t,proxy:s,id:r}){const n=fe({proxy:s});return i.jsxs("div",{className:m.rule,children:[i.jsx("div",{className:m.left,children:r}),i.jsxs("div",{children:[i.jsx("div",{className:m.b,children:t}),i.jsxs("div",{className:m.a,children:[i.jsx("div",{className:m.type,children:e}),i.jsx("div",{style:n,children:s})]})]})]})}const pe="_header_n1m95_1",ve="_RuleProviderItemWrapper_n1m95_17",N={header:pe,RuleProviderItemWrapper:ve},{memo:ge}=S,h=30;function _e(e,{rules:t,provider:s}){const r=s.names.length;return e{const{rules:r,provider:n,apiConfig:a}=s,o=n.names.length;if(e0?i.jsx(oe,{apiConfig:e}):null]})}export{be as default}; diff --git a/clash/clash/dashboard/yacd/assets/Rules.faccd448.css b/clash/clash/dashboard/yacd/assets/Rules-e11cb70e.css similarity index 53% rename from clash/clash/dashboard/yacd/assets/Rules.faccd448.css rename to clash/clash/dashboard/yacd/assets/Rules-e11cb70e.css index a24b9ed..bbe007e 100644 --- a/clash/clash/dashboard/yacd/assets/Rules.faccd448.css +++ b/clash/clash/dashboard/yacd/assets/Rules-e11cb70e.css @@ -1 +1 @@ -._RuleProviderItem_12aid_1{display:grid;grid-template-columns:40px 1fr 46px;height:100%}._left_12aid_7{display:inline-flex;align-items:center;color:var(--color-text-secondary);opacity:.4}._middle_12aid_14{display:grid;gap:6px;grid-template-rows:1fr auto auto;align-items:center}._gray_12aid_21{color:#777}._action_12aid_25{display:grid;gap:4px;grid-template-columns:auto 1fr;align-items:center}._refreshBtn_12aid_32{padding:5px}._rule_1ymqx_1{display:flex;align-items:center;padding:6px 15px}@media screen and (min-width: 30em){._rule_1ymqx_1{padding:10px 40px}}._left_1ymqx_12{width:40px;padding-right:15px;color:var(--color-text-secondary);opacity:.4}._a_1ymqx_19{display:flex;align-items:center;font-size:12px;opacity:.8}._b_1ymqx_26{padding:10px 0;font-family:Roboto Mono,Menlo,monospace;font-size:16px}@media screen and (min-width: 30em){._b_1ymqx_26{font-size:19px}}._type_1ymqx_37{width:110px}._header_1j1w3_1{display:grid;grid-template-columns:1fr minmax(auto,330px);align-items:center;padding-right:15px}@media screen and (min-width: 30em){._header_1j1w3_1{padding-right:40px}}._RuleProviderItemWrapper_1j1w3_17{padding:6px 15px}@media screen and (min-width: 30em){._RuleProviderItemWrapper_1j1w3_17{padding:10px 40px}} +._RuleProviderItem_12aid_1{display:grid;grid-template-columns:40px 1fr 46px;height:100%}._left_12aid_7{display:inline-flex;align-items:center;color:var(--color-text-secondary);opacity:.4}._middle_12aid_14{display:grid;gap:6px;grid-template-rows:1fr auto auto;align-items:center}._gray_12aid_21{color:#777}._action_12aid_25{display:grid;gap:4px;grid-template-columns:auto 1fr;align-items:center}._refreshBtn_12aid_32{padding:5px}._rule_1kxgd_1{display:flex;align-items:center;padding:6px 15px}@media screen and (min-width: 30em){._rule_1kxgd_1{padding:10px 40px}}._left_1kxgd_12{width:40px;padding-right:15px;color:var(--color-text-secondary);opacity:.4}._a_1kxgd_19{display:flex;align-items:center;font-size:12px;opacity:.8}._b_1kxgd_26{padding:10px 0;font-family:Roboto Mono,Menlo,monospace;font-size:16px}@media screen and (min-width: 30em){._b_1kxgd_26{font-size:19px}}._type_1kxgd_37{width:110px}._header_n1m95_1{display:grid;grid-template-columns:1fr minmax(auto,330px);align-items:center;padding-right:15px}@media screen and (min-width: 30em){._header_n1m95_1{padding-right:40px}}._RuleProviderItemWrapper_n1m95_17{padding:6px 15px}@media screen and (min-width: 30em){._RuleProviderItemWrapper_n1m95_17{padding:10px 40px}} diff --git a/clash/clash/dashboard/yacd/assets/Rules.012703b7.js b/clash/clash/dashboard/yacd/assets/Rules.012703b7.js deleted file mode 100644 index 19c1805..0000000 --- a/clash/clash/dashboard/yacd/assets/Rules.012703b7.js +++ /dev/null @@ -1 +0,0 @@ -var A=Object.defineProperty,F=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var I=(e,s,r)=>s in e?A(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,h=(e,s)=>{for(var r in s||(s={}))$.call(s,r)&&I(e,r,s[r]);if(O)for(var r of O(s))q.call(s,r)&&I(e,r,s[r]);return e},_=(e,s)=>F(e,L(s));import{_ as D,Q as b,af as Q,ag as M,ah as j,R as m,ai as z,aj as P,ak as V,al as W,D as w,am as H,an as S,U as G,b as c,j as a,T as J,B as K,u as x,d as X,g as Y,C as Z}from"./index.25cbb458.js";import{a as ee,V as te}from"./index.esm.5decbdaf.js";import{R as N,T as re}from"./TextFitler.89e5df06.js";import{f as ne}from"./index.e97a91e5.js";import{F as se,p as ie}from"./Fab.653b8c23.js";import{u as oe}from"./useRemainingViewPortHeight.037d3897.js";import"./debounce.d080d5e1.js";var ae=function(e){D(s,e);function s(i,n){var t;return t=e.call(this)||this,t.client=i,t.setOptions(n),t.bindMethods(),t.updateResult(),t}var r=s.prototype;return r.bindMethods=function(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)},r.setOptions=function(n){this.options=this.client.defaultMutationOptions(n)},r.onUnsubscribe=function(){if(!this.listeners.length){var n;(n=this.currentMutation)==null||n.removeObserver(this)}},r.onMutationUpdate=function(n){this.updateResult();var t={listeners:!0};n.type==="success"?t.onSuccess=!0:n.type==="error"&&(t.onError=!0),this.notify(t)},r.getCurrentResult=function(){return this.currentResult},r.reset=function(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})},r.mutate=function(n,t){return this.mutateOptions=t,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,b({},this.options,{variables:typeof n!="undefined"?n:this.options.variables})),this.currentMutation.addObserver(this),this.currentMutation.execute()},r.updateResult=function(){var n=this.currentMutation?this.currentMutation.state:Q(),t=b({},n,{isLoading:n.status==="loading",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset});this.currentResult=t},r.notify=function(n){var t=this;M.batch(function(){t.mutateOptions&&(n.onSuccess?(t.mutateOptions.onSuccess==null||t.mutateOptions.onSuccess(t.currentResult.data,t.currentResult.variables,t.currentResult.context),t.mutateOptions.onSettled==null||t.mutateOptions.onSettled(t.currentResult.data,null,t.currentResult.variables,t.currentResult.context)):n.onError&&(t.mutateOptions.onError==null||t.mutateOptions.onError(t.currentResult.error,t.currentResult.variables,t.currentResult.context),t.mutateOptions.onSettled==null||t.mutateOptions.onSettled(void 0,t.currentResult.error,t.currentResult.variables,t.currentResult.context))),n.listeners&&t.listeners.forEach(function(o){o(t.currentResult)})})},s}(j);function E(e,s,r){var i=m.useRef(!1),n=m.useState(0),t=n[1],o=z(e,s,r),d=P(),u=m.useRef();u.current?u.current.setOptions(o):u.current=new ae(d,o);var l=u.current.getCurrentResult();m.useEffect(function(){i.current=!0;var R=u.current.subscribe(M.batchCalls(function(){i.current&&t(function(y){return y+1})}));return function(){i.current=!1,R()}},[]);var p=m.useCallback(function(R,y){u.current.mutate(R,y).catch(V)},[]);if(l.error&&W(void 0,u.current.options.useErrorBoundary,[l.error]))throw l.error;return b({},l,{mutate:p,mutateAsync:l.mutate})}function ue(e){const s=e.providers,r=Object.keys(s),i={};for(let n=0;n=0,"there is no valid rules list in the rules API response"),e.rules.map((s,r)=>_(h({},s),{id:r}))}async function me(e,s){let r={rules:[]};try{const{url:i,init:n}=w(s),t=await fetch(i+e,n);t.ok&&(r=await t.json())}catch(i){console.log("failed to fetch rules",i)}return he(r)}const k=H({key:"ruleFilterText",default:""});function ve(e,s){const r=P(),{mutate:i,isLoading:n}=E(T,{onSuccess:()=>{r.invalidateQueries("/providers/rules")}});return[o=>{o.preventDefault(),i({name:e,apiConfig:s})},n]}function pe(e){const s=P(),{data:r}=B(e),{mutate:i,isLoading:n}=E(ce,{onSuccess:()=>{s.invalidateQueries("/providers/rules")}});return[o=>{o.preventDefault(),i({names:r.names,apiConfig:e})},n]}function B(e){return S(["/providers/rules",e],()=>le("/providers/rules",e))}function Re(e){const{data:s,isFetching:r}=S(["/rules",e],()=>me("/rules",e)),{data:i}=B(e),[n]=G(k);if(n==="")return{rules:s,provider:i,isFetching:r};{const t=n.toLowerCase();return{rules:s.filter(o=>o.payload.toLowerCase().indexOf(t)>=0),isFetching:r,provider:{byName:i.byName,names:i.names.filter(o=>o.toLowerCase().indexOf(t)>=0)}}}}const ye="_RuleProviderItem_12aid_1",_e="_left_12aid_7",ge="_middle_12aid_14",be="_gray_12aid_21",Pe="_action_12aid_25",we="_refreshBtn_12aid_32";var f={RuleProviderItem:ye,left:_e,middle:ge,gray:be,action:Pe,refreshBtn:we};function Oe({idx:e,name:s,vehicleType:r,behavior:i,updatedAt:n,ruleCount:t,apiConfig:o}){const[d,u]=ve(s,o),l=ne(new Date(n),new Date);return c("div",{className:f.RuleProviderItem,children:[a("span",{className:f.left,children:e}),c("div",{className:f.middle,children:[a(J,{name:s,type:`${r} / ${i}`}),a("div",{className:f.gray,children:t<2?`${t} rule`:`${t} rules`}),c("div",{className:f.action,children:[c(K,{onClick:d,disabled:u,className:f.refreshBtn,children:[a(N,{isRotating:u,size:13}),a("span",{className:"visually-hidden",children:"Refresh"})]}),c("small",{className:f.gray,children:["Updated ",l," ago"]})]})]})]})}function Ie({apiConfig:e}){const[s,r]=pe(e),{t:i}=x();return a(se,{icon:a(N,{isRotating:r}),text:i("update_all_rule_provider"),style:ie,onClick:s})}const Ce="_rule_1ymqx_1",Me="_left_1ymqx_12",Se="_a_1ymqx_19",xe="_b_1ymqx_26",Ne="_type_1ymqx_37";var v={rule:Ce,left:Me,a:Se,b:xe,type:Ne};const g={_default:"#59caf9",DIRECT:"#f5bc41",REJECT:"#cb3166"};function Ee({proxy:e}){let s=g._default;return g[e]&&(s=g[e]),{color:s}}function Te({type:e,payload:s,proxy:r,id:i}){const n=Ee({proxy:r});return c("div",{className:v.rule,children:[a("div",{className:v.left,children:i}),c("div",{children:[a("div",{className:v.b,children:s}),c("div",{className:v.a,children:[a("div",{className:v.type,children:e}),a("div",{style:n,children:r})]})]})]})}const ke="_header_1j1w3_1",Be="_RuleProviderItemWrapper_1j1w3_17";var U={header:ke,RuleProviderItemWrapper:Be};const{memo:Ue}=m,C=30;function Ae(e,{rules:s,provider:r}){const i=r.names.length;return e{const{rules:i,provider:n,apiConfig:t}=r,o=n.names.length;if(e({apiConfig:Y(e)});var Je=X($e)(qe);function qe({apiConfig:e}){const[s,r]=oe(),{rules:i,provider:n}=Re(e),t=Fe({provider:n}),{t:o}=x();return c("div",{children:[c("div",{className:U.header,children:[a(Z,{title:o("Rules")}),a(re,{placeholder:"Filter",textAtom:k})]}),a("div",{ref:s,style:{paddingBottom:C},children:a(te,{height:r-C,width:"100%",itemCount:i.length+n.names.length,itemSize:t,itemData:{rules:i,provider:n,apiConfig:e},itemKey:Ae,children:Le})}),n&&n.names&&n.names.length>0?a(Ie,{apiConfig:e}):null]})}export{Je as default}; diff --git a/clash/clash/dashboard/yacd/assets/Select-3de40504.css b/clash/clash/dashboard/yacd/assets/Select-3de40504.css new file mode 100644 index 0000000..7e80409 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Select-3de40504.css @@ -0,0 +1 @@ +._select_13zm8_1{height:40px;line-height:1.5;width:100%;padding-left:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-input-bg);color:var(--color-text);padding-right:20px;border-radius:4px;border:1px solid var(--color-input-border);background-image:url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23999999%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23999999%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);background-position:right 8px center;background-repeat:no-repeat}._select_13zm8_1:hover,._select_13zm8_1:focus{border-color:#343434;outline:none!important;color:var(--color-text-highlight);background-image:var(--select-bg-hover)}._select_13zm8_1:focus{box-shadow:#4299e199 0 0 0 3px}._select_13zm8_1 option{background-color:var(--color-background)} diff --git a/clash/clash/dashboard/yacd/assets/Select-a2c574c2.js b/clash/clash/dashboard/yacd/assets/Select-a2c574c2.js new file mode 100644 index 0000000..bf1b103 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Select-a2c574c2.js @@ -0,0 +1 @@ +import{j as s}from"./index-3b7e2f10.js";const o="_select_13zm8_1",r={select:o};function m({options:t,selected:c,onChange:l}){return s.jsx("select",{className:r.select,value:c,onChange:l,children:t.map(([e,n])=>s.jsx("option",{value:e,children:n},e))})}export{m as S}; diff --git a/clash/clash/dashboard/yacd/assets/Select.3926bbe9.js b/clash/clash/dashboard/yacd/assets/Select.3926bbe9.js deleted file mode 100644 index 3c76dd5..0000000 --- a/clash/clash/dashboard/yacd/assets/Select.3926bbe9.js +++ /dev/null @@ -1 +0,0 @@ -import{j as s}from"./index.25cbb458.js";const n="_select_13zm8_1";var o={select:n};function i({options:t,selected:c,onChange:l}){return s("select",{className:o.select,value:c,onChange:l,children:t.map(([e,r])=>s("option",{value:e,children:r},e))})}export{i as S}; diff --git a/clash/clash/dashboard/yacd/assets/Select.aace7191.css b/clash/clash/dashboard/yacd/assets/Select.aace7191.css deleted file mode 100644 index b3abe6a..0000000 --- a/clash/clash/dashboard/yacd/assets/Select.aace7191.css +++ /dev/null @@ -1 +0,0 @@ -._select_13zm8_1{height:40px;line-height:1.5;width:100%;padding-left:8px;-webkit-appearance:none;appearance:none;background-color:var(--color-input-bg);color:var(--color-text);padding-right:20px;border-radius:4px;border:1px solid var(--color-input-border);background-image:url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23999999%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23999999%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);background-position:right 8px center;background-repeat:no-repeat}._select_13zm8_1:hover,._select_13zm8_1:focus{border-color:#343434;outline:none!important;color:var(--color-text-highlight);background-image:var(--select-bg-hover)}._select_13zm8_1:focus{box-shadow:#4299e199 0 0 0 3px}._select_13zm8_1 option{background-color:var(--color-background)} diff --git a/clash/clash/dashboard/yacd/assets/StyleGuide-255b125c.css b/clash/clash/dashboard/yacd/assets/StyleGuide-255b125c.css new file mode 100644 index 0000000..cc6b488 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/StyleGuide-255b125c.css @@ -0,0 +1 @@ +._ToggleSwitch_10mtp_1{-webkit-user-select:none;user-select:none;border-radius:4px;border:1px solid #525252;color:var(--color-text);background:var(--color-toggle-bg);display:flex;position:relative;outline:none}._ToggleSwitch_10mtp_1:focus{border-color:var(--color-focus-blue)}._ToggleSwitch_10mtp_1 input{position:absolute;left:0;opacity:0}._ToggleSwitch_10mtp_1 label{z-index:2;display:flex;align-items:center;justify-content:center;padding:10px 0;cursor:pointer}._slider_10mtp_28{z-index:1;position:absolute;display:block;left:0;height:100%;transition:left .2s ease-out;background:var(--color-toggle-selected)} diff --git a/clash/clash/dashboard/yacd/assets/StyleGuide-65b412f2.js b/clash/clash/dashboard/yacd/assets/StyleGuide-65b412f2.js new file mode 100644 index 0000000..4dd6e29 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/StyleGuide-65b412f2.js @@ -0,0 +1 @@ +import{R as p,r as c,j as e,al as f,B as i,am as b}from"./index-3b7e2f10.js";import{T}from"./Toggle-7a52109a.js";import{I as y}from"./Input-157c292d.js";import{Z as v,a as h}from"./ZapAnimated-e7ea61af.js";const S="_ToggleSwitch_10mtp_1",w="_slider_10mtp_28",j={ToggleSwitch:S,slider:w};function L({options:t,value:n,name:x,onChange:u}){const d=c.useMemo(()=>t.map(s=>s.value).indexOf(n),[t,n]),r=c.useCallback(s=>{const a=Math.floor(100/t.length);if(s===t.length-1)return 100-t.length*a+a;if(s>-1)return a},[t]),m=c.useMemo(()=>({width:r(d)+"%",left:d*r(0)+"%"}),[d,r]);return e.jsxs("div",{className:j.ToggleSwitch,children:[e.jsx("div",{className:j.slider,style:m}),t.map((s,a)=>{const o=`${x}-${s.label}`,g=a===0?"":"border-left";return e.jsxs("label",{htmlFor:o,className:g,style:{width:r(a)+"%"},children:[e.jsx("input",{id:o,name:x,type:"radio",value:s.value,checked:n===s.value,onChange:u}),e.jsx("div",{children:s.label})]},o)})]})}const R=p.memo(L),_=()=>{},P={padding:"20px 0"},M=[{label:"Global",value:"Global"},{label:"Rule",value:"Rule"},{label:"Direct",value:"Direct"}],l=({children:t,style:n})=>e.jsx("div",{style:{...P,...n},children:t});class G extends c.PureComponent{render(){return e.jsxs("div",{children:[e.jsx(l,{children:e.jsx(f,{})}),e.jsxs(l,{children:[e.jsx(T,{id:"t0"}),e.jsx("label",{htmlFor:"t0",style:{paddingLeft:12},children:"Toggle Me"})]}),e.jsx(l,{children:e.jsx("input",{})}),e.jsx(l,{children:e.jsx(v,{})}),e.jsx(l,{children:e.jsx(y,{})}),e.jsx(l,{children:e.jsx(R,{name:"test",options:M,value:"Rule",onChange:_})}),e.jsxs(l,{children:[e.jsx(i,{text:"Test Lxatency",start:e.jsx(h,{size:16})}),e.jsx(i,{text:"Test Lxatency",start:e.jsx(h,{size:16}),isLoading:!0}),e.jsx(i,{label:"Test Lxatency"}),e.jsx(i,{label:"Button Plain",kind:"minimal"})]}),e.jsx(l,{style:{paddingLeft:20},children:e.jsx(b,{})})]})}}export{G as default}; diff --git a/clash/clash/dashboard/yacd/assets/TextFilter-379059dd.js b/clash/clash/dashboard/yacd/assets/TextFilter-379059dd.js new file mode 100644 index 0000000..311d8d2 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/TextFilter-379059dd.js @@ -0,0 +1 @@ +import{r as g,R as c,P as i,c as m,j as l,n as x,k as d}from"./index-3b7e2f10.js";import{d as h}from"./debounce-c1ba2006.js";function u(){return u=Object.assign||function(t){for(var n=1;n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(e[o]=t[o])}return e}function b(t,n){if(t==null)return{};var e={},o=Object.keys(t),r,s;for(s=0;s=0)&&(e[r]=t[r]);return e}var p=g.forwardRef(function(t,n){var e=t.color,o=e===void 0?"currentColor":e,r=t.size,s=r===void 0?24:r,a=v(t,["color","size"]);return c.createElement("svg",u({ref:n,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:o,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),c.createElement("polyline",{points:"23 4 23 10 17 10"}),c.createElement("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"}))});p.propTypes={color:i.string,size:i.oneOfType([i.string,i.number])};p.displayName="RotateCw";const y=p,R="_rotate_1dspl_1",_="_isRotating_1dspl_5",j="_rotating_1dspl_1",f={rotate:R,isRotating:_,rotating:j};function $(t){const n=t.size||16,e=m(f.rotate,{[f.isRotating]:t.isRotating});return l.jsx("span",{className:e,children:l.jsx(y,{size:n})})}const{useCallback:w,useState:O,useMemo:T}=d;function C(t){const[,n]=x(t),[e,o]=O(""),r=T(()=>h(n,300),[n]);return[w(a=>{o(a.target.value),r(a.target.value)},[r]),e]}const k="_input_16a1f_1",z={input:k};function L(t){const[n,e]=C(t.textAtom);return l.jsx("input",{className:z.input,type:"text",value:e,onChange:n,placeholder:t.placeholder})}export{$ as R,L as T,y as a}; diff --git a/clash/clash/dashboard/yacd/assets/TextFilter-ced87fc6.css b/clash/clash/dashboard/yacd/assets/TextFilter-ced87fc6.css new file mode 100644 index 0000000..c06c7e6 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/TextFilter-ced87fc6.css @@ -0,0 +1 @@ +._rotate_1dspl_1{display:inline-flex}._isRotating_1dspl_5{animation:_rotating_1dspl_1 3s infinite linear;animation-fill-mode:forwards}@keyframes _rotating_1dspl_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._input_16a1f_1{-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%}._input_16a1f_1:focus{border:1px solid var(--color-focus-blue)} diff --git a/clash/clash/dashboard/yacd/assets/TextFitler.3d9182a0.css b/clash/clash/dashboard/yacd/assets/TextFitler.3d9182a0.css deleted file mode 100644 index bbdf014..0000000 --- a/clash/clash/dashboard/yacd/assets/TextFitler.3d9182a0.css +++ /dev/null @@ -1 +0,0 @@ -._rotate_1dspl_1{display:inline-flex}._isRotating_1dspl_5{-webkit-animation:_rotating_1dspl_1 3s infinite linear;animation:_rotating_1dspl_1 3s infinite linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes _rotating_1dspl_1{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes _rotating_1dspl_1{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}._input_16a1f_1{-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%}._input_16a1f_1:focus{border:1px solid var(--color-focus-blue)} diff --git a/clash/clash/dashboard/yacd/assets/TextFitler.89e5df06.js b/clash/clash/dashboard/yacd/assets/TextFitler.89e5df06.js deleted file mode 100644 index a4f4b55..0000000 --- a/clash/clash/dashboard/yacd/assets/TextFitler.89e5df06.js +++ /dev/null @@ -1 +0,0 @@ -var v=Object.defineProperty,h=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var u=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var p=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,g=(t,e)=>{for(var o in e||(e={}))_.call(e,o)&&p(t,o,e[o]);if(u)for(var o of u(e))b.call(e,o)&&p(t,o,e[o]);return t},f=(t,e)=>h(t,x(e));import{r as y,b as m,j as i,P as c,c as R,U as w,h as j}from"./index.25cbb458.js";import{d as O}from"./debounce.d080d5e1.js";function T(t,e){if(t==null)return{};var o=k(t,e),r,n;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0)&&(!Object.prototype.propertyIsEnumerable.call(t,r)||(o[r]=t[r]))}return o}function k(t,e){if(t==null)return{};var o={},r=Object.keys(t),n,a;for(a=0;a=0)&&(o[n]=t[n]);return o}var l=y.exports.forwardRef(function(t,e){var o=t.color,r=o===void 0?"currentColor":o,n=t.size,a=n===void 0?24:n,s=T(t,["color","size"]);return m("svg",f(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),{children:[i("polyline",{points:"23 4 23 10 17 10"}),i("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}))});l.propTypes={color:c.string,size:c.oneOfType([c.string,c.number])};l.displayName="RotateCw";var C=l;const z="_rotate_1dspl_1",P="_isRotating_1dspl_5",L="_rotating_1dspl_1";var d={rotate:z,isRotating:P,rotating:L};function E(t){const e=t.size||16,o=R(d.rotate,{[d.isRotating]:t.isRotating});return i("span",{className:o,children:i(C,{size:e})})}const{useCallback:$,useState:I,useMemo:N}=j;function W(t){const[,e]=w(t),[o,r]=I(""),n=N(()=>O(e,300),[e]);return[$(s=>{r(s.target.value),n(s.target.value)},[n]),o]}const M="_input_16a1f_1";var S={input:M};function F(t){const[e,o]=W(t.textAtom);return i("input",{className:S.input,type:"text",value:o,onChange:e,placeholder:t.placeholder})}export{E as R,F as T,C as a}; diff --git a/clash/clash/dashboard/yacd/assets/Toggle-4f572f6c.css b/clash/clash/dashboard/yacd/assets/Toggle-4f572f6c.css new file mode 100644 index 0000000..7d63665 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Toggle-4f572f6c.css @@ -0,0 +1 @@ +._toggle_o4ww2_1{--height: 28px;--width: 44px;--knob-size: 24px;display:inline-flex;align-items:center;cursor:pointer;position:relative;width:var(--width);height:var(--height)}._toggle_o4ww2_1 ._input_o4ww2_12{opacity:0;width:0}._toggle_o4ww2_1 ._input_o4ww2_12:checked+._track_o4ww2_16{background-color:#047aff}._toggle_o4ww2_1 ._input_o4ww2_12:checked+._track_o4ww2_16:before{transform:translate(calc(var(--width) - var(--height)))}._toggle_o4ww2_1 ._input_o4ww2_12:disabled+._track_o4ww2_16{opacity:.8;cursor:not-allowed}._toggle_o4ww2_1 ._input_o4ww2_12:focus-visible+._track_o4ww2_16{outline:solid 1px var(--color-focus-blue);outline-offset:2px}._toggle_o4ww2_1 ._track_o4ww2_16{width:var(--width);height:var(--height);position:absolute;cursor:pointer;top:0;left:0;bottom:0;transition:transform .15s,background-color .15s;background:var(--bg-toggle-track);border-radius:100px}._toggle_o4ww2_1 ._track_o4ww2_16:before{position:absolute;content:"";width:var(--knob-size);height:var(--knob-size);background-color:#fff;transition:all .4s;border-radius:100%;top:calc((var(--height) - var(--knob-size)) / 2);left:calc((var(--height) - var(--knob-size)) / 2)} diff --git a/clash/clash/dashboard/yacd/assets/Toggle-7a52109a.js b/clash/clash/dashboard/yacd/assets/Toggle-7a52109a.js new file mode 100644 index 0000000..523c69e --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/Toggle-7a52109a.js @@ -0,0 +1 @@ +import{r as c,j as e}from"./index-3b7e2f10.js";const f="_toggle_o4ww2_1",_="_input_o4ww2_12",x="_track_o4ww2_16",a={toggle:f,input:_,track:x};function m({id:g,checked:t,disabled:o,onChange:n}){const[p,u]=c.useState(!!t),r=c.useRef(!!t);c.useEffect(()=>{r.current!==t&&u(!!t),r.current=!!t},[t]);const l=c.useCallback(s=>{o||(u(s),n&&n(s))},[o,n]);return e.jsxs("label",{className:a.toggle,children:[e.jsx("input",{className:a.input,id:g,type:"checkbox",onChange:s=>l(s.target.checked),checked:p,disabled:o}),e.jsx("span",{className:a.track})]})}export{m as T}; diff --git a/clash/clash/dashboard/yacd/assets/TwemojiCountryFlags-9f04f144.woff2 b/clash/clash/dashboard/yacd/assets/TwemojiCountryFlags-9f04f144.woff2 new file mode 100644 index 0000000..b9d6ea8 Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/TwemojiCountryFlags-9f04f144.woff2 differ diff --git a/clash/clash/dashboard/yacd/assets/ZapAnimated-6c3cdb8c.css b/clash/clash/dashboard/yacd/assets/ZapAnimated-6c3cdb8c.css new file mode 100644 index 0000000..15daa79 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/ZapAnimated-6c3cdb8c.css @@ -0,0 +1 @@ +._animate_1w0e8_1{--saturation: 70%;stroke:hsl(46deg,var(--saturation),45%);transform:scale(1);animation:_zap-pulse_1w0e8_1 .7s 0s ease-in-out none normal infinite}@keyframes _zap-pulse_1w0e8_1{0%{stroke:hsl(46deg,var(--saturation),45%);transform:scale(1)}50%{stroke:hsl(46deg,var(--saturation),95%);transform:scale(1.1)}to{stroke:hsl(46deg,var(--saturation),45%);transform:scale(1)}} diff --git a/clash/clash/dashboard/yacd/assets/ZapAnimated-e7ea61af.js b/clash/clash/dashboard/yacd/assets/ZapAnimated-e7ea61af.js new file mode 100644 index 0000000..c248c0e --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/ZapAnimated-e7ea61af.js @@ -0,0 +1 @@ +import{r as u,R as l,P as s,c as g,j as c}from"./index-3b7e2f10.js";function a(){return a=Object.assign||function(t){for(var n=1;n=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(e[r]=t[r])}return e}function v(t,n){if(t==null)return{};var e={},r=Object.keys(t),o,i;for(i=0;i=0)&&(e[o]=t[o]);return e}var p=u.forwardRef(function(t,n){var e=t.color,r=e===void 0?"currentColor":e,o=t.size,i=o===void 0?24:o,f=m(t,["color","size"]);return l.createElement("svg",a({ref:n,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},f),l.createElement("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"}))});p.propTypes={color:s.string,size:s.oneOfType([s.string,s.number])};p.displayName="Zap";const y=p,h="_animate_1w0e8_1",w={animate:h,"zap-pulse":"_zap-pulse_1w0e8_1"};function j(t){const n=t.size||24,e=g({[w.animate]:t.animate});return c.jsx("svg",{className:e,xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})})}export{j as Z,y as a}; diff --git a/clash/clash/dashboard/yacd/assets/chart-lib-da3c73a9.js b/clash/clash/dashboard/yacd/assets/chart-lib-da3c73a9.js new file mode 100644 index 0000000..91c9602 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/chart-lib-da3c73a9.js @@ -0,0 +1,16 @@ +var _n=Object.defineProperty;var xn=(i,t,e)=>t in i?_n(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var w=(i,t,e)=>(xn(i,typeof t!="symbol"?t+"":t,e),e);/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function Jt(i){return i+.5|0}const ot=(i,t,e)=>Math.max(Math.min(i,e),t);function Wt(i){return ot(Jt(i*2.55),0,255)}function ht(i){return ot(Jt(i*255),0,255)}function it(i){return ot(Jt(i/2.55)/100,0,1)}function pi(i){return ot(Jt(i*100),0,100)}const q={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ye=[..."0123456789ABCDEF"],yn=i=>Ye[i&15],vn=i=>Ye[(i&240)>>4]+Ye[i&15],ne=i=>(i&240)>>4===(i&15),kn=i=>ne(i.r)&&ne(i.g)&&ne(i.b)&&ne(i.a);function wn(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&q[i[1]]*17,g:255&q[i[2]]*17,b:255&q[i[3]]*17,a:t===5?q[i[4]]*17:255}:(t===7||t===9)&&(e={r:q[i[1]]<<4|q[i[2]],g:q[i[3]]<<4|q[i[4]],b:q[i[5]]<<4|q[i[6]],a:t===9?q[i[7]]<<4|q[i[8]]:255})),e}const Mn=(i,t)=>i<255?t(i):"";function Sn(i){var t=kn(i)?yn:vn;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Mn(i.a,t):void 0}const Pn=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ts(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Dn(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function On(i,t,e){const s=Ts(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function Ln(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=Ln(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function ii(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(ht)}function si(i,t,e){return ii(Ts,i,t,e)}function Cn(i,t,e){return ii(On,i,t,e)}function Tn(i,t,e){return ii(Dn,i,t,e)}function Is(i){return(i%360+360)%360}function In(i){const t=Pn.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?Wt(+t[5]):ht(+t[5]));const n=Is(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=Cn(n,o,r):t[1]==="hsv"?s=Tn(n,o,r):s=si(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function An(i,t){var e=ei(i);e[0]=Is(e[0]+t),e=si(e),i.r=e[0],i.g=e[1],i.b=e[2]}function Fn(i){if(!i)return;const t=ei(i),e=t[0],s=pi(t[1]),n=pi(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${it(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const mi={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},bi={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function zn(){const i={},t=Object.keys(bi),e=Object.keys(mi);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let oe;function En(i){oe||(oe=zn(),oe.transparent=[0,0,0,0]);const t=oe[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const Rn=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Bn(i){const t=Rn.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?Wt(r):ot(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?Wt(s):ot(s,0,255)),n=255&(t[4]?Wt(n):ot(n,0,255)),o=255&(t[6]?Wt(o):ot(o,0,255)),{r:s,g:n,b:o,a:e}}}function Hn(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${it(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Ee=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Pt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function Nn(i,t,e){const s=Pt(it(i.r)),n=Pt(it(i.g)),o=Pt(it(i.b));return{r:ht(Ee(s+e*(Pt(it(t.r))-s))),g:ht(Ee(n+e*(Pt(it(t.g))-n))),b:ht(Ee(o+e*(Pt(it(t.b))-o))),a:i.a+e*(t.a-i.a)}}function re(i,t,e){if(i){let s=ei(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=si(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function As(i,t){return i&&Object.assign(t||{},i)}function _i(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=ht(i[3]))):(t=As(i,{r:0,g:0,b:0,a:1}),t.a=ht(t.a)),t}function Wn(i){return i.charAt(0)==="r"?Bn(i):In(i)}class Kt{constructor(t){if(t instanceof Kt)return t;const e=typeof t;let s;e==="object"?s=_i(t):e==="string"&&(s=wn(t)||En(t)||Wn(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=As(this._rgb);return t&&(t.a=it(t.a)),t}set rgb(t){this._rgb=_i(t)}rgbString(){return this._valid?Hn(this._rgb):void 0}hexString(){return this._valid?Sn(this._rgb):void 0}hslString(){return this._valid?Fn(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=Nn(this._rgb,t._rgb,e)),this}clone(){return new Kt(this.rgb)}alpha(t){return this._rgb.a=ht(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Jt(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return re(this._rgb,2,t),this}darken(t){return re(this._rgb,2,-t),this}saturate(t){return re(this._rgb,1,t),this}desaturate(t){return re(this._rgb,1,-t),this}rotate(t){return An(this._rgb,t),this}}/*! + * Chart.js v4.4.0 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */const Vn=(()=>{let i=0;return()=>i++})();function A(i){return i===null||typeof i>"u"}function F(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function L(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function z(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function $(i,t){return z(i)?i:t}function D(i,t){return typeof i>"u"?t:i}const jn=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function I(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function N(i,t,e,s){let n,o,r;if(F(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ni,x:i=>i.x,y:i=>i.y};function Yn(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function Xn(i){const t=Yn(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function we(i,t){return(yi[t]||(yi[t]=Xn(t)))(i)}function ni(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Me=i=>typeof i<"u",ft=i=>typeof i=="function",vi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function Kn(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const B=Math.PI,X=2*B,qn=X+B,Se=Number.POSITIVE_INFINITY,Gn=B/180,Y=B/2,dt=B/4,ki=B*2/3,rt=Math.log10,Ot=Math.sign;function $t(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Gt(i){return!isNaN(parseFloat(i))&&isFinite(i)}function Qn(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function zs(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ri(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const _t=(i,t,e,s)=>ri(i,e,s?n=>{const o=i[n][t];return oi[n][t]ri(i,e,s=>i[s][t]>=e);function so(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+ni(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Pi(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(Rs.forEach(o=>{delete i[o]}),delete i._chartjs)}function oo(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const Bs=function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame}();function Hs(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Bs.call(window,()=>{s=!1,i.apply(t,e)}))}}function ro(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const Ns=i=>i==="start"?"left":i==="end"?"right":"center",j=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,ao=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function lo(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,_parsed:a}=i,l=r.axis,{min:c,max:h,minDefined:f,maxDefined:d}=r.getUserBounds();f&&(n=J(Math.min(_t(a,l,c).lo,e?s:_t(t,l,r.getPixelForValue(c)).lo),0,s-1)),d?o=J(Math.max(_t(a,r.axis,h,!0).hi+1,e?0:_t(t,l,r.getPixelForValue(h),!0).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function co(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const ae=i=>i===0||i===1,Di=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*X/e)),Oi=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*X/e)+1,Ut={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*Y)+1,easeOutSine:i=>Math.sin(i*Y),easeInOutSine:i=>-.5*(Math.cos(B*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>ae(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>ae(i)?i:Di(i,.075,.3),easeOutElastic:i=>ae(i)?i:Oi(i,.075,.3),easeInOutElastic(i){return ae(i)?i:i<.5?.5*Di(i*2,.1125,.45):.5+.5*Oi(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Ut.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Ut.easeInBounce(i*2)*.5:Ut.easeOutBounce(i*2-1)*.5+.5};function ai(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Li(i){return ai(i)?i:new Kt(i)}function Re(i){return ai(i)?i:new Kt(i).saturate(.5).darken(.1).hexString()}const ho=["x","y","borderWidth","radius","tension"],fo=["color","borderColor","backgroundColor"];function uo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:fo},numbers:{type:"number",properties:ho}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function go(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Ci=new Map;function po(i,t){t=t||{};const e=i+JSON.stringify(t);let s=Ci.get(e);return s||(s=new Intl.NumberFormat(i,t),Ci.set(e,s)),s}function li(i,t,e){return po(t,e).format(i)}const Ws={values(i){return F(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=mo(i,e)}const r=rt(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),li(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";const s=e[t].significand||i/Math.pow(10,Math.floor(rt(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?Ws.numeric.call(this,i,t,e):""}};function mo(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Te={formatters:Ws};function bo(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Te.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const yt=Object.create(null),Xe=Object.create(null);function Yt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>Re(n.backgroundColor),this.hoverBorderColor=(s,n)=>Re(n.borderColor),this.hoverColor=(s,n)=>Re(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Be(this,t,e)}get(t){return Yt(this,t)}describe(t,e){return Be(Xe,t,e)}override(t,e){return Be(yt,t,e)}route(t,e,s,n){const o=Yt(this,t),r=Yt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return L(l)?Object.assign({},c,l):D(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var E=new _o({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[uo,go,bo]);function xo(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Pe(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function yo(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let r=0;const a=e.length;let l,c,h,f,d;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function st(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Mo(i,o),l=0;l+i||0;function $s(i,t){const e={},s=L(t),n=s?Object.keys(t):t,o=L(i)?s?r=>D(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=Co(o(r));return e}function To(i){return $s(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Us(i){return $s(i,["topLeft","topRight","bottomLeft","bottomRight"])}function G(i){const t=To(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function tt(i,t){i=i||{},t=t||E.font;let e=D(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=D(i.style,t.style);s&&!(""+s).match(Oo)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:D(i.family,t.family),lineHeight:Lo(D(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:D(i.weight,t.weight),string:""};return n.string=xo(n),n}function le(i,t,e,s){let n=!0,o,r,a;for(o=0,r=i.length;oe&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function kt(i,t){return Object.assign(Object.create(i),t)}function ci(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=qs("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>ci([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return Xs(a,l,()=>No(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return Ai(a).includes(l)},ownKeys(a){return Ai(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function Ct(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:Ys(i,s),setContext:o=>Ct(i,o,e,s),override:o=>Ct(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return Xs(o,r,()=>Fo(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function Ys(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}const Ao=(i,t)=>i?i+ni(t):t,hi=(i,t)=>L(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Xs(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t))return i[t];const s=e();return i[t]=s,s}function Fo(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return ft(a)&&r.isScriptable(t)&&(a=zo(t,a,i,e)),F(a)&&a.length&&(a=Eo(t,a,i,r.isIndexable)),hi(t,a)&&(a=Ct(a,n,o&&o[t],r)),a}function zo(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),hi(i,l)&&(l=fi(n._scopes,n,i,l)),l}function Eo(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(L(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const f=fi(c,n,i,h);t.push(Ct(f,o,r&&r[i],a))}}return t}function Ks(i,t,e){return ft(i)?i(t,e):i}const Ro=(i,t)=>i===!0?t:typeof i=="string"?we(t,i):void 0;function Bo(i,t,e,s,n){for(const o of t){const r=Ro(e,o);if(r){i.add(r);const a=Ks(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function fi(i,t,e,s){const n=t._rootScopes,o=Ks(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Ii(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=Ii(a,r,o,l,s),l===null)?!1:ci(Array.from(a),[""],n,o,()=>Ho(t,e,s))}function Ii(i,t,e,s,n){for(;e;)e=Bo(i,t,e,s,n);return e}function Ho(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return F(n)&&L(e)?e:n||{}}function No(i,t,e,s){let n;for(const o of t)if(n=qs(Ao(o,i),e),typeof n<"u")return hi(i,n)?fi(e,s,i,n):n}function qs(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function Ai(i){let t=i._keys;return t||(t=i._keys=Wo(i._scopes)),t}function Wo(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const Vo=Number.EPSILON||1e-14,Tt=(i,t)=>ti==="x"?"y":"x";function jo(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Si(o,n),l=Si(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const f=s*c,d=s*h;return{previous:{x:o.x-f*(r.x-n.x),y:o.y-f*(r.y-n.y)},next:{x:o.x+d*(r.x-n.x),y:o.y+d*(r.y-n.y)}}}function $o(i,t,e){const s=i.length;let n,o,r,a,l,c=Tt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")Yo(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function qo(i,t){return Fe(i).getPropertyValue(t)}const Go=["top","right","bottom","left"];function xt(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=Go[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Zo=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function Qo(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(Zo(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function mt(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Fe(e),o=n.boxSizing==="border-box",r=xt(n,"padding"),a=xt(n,"border","width"),{x:l,y:c,box:h}=Qo(i,e),f=r.left+(h&&a.left),d=r.top+(h&&a.top);let{width:u,height:p}=t;return o&&(u-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-f)/u*e.width/s),y:Math.round((c-d)/p*e.height/s)}}function Jo(i,t,e){let s,n;if(t===void 0||e===void 0){const o=di(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Fe(o),l=xt(a,"border","width"),c=xt(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=De(a.maxWidth,o,"clientWidth"),n=De(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Se,maxHeight:n||Se}}const he=i=>Math.round(i*10)/10;function tr(i,t,e,s){const n=Fe(i),o=xt(n,"margin"),r=De(n.maxWidth,i,"clientWidth")||Se,a=De(n.maxHeight,i,"clientHeight")||Se,l=Jo(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const d=xt(n,"border","width"),u=xt(n,"padding");c-=u.width+d.width,h-=u.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=he(Math.min(c,r,l.maxWidth)),h=he(Math.min(h,a,l.maxHeight)),c&&!h&&(h=he(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=he(Math.floor(h*s))),{width:c,height:h}}function Fi(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const er=function(){let i=!1;try{const t={get passive(){return i=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return i}();function zi(i,t){const e=qo(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function bt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function ir(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function sr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=bt(i,n,e),a=bt(n,o,e),l=bt(o,t,e),c=bt(r,a,e),h=bt(a,l,e);return bt(c,h,e)}const nr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},or=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function He(i,t,e){return i?nr(t,e):or()}function rr(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function ar(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function Qs(i){return i==="angle"?{between:Es,compare:to,normalize:U}:{between:Dt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function lr(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=Qs(s),l=t.length;let{start:c,end:h,loop:f}=i,d,u;if(f){for(c+=l,h+=l,d=0,u=l;dl(n,S,b)&&a(n,S)!==0,_=()=>a(o,b)===0||l(o,S,b),k=()=>g||O(),y=()=>!g||_();for(let x=h,M=h;x<=f;++x)v=t[x%r],!v.skip&&(b=c(v[s]),b!==S&&(g=l(b,n,o),m===null&&k()&&(m=a(b,n)===0?x:M),m!==null&&y()&&(p.push(Ei({start:m,end:x,loop:d,count:r,style:u})),m=null),M=x,S=b));return m!==null&&p.push(Ei({start:m,end:f,loop:d,count:r,style:u})),p}function tn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function hr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function fr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=cr(e,n,o,s);if(s===!0)return Ri(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Bs.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var et=new gr;const Hi="transparent",pr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Li(i||Hi),n=s.valid&&Li(t||Hi);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class mr{constructor(t,e,s,n){const o=e[s];n=le([t.to,n,o,t.from]);const r=le([t.from,o,n]);this._active=!0,this._fn=t.fn||pr[t.type||typeof r],this._easing=Ut[t.easing]||Ut.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=le([t.to,e,n,t.from]),this._from=le([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n{const o=t[n];if(!L(o))return;const r={};for(const a of e)r[a]=o[a];(F(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=xr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&_r(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let f=o[c];const d=s.get(c);if(f)if(d&&f.active()){f.update(d,h,a);continue}else f.cancel();if(!d||!d.duration){t[c]=h;continue}o[c]=f=new mr(d,t,c,h),n.push(f)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return et.add(this._chart,s),!0}}function _r(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function $i(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=wr(o,r,s),f=t.length;let d;for(let u=0;ue[s].axis===t).shift()}function Pr(i,t){return kt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Dr(i,t,e){return kt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Et(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const We=i=>i==="reset"||i==="none",Ui=(i,t)=>t?i:Object.assign({},i),Or=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:en(e,!0),values:null};class Xt{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Vi(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Et(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(f,d,u,p)=>f==="x"?d:f==="r"?p:u,o=e.xAxisID=D(s.xAxisID,Ne(t,"x")),r=e.yAxisID=D(s.yAxisID,Ne(t,"y")),a=e.rAxisID=D(s.rAxisID,Ne(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Pi(this._data,this),t._stacked&&Et(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(L(e))this._data=kr(e);else if(s!==e){if(s){Pi(s,this);const n=this._cachedMeta;Et(n),n._parsed=[]}e&&Object.isExtensible(e)&&no(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Vi(e.vScale,e),e.stack!==s.stack&&(n=!0,Et(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&$i(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,f,d;if(this._parsing===!1)s._parsed=n,s._sorted=!0,d=n;else{F(n[t])?d=this.parseArrayData(s,n,t,e):L(n[t])?d=this.parseObjectData(s,n,t,e):d=this.parsePrimitiveData(s,n,t,e);const u=()=>f[a]===null||c&&f[a]g||f=0;--d)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(d,u,p,f);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(Ui(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,f=h.datasetAnimationScopeKeys(this._type,e),d=h.getOptionScopes(this.getDataset(),f);l=h.createResolver(d,this.getContext(t,s,e))}const c=new br(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||We(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:r}}updateElement(t,e,s,n){We(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!We(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;a0&&this.getParsed(e-1);for(let _=0;_=v){y.skip=!0;continue}const x=this.getParsed(_),M=A(x[u]),C=y[d]=r.getPixelForValue(x[d],_),P=y[u]=o||M?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,x,l):x[u],_);y.skip=isNaN(C)||isNaN(P)||M,y.stop=_>0&&Math.abs(x[d]-O[d])>m,g&&(y.parsed=x,y.raw=c.data[_]),f&&(y.options=h||this.resolveDataElementOptions(_,k.active?"active":n)),b||this.updateElement(k,_,y,n),O=x}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}w(_e,"id","line"),w(_e,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),w(_e,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});function gt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class ui{constructor(t){w(this,"options");this.options=t||{}}static override(t){Object.assign(ui.prototype,t)}init(){}formats(){return gt()}parse(){return gt()}format(){return gt()}add(){return gt()}diff(){return gt()}startOf(){return gt()}endOf(){return gt()}}var Lr={_date:ui};function Cr(i,t,e,s){const{controller:n,data:o,_sorted:r}=i,a=n._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?io:_t;if(s){if(n._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const f=l(o,t,e-h),d=l(o,t,e+h);return{lo:f.lo,hi:d.hi}}}}else return l(o,t,e)}return{lo:0,hi:o.length-1}}function te(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var Fr={evaluateInteractionItems:te,modes:{index(i,t,e,s){const n=mt(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ve(i,n,o,s,r):je(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,f=c.data[h];f&&!f.skip&&l.push({element:f,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=mt(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Ve(i,n,o,s,r):je(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function Xi(i,t){return i.filter(e=>sn.indexOf(e.pos)===-1&&e.box.axis===t)}function Bt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function zr(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=Bt(Rt(t,"left"),!0),n=Bt(Rt(t,"right")),o=Bt(Rt(t,"top"),!0),r=Bt(Rt(t,"bottom")),a=Xi(t,"x"),l=Xi(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Rt(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function Ki(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function nn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function Hr(i,t,e,s){const{pos:n,box:o}=e,r=i.maxPadding;if(!L(n)){e.size&&(i[n]-=e.size);const f=s[e.stack]||{size:0,count:1};f.size=Math.max(f.size,e.horizontal?o.height:o.width),e.size=f.size/f.count,i[n]+=e.size}o.getPadding&&nn(r,o.getPadding());const a=Math.max(0,t.outerWidth-Ki(r,i,"left","right")),l=Math.max(0,t.outerHeight-Ki(r,i,"top","bottom")),c=a!==i.w,h=l!==i.h;return i.w=a,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Nr(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Wr(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return s(i?["left","right"]:["top","bottom"])}function Vt(i,t,e,s){const n=[];let o,r,a,l,c,h;for(o=0,r=i.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),d=Object.assign({},n);nn(d,G(s));const u=Object.assign({maxPadding:d,w:o,h:r,x:n.left,y:n.top},n),p=Rr(l.concat(c),f);Vt(a.fullSize,u,f,p),Vt(l,u,f,p),Vt(c,u,f,p)&&Vt(l,u,f,p),Nr(u),qi(a.leftAndTop,u,f,p),u.x+=u.w,u.y+=u.h,qi(a.rightAndBottom,u,f,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},N(a.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class on{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class Vr extends on{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const xe="$chartjs",jr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Gi=i=>i===null||i==="";function $r(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[xe]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Gi(n)){const o=zi(i,"width");o!==void 0&&(i.width=o)}if(Gi(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=zi(i,"height");o!==void 0&&(i.height=o)}return i}const rn=er?{passive:!0}:!1;function Ur(i,t,e){i.addEventListener(t,e,rn)}function Yr(i,t,e){i.canvas.removeEventListener(t,e,rn)}function Xr(i,t){const e=jr[i.type]||i.type,{x:s,y:n}=mt(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Oe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Kr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.addedNodes,s),r=r&&!Oe(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function qr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.removedNodes,s),r=r&&!Oe(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const Zt=new Map;let Zi=0;function an(){const i=window.devicePixelRatio;i!==Zi&&(Zi=i,Zt.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function Gr(i,t){Zt.size||window.addEventListener("resize",an),Zt.set(i,t)}function Zr(i){Zt.delete(i),Zt.size||window.removeEventListener("resize",an)}function Qr(i,t,e){const s=i.canvas,n=s&&di(s);if(!n)return;const o=Hs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),Gr(i,o),r}function $e(i,t,e){e&&e.disconnect(),t==="resize"&&Zr(i)}function Jr(i,t,e){const s=i.canvas,n=Hs(o=>{i.ctx!==null&&e(Xr(o,i))},i);return Ur(s,t,n),n}class ta extends on{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?($r(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[xe])return!1;const s=e[xe].initial;["height","width"].forEach(o=>{const r=s[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[xe],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:Kr,detach:qr,resize:Qr}[e]||Jr;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:$e,detach:$e,resize:$e}[e]||Yr)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return tr(t,e,s,n)}isAttached(t){const e=di(t);return!!(e&&e.isConnected)}}function ea(i){return!Zs()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?Vr:ta}class vt{constructor(){w(this,"x");w(this,"y");w(this,"active",!1);w(this,"options");w(this,"$animations")}tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Gt(this.x)&&Gt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}w(vt,"defaults",{}),w(vt,"defaultRoutes");function ia(i,t){const e=i.options.ticks,s=sa(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?oa(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return ra(t,c,o,r/n),c;const h=na(o,t,n);if(r>0){let f,d;const u=r>1?Math.round((l-a)/(r-1)):null;for(de(t,c,h,A(u)?0:a-u,a),f=0,d=r-1;fn)return l}return Math.max(n,1)}function oa(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Qi=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,Ji=(i,t)=>Math.min(t||i,i);function ts(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;or+a)))return l}function ha(i,t){N(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:$(e,$(s,e)),max:$(s,$(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){I(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Io(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),f=h.widest.width,d=h.highest.height,u=J(this.chart.width-f,0,this.maxWidth);a=t.offset?this.maxWidth/s:u/(s-1),f+6>a&&(a=u/(s-(t.offset?.5:1)),l=this.maxHeight-Ht(t.grid)-e.padding-es(t.title,this.chart.options.font),c=Math.sqrt(f*f+d*d),r=oi(Math.min(Math.asin(J((h.highest.height+6)/a,-1,1)),Math.asin(J(l/c,-1,1))-Math.asin(J(d/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){I(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){I(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=es(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ht(o)+l):(t.height=this.maxHeight,t.width=Ht(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:f,highest:d}=this._getLabelSizes(),u=s.padding*2,p=at(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(a){const b=s.mirror?0:m*f.width+g*d.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*f.width+m*d.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let d=0,u=0;l?c?(d=n*t.width,u=s*e.height):(d=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?d=t.width:o!=="inner"&&(d=t.width/2,u=e.width/2),this.paddingLeft=Math.max((d-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-f+r)*this.width/(this.width-f),0)}else{let h=e.height/2,f=t.height/2;o==="start"?(h=0,f=t.height):o==="end"&&(h=e.height,f=0),this.paddingTop=h+r,this.paddingBottom=f+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){I(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:r[M]||0,height:a[M]||0});return{first:x(0),last:x(e-1),widest:x(k),highest:x(y),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return eo(this._alignToPixels?ut(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),f=this.ticks.length+(l?1:0),d=Ht(o),u=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(H){return ut(s,H,g)};let v,S,O,_,k,y,x,M,C,P,T,W;if(r==="top")v=b(this.bottom),y=this.bottom-d,M=v-m,P=b(t.top)+m,W=t.bottom;else if(r==="bottom")v=b(this.top),P=t.top,W=b(t.bottom)-m,y=v+m,M=this.top+d;else if(r==="left")v=b(this.right),k=this.right-d,x=v-m,C=b(t.left)+m,T=t.right;else if(r==="right")v=b(this.left),C=t.left,T=b(t.right)-m,k=v+m,x=this.left+d;else if(e==="x"){if(r==="center")v=b((t.top+t.bottom)/2+.5);else if(L(r)){const H=Object.keys(r)[0],K=r[H];v=b(this.chart.scales[H].getPixelForValue(K))}P=t.top,W=t.bottom,y=v+m,M=y+d}else if(e==="y"){if(r==="center")v=b((t.left+t.right)/2);else if(L(r)){const H=Object.keys(r)[0],K=r[H];v=b(this.chart.scales[H].getPixelForValue(K))}k=v-m,x=k-d,C=t.left,T=t.right}const Z=D(n.ticks.maxTicksLimit,f),R=Math.max(1,Math.ceil(f/Z));for(S=0;So.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");E.route(o,n,l,a)})}function ba(i){return"id"in i&&"defaults"in i}class _a{constructor(){this.controllers=new ue(Xt,"datasets",!0),this.elements=new ue(vt,"elements"),this.plugins=new ue(Object,"plugins"),this.scales=new ue(wt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):N(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=ni(t);I(s["before"+n],[],s),e[t](s),I(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function ya(i){const t={},e=[],s=Object.keys(Q.plugins.items);for(let o=0;o1&&is(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function ss(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function Da(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return ss(i,"x",e[0])||ss(i,"y",e[0])}return{}}function Oa(i,t){const e=yt[i.type]||{scales:{}},s=t.scales||{},n=Ke(i.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!L(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=qe(r,a,Da(r,i),E.scales[a.type]),c=Sa(l,n),h=e.scales||{};o[r]=jt(Object.create(null),[{axis:l},a,h[l],h[c]])}),i.data.datasets.forEach(r=>{const a=r.type||i.type,l=r.indexAxis||Ke(a,t),h=(yt[a]||{}).scales||{};Object.keys(h).forEach(f=>{const d=Ma(f,l),u=r[d+"AxisID"]||d;o[u]=o[u]||Object.create(null),jt(o[u],[{axis:d},s[u],h[f]])})}),Object.keys(o).forEach(r=>{const a=o[r];jt(a,[E.scales[a.type],E.scale])}),o}function ln(i){const t=i.options||(i.options={});t.plugins=D(t.plugins,{}),t.scales=Oa(i,t)}function cn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function La(i){return i=i||{},i.data=cn(i.data),ln(i),i}const ns=new Map,hn=new Set;function ge(i,t){let e=ns.get(i);return e||(e=t(),ns.set(i,e),hn.add(e)),e}const Nt=(i,t,e)=>{const s=we(t,e);s!==void 0&&i.add(s)};class Ca{constructor(t){this._config=La(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=cn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),ln(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ge(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return ge(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return ge(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return ge(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(f=>Nt(l,t,f))),h.forEach(f=>Nt(l,n,f)),h.forEach(f=>Nt(l,yt[o]||{},f)),h.forEach(f=>Nt(l,E,f)),h.forEach(f=>Nt(l,Xe,f))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),hn.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,yt[e]||{},E.datasets[e]||{},{type:e},E,Xe]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=os(this._resolverCache,t,n);let l=r;if(Ia(r,e)){o.$shared=!1,s=ft(s)?s():s;const c=this.createResolver(t,s,a);l=Ct(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=os(this._resolverCache,t,s);return L(e)?Ct(o,e,void 0,n):o}}function os(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:ci(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const Ta=i=>L(i)&&Object.getOwnPropertyNames(i).reduce((t,e)=>t||ft(i[e]),!1);function Ia(i,t){const{isScriptable:e,isIndexable:s}=Ys(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(ft(a)||Ta(a))||r&&F(a))return!0}return!1}var Aa="4.4.0";const Fa=["top","bottom","left","right","chartArea"];function rs(i,t){return i==="top"||i==="bottom"||Fa.indexOf(i)===-1&&t==="x"}function as(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function ls(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),I(e&&e.onComplete,[i],t)}function za(i){const t=i.chart,e=t.options.animation;I(e&&e.onProgress,[i],t)}function fn(i){return Zs()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const ye={},cs=i=>{const t=fn(i);return Object.values(ye).filter(e=>e.canvas===t).pop()};function Ea(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function Ra(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}function pe(i,t,e){return i.options.clip?i[e]:t[e]}function Ba(i,t){const{xScale:e,yScale:s}=i;return e&&s?{left:pe(e,t,"left"),right:pe(e,t,"right"),top:pe(s,t,"top"),bottom:pe(s,t,"bottom")}:t}class nt{static register(...t){Q.add(...t),hs()}static unregister(...t){Q.remove(...t),hs()}constructor(t,e){const s=this.config=new Ca(e),n=fn(t),o=cs(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ea(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=Vn(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new xa,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ro(f=>this.update(f),r.resizeDelay||0),this._dataChanges=[],ye[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}et.listen(this,"complete",ls),et.listen(this,"progress",za),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return Q}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Fi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ti(this.canvas,this.ctx),this}stop(){return et.stop(this),this}resize(t,e){et.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Fi(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),I(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};N(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=qe(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),N(o,r=>{const a=r.options,l=a.id,c=qe(l,a),h=D(a.type,r.dtype);(a.position===void 0||rs(a.position,c)!==rs(r.dposition))&&(a.position=r.dposition),n[l]=!0;let f=null;if(l in s&&s[l].type===h)f=s[l];else{const d=Q.getScale(h);f=new d({id:l,type:h,ctx:this.ctx,chart:this}),s[f.id]=f}f.init(a,t)}),N(n,(r,a)=>{r||delete s[a]}),N(s,r=>{lt.configure(this,r,r.options),lt.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(as("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){N(this.scales,t=>{lt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!vi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;Ea(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;lt.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],N(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s=t._clip,n=!s.disabled,o=Ba(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(n&&Ie(e,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),n&&Ae(e),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return st(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=Fr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=kt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Me(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),et.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};N(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){N(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},N(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!xi(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(f=>h.datasetIndex===f.datasetIndex&&h.index===f.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=Kn(t),c=Ra(t,this._lastEvent,s,l);s&&(this._lastEvent=null,I(o.onHover,[t,a,this],this),l&&I(o.onClick,[t,a,this],this));const h=!xi(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}w(nt,"defaults",E),w(nt,"instances",ye),w(nt,"overrides",yt),w(nt,"registry",Q),w(nt,"version",Aa),w(nt,"getChart",cs);function hs(){return N(nt.instances,i=>i._plugins.invalidate())}function dn(i,t,e=t){i.lineCap=D(e.borderCapStyle,t.borderCapStyle),i.setLineDash(D(e.borderDash,t.borderDash)),i.lineDashOffset=D(e.borderDashOffset,t.borderDashOffset),i.lineJoin=D(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=D(e.borderWidth,t.borderWidth),i.strokeStyle=D(e.borderColor,t.borderColor)}function Ha(i,t,e){i.lineTo(e.x,e.y)}function Na(i){return i.stepped?ko:i.tension||i.cubicInterpolationMode==="monotone"?wo:Ha}function un(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-O:O))%o,S=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[v(0)],i.moveTo(u.x,u.y)),d=0;d<=a;++d){if(u=n[v(d)],u.skip)continue;const O=u.x,_=u.y,k=O|0;k===p?(_m&&(m=_),h=(f*h+O)/++f):(S(),i.lineTo(O,_),p=k,f=0,g=m=_),b=_}S()}function Ge(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Va:Wa}function ja(i){return i.stepped?ir:i.tension||i.cubicInterpolationMode==="monotone"?sr:bt}function $a(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),dn(i,t.options),i.stroke(n)}function Ua(i,t,e,s){const{segments:n,options:o}=t,r=Ge(t);for(const a of n)dn(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Ya=typeof Path2D=="function";function Xa(i,t,e,s){Ya&&!t.options.segment?$a(i,t,e,s):Ua(i,t,e,s)}class ct extends vt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;Ko(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=fr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=tn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=ja(s);let c,h;for(c=0,h=r.length;ct!=="borderDash"&&t!=="fill"});function fs(i,t,e,s){const n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o){a=gi(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function gi(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function ds(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function gn(i,t){let e=[],s=!1;return F(i)?(s=!0,e=i):e=qa(i,t),e.length?new ct({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function us(i){return i&&i.fill!==!1}function Ga(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!z(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function Za(i,t,e){const s=el(i);if(L(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return z(n)&&Math.floor(n)===n?Qa(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Qa(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Ja(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:L(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function tl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:L(i)?s=i.value:s=t.getBaseValue(),s}function el(i){const t=i.options,e=t.fill;let s=D(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function il(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=sl(t,e);a.push(gn({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Ue(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;us(o)&&Ue(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!us(s)||e.drawTime!=="beforeDatasetDraw"||Ue(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const bs=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},gl=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class _s extends vt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=I(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=tt(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=bs(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let f=t;o.textAlign="left",o.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*a>r)&&(f+=h,c[c.length-(g>0?0:1)]=0,u+=h,d++),l[g]={left:0,top:u,row:d,width:m,height:n},c[c.length-1]+=m+a}),f}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let f=a,d=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:v,itemHeight:S}=pl(s,e,o,m,n);b>0&&u+S+2*a>h&&(f+=d+a,c.push({width:d,height:u}),p+=d+a,g++,d=u=0),l[b]={left:p,top:u,col:g,width:v,height:S},d=Math.max(d,v),u+=S+a}),f+=d,c.push({width:d,height:u}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=He(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=j(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=j(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=j(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=j(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),Ae(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=E.color,l=He(t.rtl,this.left,this.width),c=tt(r.font),{padding:h}=r,f=c.size,d=f/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=bs(r,f),b=function(k,y,x){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const M=D(x.lineWidth,1);if(n.fillStyle=D(x.fillStyle,a),n.lineCap=D(x.lineCap,"butt"),n.lineDashOffset=D(x.lineDashOffset,0),n.lineJoin=D(x.lineJoin,"miter"),n.lineWidth=M,n.strokeStyle=D(x.strokeStyle,a),n.setLineDash(D(x.lineDash,[])),r.usePointStyle){const C={radius:g*Math.SQRT2/2,pointStyle:x.pointStyle,rotation:x.rotation,borderWidth:M},P=l.xPlus(k,p/2),T=y+d;Vs(n,C,P,T,r.pointStyleWidth&&p)}else{const C=y+Math.max((f-g)/2,0),P=l.leftForLtr(k,p),T=Us(x.borderRadius);n.beginPath(),Object.values(T).some(W=>W!==0)?js(n,{x:P,y:C,w:p,h:g,radius:T}):n.rect(P,C,p,g),n.fill(),M!==0&&n.stroke()}n.restore()},v=function(k,y,x){Lt(n,x.text,k,y+m/2,c,{strikethrough:x.hidden,textAlign:l.textAlign(x.textAlign)})},S=this.isHorizontal(),O=this._computeTitleHeight();S?u={x:j(o,this.left+h,this.right-s[0]),y:this.top+h+O,line:0}:u={x:this.left+h,y:j(o,this.top+O+h,this.bottom-e[0].height),line:0},rr(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((k,y)=>{n.strokeStyle=k.fontColor,n.fillStyle=k.fontColor;const x=n.measureText(k.text).width,M=l.textAlign(k.textAlign||(k.textAlign=r.textAlign)),C=p+d+x;let P=u.x,T=u.y;l.setWidth(this.width),S?y>0&&P+C+h>this.right&&(T=u.y+=_,u.line++,P=u.x=j(o,this.left+h,this.right-s[u.line])):y>0&&T+_>this.bottom&&(P=u.x=P+e[u.line].width+h,u.line++,T=u.y=j(o,this.top+O+h,this.bottom-e[u.line].height));const W=l.x(P);if(b(W,T,k),P=ao(M,P+p+d,S?P+C:this.right,t.rtl),v(l.x(P),T,k),S)u.x+=C+h;else if(typeof k.text!="string"){const Z=c.lineHeight;u.y+=mn(k,Z)+h}else u.y+=_}),ar(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=tt(e.font),n=G(e.padding);if(!e.display)return;const o=He(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,f=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+c,f=j(t.align,f,this.right-d);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+j(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=j(a,f,f+d);r.textAlign=o.textAlign(Ns(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,Lt(r,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=tt(t.font),s=G(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(Dt(t,this.left,this.right)&&Dt(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+e.size/2+s.measureText(n).width}function bl(i,t,e){let s=i;return typeof t.text!="string"&&(s=mn(t,e)),s}function mn(i,t){const e=i.text?i.text.length:0;return t*e}function _l(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var xl={id:"legend",_element:_s,start(i,t,e){const s=i.legend=new _s({ctx:i.ctx,options:e,chart:i});lt.configure(i,s,e),lt.addBox(i,s)},stop(i){lt.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;lt.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=G(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};const yl=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function vl(i,t,e,s){const n=i.indexOf(t);if(n===-1)return yl(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const kl=(i,t)=>i===null?null:J(Math.round(i),0,t);function xs(i){const t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}w(Qe,"id","category"),w(Qe,"defaults",{ticks:{callback:xs}});function wl(i,t){const e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:f,includeBounds:d}=i,u=o||1,p=h-1,{min:g,max:m}=t,b=!A(r),v=!A(a),S=!A(c),O=(m-g)/(f+1);let _=wi((m-g)/p/u)*u,k,y,x,M;if(_<1e-14&&!b&&!v)return[{value:g},{value:m}];M=Math.ceil(m/_)-Math.floor(g/_),M>p&&(_=wi(M*_/p/u)*u),A(l)||(k=Math.pow(10,l),_=Math.ceil(_*k)/k),n==="ticks"?(y=Math.floor(g/_)*_,x=Math.ceil(m/_)*_):(y=g,x=m),b&&v&&o&&Qn((a-r)/o,_/1e3)?(M=Math.round(Math.min((a-r)/_,h)),_=(a-r)/M,y=r,x=a):S?(y=b?r:y,x=v?a:x,M=c-1,_=(x-y)/M):(M=(x-y)/_,$t(M,Math.round(M),_/1e3)?M=Math.round(M):M=Math.ceil(M));const C=Math.max(Mi(_),Mi(y));k=Math.pow(10,A(l)?C:l),y=Math.round(y*k)/k,x=Math.round(x*k)/k;let P=0;for(b&&(d&&y!==r?(e.push({value:r}),ya)break;e.push({value:T})}return v&&d&&x!==a?e.length&&$t(e[e.length-1].value,a,ys(a,O,i))?e[e.length-1].value=a:e.push({value:a}):(!v||x===a)&&e.push({value:x}),e}function ys(i,t,{horizontal:e,minRotation:s}){const n=at(s),o=(e?Math.sin(n):Math.cos(n))||.001,r=.75*t*(""+i).length;return Math.min(t/o,r)}class Le extends wt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds();let{min:n,max:o}=this;const r=l=>n=e?n:l,a=l=>o=s?o:l;if(t){const l=Ot(n),c=Ot(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=wl(n,o);return t.bounds==="ticks"&&zs(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return li(t,this.chart.options.locale,this.options.ticks.format)}}class Je extends Le{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=z(t)?t:0,this.max=z(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=at(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}w(Je,"id","linear"),w(Je,"defaults",{ticks:{callback:Te.formatters.numeric}});const Qt=i=>Math.floor(rt(i)),pt=(i,t)=>Math.pow(10,Qt(i)+t);function vs(i){return i/Math.pow(10,Qt(i))===1}function ks(i,t,e){const s=Math.pow(10,e),n=Math.floor(i/s);return Math.ceil(t/s)-n}function Ml(i,t){const e=t-i;let s=Qt(e);for(;ks(i,t,s)>10;)s++;for(;ks(i,t,s)<10;)s--;return Math.min(s,Qt(i))}function Sl(i,{min:t,max:e}){t=$(i.min,t);const s=[],n=Qt(t);let o=Ml(t,e),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*r)/r,h=Math.floor((t-l)/a/10)*a*10;let f=Math.floor((c-h)/Math.pow(10,o)),d=$(i.min,Math.round((l+h+f*Math.pow(10,o))*r)/r);for(;d=10?f=f<15?15:20:f++,f>=20&&(o++,f=2,r=o>=0?1:r),d=Math.round((l+h+f*Math.pow(10,o))*r)/r;const u=$(i.max,d);return s.push({value:u,major:vs(u),significand:f}),s}class ws extends wt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const s=Le.prototype.parse.apply(this,[t,e]);if(s===0){this._zero=!0;return}return z(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=z(t)?Math.max(0,t):null,this.max=z(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!z(this._userMin)&&(this.min=t===pt(this.min,0)?pt(this.min,-1):pt(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let s=this.min,n=this.max;const o=a=>s=t?s:a,r=a=>n=e?n:a;s===n&&(s<=0?(o(1),r(10)):(o(pt(s,-1)),r(pt(n,1)))),s<=0&&o(pt(n,-1)),n<=0&&r(pt(s,1)),this.min=s,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},s=Sl(e,this);return t.bounds==="ticks"&&zs(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":li(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=rt(t),this._valueRange=rt(this.max)-rt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(rt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}w(ws,"id","logarithmic"),w(ws,"defaults",{ticks:{callback:Te.formatters.logarithmic,major:{enabled:!0}}});function ti(i){const t=i.ticks;if(t.display&&i.display){const e=G(t.backdropPadding);return D(t.font&&t.font.size,E.font.size)+e.height}return 0}function Pl(i,t,e){return e=F(e)?e:[e],{w:yo(i,t.string,e),h:e.length*t.lineHeight}}function Ms(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function Dl(i){const t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,r=i.options.pointLabels,a=r.centerPointLabels?B/o:0;for(let l=0;lt.r&&(a=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/r,i.b=Math.max(i.b,t.b+l))}function Ll(i,t,e){const s=i.drawingArea,{extra:n,additionalAngle:o,padding:r,size:a}=e,l=i.getPointPosition(t,s+n+r,o),c=Math.round(oi(U(l.angle+Y))),h=Fl(l.y,a.h,c),f=Il(c),d=Al(l.x,a.w,f);return{visible:!0,x:l.x,y:h,textAlign:f,left:d,top:h,right:d+a.w,bottom:h+a.h}}function Cl(i,t){if(!t)return!0;const{left:e,top:s,right:n,bottom:o}=i;return!(st({x:e,y:s},t)||st({x:e,y:o},t)||st({x:n,y:s},t)||st({x:n,y:o},t))}function Tl(i,t,e){const s=[],n=i._pointLabels.length,o=i.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:ti(o)/2,additionalAngle:r?B/n:0};let c;for(let h=0;h270||e<90)&&(i-=t),i}function zl(i,t,e){const{left:s,top:n,right:o,bottom:r}=e,{backdropColor:a}=t;if(!A(a)){const l=Us(t.borderRadius),c=G(t.backdropPadding);i.fillStyle=a;const h=s-c.left,f=n-c.top,d=o-s+c.width,u=r-n+c.height;Object.values(l).some(p=>p!==0)?(i.beginPath(),js(i,{x:h,y:f,w:d,h:u,radius:l}),i.fill()):i.fillRect(h,f,d,u)}}function El(i,t){const{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){const o=i._pointLabelItems[n];if(!o.visible)continue;const r=s.setContext(i.getPointLabelContext(n));zl(e,r,o);const a=tt(r.font),{x:l,y:c,textAlign:h}=o;Lt(e,i._pointLabels[n],l,c+a.lineHeight/2,a,{color:r.color,textAlign:h,textBaseline:"middle"})}}function bn(i,t,e,s){const{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,X);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let r=1;r{const n=I(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?Dl(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){const e=X/(this._pointLabels.length||1),s=this.options.startAngle||0;return U(t*e+at(s))}getDistanceFromCenterForValue(t){if(A(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(f!==0){l=this.getDistanceFromCenterForValue(h.value);const d=this.getContext(f),u=n.setContext(d),p=o.setContext(d);Rl(this,u,l,r,p)}}),s.display){for(t.save(),a=r-1;a>=0;a--){const h=s.setContext(this.getPointLabelContext(a)),{color:f,lineWidth:d}=h;!d||!f||(t.lineWidth=d,t.strokeStyle=f,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;const n=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!e.reverse)return;const c=s.setContext(this.getContext(l)),h=tt(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const f=G(c.backdropPadding);t.fillRect(-r/2-f.left,-o-h.size/2-f.top,r+f.width,h.size+f.height)}Lt(t,a.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}w(me,"id","radialLinear"),w(me,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Te.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),w(me,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),w(me,"descriptors",{angleLines:{_fallback:"grid"}});const ze={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}},V=Object.keys(ze);function Ss(i,t){return i-t}function Ps(i,t){if(A(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),z(r)||(r=typeof s=="string"?e.parse(r,s):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(Gt(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function Ds(i,t,e,s){const n=V.length;for(let o=V.indexOf(i);o=V.indexOf(e);o--){const r=V[o];if(ze[r].common&&i._adapter.diff(n,s,r)>=t-1)return r}return V[e?V.indexOf(e):0]}function Nl(i){for(let t=V.indexOf(i)+1,e=V.length;t=t?e[s]:e[n];i[o]=!0}}function Wl(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,s))l=e[a],l>=0&&(t[l].major=!0);return t}function Ls(i,t,e){const s=[],n={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;e=J(e,0,r),s=J(s,0,r),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,r=o.unit||Ds(o.minUnit,e,s,this._getLabelCapacity(e)),a=D(n.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Gt(l)||l===!0,h={};let f=e,d,u;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":r),t.diff(s,e,r)>1e5*a)throw new Error(e+" and "+s+" are too far apart with stepSize of "+a+" "+r);const p=n.ticks.source==="data"&&this.getDataTimestamps();for(d=f,u=0;d+g)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,r=e||n[o];return this._adapter.format(t,r)}_tickFormatFunction(t,e,s,n){const o=this.options,r=o.ticks.callback;if(r)return I(r,[t,e,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],f=c&&a[c],d=s[e],u=c&&f&&d&&d.major;return this._adapter.format(t,n||(u?f:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=_t(i,"pos",t)),{pos:o,time:a}=i[s],{pos:r,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=_t(i,"time",t)),{time:o,pos:a}=i[s],{time:r,pos:l}=i[n]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Cs extends Ce{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=be(e,this.min),this._tableRange=be(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(r=0,a=n.length;rn-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(be(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return be(this._table,s*this._tableRange+this._minPos,!0)}}w(Cs,"id","timeseries"),w(Cs,"defaults",Ce.defaults);nt.register(ct,ve,_e,Qe,Je,ul,xl);export{nt as Chart}; diff --git a/clash/clash/dashboard/yacd/assets/chart-lib.ff648d51.js b/clash/clash/dashboard/yacd/assets/chart-lib.ff648d51.js deleted file mode 100644 index 4edd0c1..0000000 --- a/clash/clash/dashboard/yacd/assets/chart-lib.ff648d51.js +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * Chart.js v3.8.0 - * https://www.chartjs.org - * (c) 2022 Chart.js Contributors - * Released under the MIT License - */const Ks=function(){return typeof window=="undefined"?function(i){return i()}:window.requestAnimationFrame}();function qs(i,t,e){const s=e||(r=>Array.prototype.slice.call(r));let n=!1,o=[];return function(...r){o=s(r),n||(n=!0,Ks.call(window,()=>{n=!1,i.apply(t,o)}))}}function Xn(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const Gs=i=>i==="start"?"left":i==="end"?"right":"center",K=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,Un=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t,Kn=function(){let i=0;return function(){return i++}}();function E(i){return i===null||typeof i=="undefined"}function B(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function D(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}const W=i=>(typeof i=="number"||i instanceof Number)&&isFinite(+i);function Z(i,t){return W(i)?i:t}function P(i,t){return typeof i=="undefined"?t:i}const qn=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100:i/t,Zs=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function z(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function R(i,t,e,s){let n,o,r;if(B(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ne;)i=i[t.slice(e,s)],e=s+1,s=Ii(t,e);return i}function pi(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Q=i=>typeof i!="undefined",mt=i=>typeof i=="function",zi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function to(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const N=Math.PI,I=2*N,eo=I+N,Pe=Number.POSITIVE_INFINITY,io=N/180,V=N/2,Nt=N/4,Bi=N*2/3,J=Math.log10,it=Math.sign;function Vi(i){const t=Math.round(i);i=qt(i,t,i/1e3)?t:i;const e=Math.pow(10,Math.floor(J(i))),s=i/e;return(s<=1?1:s<=2?2:s<=5?5:10)*e}function so(i){const t=[],e=Math.sqrt(i);let s;for(s=1;sn-o).pop(),t}function Qt(i){return!isNaN(parseFloat(i))&&isFinite(i)}function qt(i,t,e){return Math.abs(i-t)=i}function Qs(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}const he=i=>i===0||i===1,Wi=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*I/e)),Hi=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*I/e)+1,Gt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*V)+1,easeOutSine:i=>Math.sin(i*V),easeInOutSine:i=>-.5*(Math.cos(N*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>he(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>he(i)?i:Wi(i,.075,.3),easeOutElastic:i=>he(i)?i:Hi(i,.075,.3),easeInOutElastic(i){return he(i)?i:i<.5?.5*Wi(i*2,.1125,.45):.5+.5*Hi(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Gt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Gt.easeInBounce(i*2)*.5:Gt.easeOutBounce(i*2-1)*.5+.5};/*! - * @kurkle/color v0.2.1 - * https://github.com/kurkle/color#readme - * (c) 2022 Jukka Kurkela - * Released under the MIT License - */function ne(i){return i+.5|0}const dt=(i,t,e)=>Math.max(Math.min(i,e),t);function Xt(i){return dt(ne(i*2.55),0,255)}function gt(i){return dt(ne(i*255),0,255)}function at(i){return dt(ne(i/2.55)/100,0,1)}function ji(i){return dt(ne(i*100),0,100)}const G={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},ri=[..."0123456789ABCDEF"],ao=i=>ri[i&15],lo=i=>ri[(i&240)>>4]+ri[i&15],de=i=>(i&240)>>4===(i&15),co=i=>de(i.r)&&de(i.g)&&de(i.b)&&de(i.a);function ho(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&G[i[1]]*17,g:255&G[i[2]]*17,b:255&G[i[3]]*17,a:t===5?G[i[4]]*17:255}:(t===7||t===9)&&(e={r:G[i[1]]<<4|G[i[2]],g:G[i[3]]<<4|G[i[4]],b:G[i[5]]<<4|G[i[6]],a:t===9?G[i[7]]<<4|G[i[8]]:255})),e}const uo=(i,t)=>i<255?t(i):"";function fo(i){var t=co(i)?ao:lo;return i?"#"+t(i.r)+t(i.g)+t(i.b)+uo(i.a,t):void 0}const go=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function en(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function po(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function mo(i,t,e){const s=en(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function bo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=bo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function xi(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(gt)}function _i(i,t,e){return xi(en,i,t,e)}function xo(i,t,e){return xi(mo,i,t,e)}function _o(i,t,e){return xi(po,i,t,e)}function sn(i){return(i%360+360)%360}function yo(i){const t=go.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?Xt(+t[5]):gt(+t[5]));const n=sn(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=xo(n,o,r):t[1]==="hsv"?s=_o(n,o,r):s=_i(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function vo(i,t){var e=bi(i);e[0]=sn(e[0]+t),e=_i(e),i.r=e[0],i.g=e[1],i.b=e[2]}function Mo(i){if(!i)return;const t=bi(i),e=t[0],s=ji(t[1]),n=ji(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${at(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const $i={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Yi={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ko(){const i={},t=Object.keys(Yi),e=Object.keys($i);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let ue;function wo(i){ue||(ue=ko(),ue.transparent=[0,0,0,0]);const t=ue[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const So=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Po(i){const t=So.exec(i);let e=255,s,n,o;if(!!t){if(t[7]!==s){const r=+t[7];e=t[8]?Xt(r):dt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?Xt(s):dt(s,0,255)),n=255&(t[4]?Xt(n):dt(n,0,255)),o=255&(t[6]?Xt(o):dt(o,0,255)),{r:s,g:n,b:o,a:e}}}function Co(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${at(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Xe=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Lt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function Do(i,t,e){const s=Lt(at(i.r)),n=Lt(at(i.g)),o=Lt(at(i.b));return{r:gt(Xe(s+e*(Lt(at(t.r))-s))),g:gt(Xe(n+e*(Lt(at(t.g))-n))),b:gt(Xe(o+e*(Lt(at(t.b))-o))),a:i.a+e*(t.a-i.a)}}function fe(i,t,e){if(i){let s=bi(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=_i(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function nn(i,t){return i&&Object.assign(t||{},i)}function Xi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=gt(i[3]))):(t=nn(i,{r:0,g:0,b:0,a:1}),t.a=gt(t.a)),t}function Oo(i){return i.charAt(0)==="r"?Po(i):yo(i)}class Ce{constructor(t){if(t instanceof Ce)return t;const e=typeof t;let s;e==="object"?s=Xi(t):e==="string"&&(s=ho(t)||wo(t)||Oo(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=nn(this._rgb);return t&&(t.a=at(t.a)),t}set rgb(t){this._rgb=Xi(t)}rgbString(){return this._valid?Co(this._rgb):void 0}hexString(){return this._valid?fo(this._rgb):void 0}hslString(){return this._valid?Mo(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=Do(this._rgb,t._rgb,e)),this}clone(){return new Ce(this.rgb)}alpha(t){return this._rgb.a=gt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=ne(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return fe(this._rgb,2,t),this}darken(t){return fe(this._rgb,2,-t),this}saturate(t){return fe(this._rgb,1,t),this}desaturate(t){return fe(this._rgb,1,-t),this}rotate(t){return vo(this._rgb,t),this}}function on(i){return new Ce(i)}function rn(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ui(i){return rn(i)?i:on(i)}function Ue(i){return rn(i)?i:on(i).saturate(.5).darken(.1).hexString()}const Ct=Object.create(null),ai=Object.create(null);function Zt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;se.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,s)=>Ue(s.backgroundColor),this.hoverBorderColor=(e,s)=>Ue(s.borderColor),this.hoverColor=(e,s)=>Ue(s.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return Ke(this,t,e)}get(t){return Zt(this,t)}describe(t,e){return Ke(ai,t,e)}override(t,e){return Ke(Ct,t,e)}route(t,e,s,n){const o=Zt(this,t),r=Zt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return D(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}}var O=new Ao({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Lo(i){return!i||E(i.size)||E(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function De(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function To(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let r=0;const a=e.length;let l,c,h,d,u;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function ee(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Fo(i,o),l=0;l+i||0;function yi(i,t){const e={},s=D(t),n=s?Object.keys(t):t,o=D(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=No(o(r));return e}function an(i){return yi(i,{top:"y",right:"x",bottom:"y",left:"x"})}function St(i){return yi(i,["topLeft","topRight","bottomLeft","bottomRight"])}function X(i){const t=an(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function j(i,t){i=i||{},t=t||O.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(Bo)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:P(i.family,t.family),lineHeight:Vo(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Lo(n),n}function ge(i,t,e,s){let n=!0,o,r,a;for(o=0,r=i.length;oe&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function bt(i,t){return Object.assign(Object.create(i),t)}function vi(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const wt=(i,t,e)=>vi(i,e,s=>i[s][t]vi(i,e,s=>i[s][t]>=e);function jo(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+pi(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function qi(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(ln.forEach(o=>{delete i[o]}),delete i._chartjs)}function cn(i){const t=new Set;let e,s;for(e=0,s=i.length;ei[0]){Q(s)||(s=fn("_fallback",i));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:e,_fallback:s,_getTarget:n,override:r=>Mi([r,...i],t,e,s)};return new Proxy(o,{deleteProperty(r,a){return delete r[a],delete r._keys,delete i[0][a],!0},get(r,a){return dn(r,a,()=>Jo(a,t,i,r))},getOwnPropertyDescriptor(r,a){return Reflect.getOwnPropertyDescriptor(r._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(r,a){return Zi(r).includes(a)},ownKeys(r){return Zi(r)},set(r,a,l){const c=r._storage||(r._storage=n());return r[a]=c[a]=l,delete r._keys,!0}})}function Ft(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:hn(i,s),setContext:o=>Ft(i,o,e,s),override:o=>Ft(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return dn(o,r,()=>Xo(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function hn(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:mt(e)?e:()=>e,isIndexable:mt(s)?s:()=>s}}const Yo=(i,t)=>i?i+pi(t):t,ki=(i,t)=>D(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t))return i[t];const s=e();return i[t]=s,s}function Xo(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return mt(a)&&r.isScriptable(t)&&(a=Uo(t,a,i,e)),B(a)&&a.length&&(a=Ko(t,a,i,r.isIndexable)),ki(t,a)&&(a=Ft(a,n,o&&o[t],r)),a}function Uo(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);return a.add(i),t=t(o,r||s),a.delete(i),ki(i,t)&&(t=wi(n._scopes,n,i,t)),t}function Ko(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(Q(o.index)&&s(i))t=t[o.index%t.length];else if(D(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=wi(c,n,i,h);t.push(Ft(d,o,r&&r[i],a))}}return t}function un(i,t,e){return mt(i)?i(t,e):i}const qo=(i,t)=>i===!0?t:typeof i=="string"?pt(t,i):void 0;function Go(i,t,e,s,n){for(const o of t){const r=qo(e,o);if(r){i.add(r);const a=un(r._fallback,e,n);if(Q(a)&&a!==e&&a!==s)return a}else if(r===!1&&Q(s)&&e!==s)return null}return!1}function wi(i,t,e,s){const n=t._rootScopes,o=un(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Gi(a,r,e,o||e,s);return l===null||Q(o)&&o!==e&&(l=Gi(a,r,o,l,s),l===null)?!1:Mi(Array.from(a),[""],n,o,()=>Zo(t,e,s))}function Gi(i,t,e,s,n){for(;e;)e=Go(i,t,e,s,n);return e}function Zo(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return B(n)&&D(e)?e:n}function Jo(i,t,e,s){let n;for(const o of t)if(n=fn(Yo(o,i),e),Q(n))return ki(i,n)?wi(e,s,i,n):n}function fn(i,t){for(const e of t){if(!e)continue;const s=e[i];if(Q(s))return s}}function Zi(i){let t=i._keys;return t||(t=i._keys=Qo(i._scopes)),t}function Qo(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}function gn(i,t,e,s){const{iScale:n}=i,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,h;for(a=0,l=s;ati==="x"?"y":"x";function er(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=oi(o,n),l=oi(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,u=s*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+u*(r.x-n.x),y:o.y+u*(r.y-n.y)}}}function ir(i,t,e){const s=i.length;let n,o,r,a,l,c=It(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")nr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;owindow.getComputedStyle(i,null);function ar(i,t){return ze(i).getPropertyValue(t)}const lr=["top","right","bottom","left"];function Pt(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=lr[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const cr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function hr(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(cr(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Mt(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=ze(e),o=n.boxSizing==="border-box",r=Pt(n,"padding"),a=Pt(n,"border","width"),{x:l,y:c,box:h}=hr(i,e),d=r.left+(h&&a.left),u=r.top+(h&&a.top);let{width:f,height:g}=t;return o&&(f-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-d)/f*e.width/s),y:Math.round((c-u)/g*e.height/s)}}function dr(i,t,e){let s,n;if(t===void 0||e===void 0){const o=Si(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=ze(o),l=Pt(a,"border","width"),c=Pt(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=Ae(a.maxWidth,o,"clientWidth"),n=Ae(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Pe,maxHeight:n||Pe}}const qe=i=>Math.round(i*10)/10;function ur(i,t,e,s){const n=ze(i),o=Pt(n,"margin"),r=Ae(n.maxWidth,i,"clientWidth")||Pe,a=Ae(n.maxHeight,i,"clientHeight")||Pe,l=dr(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const d=Pt(n,"border","width"),u=Pt(n,"padding");c-=u.width+d.width,h-=u.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?Math.floor(c/s):h-o.height),c=qe(Math.min(c,r,l.maxWidth)),h=qe(Math.min(h,a,l.maxHeight)),c&&!h&&(h=qe(c/2)),{width:c,height:h}}function Ji(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=n/s,i.width=o/s;const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const fr=function(){let i=!1;try{const t={get passive(){return i=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return i}();function Qi(i,t){const e=ar(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function kt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function gr(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function pr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=kt(i,n,e),a=kt(n,o,e),l=kt(o,t,e),c=kt(r,a,e),h=kt(a,l,e);return kt(c,h,e)}const ts=new Map;function mr(i,t){t=t||{};const e=i+JSON.stringify(t);let s=ts.get(e);return s||(s=new Intl.NumberFormat(i,t),ts.set(e,s)),s}function oe(i,t,e){return mr(t,e).format(i)}const br=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},xr=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function Rt(i,t,e){return i?br(t,e):xr()}function bn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function xn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function _n(i){return i==="angle"?{between:te,compare:oo,normalize:q}:{between:lt,compare:(t,e)=>t-e,normalize:t=>t}}function es({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function _r(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=_n(s),l=t.length;let{start:c,end:h,loop:d}=i,u,f;if(d){for(c+=l,h+=l,u=0,f=l;ul(n,y,b)&&a(n,y)!==0,v=()=>a(o,b)===0||l(o,y,b),k=()=>p||_(),M=()=>!p||v();for(let S=h,w=h;S<=d;++S)x=t[S%r],!x.skip&&(b=c(x[s]),b!==y&&(p=l(b,n,o),m===null&&k()&&(m=a(b,n)===0?S:w),m!==null&&M()&&(g.push(es({start:m,end:S,loop:u,count:r,style:f})),m=null),w=S,y=b));return m!==null&&g.push(es({start:m,end:d,loop:u,count:r,style:f})),g}function vn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function vr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function Mr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=yr(e,n,o,s);if(s===!0)return is(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Ks.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);!e||(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ot=new Sr;const ns="transparent",Pr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Ui(i||ns),n=s.valid&&Ui(t||ns);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Cr{constructor(t,e,s,n){const o=e[s];n=ge([t.to,n,o,t.from]);const r=ge([t.from,o,n]);this._active=!0,this._fn=t.fn||Pr[t.type||typeof r],this._easing=Gt[t.easing]||Gt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=ge([t.to,e,n,t.from]),this._from=ge([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;ni!=="onProgress"&&i!=="onComplete"&&i!=="fn"});O.set("animations",{colors:{type:"color",properties:Or},numbers:{type:"number",properties:Dr}});O.describe("animations",{_fallback:"animation"});O.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:i=>i|0}}}});class Mn{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!D(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach(s=>{const n=t[s];if(!D(n))return;const o={};for(const r of Ar)o[r]=n[r];(B(n.properties)&&n.properties||[s]).forEach(r=>{(r===s||!e.has(r))&&e.set(r,o)})})}_animateOptions(t,e){const s=e.options,n=Tr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Lr(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const u=s.get(c);if(d)if(u&&d.active()){d.update(u,h,a);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new Cr(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ot.add(this._chart,s),!0}}function Lr(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function cs(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Ir(o,r,s),d=t.length;let u;for(let f=0;fe[s].axis===t).shift()}function Vr(i,t){return bt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Nr(i,t,e){return bt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Wt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(!!s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e]}}}const Ze=i=>i==="reset"||i==="none",hs=(i,t)=>t?i:Object.assign({},i),Wr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:kn(e,!0),values:null};class st{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=as(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Wt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,u,f,g)=>d==="x"?u:d==="r"?g:f,o=e.xAxisID=P(s.xAxisID,Ge(t,"x")),r=e.yAxisID=P(s.yAxisID,Ge(t,"y")),a=e.rAxisID=P(s.rAxisID,Ge(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&qi(this._data,this),t._stacked&&Wt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(D(e))this._data=Fr(e);else if(s!==e){if(s){qi(s,this);const n=this._cachedMeta;Wt(n),n._parsed=[]}e&&Object.isExtensible(e)&&$o(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=as(e.vScale,e),e.stack!==s.stack&&(n=!0,Wt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&cs(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,u;if(this._parsing===!1)s._parsed=n,s._sorted=!0,u=n;else{B(n[t])?u=this.parseArrayData(s,n,t,e):D(n[t])?u=this.parseObjectData(s,n,t,e):u=this.parsePrimitiveData(s,n,t,e);const f=()=>d[a]===null||c&&d[a]p||d=0;--u)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n),p=c.resolveNamedOptions(u,f,g,d);return p.$shared&&(p.$shared=l,o[r]=Object.freeze(hs(p,l))),p}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),u=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(u,this.getContext(t,s,e))}const c=new Mn(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(!!t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ze(t)||this.chart._animationsDisabled}updateElement(t,e,s,n){Ze(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!Ze(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return i._cache.$bar}function jr(i){const t=i.iScale,e=Hr(t,i.type);let s=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(Q(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(n=0,o=e.length;n0?n[i-1]:null,a=iMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function wn(i,t,e,s){return B(i)?Xr(i,t,e,s):t[e.axis]=e.parse(i,s),t}function ds(i,t,e,s){const n=i.iScale,o=i.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,u;for(c=e,h=e+s;c=e?1:-1)}function Kr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.base=0;--s)e=Math.max(e,t[s].size(this.resolveDataElementOptions(s))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:s,yScale:n}=e,o=this.getParsed(t),r=s.getLabelForValue(o.x),a=n.getLabelForValue(o.y),l=o._custom;return{label:e.label,value:"("+r+", "+a+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,s,n){const o=n==="reset",{iScale:r,vScale:a}=this._cachedMeta,l=this.resolveDataElementOptions(e,n),c=this.getSharedOptions(l),h=this.includeOptions(n,c),d=r.axis,u=a.axis;for(let f=e;fte(y,a,l,!0)?1:Math.max(_,_*e,v,v*e),g=(y,_,v)=>te(y,a,l,!0)?-1:Math.min(_,_*e,v,v*e),p=f(0,c,d),m=f(V,h,u),b=g(N,c,d),x=g(N+V,h,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,r=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:r}}class re extends st{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const s=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=s;else{let o=l=>+s[l];if(D(s[t])){const{key:l="value"}=this._parsing;o=c=>+pt(s[c],l)}let r,a;for(r=t,a=t+e;r0&&!isNaN(t)?I*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=oe(e._parsed[t],s.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const s=this.chart;let n,o,r,a,l;if(!t){for(n=0,o=s.data.datasets.length;ni!=="spacing",_indexable:i=>i!=="spacing"};re.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(i){const t=i.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:e}}=i.legend.options;return t.labels.map((s,n)=>{const r=i.getDatasetMeta(0).controller.getStyle(n);return{text:s,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,pointStyle:e,hidden:!i.getDataVisibility(n),index:n}})}return[]}},onClick(i,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(i){let t=i.label;const e=": "+i.formattedValue;return B(t)?(t=t.slice(),t[0]+=e):t+=e,t}}}}};class ae extends st{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:s,data:n=[],_dataset:o}=e,r=this.chart._animationsDisabled;let{start:a,count:l}=Qr(e,n,r);this._drawStart=a,this._drawCount=l,ta(e)&&(a=0,l=n.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=n;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!r,options:c},t),this.updateElements(n,a,l,t)}updateElements(t,e,s,n){const o=n==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,h=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(h),u=this.includeOptions(n,d),f=r.axis,g=a.axis,{spanGaps:p,segment:m}=this.options,b=Qt(p)?p:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||n==="none";let y=e>0&&this.getParsed(e-1);for(let _=e;_0&&Math.abs(k[f]-y[f])>b,m&&(M.parsed=k,M.raw=c.data[_]),u&&(M.options=d||this.resolveDataElementOptions(_,v.active?"active":n)),x||this.updateElement(v,_,M,n),y=k}this.updateSharedOptions(d,n,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}ae.id="line";ae.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};ae.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};function Qr(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,_parsed:a}=i,l=r.axis,{min:c,max:h,minDefined:d,maxDefined:u}=r.getUserBounds();d&&(n=$(Math.min(wt(a,r.axis,c).lo,e?s:wt(t,l,r.getPixelForValue(c)).lo),0,s-1)),u?o=$(Math.max(wt(a,r.axis,h).hi+1,e?0:wt(t,l,r.getPixelForValue(h)).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function ta(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}class Di extends st{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=oe(e._parsed[t].r,s.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,s,n){return gn.bind(this)(t,e,s,n)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,n)=>{const o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,s=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),r=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,e,s,n){const o=n==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,d=c.yCenter,u=c.getIndexAngle(0)-.5*N;let f=u,g;const p=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,s){return this.chart.getDataVisibility(t)?tt(this.resolveDataElementOptions(t,e).angle||s):0}}Di.id="polarArea";Di.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};Di.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(i){const t=i.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:e}}=i.legend.options;return t.labels.map((s,n)=>{const r=i.getDatasetMeta(0).controller.getStyle(n);return{text:s,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,pointStyle:e,hidden:!i.getDataVisibility(n),index:n}})}return[]}},onClick(i,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(i){return i.chart.data.labels[i.dataIndex]+": "+i.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Sn extends re{}Sn.id="pie";Sn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Oi extends st{getLabelAndValue(t){const e=this._cachedMeta.vScale,s=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(s[e.axis])}}parseObjectData(t,e,s,n){return gn.bind(this)(t,e,s,n)}update(t){const e=this._cachedMeta,s=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(s.points=n,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===n.length,options:r};this.updateElement(s,void 0,a,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,s,n){const o=this._cachedMeta.rScale,r=n==="reset";for(let a=e;a{l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var ra={evaluateInteractionItems:le,modes:{index(i,t,e,s){const n=Mt(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Qe(i,n,o,s,r):ti(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=Mt(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Qe(i,n,o,s,r):ti(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ps(i,t){return i.filter(e=>Pn.indexOf(e.pos)===-1&&e.box.axis===t)}function jt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function aa(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=jt(Ht(t,"left"),!0),n=jt(Ht(t,"right")),o=jt(Ht(t,"top"),!0),r=jt(Ht(t,"bottom")),a=ps(t,"x"),l=ps(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Ht(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function ms(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function Cn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function da(i,t,e,s){const{pos:n,box:o}=e,r=i.maxPadding;if(!D(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&Cn(r,o.getPadding());const a=Math.max(0,t.outerWidth-ms(r,i,"left","right")),l=Math.max(0,t.outerHeight-ms(r,i,"top","bottom")),c=a!==i.w,h=l!==i.h;return i.w=a,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function ua(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function fa(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return s(i?["left","right"]:["top","bottom"])}function Ut(i,t,e,s){const n=[];let o,r,a,l,c,h;for(o=0,r=i.length,c=0;o{typeof p.beforeLayout=="function"&&p.beforeLayout()});const h=l.reduce((p,m)=>m.box.options&&m.box.options.display===!1?p:p+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),u=Object.assign({},n);Cn(u,X(s));const f=Object.assign({maxPadding:u,w:o,h:r,x:n.left,y:n.top},n),g=ca(l.concat(c),d);Ut(a.fullSize,f,d,g),Ut(l,f,d,g),Ut(c,f,d,g)&&Ut(l,f,d,g),ua(f),bs(a.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,bs(a.rightAndBottom,f,d,g),i.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},R(a.chartArea,p=>{const m=p.box;Object.assign(m,i.chartArea),m.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class Dn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class ga extends Dn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Me="$chartjs",pa={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},xs=i=>i===null||i==="";function ma(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[Me]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",xs(n)){const o=Qi(i,"width");o!==void 0&&(i.width=o)}if(xs(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=Qi(i,"height");o!==void 0&&(i.height=o)}return i}const On=fr?{passive:!0}:!1;function ba(i,t,e){i.addEventListener(t,e,On)}function xa(i,t,e){i.canvas.removeEventListener(t,e,On)}function _a(i,t){const e=pa[i.type]||i.type,{x:s,y:n}=Mt(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Le(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function ya(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Le(a.addedNodes,s),r=r&&!Le(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function va(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Le(a.removedNodes,s),r=r&&!Le(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const se=new Map;let _s=0;function An(){const i=window.devicePixelRatio;i!==_s&&(_s=i,se.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function Ma(i,t){se.size||window.addEventListener("resize",An),se.set(i,t)}function ka(i){se.delete(i),se.size||window.removeEventListener("resize",An)}function wa(i,t,e){const s=i.canvas,n=s&&Si(s);if(!n)return;const o=qs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),Ma(i,o),r}function ei(i,t,e){e&&e.disconnect(),t==="resize"&&ka(i)}function Sa(i,t,e){const s=i.canvas,n=qs(o=>{i.ctx!==null&&e(_a(o,i))},i,o=>{const r=o[0];return[r,r.offsetX,r.offsetY]});return ba(s,t,n),n}class Pa extends Dn{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(ma(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[Me])return!1;const s=e[Me].initial;["height","width"].forEach(o=>{const r=s[o];E(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[Me],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:ya,detach:va,resize:wa}[e]||Sa;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:ei,detach:ei,resize:ei}[e]||xa)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return ur(t,e,s,n)}isAttached(t){const e=Si(t);return!!(e&&e.isConnected)}}function Ca(i){return!mn()||typeof OffscreenCanvas!="undefined"&&i instanceof OffscreenCanvas?ga:Pa}class nt{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Qt(this.x)&&Qt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}nt.defaults={};nt.defaultRoutes=void 0;const Ln={values(i){return B(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Da(i,e)}const r=J(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),oe(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";const s=i/Math.pow(10,Math.floor(J(i)));return s===1||s===2||s===5?Ln.numeric.call(this,i,t,e):""}};function Da(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Be={formatters:Ln};O.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(i,t)=>t.lineWidth,tickColor:(i,t)=>t.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Be.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}});O.route("scale.ticks","color","","color");O.route("scale.grid","color","","borderColor");O.route("scale.grid","borderColor","","borderColor");O.route("scale.title","color","","color");O.describe("scale",{_fallback:!1,_scriptable:i=>!i.startsWith("before")&&!i.startsWith("after")&&i!=="callback"&&i!=="parser",_indexable:i=>i!=="borderDash"&&i!=="tickBorderDash"});O.describe("scales",{_fallback:"scale"});O.describe("scale.ticks",{_scriptable:i=>i!=="backdropPadding"&&i!=="callback",_indexable:i=>i!=="backdropPadding"});function Oa(i,t){const e=i.options.ticks,s=e.maxTicksLimit||Aa(i),n=e.major.enabled?Ta(t):[],o=n.length,r=n[0],a=n[o-1],l=[];if(o>s)return Ra(t,l,n,o/s),l;const c=La(n,t,s);if(o>0){let h,d;const u=o>1?Math.round((a-r)/(o-1)):null;for(be(t,l,c,E(u)?0:r-u,r),h=0,d=o-1;hn)return l}return Math.max(n,1)}function Ta(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,ys=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e;function vs(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;or+a)))return l}function za(i,t){R(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:Z(e,Z(s,e)),max:Z(s,Z(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){z(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Wo(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,u=h.highest.height,f=$(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:f/(s-1),d+6>a&&(a=f/(s-(t.offset?.5:1)),l=this.maxHeight-$t(t.grid)-e.padding-Ms(t.title,this.chart.options.font),c=Math.sqrt(d*d+u*u),r=mi(Math.min(Math.asin($((h.highest.height+6)/a,-1,1)),Math.asin($(l/c,-1,1))-Math.asin($(u/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){z(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){z(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=Ms(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=$t(o)+l):(t.height=this.maxHeight,t.width=$t(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:u}=this._getLabelSizes(),f=s.padding*2,g=tt(this.labelRotation),p=Math.cos(g),m=Math.sin(g);if(a){const b=s.mirror?0:m*d.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{const b=s.mirror?0:p*d.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,m,p)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,f=0;l?c?(u=n*t.width,f=s*e.height):(u=s*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,f=e.width/2),this.paddingLeft=Math.max((u-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){z(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:o[M]||0,height:r[M]||0});return{first:k(0),last:k(e-1),widest:k(_),highest:k(v),widths:o,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return ro(this._alignToPixels?yt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r}=n,a=o.offset,l=this.isHorizontal(),h=this.ticks.length+(a?1:0),d=$t(o),u=[],f=o.setContext(this.getContext()),g=f.drawBorder?f.borderWidth:0,p=g/2,m=function(C){return yt(s,C,g)};let b,x,y,_,v,k,M,S,w,T,L,A;if(r==="top")b=m(this.bottom),k=this.bottom-d,S=b-p,T=m(t.top)+p,A=t.bottom;else if(r==="bottom")b=m(this.top),T=t.top,A=m(t.bottom)-p,k=b+p,S=this.top+d;else if(r==="left")b=m(this.right),v=this.right-d,M=b-p,w=m(t.left)+p,L=t.right;else if(r==="right")b=m(this.left),w=t.left,L=m(t.right)-p,v=b+p,M=this.left+d;else if(e==="x"){if(r==="center")b=m((t.top+t.bottom)/2+.5);else if(D(r)){const C=Object.keys(r)[0],F=r[C];b=m(this.chart.scales[C].getPixelForValue(F))}T=t.top,A=t.bottom,k=b+p,S=k+d}else if(e==="y"){if(r==="center")b=m((t.left+t.right)/2);else if(D(r)){const C=Object.keys(r)[0],F=r[C];b=m(this.chart.scales[C].getPixelForValue(F))}v=b-p,M=v-d,w=t.left,L=t.right}const H=P(n.ticks.maxTicksLimit,h),Y=Math.max(1,Math.ceil(h/H));for(x=0;xo.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(n)}}]:[{z:s,draw:n=>{this.drawBackground(),this.drawGrid(n),this.drawTitle()}},{z:s+1,draw:()=>{this.drawBorder()}},{z:e,draw:n=>{this.drawLabels(n)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");O.route(o,n,l,a)})}function $a(i){return"id"in i&&"defaults"in i}class Ya{constructor(){this.controllers=new xe(st,"datasets",!0),this.elements=new xe(nt,"elements"),this.plugins=new xe(Object,"plugins"),this.scales=new xe(Dt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):R(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=pi(t);z(s["before"+n],[],s),e[t](s),z(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function Ua(i){const t=[],e=Object.keys(ct.plugins.items);for(let n=0;n{const l=s[a];if(!D(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const c=hi(a,l),h=Ja(c,n),d=e.scales||{};o[c]=o[c]||a,r[a]=Kt(Object.create(null),[{axis:c},l,d[c],d[h]])}),i.data.datasets.forEach(a=>{const l=a.type||i.type,c=a.indexAxis||ci(l,t),d=(Ct[l]||{}).scales||{};Object.keys(d).forEach(u=>{const f=Za(u,c),g=a[f+"AxisID"]||o[f]||f;r[g]=r[g]||Object.create(null),Kt(r[g],[{axis:f},s[g],d[u]])})}),Object.keys(r).forEach(a=>{const l=r[a];Kt(l,[O.scales[l.type],O.scale])}),r}function Tn(i){const t=i.options||(i.options={});t.plugins=P(t.plugins,{}),t.scales=tl(i,t)}function Rn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function el(i){return i=i||{},i.data=Rn(i.data),Tn(i),i}const ks=new Map,En=new Set;function _e(i,t){let e=ks.get(i);return e||(e=t(),ks.set(i,e),En.add(e)),e}const Yt=(i,t,e)=>{const s=pt(t,e);s!==void 0&&i.add(s)};class il{constructor(t){this._config=el(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Rn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Tn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return _e(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return _e(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return _e(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return _e(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Yt(l,t,d))),h.forEach(d=>Yt(l,n,d)),h.forEach(d=>Yt(l,Ct[o]||{},d)),h.forEach(d=>Yt(l,O,d)),h.forEach(d=>Yt(l,ai,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),En.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,Ct[e]||{},O.datasets[e]||{},{type:e},O,ai]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=ws(this._resolverCache,t,n);let l=r;if(nl(r,e)){o.$shared=!1,s=mt(s)?s():s;const c=this.createResolver(t,s,a);l=Ft(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=ws(this._resolverCache,t,s);return D(e)?Ft(o,e,void 0,n):o}}function ws(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:Mi(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const sl=i=>D(i)&&Object.getOwnPropertyNames(i).reduce((t,e)=>t||mt(i[e]),!1);function nl(i,t){const{isScriptable:e,isIndexable:s}=hn(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(mt(a)||sl(a))||r&&B(a))return!0}return!1}var ol="3.8.0";const rl=["top","bottom","left","right","chartArea"];function Ss(i,t){return i==="top"||i==="bottom"||rl.indexOf(i)===-1&&t==="x"}function Ps(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function Cs(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),z(e&&e.onComplete,[i],t)}function al(i){const t=i.chart,e=t.options.animation;z(e&&e.onProgress,[i],t)}function Fn(i){return mn()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const Te={},In=i=>{const t=Fn(i);return Object.values(Te).filter(e=>e.canvas===t).pop()};function ll(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function cl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}class Li{constructor(t,e){const s=this.config=new il(e),n=Fn(t),o=In(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ca(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=Kn(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Xa,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Xn(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],Te[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ot.listen(this,"complete",Cs),ot.listen(this,"progress",al),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return E(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Ji(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ki(this.canvas,this.ctx),this}stop(){return ot.stop(this),this}resize(t,e){ot.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Ji(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),z(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};R(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=hi(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),R(o,r=>{const a=r.options,l=a.id,c=hi(l,a),h=P(a.type,r.dtype);(a.position===void 0||Ss(a.position,c)!==Ss(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const u=ct.getScale(h);d=new u({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),R(n,(r,a)=>{r||delete s[a]}),R(s,r=>{ut.configure(this,r,r.options),ut.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Ps("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){R(this.scales,t=>{ut.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!zi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;ll(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;ut.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],R(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s=t._clip,n=!s.disabled,o=this.chartArea,r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(n&&Fe(e,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),n&&Ie(e),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return ee(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=ra.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=bt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Q(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ot.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};R(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){R(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},R(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!we(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=to(t),c=cl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,z(o.onHover,[t,a,this],this),l&&z(o.onClick,[t,a,this],this));const h=!we(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}const Ds=()=>R(Li.instances,i=>i._plugins.invalidate()),ht=!0;Object.defineProperties(Li,{defaults:{enumerable:ht,value:O},instances:{enumerable:ht,value:Te},overrides:{enumerable:ht,value:Ct},registry:{enumerable:ht,value:ct},version:{enumerable:ht,value:ol},getChart:{enumerable:ht,value:In},register:{enumerable:ht,value:(...i)=>{ct.add(...i),Ds()}},unregister:{enumerable:ht,value:(...i)=>{ct.remove(...i),Ds()}}});function zn(i,t,e){const{startAngle:s,pixelMargin:n,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=n/a;i.beginPath(),i.arc(o,r,a,s-c,e+c),l>n?(c=n/l,i.arc(o,r,l,e+c,s-c,!0)):i.arc(o,r,n,e+V,s-V),i.closePath(),i.clip()}function hl(i){return yi(i,["outerStart","outerEnd","innerStart","innerEnd"])}function dl(i,t,e,s){const n=hl(i.options.borderRadius),o=(e-t)/2,r=Math.min(o,s*t/2),a=l=>{const c=(e-Math.min(o,l))*s/2;return $(l,0,Math.min(o,c))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:$(n.innerStart,0,r),innerEnd:$(n.innerEnd,0,r)}}function Tt(i,t,e,s){return{x:e+i*Math.cos(t),y:s+i*Math.sin(t)}}function di(i,t,e,s,n){const{x:o,y:r,startAngle:a,pixelMargin:l,innerRadius:c}=t,h=Math.max(t.outerRadius+s+e-l,0),d=c>0?c+s+e+l:0;let u=0;const f=n-a;if(s){const F=c>0?c-s:0,zt=h>0?h-s:0,_t=(F+zt)/2,Bt=_t!==0?f*_t/(_t+s):f;u=(f-Bt)/2}const g=Math.max(.001,f*h-e/N)/h,p=(f-g)/2,m=a+p+u,b=n-p-u,{outerStart:x,outerEnd:y,innerStart:_,innerEnd:v}=dl(t,d,h,b-m),k=h-x,M=h-y,S=m+x/k,w=b-y/M,T=d+_,L=d+v,A=m+_/T,H=b-v/L;if(i.beginPath(),i.arc(o,r,h,S,w),y>0){const F=Tt(M,w,o,r);i.arc(F.x,F.y,y,w,b+V)}const Y=Tt(L,b,o,r);if(i.lineTo(Y.x,Y.y),v>0){const F=Tt(L,H,o,r);i.arc(F.x,F.y,v,b+V,H+Math.PI)}if(i.arc(o,r,d,b-v/d,m+_/d,!0),_>0){const F=Tt(T,A,o,r);i.arc(F.x,F.y,_,A+Math.PI,m-V)}const C=Tt(k,m,o,r);if(i.lineTo(C.x,C.y),x>0){const F=Tt(k,S,o,r);i.arc(F.x,F.y,x,m-V,S)}i.closePath()}function ul(i,t,e,s){const{fullCircles:n,startAngle:o,circumference:r}=t;let a=t.endAngle;if(n){di(i,t,e,s,o+I);for(let l=0;l=I||te(o,a,l),p=lt(r,c+u,h+u);return g&&p}getCenterPoint(t){const{x:e,y:s,startAngle:n,endAngle:o,innerRadius:r,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:l,spacing:c}=this.options,h=(n+o)/2,d=(r+a+c+l)/2;return{x:e+Math.cos(h)*d,y:s+Math.sin(h)*d}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:s}=this,n=(e.offset||0)/2,o=(e.spacing||0)/2;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=s>I?Math.floor(s/I):0,s===0||this.innerRadius<0||this.outerRadius<0)return;t.save();let r=0;if(n){r=n/2;const l=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(l)*r,Math.sin(l)*r),this.circumference>=N&&(r=n)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=ul(t,this,r,o);gl(t,this,r,o,a),t.restore()}}Ti.id="arc";Ti.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0};Ti.defaultRoutes={backgroundColor:"backgroundColor"};function Bn(i,t,e=t){i.lineCap=P(e.borderCapStyle,t.borderCapStyle),i.setLineDash(P(e.borderDash,t.borderDash)),i.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),i.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=P(e.borderWidth,t.borderWidth),i.strokeStyle=P(e.borderColor,t.borderColor)}function pl(i,t,e){i.lineTo(e.x,e.y)}function ml(i){return i.stepped?Ro:i.tension||i.cubicInterpolationMode==="monotone"?Eo:pl}function Vn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-_:_))%o,y=()=>{p!==m&&(i.lineTo(h,m),i.lineTo(h,p),i.lineTo(h,b))};for(l&&(f=n[x(0)],i.moveTo(f.x,f.y)),u=0;u<=a;++u){if(f=n[x(u)],f.skip)continue;const _=f.x,v=f.y,k=_|0;k===g?(vm&&(m=v),h=(d*h+_)/++d):(y(),i.lineTo(_,v),g=k,d=0,p=m=v),b=v}y()}function ui(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?xl:bl}function _l(i){return i.stepped?gr:i.tension||i.cubicInterpolationMode==="monotone"?pr:kt}function yl(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Bn(i,t.options),i.stroke(n)}function vl(i,t,e,s){const{segments:n,options:o}=t,r=ui(t);for(const a of n)Bn(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Ml=typeof Path2D=="function";function kl(i,t,e,s){Ml&&!t.options.segment?yl(i,t,e,s):vl(i,t,e,s)}class xt extends nt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;rr(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Mr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=vn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=_l(s);let c,h;for(c=0,h=r.length;ci!=="borderDash"&&i!=="fill"};function Os(i,t,e,s){const n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o){a=Ei(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Ei(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function As(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function Wn(i,t){let e=[],s=!1;return B(i)?(s=!0,e=i):e=Al(i,t),e.length?new xt({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function Ll(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function Tl(i,t,e){const s=Il(i);if(D(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?Rl(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Rl(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function El(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:D(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Fl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:D(i)?s=i.value:s=t.getBaseValue(),s}function Il(i){const t=i.options,e=t.fill;let s=P(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function zl(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=Bl(t,e);a.push(Wn({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;!a||(a.line.updateControlPoints(o,a.axis),s&&ni(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;o&&ni(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!s||s.fill===!1||e.drawTime!=="beforeDatasetDraw"||ni(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Es=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},ql=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Fs extends nt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=z(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=j(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Es(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,o,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let u=-1,f=-h;return this.legendItems.forEach((g,p)=>{const m=s+e/2+o.measureText(g.text).width;(p===0||c[c.length-1]+m+2*a>r)&&(d+=h,c[c.length-(p>0?0:1)]=0,f+=h,u++),l[p]={left:0,top:f,row:u,width:m,height:n},c[c.length-1]+=m+a}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,u=0,f=0,g=0,p=0;return this.legendItems.forEach((m,b)=>{const x=s+e/2+o.measureText(m.text).width;b>0&&f+n+2*a>h&&(d+=u+a,c.push({width:u,height:f}),g+=u+a,p++,u=f=0),l[b]={left:g,top:f,col:p,width:x,height:n},u=Math.max(u,x),f+=n+a}),d+=u,c.push({width:u,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=Rt(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=K(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=K(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=K(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=K(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Fe(t,this),this._draw(),Ie(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=O.color,l=Rt(t.rtl,this.left,this.width),c=j(r.font),{color:h,padding:d}=r,u=c.size,f=u/2;let g;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:m,itemHeight:b}=Es(r,u),x=function(M,S,w){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;n.save();const T=P(w.lineWidth,1);if(n.fillStyle=P(w.fillStyle,a),n.lineCap=P(w.lineCap,"butt"),n.lineDashOffset=P(w.lineDashOffset,0),n.lineJoin=P(w.lineJoin,"miter"),n.lineWidth=T,n.strokeStyle=P(w.strokeStyle,a),n.setLineDash(P(w.lineDash,[])),r.usePointStyle){const L={radius:p*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:T},A=l.xPlus(M,p/2),H=S+f;Oe(n,L,A,H)}else{const L=S+Math.max((u-m)/2,0),A=l.leftForLtr(M,p),H=St(w.borderRadius);n.beginPath(),Object.values(H).some(Y=>Y!==0)?ie(n,{x:A,y:L,w:p,h:m,radius:H}):n.rect(A,L,p,m),n.fill(),T!==0&&n.stroke()}n.restore()},y=function(M,S,w){Et(n,w.text,M,S+b/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},_=this.isHorizontal(),v=this._computeTitleHeight();_?g={x:K(o,this.left+d,this.right-s[0]),y:this.top+d+v,line:0}:g={x:this.left+d,y:K(o,this.top+v+d,this.bottom-e[0].height),line:0},bn(this.ctx,t.textDirection);const k=b+d;this.legendItems.forEach((M,S)=>{n.strokeStyle=M.fontColor||h,n.fillStyle=M.fontColor||h;const w=n.measureText(M.text).width,T=l.textAlign(M.textAlign||(M.textAlign=r.textAlign)),L=p+f+w;let A=g.x,H=g.y;l.setWidth(this.width),_?S>0&&A+L+d>this.right&&(H=g.y+=k,g.line++,A=g.x=K(o,this.left+d,this.right-s[g.line])):S>0&&H+k>this.bottom&&(A=g.x=A+e[g.line].width+d,g.line++,H=g.y=K(o,this.top+v+d,this.bottom-e[g.line].height));const Y=l.x(A);x(Y,H,M),A=Un(T,A+p+f,_?A+L:this.right,t.rtl),y(l.x(A),H,M),_?g.x+=L+d:g.y+=k}),xn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=j(e.font),n=X(e.padding);if(!e.display)return;const o=Rt(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,d=K(t.align,d,this.right-u);else{const g=this.columnSizes.reduce((p,m)=>Math.max(p,m.height),0);h=c+K(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}const f=K(a,d,d+u);r.textAlign=o.textAlign(Gs(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,Et(r,e.text,f,h,s)}_computeTitleHeight(){const t=this.options.title,e=j(t.font),s=X(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(lt(t,this.left,this.right)&<(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;si.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o}}=i.legend.options;return i._getSortedDatasetMetas().map(r=>{const a=r.controller.getStyle(e?0:void 0),l=X(a.borderWidth);return{text:t[r.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!r.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:r.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};const ke={average(i){if(!i.length)return!1;let t,e,s=0,n=0,o=0;for(t=0,e=i.length;t-1?i.split(` -`):i}function Jl(i,t){const{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:i,label:r,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function Is(i,t){const e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:r,boxHeight:a}=t,l=j(t.bodyFont),c=j(t.titleFont),h=j(t.footerFont),d=o.length,u=n.length,f=s.length,g=X(t.padding);let p=g.height,m=0,b=s.reduce((_,v)=>_+v.before.length+v.lines.length+v.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(p+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const _=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;p+=f*_+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}u&&(p+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let x=0;const y=function(_){m=Math.max(m,e.measureText(_).width+x)};return e.save(),e.font=c.string,R(i.title,y),e.font=l.string,R(i.beforeBody.concat(i.afterBody),y),x=t.displayColors?r+2+t.boxPadding:0,R(s,_=>{R(_.before,y),R(_.lines,y),R(_.after,y)}),x=0,e.font=h.string,R(i.footer,y),e.restore(),m+=g.width,{width:m,height:p}}function Ql(i,t){const{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function tc(i,t,e,s){const{x:n,width:o}=s,r=e.caretSize+e.caretPadding;if(i==="left"&&n+o+r>t.width||i==="right"&&n-o-r<0)return!0}function ec(i,t,e,s){const{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=i;let c="center";return s==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),tc(c,i,t,e)&&(c="center"),c}function zs(i,t,e){const s=e.yAlign||t.yAlign||Ql(i,e);return{xAlign:e.xAlign||t.xAlign||ec(i,t,e,s),yAlign:s}}function ic(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function sc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function Bs(i,t,e,s){const{caretSize:n,caretPadding:o,cornerRadius:r}=i,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:f}=St(r);let g=ic(t,a);const p=sc(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,u)+n:a==="right"&&(g+=Math.max(d,f)+n),{x:$(g,0,s.width-t.width),y:$(p,0,s.height-t.height)}}function ye(i,t,e){const s=X(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function Vs(i){return et([],rt(i))}function nc(i,t,e){return bt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Ns(i,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}class oc extends nt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new Mn(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=nc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:s}=e,n=s.beforeTitle.apply(this,[t]),o=s.title.apply(this,[t]),r=s.afterTitle.apply(this,[t]);let a=[];return a=et(a,rt(n)),a=et(a,rt(o)),a=et(a,rt(r)),a}getBeforeBody(t,e){return Vs(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:s}=e,n=[];return R(t,o=>{const r={before:[],lines:[],after:[]},a=Ns(s,o);et(r.before,rt(a.beforeLabel.call(this,o))),et(r.lines,a.label.call(this,o)),et(r.after,rt(a.afterLabel.call(this,o))),n.push(r)}),n}getAfterBody(t,e){return Vs(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:s}=e,n=s.beforeFooter.apply(this,[t]),o=s.footer.apply(this,[t]),r=s.afterFooter.apply(this,[t]);let a=[];return a=et(a,rt(n)),a=et(a,rt(o)),a=et(a,rt(r)),a}_createItems(t){const e=this._active,s=this.chart.data,n=[],o=[],r=[];let a=[],l,c;for(l=0,c=e.length;lt.filter(h,d,u,s))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,s))),R(a,h=>{const d=Ns(t.callbacks,h);n.push(d.labelColor.call(this,h)),o.push(d.labelPointStyle.call(this,h)),r.push(d.labelTextColor.call(this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){const s=this.options.setContext(this.getContext()),n=this._active;let o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const a=ke[s.position].call(this,n,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=Is(this,s),c=Object.assign({},a,l),h=zs(this.chart,s,c),d=Bs(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){const o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){const{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=St(a),{x:u,y:f}=t,{width:g,height:p}=e;let m,b,x,y,_,v;return o==="center"?(_=f+p/2,n==="left"?(m=u,b=m-r,y=_+r,v=_-r):(m=u+g,b=m+r,y=_-r,v=_+r),x=m):(n==="left"?b=u+Math.max(l,h)+r:n==="right"?b=u+g-Math.max(c,d)-r:b=this.caretX,o==="top"?(y=f,_=y-r,m=b-r,x=b+r):(y=f+p,_=y+r,m=b+r,x=b-r),v=y),{x1:m,x2:b,x3:x,y1:y,y2:_,y3:v}}drawTitle(t,e,s){const n=this.title,o=n.length;let r,a,l;if(o){const c=Rt(s.rtl,this.x,this.width);for(t.x=ye(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",r=j(s.titleFont),a=s.titleSpacing,e.fillStyle=s.titleColor,e.font=r.string,l=0;ly!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,ie(t,{x:m,y:p,w:c,h:l,radius:x}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),ie(t,{x:b,y:p+1,w:c-2,h:l-2,radius:x}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,p,c,l),t.strokeRect(m,p,c,l),t.fillStyle=r.backgroundColor,t.fillRect(b,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){const{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=j(s.bodyFont);let u=d.lineHeight,f=0;const g=Rt(s.rtl,this.x,this.width),p=function(S){e.fillText(S,g.x(t.x+f),t.y+u/2),t.y+=u+o},m=g.textAlign(r);let b,x,y,_,v,k,M;for(e.textAlign=r,e.textBaseline="middle",e.font=d.string,t.x=ye(this,m,s),e.fillStyle=s.bodyColor,R(this.beforeBody,p),f=a&&m!=="right"?r==="center"?c/2+h:c+2+h:0,_=0,k=n.length;_0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){const r=ke[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Is(this,t),l=Object.assign({},r,this._size),c=zs(e,t,l),h=Bs(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=X(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),bn(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),xn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const s=this._active,n=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!we(s,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,s),a=this._positionChanged(r,t),l=e||!we(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e;const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,e){const{caretX:s,caretY:n,options:o}=this,r=ke[o.position].call(this,t,e);return r!==!1&&(s!==r.x||n!==r.y)}}oc.positioners=ke;const rc=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function ac(i,t,e,s){const n=i.indexOf(t);if(n===-1)return rc(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const lc=(i,t)=>i===null?null:$(Math.round(i),0,t);class Re extends Dt{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const s=this.getLabels();for(const{index:n,label:o}of e)s[n]===o&&s.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(E(t))return null;const s=this.getLabels();return e=isFinite(e)&&s[e]===t?e:ac(s,t,P(e,t),this._addedLabels),lc(e,s.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:s,max:n}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(s=0),e||(n=this.getLabels().length-1)),this.min=s,this.max=n}buildTicks(){const t=this.min,e=this.max,s=this.options.offset,n=[];let o=this.getLabels();o=t===0&&e===o.length-1?o:o.slice(t,e+1),this._valueRange=Math.max(o.length-(s?0:1),1),this._startValue=this.min-(s?.5:0);for(let r=t;r<=e;r++)n.push({value:r});return n}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}Re.id="category";Re.defaults={ticks:{callback:Re.prototype.getLabelForValue}};function cc(i,t){const e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:u}=i,f=o||1,g=h-1,{min:p,max:m}=t,b=!E(r),x=!E(a),y=!E(c),_=(m-p)/(d+1);let v=Vi((m-p)/g/f)*f,k,M,S,w;if(v<1e-14&&!b&&!x)return[{value:p},{value:m}];w=Math.ceil(m/v)-Math.floor(p/v),w>g&&(v=Vi(w*v/g/f)*f),E(l)||(k=Math.pow(10,l),v=Math.ceil(v*k)/k),n==="ticks"?(M=Math.floor(p/v)*v,S=Math.ceil(m/v)*v):(M=p,S=m),b&&x&&o&&no((a-r)/o,v/1e3)?(w=Math.round(Math.min((a-r)/v,h)),v=(a-r)/w,M=r,S=a):y?(M=b?r:M,S=x?a:S,w=c-1,v=(S-M)/w):(w=(S-M)/v,qt(w,Math.round(w),v/1e3)?w=Math.round(w):w=Math.ceil(w));const T=Math.max(Ni(v),Ni(M));k=Math.pow(10,E(l)?T:l),M=Math.round(M*k)/k,S=Math.round(S*k)/k;let L=0;for(b&&(u&&M!==r?(e.push({value:r}),Mn=e?n:l,a=l=>o=s?o:l;if(t){const l=it(n),c=it(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=1;(o>=Number.MAX_SAFE_INTEGER||n<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(o*.05)),a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=cc(n,o);return t.bounds==="ticks"&&Qs(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return oe(t,this.chart.options.locale,this.options.ticks.format)}}class Fi extends Ee{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?t:0,this.max=W(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=tt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}Fi.id="linear";Fi.defaults={ticks:{callback:Be.formatters.numeric}};function Hs(i){return i/Math.pow(10,Math.floor(J(i)))===1}function hc(i,t){const e=Math.floor(J(t.max)),s=Math.ceil(t.max/Math.pow(10,e)),n=[];let o=Z(i.min,Math.pow(10,Math.floor(J(t.min)))),r=Math.floor(J(o)),a=Math.floor(o/Math.pow(10,r)),l=r<0?Math.pow(10,Math.abs(r)):1;do n.push({value:o,major:Hs(o)}),++a,a===10&&(a=1,++r,l=r>=0?1:l),o=Math.round(a*Math.pow(10,r)*l)/l;while(r0?s:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?Math.max(0,t):null,this.max=W(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let s=this.min,n=this.max;const o=l=>s=t?s:l,r=l=>n=e?n:l,a=(l,c)=>Math.pow(10,Math.floor(J(l))+c);s===n&&(s<=0?(o(1),r(10)):(o(a(s,-1)),r(a(n,1)))),s<=0&&o(a(n,-1)),n<=0&&r(a(s,1)),this._zero&&this.min!==this._suggestedMin&&s===a(this.min,0)&&o(a(s,-1)),this.min=s,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},s=hc(e,this);return t.bounds==="ticks"&&Qs(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":oe(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=J(t),this._valueRange=J(this.max)-J(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(J(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}jn.id="logarithmic";jn.defaults={ticks:{callback:Be.formatters.logarithmic,major:{enabled:!0}}};function gi(i){const t=i.ticks;if(t.display&&i.display){const e=X(t.backdropPadding);return P(t.font&&t.font.size,O.font.size)+e.height}return 0}function dc(i,t,e){return e=B(e)?e:[e],{w:To(i,t.string,e),h:e.length*t.lineHeight}}function js(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function uc(i){const t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,r=i.options.pointLabels,a=r.centerPointLabels?N/o:0;for(let l=0;lt.r&&(a=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/r,i.b=Math.max(i.b,t.b+l))}function gc(i,t,e){const s=[],n=i._pointLabels.length,o=i.options,r=gi(o)/2,a=i.drawingArea,l=o.pointLabels.centerPointLabels?N/n:0;for(let c=0;c270||e<90)&&(i-=t),i}function xc(i,t){const{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){const o=s.setContext(i.getPointLabelContext(n)),r=j(o.font),{x:a,y:l,textAlign:c,left:h,top:d,right:u,bottom:f}=i._pointLabelItems[n],{backdropColor:g}=o;if(!E(g)){const p=St(o.borderRadius),m=X(o.backdropPadding);e.fillStyle=g;const b=h-m.left,x=d-m.top,y=u-h+m.width,_=f-d+m.height;Object.values(p).some(v=>v!==0)?(e.beginPath(),ie(e,{x:b,y:x,w:y,h:_,radius:p}),e.fill()):e.fillRect(b,x,y,_)}Et(e,i._pointLabels[n],a,l+r.lineHeight/2,r,{color:o.color,textAlign:c,textBaseline:"middle"})}}function $n(i,t,e,s){const{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,I);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let r=1;r{const n=z(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?uc(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){const e=I/(this._pointLabels.length||1),s=this.options.startAngle||0;return q(t*e+tt(s))}getDistanceFromCenterForValue(t){if(E(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(E(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(h!==0){a=this.getDistanceFromCenterForValue(c.value);const d=n.setContext(this.getContext(h-1));_c(this,d,a,o)}}),s.display){for(t.save(),r=o-1;r>=0;r--){const c=s.setContext(this.getPointLabelContext(r)),{color:h,lineWidth:d}=c;!d||!h||(t.lineWidth=d,t.strokeStyle=h,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(r,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;const n=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!e.reverse)return;const c=s.setContext(this.getContext(l)),h=j(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=X(c.backdropPadding);t.fillRect(-r/2-d.left,-o-h.size/2-d.top,r+d.width,h.size+d.height)}Et(t,a.label,0,-o,h,{color:c.color})}),t.restore()}drawTitle(){}}Ne.id="radialLinear";Ne.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Be.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(i){return i},padding:5,centerPointLabels:!1}};Ne.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};Ne.descriptors={angleLines:{_fallback:"grid"}};const We={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}},U=Object.keys(We);function vc(i,t){return i-t}function $s(i,t){if(E(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),W(r)||(r=typeof s=="string"?e.parse(r,s):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(Qt(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function Ys(i,t,e,s){const n=U.length;for(let o=U.indexOf(i);o=U.indexOf(e);o--){const r=U[o];if(We[r].common&&i._adapter.diff(n,s,r)>=t-1)return r}return U[e?U.indexOf(e):0]}function kc(i){for(let t=U.indexOf(i)+1,e=U.length;t=t?e[s]:e[n];i[o]=!0}}function wc(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,s))l=e[a],l>=0&&(t[l].major=!0);return t}function Us(i,t,e){const s=[],n={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;e=$(e,0,r),s=$(s,0,r),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,r=o.unit||Ys(o.minUnit,e,s,this._getLabelCapacity(e)),a=P(o.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Qt(l)||l===!0,h={};let d=e,u,f;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,e,r)>1e5*a)throw new Error(e+" and "+s+" are too far apart with stepSize of "+a+" "+r);const g=n.ticks.source==="data"&&this.getDataTimestamps();for(u=d,f=0;up-m).map(p=>+p)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}_tickFormatFunction(t,e,s,n){const o=this.options,r=o.time.displayFormats,a=this._unit,l=this._majorUnit,c=a&&r[a],h=l&&r[l],d=s[e],u=l&&h&&d&&d.major,f=this._adapter.format(t,n||(u?h:c)),g=o.ticks.callback;return g?z(g,[f,e,s],this):f}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=wt(i,"pos",t)),{pos:o,time:a}=i[s],{pos:r,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=wt(i,"time",t)),{time:o,pos:a}=i[s],{time:r,pos:l}=i[n]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Yn extends He{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ve(e,this.min),this._tableRange=ve(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(r=0,a=n.length;re in r?u(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,f=(r,e)=>{for(var o in e||(e={}))w.call(e,o)&&p(r,o,e[o]);if(l)for(var o of l(e))b.call(e,o)&&p(r,o,e[o]);return r},v=(r,e)=>y(r,g(e));import{r as d,j as c,P as s}from"./index.25cbb458.js";function j(r,e){if(r==null)return{};var o=O(r,e),n,t;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(t=0;t=0)&&(!Object.prototype.propertyIsEnumerable.call(r,n)||(o[n]=r[n]))}return o}function O(r,e){if(r==null)return{};var o={},n=Object.keys(r),t,i;for(i=0;i=0)&&(o[t]=r[t]);return o}var a=d.exports.forwardRef(function(r,e){var o=r.color,n=o===void 0?"currentColor":o,t=r.size,i=t===void 0?24:t,h=j(r,["color","size"]);return c("svg",v(f({ref:e,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},h),{children:c("polyline",{points:"6 9 12 15 18 9"})}))});a.propTypes={color:s.string,size:s.oneOfType([s.string,s.number])};a.displayName="ChevronDown";var x=a;export{x as C}; diff --git a/clash/clash/dashboard/yacd/assets/debounce-c1ba2006.js b/clash/clash/dashboard/yacd/assets/debounce-c1ba2006.js new file mode 100644 index 0000000..3f3779c --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/debounce-c1ba2006.js @@ -0,0 +1 @@ +function O(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var M=typeof global=="object"&&global&&global.Object===Object&&global;const R=M;var w=typeof self=="object"&&self&&self.Object===Object&&self,B=R||w||Function("return this")();const W=B;var F=function(){return W.Date.now()};const S=F;var G=/\s/;function U(e){for(var n=e.length;n--&&G.test(e.charAt(n)););return n}var _=/^\s+/;function D(e){return e&&e.slice(0,U(e)+1).replace(_,"")}var H=W.Symbol;const y=H;var L=Object.prototype,X=L.hasOwnProperty,q=L.toString,g=y?y.toStringTag:void 0;function z(e){var n=X.call(e,g),i=e[g];try{e[g]=void 0;var o=!0}catch{}var f=q.call(e);return o&&(n?e[g]=i:delete e[g]),f}var J=Object.prototype,K=J.toString;function Q(e){return K.call(e)}var V="[object Null]",Y="[object Undefined]",$=y?y.toStringTag:void 0;function Z(e){return e==null?e===void 0?Y:V:$&&$ in Object(e)?z(e):Q(e)}function ee(e){return e!=null&&typeof e=="object"}var ne="[object Symbol]";function te(e){return typeof e=="symbol"||ee(e)&&Z(e)==ne}var E=0/0,re=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,oe=/^0o[0-7]+$/i,ae=parseInt;function k(e){if(typeof e=="number")return e;if(te(e))return E;if(O(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=O(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=D(e);var i=ie.test(e);return i||oe.test(e)?ae(e.slice(2),i?2:8):re.test(e)?E:+e}var fe="Expected a function",ce=Math.max,ue=Math.min;function se(e,n,i){var o,f,s,u,r,c,d=0,v=!1,l=!1,T=!0;if(typeof e!="function")throw new TypeError(fe);n=k(n)||0,O(i)&&(v=!!i.leading,l="maxWait"in i,s=l?ce(k(i.maxWait)||0,n):s,T="trailing"in i?!!i.trailing:T);function j(t){var a=o,b=f;return o=f=void 0,d=t,u=e.apply(b,a),u}function N(t){return d=t,r=setTimeout(m,n),v?j(t):u}function P(t){var a=t-c,b=t-d,I=n-a;return l?ue(I,s-b):I}function h(t){var a=t-c,b=t-d;return c===void 0||a>=n||a<0||l&&b>=s}function m(){var t=S();if(h(t))return x(t);r=setTimeout(m,P(t))}function x(t){return r=void 0,T&&o?j(t):(o=f=void 0,u)}function A(){r!==void 0&&clearTimeout(r),d=0,o=c=f=r=void 0}function C(){return r===void 0?u:x(S())}function p(){var t=S(),a=h(t);if(o=arguments,f=this,c=t,a){if(r===void 0)return N(c);if(l)return clearTimeout(r),r=setTimeout(m,n),j(c)}return r===void 0&&(r=setTimeout(m,n)),u}return p.cancel=A,p.flush=C,p}export{se as d}; diff --git a/clash/clash/dashboard/yacd/assets/debounce.d080d5e1.js b/clash/clash/dashboard/yacd/assets/debounce.d080d5e1.js deleted file mode 100644 index fd75806..0000000 --- a/clash/clash/dashboard/yacd/assets/debounce.d080d5e1.js +++ /dev/null @@ -1 +0,0 @@ -function S(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var M=typeof global=="object"&&global&&global.Object===Object&&global,R=M,w=typeof self=="object"&&self&&self.Object===Object&&self,B=R||w||Function("return this")(),W=B,F=function(){return W.Date.now()},p=F,G=/\s/;function U(e){for(var n=e.length;n--&&G.test(e.charAt(n)););return n}var _=/^\s+/;function D(e){return e&&e.slice(0,U(e)+1).replace(_,"")}var H=W.Symbol,y=H,L=Object.prototype,X=L.hasOwnProperty,q=L.toString,g=y?y.toStringTag:void 0;function z(e){var n=X.call(e,g),i=e[g];try{e[g]=void 0;var o=!0}catch{}var f=q.call(e);return o&&(n?e[g]=i:delete e[g]),f}var J=Object.prototype,K=J.toString;function Q(e){return K.call(e)}var V="[object Null]",Y="[object Undefined]",$=y?y.toStringTag:void 0;function Z(e){return e==null?e===void 0?Y:V:$&&$ in Object(e)?z(e):Q(e)}function ee(e){return e!=null&&typeof e=="object"}var ne="[object Symbol]";function te(e){return typeof e=="symbol"||ee(e)&&Z(e)==ne}var E=0/0,re=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,oe=/^0o[0-7]+$/i,ae=parseInt;function k(e){if(typeof e=="number")return e;if(te(e))return E;if(S(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=S(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=D(e);var i=ie.test(e);return i||oe.test(e)?ae(e.slice(2),i?2:8):re.test(e)?E:+e}var fe="Expected a function",ce=Math.max,ue=Math.min;function se(e,n,i){var o,f,s,u,r,c,d=0,O=!1,l=!1,T=!0;if(typeof e!="function")throw new TypeError(fe);n=k(n)||0,S(i)&&(O=!!i.leading,l="maxWait"in i,s=l?ce(k(i.maxWait)||0,n):s,T="trailing"in i?!!i.trailing:T);function j(t){var a=o,b=f;return o=f=void 0,d=t,u=e.apply(b,a),u}function N(t){return d=t,r=setTimeout(m,n),O?j(t):u}function P(t){var a=t-c,b=t-d,I=n-a;return l?ue(I,s-b):I}function h(t){var a=t-c,b=t-d;return c===void 0||a>=n||a<0||l&&b>=s}function m(){var t=p();if(h(t))return x(t);r=setTimeout(m,P(t))}function x(t){return r=void 0,T&&o?j(t):(o=f=void 0,u)}function A(){r!==void 0&&clearTimeout(r),d=0,o=c=f=r=void 0}function C(){return r===void 0?u:x(p())}function v(){var t=p(),a=h(t);if(o=arguments,f=this,c=t,a){if(r===void 0)return N(c);if(l)return clearTimeout(r),r=setTimeout(m,n),j(c)}return r===void 0&&(r=setTimeout(m,n)),u}return v.cancel=A,v.flush=C,v}export{se as d}; diff --git a/clash/clash/dashboard/yacd/assets/en.fb34eaf7.js b/clash/clash/dashboard/yacd/assets/en-89e30f54.js similarity index 61% rename from clash/clash/dashboard/yacd/assets/en.fb34eaf7.js rename to clash/clash/dashboard/yacd/assets/en-89e30f54.js index 8953c84..550aa63 100644 --- a/clash/clash/dashboard/yacd/assets/en.fb34eaf7.js +++ b/clash/clash/dashboard/yacd/assets/en-89e30f54.js @@ -1 +1 @@ -const e={Overview:"Overview",Proxies:"Proxies",Rules:"Rules",Conns:"Conns",Config:"Config",Logs:"Logs",Upload:"Upload",Download:"Download","Upload Total":"Upload Total","Download Total":"Download Total","Active Connections":"Active Connections","Pause Refresh":"Pause Refresh","Resume Refresh":"Resume Refresh",Up:"Up",Down:"Down","Test Latency":"Test Latency",settings:"settings",sort_in_grp:"Sorting in group",hide_unavail_proxies:"Hide unavailable proxies",auto_close_conns:"Automatically close old connections",order_natural:"Original order in config file",order_latency_asc:"By latency from small to big",order_latency_desc:"By latency from big to small",order_name_asc:"By name alphabetically (A-Z)",order_name_desc:"By name alphabetically (Z-A)",Connections:"Connections",Active:"Active",Closed:"Closed",switch_theme:"Switch theme",theme:"theme",about:"about",no_logs:"No logs yet, hang tight...",chart_style:"Chart Style",latency_test_url:"Latency Test URL",lang:"Language",update_all_rule_provider:"Update all rule providers",update_all_proxy_provider:"Update all proxy providers"};export{e as data}; +const e={Overview:"Overview",Proxies:"Proxies",Rules:"Rules",Conns:"Conns",Config:"Config",Logs:"Logs",Upload:"Upload",Download:"Download","Upload Total":"Upload Total","Download Total":"Download Total","Active Connections":"Active Connections","Pause Refresh":"Pause Refresh","Resume Refresh":"Resume Refresh",Up:"Up",Down:"Down","Test Latency":"Test Latency",settings:"settings",sort_in_grp:"Sorting in group",hide_unavail_proxies:"Hide unavailable proxies",auto_close_conns:"Automatically close old connections",order_natural:"Original order in config file",order_latency_asc:"By latency from small to big",order_latency_desc:"By latency from big to small",order_name_asc:"By name alphabetically (A-Z)",order_name_desc:"By name alphabetically (Z-A)",Connections:"Connections",current_backend:"Current Backend",Active:"Active",switch_backend:"Switch backend",Closed:"Closed",switch_theme:"Switch theme",theme:"theme",about:"about",no_logs:"No logs yet, hang tight...",chart_style:"Chart Style",latency_test_url:"Latency Test URL",lang:"Language",update_all_rule_provider:"Update all rule providers",update_all_proxy_provider:"Update all proxy providers",dark_mode_pure_black_toggle_label:"Use pure black in dark mode"};export{e as data}; diff --git a/clash/clash/dashboard/yacd/assets/index-138a52ef.js b/clash/clash/dashboard/yacd/assets/index-138a52ef.js new file mode 100644 index 0000000..91c975c --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/index-138a52ef.js @@ -0,0 +1 @@ +import{ak as x}from"./index-3b7e2f10.js";function h(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function s(e){h(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||x(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}var C={};function A(){return C}function P(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function M(e,t){h(2,arguments);var a=s(e),n=s(t),i=a.getTime()-n.getTime();return i<0?-1:i>0?1:i}function X(e,t){h(2,arguments);var a=s(e),n=s(t),i=a.getFullYear()-n.getFullYear(),o=a.getMonth()-n.getMonth();return i*12+o}function _(e,t){return h(2,arguments),s(e).getTime()-s(t).getTime()}var S={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},I="trunc";function j(e){return e?S[e]:S[I]}function R(e){h(1,arguments);var t=s(e);return t.setHours(23,59,59,999),t}function E(e){h(1,arguments);var t=s(e),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function Y(e){h(1,arguments);var t=s(e);return R(t).getTime()===E(t).getTime()}function z(e,t){h(2,arguments);var a=s(e),n=s(t),i=M(a,n),o=Math.abs(X(a,n)),r;if(o<1)r=0;else{a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-i*o);var l=M(a,n)===-i;Y(s(e))&&o===1&&M(e,n)===1&&(l=!1),r=i*(o-Number(l))}return r===0?0:r}function L(e,t,a){h(2,arguments);var n=_(e,t)/1e3;return j(a==null?void 0:a.roundingMethod)(n)}var V={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"}},q=function(t,a,n){var i,o=V[t];return typeof o=="string"?i=o:a===1?i=o.one:i=o.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i};const H=q;function w(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=t.width?String(t.width):e.defaultWidth,n=e.formats[a]||e.formats[e.defaultWidth];return n}}var J={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},U={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},$={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Q={date:w({formats:J,defaultWidth:"full"}),time:w({formats:U,defaultWidth:"full"}),dateTime:w({formats:$,defaultWidth:"full"})};const B=Q;var G={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},K=function(t,a,n,i){return G[t]};const Z=K;function g(e){return function(t,a){var n=a!=null&&a.context?String(a.context):"standalone",i;if(n==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,r=a!=null&&a.width?String(a.width):o;i=e.formattingValues[r]||e.formattingValues[o]}else{var l=e.defaultWidth,u=a!=null&&a.width?String(a.width):e.defaultWidth;i=e.values[u]||e.values[l]}var f=e.argumentCallback?e.argumentCallback(t):t;return i[f]}}var ee={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},te={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ae={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"]},ne={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"]},re={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"}},ie={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"}},oe=function(t,a){var n=Number(t),i=n%100;if(i>20||i<10)switch(i%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ue={ordinalNumber:oe,era:g({values:ee,defaultWidth:"wide"}),quarter:g({values:te,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:g({values:ae,defaultWidth:"wide"}),day:g({values:ne,defaultWidth:"wide"}),dayPeriod:g({values:re,defaultWidth:"wide",formattingValues:ie,defaultFormattingWidth:"wide"})};const se=ue;function b(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=a.width,i=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;var r=o[0],l=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?de(l,function(m){return m.test(r)}):le(l,function(m){return m.test(r)}),f;f=e.valueCallback?e.valueCallback(u):u,f=a.valueCallback?a.valueCallback(f):f;var c=t.slice(r.length);return{value:f,rest:c}}}function le(e,t){for(var a in e)if(e.hasOwnProperty(a)&&t(e[a]))return a}function de(e,t){for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:{},n=t.match(e.matchPattern);if(!n)return null;var i=n[0],o=t.match(e.parsePattern);if(!o)return null;var r=e.valueCallback?e.valueCallback(o[0]):o[0];r=a.valueCallback?a.valueCallback(r):r;var l=t.slice(i.length);return{value:r,rest:l}}}var me=/^(\d+)(th|st|nd|rd)?/i,he=/\d+/i,ce={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},ve={any:[/^b/i,/^(a|c)/i]},ge={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},be={any:[/1/i,/2/i,/3/i,/4/i]},Me={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},ye={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]},we={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},pe={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]},De={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},Pe={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}},Se={ordinalNumber:fe({matchPattern:me,parsePattern:he,valueCallback:function(t){return parseInt(t,10)}}),era:b({matchPatterns:ce,defaultMatchWidth:"wide",parsePatterns:ve,defaultParseWidth:"any"}),quarter:b({matchPatterns:ge,defaultMatchWidth:"wide",parsePatterns:be,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:b({matchPatterns:Me,defaultMatchWidth:"wide",parsePatterns:ye,defaultParseWidth:"any"}),day:b({matchPatterns:we,defaultMatchWidth:"wide",parsePatterns:pe,defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:De,defaultMatchWidth:"any",parsePatterns:Pe,defaultParseWidth:"any"})};const Te=Se;var We={code:"en-US",formatDistance:H,formatLong:B,formatRelative:Z,localize:se,match:Te,options:{weekStartsOn:0,firstWeekContainsDate:1}};const ke=We;function W(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}function Ne(e){return W({},e)}var T=1440,Oe=2520,p=43200,Fe=86400;function Ce(e,t,a){var n,i;h(2,arguments);var o=A(),r=(n=(i=a==null?void 0:a.locale)!==null&&i!==void 0?i:o.locale)!==null&&n!==void 0?n:ke;if(!r.formatDistance)throw new RangeError("locale must contain formatDistance property");var l=M(e,t);if(isNaN(l))throw new RangeError("Invalid time value");var u=W(Ne(a),{addSuffix:!!(a!=null&&a.addSuffix),comparison:l}),f,c;l>0?(f=s(t),c=s(e)):(f=s(e),c=s(t));var m=L(c,f),k=(P(c)-P(f))/1e3,d=Math.round((m-k)/60),v;if(d<2)return a!=null&&a.includeSeconds?m<5?r.formatDistance("lessThanXSeconds",5,u):m<10?r.formatDistance("lessThanXSeconds",10,u):m<20?r.formatDistance("lessThanXSeconds",20,u):m<40?r.formatDistance("halfAMinute",0,u):m<60?r.formatDistance("lessThanXMinutes",1,u):r.formatDistance("xMinutes",1,u):d===0?r.formatDistance("lessThanXMinutes",1,u):r.formatDistance("xMinutes",d,u);if(d<45)return r.formatDistance("xMinutes",d,u);if(d<90)return r.formatDistance("aboutXHours",1,u);if(dr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const px="modulepreload",hx=function(e,t){return new URL(e,t).href},Vp={},Kt=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=hx(i,r),i in Vp)return;Vp[i]=!0;const s=i.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=o.length-1;c>=0;c--){const f=o[c];if(f.href===i&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":px,s||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),s)return new Promise((c,f)=>{u.addEventListener("load",c),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i})};function vs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function mx(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var ov={exports:{}},Ol={},iv={exports:{}},Z={};/** + * @license React + * 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. + */var ys=Symbol.for("react.element"),gx=Symbol.for("react.portal"),vx=Symbol.for("react.fragment"),yx=Symbol.for("react.strict_mode"),wx=Symbol.for("react.profiler"),xx=Symbol.for("react.provider"),Sx=Symbol.for("react.context"),Ex=Symbol.for("react.forward_ref"),bx=Symbol.for("react.suspense"),Cx=Symbol.for("react.memo"),_x=Symbol.for("react.lazy"),Kp=Symbol.iterator;function Ox(e){return e===null||typeof e!="object"?null:(e=Kp&&e[Kp]||e["@@iterator"],typeof e=="function"?e:null)}var sv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},av=Object.assign,lv={};function Ho(e,t,n){this.props=e,this.context=t,this.refs=lv,this.updater=n||sv}Ho.prototype.isReactComponent={};Ho.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Ho.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function uv(){}uv.prototype=Ho.prototype;function qf(e,t,n){this.props=e,this.context=t,this.refs=lv,this.updater=n||sv}var Yf=qf.prototype=new uv;Yf.constructor=qf;av(Yf,Ho.prototype);Yf.isPureReactComponent=!0;var Qp=Array.isArray,cv=Object.prototype.hasOwnProperty,Gf={current:null},fv={key:!0,ref:!0,__self:!0,__source:!0};function dv(e,t,n){var r,o={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)cv.call(t,r)&&!fv.hasOwnProperty(r)&&(o[r]=t[r]);var a=arguments.length-2;if(a===1)o.children=n;else if(11&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Ix,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function ii(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function Yp(e){return e==null?"":""+e}function Fx(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function Jf(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function o(){return!e||typeof e=="string"}const i=typeof t!="string"?[].concat(t):t.split(".");for(;i.length>1;){if(o())return{};const s=r(i.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return o()?{}:{obj:e,k:r(i.shift())}}function Gp(e,t,n){const{obj:r,k:o}=Jf(e,t,Object);r[o]=n}function jx(e,t,n,r){const{obj:o,k:i}=Jf(e,t,Object);o[i]=o[i]||[],r&&(o[i]=o[i].concat(n)),r||o[i].push(n)}function Ma(e,t){const{obj:n,k:r}=Jf(e,t);if(n)return n[r]}function Ux(e,t,n){const r=Ma(e,n);return r!==void 0?r:Ma(t,n)}function hv(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):hv(e[r],t[r],n):e[r]=t[r]);return e}function Zr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var zx={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Bx(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>zx[t]):e}const Wx=[" ",",","?","!",";"];function Hx(e,t,n){t=t||"",n=n||"";const r=Wx.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const o=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let i=!o.test(e);if(!i){const s=e.indexOf(n);s>0&&!o.test(e.substring(0,s))&&(i=!0)}return i}function Da(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let i=0;ii+s;)s++,a=r.slice(i,i+s).join(n),l=o[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(i+s).join(n);return u?Da(l,u,n):void 0}o=o[r[i]]}return o}function Ia(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class Xp extends kl{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(i?r.split(i):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Ma(this.data,a);return l||!s||typeof r!="string"?l:Da(this.data&&this.data[t]&&this.data[t][n],r,i)}addResource(t,n,r,o){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),o=n,n=a[1]),this.addNamespaces(n),Gp(this.data,a,o),i.silent||this.emit("added",t,n,r,o)}addResources(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in r)(typeof r[i]=="string"||Object.prototype.toString.apply(r[i])==="[object Array]")&&this.addResource(t,n,i,r[i],{silent:!0});o.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),o=r,r=n,n=a[1]),this.addNamespaces(n);let l=Ma(this.data,a)||{};o?hv(l,r,i):l={...l,...r},Gp(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var mv={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach(i=>{this.processors[i]&&(t=this.processors[i].process(t,n,r,o))}),t}};const Jp={};class Fa extends kl{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Fx(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=nn.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let i=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Hx(t,r,o);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:i};const u=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(u[0])>-1)&&(i=u.shift()),t=u.join(o)}return typeof i=="string"&&(i=[i]),{key:t,namespaces:i}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const x=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${x}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${x}${s}`}return o?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let d=f&&f.res;const h=f&&f.usedKey||s,v=f&&f.exactUsedKey||s,y=Object.prototype.toString.apply(d),S=["[object Number]","[object Function]","[object RegExp]"],g=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&(typeof d!="string"&&typeof d!="boolean"&&typeof d!="number")&&S.indexOf(y)<0&&!(typeof g=="string"&&y==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(f.res=x,f):x}if(i){const x=y==="[object Array]",O=x?[]:{},P=x?v:h;for(const R in d)if(Object.prototype.hasOwnProperty.call(d,R)){const b=`${P}${i}${R}`;O[R]=this.translate(b,{...n,joinArrays:!1,ns:a}),O[R]===b&&(O[R]=d[R])}d=O}}else if(m&&typeof g=="string"&&y==="[object Array]")d=d.join(g),d&&(d=this.extendTranslation(d,t,n,r));else{let x=!1,O=!1;const P=n.count!==void 0&&typeof n.count!="string",R=Fa.hasDefaultValue(n),b=P?this.pluralResolver.getSuffix(u,n.count,n):"",A=n.ordinal&&P?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",$=n[`defaultValue${b}`]||n[`defaultValue${A}`]||n.defaultValue;!this.isValidLookup(d)&&R&&(x=!0,d=$),this.isValidLookup(d)||(O=!0,d=s);const M=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&O?void 0:d,D=R&&$!==d&&this.options.updateMissing;if(O||x||D){if(this.logger.log(D?"updateKey":"missingKey",u,l,s,D?$:d),i){const C=this.resolve(s,{...n,keySeparator:!1});C&&C.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let T=[];const L=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&L&&L[0])for(let C=0;C{const j=R&&N!==d?N:M;this.options.missingKeyHandler?this.options.missingKeyHandler(C,l,k,j,D,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(C,l,k,j,D,n),this.emit("missingKey",C,l,k,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&P?T.forEach(C=>{this.pluralResolver.getSuffixes(C,n).forEach(k=>{U([C],s+k,n[`defaultValue${k}`]||$)})}):U(T,s,$))}d=this.extendTranslation(d,t,n,f,r),O&&d===s&&this.options.appendNamespaceToMissingKey&&(d=`${l}:${s}`),(O||x)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,x?d:void 0):d=this.options.parseMissingKeyHandler(d))}return o?(f.res=d,f):d}extendTranslation(t,n,r,o,i){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const d=t.match(this.interpolator.nestingRegexp);c=d&&d.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const d=t.match(this.interpolator.nestingRegexp),h=d&&d.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,o,i,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;o=c;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const d=n.count!==void 0&&typeof n.count!="string",h=d&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),v=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",y=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(S=>{this.isValidLookup(r)||(a=S,!Jp[`${y[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(Jp[`${y[0]}-${S}`]=!0,this.logger.warn(`key "${o}" for languages "${y.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),y.forEach(g=>{if(this.isValidLookup(r))return;s=g;const m=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(m,c,g,S,n);else{let x;d&&(x=this.pluralResolver.getSuffix(g,n.count,n));const O=`${this.options.pluralSeparator}zero`,P=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(m.push(c+x),n.ordinal&&x.indexOf(P)===0&&m.push(c+x.replace(P,this.options.pluralSeparator)),h&&m.push(c+O)),v){const R=`${c}${this.options.contextSeparator}${n.context}`;m.push(R),d&&(m.push(R+x),n.ordinal&&x.indexOf(P)===0&&m.push(R+x.replace(P,this.options.pluralSeparator)),h&&m.push(R+O))}}let w;for(;w=m.pop();)this.isValidLookup(r)||(i=w,r=this.getResource(g,S,w,n))}))})}),{res:r,usedKey:o,exactUsedKey:i,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,o):this.resourceStore.getResource(t,n,r,o)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function lu(e){return e.charAt(0).toUpperCase()+e.slice(1)}class Zp{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=nn.create("languageUtils")}getScriptPartFromCode(t){if(t=Ia(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Ia(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(o=>o.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=lu(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=lu(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=lu(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(i=>{if(i===o)return i;if(!(i.indexOf("-")<0&&o.indexOf("-")<0)&&i.indexOf(o)===0)return i})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),o=[],i=s=>{s&&(this.isSupportedCode(s)?o.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):typeof t=="string"&&i(this.formatLanguageCode(t)),r.forEach(s=>{o.indexOf(s)<0&&i(this.formatLanguageCode(s))}),o}}let Vx=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Kx={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const Qx=["v1","v2","v3"],qx=["v4"],eh={zero:0,one:1,two:2,few:3,many:4,other:5};function Yx(){const e={};return Vx.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:Kx[t.fc]}})}),e}class Gx{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=nn.create("pluralResolver"),(!this.options.compatibilityJSON||qx.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=Yx()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(Ia(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(o=>`${n}${o}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((o,i)=>eh[o]-eh[i]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):r.numbers.map(o=>this.getSuffix(t,o,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(t,r);return o?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:this.getSuffixRetroCompatible(o,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let o=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const i=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?`_plural_${o.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!Qx.includes(this.options.compatibilityJSON)}}function th(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=Ux(e,t,n);return!i&&o&&typeof n=="string"&&(i=Da(e,n,r),i===void 0&&(i=Da(t,n,r))),i}class Xx{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=nn.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Bx,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?Zr(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?Zr(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?Zr(n.nestingPrefix):n.nestingPrefixEscaped||Zr("$t("),this.nestingSuffix=n.nestingSuffix?Zr(n.nestingSuffix):n.nestingSuffixEscaped||Zr(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,o){let i,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(v){return v.replace(/\$/g,"$$$$")}const c=v=>{if(v.indexOf(this.formatSeparator)<0){const m=th(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(m,void 0,r,{...o,...n,interpolationkey:v}):m}const y=v.split(this.formatSeparator),S=y.shift().trim(),g=y.join(this.formatSeparator).trim();return this.format(th(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),g,r,{...o,...n,interpolationkey:S})};this.resetRegExp();const f=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,d=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:v=>u(v)},{regex:this.regexp,safeValue:v=>this.escapeValue?u(this.escape(v)):u(v)}].forEach(v=>{for(a=0;i=v.regex.exec(t);){const y=i[1].trim();if(s=c(y),s===void 0)if(typeof f=="function"){const g=f(t,i,o);s=typeof g=="string"?g:""}else if(o&&Object.prototype.hasOwnProperty.call(o,y))s="";else if(d){s=i[0];continue}else this.logger.warn(`missed to pass in variable ${y} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=Yp(s));const S=v.safeValue(s);if(t=t.replace(i[0],S),d?(v.regex.lastIndex+=s.length,v.regex.lastIndex-=i[0].length):v.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,i,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const f=l.split(new RegExp(`${c}[ ]*{`));let d=`{${f[1]}`;l=f[0],d=this.interpolate(d,s);const h=d.match(/'/g),v=d.match(/"/g);(h&&h.length%2===0&&!v||v.length%2!==0)&&(d=d.replace(/'/g,'"'));try{s=JSON.parse(d),u&&(s={...u,...s})}catch(y){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,y),`${l}${c}${d}`}return delete s.defaultValue,l}for(;o=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const c=o[1].split(this.formatSeparator).map(f=>f.trim());o[1]=c.shift(),l=c,u=!0}if(i=n(a.call(this,o[1].trim(),s),s),i&&o[0]===t&&typeof i!="string")return i;typeof i!="string"&&(i=Yp(i)),i||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),i=""),u&&(i=l.reduce((c,f)=>this.format(c,f,r.lng,{...r,interpolationkey:o[1].trim()}),i.trim())),t=t.replace(o[0],i),this.regexp.lastIndex=0}return t}}function Jx(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function eo(e){const t={};return function(r,o,i){const s=o+JSON.stringify(i);let a=t[s];return a||(a=e(Ia(o),i),t[s]=a),a(r)}}class Zx{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=nn.create("formatter"),this.options=t,this.formats={number:eo((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return i=>o.format(i)}),currency:eo((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return i=>o.format(i)}),datetime:eo((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return i=>o.format(i)}),relativetime:eo((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return i=>o.format(i,r.range||"day")}),list:eo((n,r)=>{const o=new Intl.ListFormat(n,{...r});return i=>o.format(i)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=eo(n)}format(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=Jx(l);if(this.formats[u]){let f=a;try{const d=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},h=d.locale||d.lng||o.locale||o.lng||r;f=this.formats[u](a,h,{...c,...o,...d})}catch(d){this.logger.warn(d)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function eS(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class tS extends kl{constructor(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=nn.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,o.backend,o)}queueLoad(t,n,r,o){const i={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(f=>{const d=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[d]=2:this.state[d]<0||(this.state[d]===1?s[d]===void 0&&(s[d]=!0):(this.state[d]=1,c=!1,s[d]===void 0&&(s[d]=!0),i[d]===void 0&&(i[d]=!0),l[f]===void 0&&(l[f]=!0)))}),c||(a[u]=!0)}),(Object.keys(i).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(i),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const o=t.split("|"),i=o[0],s=o[1];n&&this.emit("failedLoading",i,s,n),r&&this.store.addResourceBundle(i,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{jx(l.loaded,[i],s),eS(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:o,wait:i,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&c&&o{this.read.call(this,t,n,r,o+1,i*2,s)},i);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const i=this.queueLoad(t,n,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${i} for language ${o} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${i} for language ${o}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:i},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,o,l):c=u(t,n,r,o),c&&typeof c.then=="function"?c.then(f=>a(null,f)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,o,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,o)}}}function nh(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(o=>{n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function rh(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Is(){}function nS(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Ui extends kl{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=rh(t),this.services={},this.logger=nn,this.modules={external:[]},nS(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=nh();this.options={...o,...this.options,...rh(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function i(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?nn.init(i(this.modules.logger),this.options):nn.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=Zx);const f=new Zp(this.options);this.store=new Xp(this.options.resources,this.options);const d=this.services;d.logger=nn,d.resourceStore=this.store,d.languageUtils=f,d.pluralResolver=new Gx(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(d.formatter=i(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new Xx(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new tS(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(h){for(var v=arguments.length,y=new Array(v>1?v-1:0),S=1;S1?v-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Is),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=ii(),u=()=>{const c=(f,d)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(d),r(f,d)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Is;const o=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],s=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&i.indexOf(u)<0&&i.push(u)})};o?s(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(i,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const o=ii();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Is),this.services.backendConnector.reload(t,n,i=>{o.resolve(),r(i)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&mv.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const o=ii();this.emit("languageChanging",t);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(i(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||i(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),o}getFixedT(t,n,r){var o=this;const i=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${d}${v}`):h=l.keyPrefix?`${l.keyPrefix}${d}${s}`:s,o.t(h,l)};return typeof t=="string"?i.lng=t:i.lngs=t,i.ns=n,i.keyPrefix=r,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!o||s(i,t)))}loadNamespaces(t,n){const r=ii();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=ii();typeof t=="string"&&(t=[t]);const o=this.options.preload||[],i=t.filter(s=>o.indexOf(s)<0);return i.length?(this.options.preload=o.concat(i),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new Zp(nh());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Ui(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Is;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},i=new Ui(o);return(t.debug!==void 0||t.prefix!==void 0)&&(i.logger=i.logger.clone(t)),["store","services","language"].forEach(a=>{i[a]=this[a]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new Xp(this.store.data,o),i.services.resourceStore=i.store),i.translator=new Fa(i.services,o),i.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c0){var a=o.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+="; Max-Age=".concat(Math.floor(a))}if(o.domain){if(!ih.test(o.domain))throw new TypeError("option domain is invalid");s+="; Domain=".concat(o.domain)}if(o.path){if(!ih.test(o.path))throw new TypeError("option path is invalid");s+="; Path=".concat(o.path)}if(o.expires){if(typeof o.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+="; Expires=".concat(o.expires.toUTCString())}if(o.httpOnly&&(s+="; HttpOnly"),o.secure&&(s+="; Secure"),o.sameSite){var l=typeof o.sameSite=="string"?o.sameSite.toLowerCase():o.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s},sh={create:function(t,n,r,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+r*60*1e3)),o&&(i.domain=o),document.cookie=cS(t,encodeURIComponent(n),i)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),o=0;o-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var o=r.substring(1),i=o.split("&"),s=0;s0){var l=i[s].substring(0,a);l===t.lookupQuerystring&&(n=i[s].substring(a+1))}}}return n}},si=null,ah=function(){if(si!==null)return si;try{si=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{si=!1}return si},pS={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&ah()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&ah()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},ai=null,lh=function(){if(ai!==null)return ai;try{ai=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{ai=!1}return ai},hS={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&lh()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&lh()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},mS={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},gS={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},vS={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},yS={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function wS(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(t){return t}}}var vv=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};rS(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return sS(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n||{languageUtils:{}},this.options=uS(r,this.options||{},wS()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(i){return i.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=o,this.addDetector(fS),this.addDetector(dS),this.addDetector(pS),this.addDetector(hS),this.addDetector(mS),this.addDetector(gS),this.addDetector(vS),this.addDetector(yS)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var o=[];return n.forEach(function(i){if(r.detectors[i]){var s=r.detectors[i].lookup(r.options);s&&typeof s=="string"&&(s=[s]),s&&(o=o.concat(s))}}),o=o.map(function(i){return r.options.convertDetectedLanguage(i)}),this.services.languageUtils.getBestMatchFromCodes?o:o.length>0?o[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var o=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(i){o.detectors[i]&&o.detectors[i].cacheUserLanguage(n,o.options)}))}}]),e}();vv.type="languageDetector";function te(){return te=Object.assign?Object.assign.bind():function(e){for(var t=1;t()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function ch(e,t,n){e.loadNamespaces(t,yv(e,n))}function fh(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(o=>{e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,yv(e,r))}function SS(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],o=t.options?t.options.fallbackLng:!1,i=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=t.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(r,e)&&(!o||s(i,e)))}function ES(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(lc("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(o,i)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!i(o.isLanguageChangingTo,e))return!1}}):SS(e,t,n)}const bS=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,CS={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},_S=e=>CS[e],OS=e=>e.replace(bS,_S);let uc={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:OS};function kS(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};uc={...uc,...e}}function PS(){return uc}let wv;function RS(e){wv=e}function TS(){return wv}const LS={type:"3rdParty",init(e){kS(e.options.react),RS(e)}},$S=p.createContext();class NS{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const AS=(e,t)=>{const n=p.useRef();return p.useEffect(()=>{n.current=t?n.current:e},[e,t]),n.current};function Vo(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:o}=p.useContext($S)||{},i=n||r||TS();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new NS),!i){lc("You will need to pass in an i18next instance by using initReactI18next");const w=(O,P)=>typeof P=="string"?P:P&&typeof P=="object"&&typeof P.defaultValue=="string"?P.defaultValue:Array.isArray(O)?O[O.length-1]:O,x=[w,{},!1];return x.t=w,x.i18n={},x.ready=!1,x}i.options.react&&i.options.react.wait!==void 0&&lc("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...PS(),...i.options.react,...t},{useSuspense:a,keyPrefix:l}=s;let u=e||o||i.options&&i.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],i.reportNamespaces.addUsedNamespaces&&i.reportNamespaces.addUsedNamespaces(u);const c=(i.isInitialized||i.initializedStoreOnce)&&u.every(w=>ES(w,i,s));function f(){return i.getFixedT(t.lng||null,s.nsMode==="fallback"?u:u[0],l)}const[d,h]=p.useState(f);let v=u.join();t.lng&&(v=`${t.lng}${v}`);const y=AS(v),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:w,bindI18nStore:x}=s;S.current=!0,!c&&!a&&(t.lng?fh(i,t.lng,u,()=>{S.current&&h(f)}):ch(i,u,()=>{S.current&&h(f)})),c&&y&&y!==v&&S.current&&h(f);function O(){S.current&&h(f)}return w&&i&&i.on(w,O),x&&i&&i.store.on(x,O),()=>{S.current=!1,w&&i&&w.split(" ").forEach(P=>i.off(P,O)),x&&i&&x.split(" ").forEach(P=>i.store.off(P,O))}},[i,v]);const g=p.useRef(!0);p.useEffect(()=>{S.current&&!g.current&&h(f),g.current=!1},[i,l]);const m=[d,i,c];if(m.t=d,m.i18n=i,m.ready=c,c||!c&&!a)return m;throw new Promise(w=>{t.lng?fh(i,t.lng,u,()=>w()):ch(i,u,()=>w())})}const MS={type:"backend",read:(e,t,n)=>{let r;switch(e){case"zh":case"zh-CN":r=Kt(()=>import("./zh-019c0297.js"),[],import.meta.url);break;case"en":default:r=Kt(()=>import("./en-89e30f54.js"),[],import.meta.url);break}r?r.then(o=>n(null,o.data),o=>n(o,null)):n(new Error(`unable to load translation file for language ${e}`),null)}};Be.use(LS).use(vv).use(MS).init({debug:!1,fallbackLng:"en",interpolation:{escapeValue:!1}});const DS=""+new URL("inter-latin-400-normal-0364d368.woff2",import.meta.url).href,IS=""+new URL("inter-latin-800-normal-a51ac27d.woff2",import.meta.url).href,FS=""+new URL("roboto-mono-latin-400-normal-7295944e.woff2",import.meta.url).href,xv=""+new URL("TwemojiCountryFlags-9f04f144.woff2",import.meta.url).href;var Sv={exports:{}},gt={},Ev={exports:{}},bv={};/** + * @license React + * 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. + */(function(e){function t(k,N){var j=k.length;k.push(N);e:for(;0>>1,H=k[B];if(0>>1;Bo(ie,j))Yo(ge,ie)?(k[B]=ge,k[Y]=j,B=Y):(k[B]=ie,k[Q]=j,B=Q);else if(Yo(ge,j))k[B]=ge,k[Y]=j,B=Y;else break e}}return N}function o(k,N){var j=k.sortIndex-N.sortIndex;return j!==0?j:k.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,f=null,d=3,h=!1,v=!1,y=!1,S=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(k){for(var N=n(u);N!==null;){if(N.callback===null)r(u);else if(N.startTime<=k)r(u),N.sortIndex=N.expirationTime,t(l,N);else break;N=n(u)}}function x(k){if(y=!1,w(k),!v)if(n(l)!==null)v=!0,U(O);else{var N=n(u);N!==null&&C(x,N.startTime-k)}}function O(k,N){v=!1,y&&(y=!1,g(b),b=-1),h=!0;var j=d;try{for(w(N),f=n(l);f!==null&&(!(f.expirationTime>N)||k&&!F());){var B=f.callback;if(typeof B=="function"){f.callback=null,d=f.priorityLevel;var H=B(f.expirationTime<=N);N=e.unstable_now(),typeof H=="function"?f.callback=H:f===n(l)&&r(l),w(N)}else r(l);f=n(l)}if(f!==null)var X=!0;else{var Q=n(u);Q!==null&&C(x,Q.startTime-N),X=!1}return X}finally{f=null,d=j,h=!1}}var P=!1,R=null,b=-1,A=5,$=-1;function F(){return!(e.unstable_now()-$k||125B?(k.sortIndex=j,t(u,k),n(l)===null&&k===n(u)&&(y?(g(b),b=-1):y=!0,C(x,j-B))):(k.sortIndex=H,t(l,k),v||h||(v=!0,U(O))),k},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(k){var N=d;return function(){var j=d;d=N;try{return k.apply(this,arguments)}finally{d=j}}}})(bv);Ev.exports=bv;var jS=Ev.exports;/** + * @license React + * 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. + */var Cv=p,ct=jS;function z(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),cc=Object.prototype.hasOwnProperty,US=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,dh={},ph={};function zS(e){return cc.call(ph,e)?!0:cc.call(dh,e)?!1:US.test(e)?ph[e]=!0:(dh[e]=!0,!1)}function BS(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function WS(e,t,n,r){if(t===null||typeof t>"u"||BS(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function qe(e,t,n,r,o,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var Me={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Me[e]=new qe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Me[t]=new qe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Me[e]=new qe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Me[e]=new qe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Me[e]=new qe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Me[e]=new qe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Me[e]=new qe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Me[e]=new qe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Me[e]=new qe(e,5,!1,e.toLowerCase(),null,!1,!1)});var Zf=/[\-:]([a-z])/g;function ed(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Zf,ed);Me[t]=new qe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Zf,ed);Me[t]=new qe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Zf,ed);Me[t]=new qe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Me[e]=new qe(e,1,!1,e.toLowerCase(),null,!1,!1)});Me.xlinkHref=new qe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Me[e]=new qe(e,1,!1,e.toLowerCase(),null,!0,!0)});function td(e,t,n,r){var o=Me.hasOwnProperty(t)?Me[t]:null;(o!==null?o.type!==0:r||!(2a||o[s]!==i[a]){var l=` +`+o[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{cu=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?xi(e):""}function HS(e){switch(e.tag){case 5:return xi(e.type);case 16:return xi("Lazy");case 13:return xi("Suspense");case 19:return xi("SuspenseList");case 0:case 2:case 15:return e=fu(e.type,!1),e;case 11:return e=fu(e.type.render,!1),e;case 1:return e=fu(e.type,!0),e;default:return""}}function hc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case uo:return"Fragment";case lo:return"Portal";case fc:return"Profiler";case nd:return"StrictMode";case dc:return"Suspense";case pc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case kv:return(e.displayName||"Context")+".Consumer";case Ov:return(e._context.displayName||"Context")+".Provider";case rd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case od:return t=e.displayName||null,t!==null?t:hc(e.type)||"Memo";case zn:t=e._payload,e=e._init;try{return hc(e(t))}catch{}}return null}function VS(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return hc(t);case 8:return t===nd?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function lr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Rv(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function KS(e){var t=Rv(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function js(e){e._valueTracker||(e._valueTracker=KS(e))}function Tv(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Rv(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ja(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function mc(e,t){var n=t.checked;return me({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function mh(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=lr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Lv(e,t){t=t.checked,t!=null&&td(e,"checked",t,!1)}function gc(e,t){Lv(e,t);var n=lr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?vc(e,t.type,n):t.hasOwnProperty("defaultValue")&&vc(e,t.type,lr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function gh(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function vc(e,t,n){(t!=="number"||ja(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Si=Array.isArray;function bo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Us.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Wi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var ki={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},QS=["Webkit","ms","Moz","O"];Object.keys(ki).forEach(function(e){QS.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ki[t]=ki[e]})});function Mv(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||ki.hasOwnProperty(e)&&ki[e]?(""+t).trim():t+"px"}function Dv(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=Mv(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var qS=me({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function xc(e,t){if(t){if(qS[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(z(62))}}function Sc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ec=null;function id(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var bc=null,Co=null,_o=null;function wh(e){if(e=Ss(e)){if(typeof bc!="function")throw Error(z(280));var t=e.stateNode;t&&(t=$l(t),bc(e.stateNode,e.type,t))}}function Iv(e){Co?_o?_o.push(e):_o=[e]:Co=e}function Fv(){if(Co){var e=Co,t=_o;if(_o=Co=null,wh(e),t)for(e=0;e>>=0,e===0?32:31-(iE(e)/sE|0)|0}var zs=64,Bs=4194304;function Ei(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Wa(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~o;a!==0?r=Ei(a):(i&=s,i!==0&&(r=Ei(i)))}else s=n&~o,s!==0?r=Ei(s):i!==0&&(r=Ei(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ws(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wt(t),e[t]=n}function cE(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ri),Ph=String.fromCharCode(32),Rh=!1;function o0(e,t){switch(e){case"keyup":return FE.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function i0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var co=!1;function UE(e,t){switch(e){case"compositionend":return i0(t);case"keypress":return t.which!==32?null:(Rh=!0,Ph);case"textInput":return e=t.data,e===Ph&&Rh?null:e;default:return null}}function zE(e,t){if(co)return e==="compositionend"||!pd&&o0(e,t)?(e=n0(),ya=cd=Qn=null,co=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Nh(n)}}function u0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?u0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function c0(){for(var e=window,t=ja();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ja(e.document)}return t}function hd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function GE(e){var t=c0(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&u0(n.ownerDocument.documentElement,n)){if(r!==null&&hd(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=Ah(n,i);var s=Ah(n,r);o&&s&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,fo=null,Rc=null,Li=null,Tc=!1;function Mh(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Tc||fo==null||fo!==ja(r)||(r=fo,"selectionStart"in r&&hd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Li&&Yi(Li,r)||(Li=r,r=Ka(Rc,"onSelect"),0mo||(e.current=Dc[mo],Dc[mo]=null,mo--)}function ae(e,t){mo++,Dc[mo]=e.current,e.current=t}var ur={},ze=hr(ur),et=hr(!1),$r=ur;function $o(e,t){var n=e.type.contextTypes;if(!n)return ur;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function tt(e){return e=e.childContextTypes,e!=null}function qa(){ce(et),ce(ze)}function Bh(e,t,n){if(ze.current!==ur)throw Error(z(168));ae(ze,t),ae(et,n)}function w0(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(z(108,VS(e)||"Unknown",o));return me({},n,r)}function Ya(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ur,$r=ze.current,ae(ze,e),ae(et,et.current),!0}function Wh(e,t,n){var r=e.stateNode;if(!r)throw Error(z(169));n?(e=w0(e,t,$r),r.__reactInternalMemoizedMergedChildContext=e,ce(et),ce(ze),ae(ze,e)):ce(et),ae(et,n)}var wn=null,Nl=!1,_u=!1;function x0(e){wn===null?wn=[e]:wn.push(e)}function lb(e){Nl=!0,x0(e)}function mr(){if(!_u&&wn!==null){_u=!0;var e=0,t=oe;try{var n=wn;for(oe=1;e>=s,o-=s,xn=1<<32-Wt(t)+o|n<b?(A=R,R=null):A=R.sibling;var $=d(g,R,w[b],x);if($===null){R===null&&(R=A);break}e&&R&&$.alternate===null&&t(g,R),m=i($,m,b),P===null?O=$:P.sibling=$,P=$,R=A}if(b===w.length)return n(g,R),fe&&xr(g,b),O;if(R===null){for(;bb?(A=R,R=null):A=R.sibling;var F=d(g,R,$.value,x);if(F===null){R===null&&(R=A);break}e&&R&&F.alternate===null&&t(g,R),m=i(F,m,b),P===null?O=F:P.sibling=F,P=F,R=A}if($.done)return n(g,R),fe&&xr(g,b),O;if(R===null){for(;!$.done;b++,$=w.next())$=f(g,$.value,x),$!==null&&(m=i($,m,b),P===null?O=$:P.sibling=$,P=$);return fe&&xr(g,b),O}for(R=r(g,R);!$.done;b++,$=w.next())$=h(R,g,b,$.value,x),$!==null&&(e&&$.alternate!==null&&R.delete($.key===null?b:$.key),m=i($,m,b),P===null?O=$:P.sibling=$,P=$);return e&&R.forEach(function(M){return t(g,M)}),fe&&xr(g,b),O}function S(g,m,w,x){if(typeof w=="object"&&w!==null&&w.type===uo&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Fs:e:{for(var O=w.key,P=m;P!==null;){if(P.key===O){if(O=w.type,O===uo){if(P.tag===7){n(g,P.sibling),m=o(P,w.props.children),m.return=g,g=m;break e}}else if(P.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===zn&&Gh(O)===P.type){n(g,P.sibling),m=o(P,w.props),m.ref=pi(g,P,w),m.return=g,g=m;break e}n(g,P);break}else t(g,P);P=P.sibling}w.type===uo?(m=Tr(w.props.children,g.mode,x,w.key),m.return=g,g=m):(x=Oa(w.type,w.key,w.props,null,g.mode,x),x.ref=pi(g,m,w),x.return=g,g=x)}return s(g);case lo:e:{for(P=w.key;m!==null;){if(m.key===P)if(m.tag===4&&m.stateNode.containerInfo===w.containerInfo&&m.stateNode.implementation===w.implementation){n(g,m.sibling),m=o(m,w.children||[]),m.return=g,g=m;break e}else{n(g,m);break}else t(g,m);m=m.sibling}m=Nu(w,g.mode,x),m.return=g,g=m}return s(g);case zn:return P=w._init,S(g,m,P(w._payload),x)}if(Si(w))return v(g,m,w,x);if(li(w))return y(g,m,w,x);Ys(g,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,m!==null&&m.tag===6?(n(g,m.sibling),m=o(m,w),m.return=g,g=m):(n(g,m),m=$u(w,g.mode,x),m.return=g,g=m),s(g)):n(g,m)}return S}var Ao=P0(!0),R0=P0(!1),Es={},on=hr(Es),Zi=hr(Es),es=hr(Es);function kr(e){if(e===Es)throw Error(z(174));return e}function bd(e,t){switch(ae(es,t),ae(Zi,e),ae(on,Es),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:wc(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=wc(t,e)}ce(on),ae(on,t)}function Mo(){ce(on),ce(Zi),ce(es)}function T0(e){kr(es.current);var t=kr(on.current),n=wc(t,e.type);t!==n&&(ae(Zi,e),ae(on,n))}function Cd(e){Zi.current===e&&(ce(on),ce(Zi))}var pe=hr(0);function tl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ou=[];function _d(){for(var e=0;en?n:4,e(!0);var r=ku.transition;ku.transition={};try{e(!1),t()}finally{oe=n,ku.transition=r}}function K0(){return Rt().memoizedState}function db(e,t,n){var r=rr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Q0(e))q0(t,n);else if(n=C0(e,t,n,r),n!==null){var o=Ve();Ht(n,e,r,o),Y0(n,t,r)}}function pb(e,t,n){var r=rr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Q0(e))q0(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,a=i(s,n);if(o.hasEagerState=!0,o.eagerState=a,Qt(a,s)){var l=t.interleaved;l===null?(o.next=o,Sd(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=C0(e,t,o,r),n!==null&&(o=Ve(),Ht(n,e,r,o),Y0(n,t,r))}}function Q0(e){var t=e.alternate;return e===he||t!==null&&t===he}function q0(e,t){$i=nl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Y0(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ad(e,n)}}var rl={readContext:Pt,useCallback:Ie,useContext:Ie,useEffect:Ie,useImperativeHandle:Ie,useInsertionEffect:Ie,useLayoutEffect:Ie,useMemo:Ie,useReducer:Ie,useRef:Ie,useState:Ie,useDebugValue:Ie,useDeferredValue:Ie,useTransition:Ie,useMutableSource:Ie,useSyncExternalStore:Ie,useId:Ie,unstable_isNewReconciler:!1},hb={readContext:Pt,useCallback:function(e,t){return Jt().memoizedState=[e,t===void 0?null:t],e},useContext:Pt,useEffect:Jh,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ea(4194308,4,z0.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ea(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ea(4,2,e,t)},useMemo:function(e,t){var n=Jt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Jt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=db.bind(null,he,e),[r.memoizedState,e]},useRef:function(e){var t=Jt();return e={current:e},t.memoizedState=e},useState:Xh,useDebugValue:Td,useDeferredValue:function(e){return Jt().memoizedState=e},useTransition:function(){var e=Xh(!1),t=e[0];return e=fb.bind(null,e[1]),Jt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=he,o=Jt();if(fe){if(n===void 0)throw Error(z(407));n=n()}else{if(n=t(),Te===null)throw Error(z(349));Ar&30||N0(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Jh(M0.bind(null,r,i,e),[e]),r.flags|=2048,rs(9,A0.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Jt(),t=Te.identifierPrefix;if(fe){var n=Sn,r=xn;n=(r&~(1<<32-Wt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ts++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[en]=t,e[Ji]=r,oy(e,t,!1,!1),t.stateNode=e;e:{switch(s=Sc(n,r),n){case"dialog":ue("cancel",e),ue("close",e),o=r;break;case"iframe":case"object":case"embed":ue("load",e),o=r;break;case"video":case"audio":for(o=0;oIo&&(t.flags|=128,r=!0,hi(i,!1),t.lanes=4194304)}else{if(!r)if(e=tl(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),hi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!fe)return Fe(t),null}else 2*Se()-i.renderingStartTime>Io&&n!==1073741824&&(t.flags|=128,r=!0,hi(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Se(),t.sibling=null,n=pe.current,ae(pe,r?n&1|2:n&1),t):(Fe(t),null);case 22:case 23:return Dd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?it&1073741824&&(Fe(t),t.subtreeFlags&6&&(t.flags|=8192)):Fe(t),null;case 24:return null;case 25:return null}throw Error(z(156,t.tag))}function Eb(e,t){switch(gd(t),t.tag){case 1:return tt(t.type)&&qa(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Mo(),ce(et),ce(ze),_d(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Cd(t),null;case 13:if(ce(pe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(z(340));No()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ce(pe),null;case 4:return Mo(),null;case 10:return xd(t.type._context),null;case 22:case 23:return Dd(),null;case 24:return null;default:return null}}var Xs=!1,Ue=!1,bb=typeof WeakSet=="function"?WeakSet:Set,K=null;function wo(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ye(e,t,r)}else n.current=null}function qc(e,t,n){try{n()}catch(r){ye(e,t,r)}}var am=!1;function Cb(e,t){if(Lc=Ha,e=c0(),hd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var h;f!==n||o!==0&&f.nodeType!==3||(a=s+o),f!==i||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(h=f.firstChild)!==null;)d=f,f=h;for(;;){if(f===e)break t;if(d===n&&++u===o&&(a=s),d===i&&++c===r&&(l=s),(h=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for($c={focusedElem:e,selectionRange:n},Ha=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var y=v.memoizedProps,S=v.memoizedState,g=t.stateNode,m=g.getSnapshotBeforeUpdate(t.elementType===t.type?y:It(t.type,y),S);g.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(z(163))}}catch(x){ye(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return v=am,am=!1,v}function Ni(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&qc(t,n,i)}o=o.next}while(o!==r)}}function Dl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Yc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[en],delete t[Ji],delete t[Mc],delete t[sb],delete t[ab])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ly(e){return e.tag===5||e.tag===3||e.tag===4}function lm(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ly(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Gc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Qa));else if(r!==4&&(e=e.child,e!==null))for(Gc(e,t,n),e=e.sibling;e!==null;)Gc(e,t,n),e=e.sibling}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}var $e=null,Ut=!1;function Dn(e,t,n){for(n=n.child;n!==null;)uy(e,t,n),n=n.sibling}function uy(e,t,n){if(rn&&typeof rn.onCommitFiberUnmount=="function")try{rn.onCommitFiberUnmount(Pl,n)}catch{}switch(n.tag){case 5:Ue||wo(n,t);case 6:var r=$e,o=Ut;$e=null,Dn(e,t,n),$e=r,Ut=o,$e!==null&&(Ut?(e=$e,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):$e.removeChild(n.stateNode));break;case 18:$e!==null&&(Ut?(e=$e,n=n.stateNode,e.nodeType===8?Cu(e.parentNode,n):e.nodeType===1&&Cu(e,n),Qi(e)):Cu($e,n.stateNode));break;case 4:r=$e,o=Ut,$e=n.stateNode.containerInfo,Ut=!0,Dn(e,t,n),$e=r,Ut=o;break;case 0:case 11:case 14:case 15:if(!Ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&qc(n,t,s),o=o.next}while(o!==r)}Dn(e,t,n);break;case 1:if(!Ue&&(wo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ye(n,t,a)}Dn(e,t,n);break;case 21:Dn(e,t,n);break;case 22:n.mode&1?(Ue=(r=Ue)||n.memoizedState!==null,Dn(e,t,n),Ue=r):Dn(e,t,n);break;default:Dn(e,t,n)}}function um(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new bb),t.forEach(function(r){var o=Nb.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function At(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=s),r&=~i}if(r=o,r=Se()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ob(r/1960))-r,10e?16:e,qn===null)var r=!1;else{if(e=qn,qn=null,sl=0,ee&6)throw Error(z(331));var o=ee;for(ee|=4,K=e.current;K!==null;){var i=K,s=i.child;if(K.flags&16){var a=i.deletions;if(a!==null){for(var l=0;lSe()-Ad?Rr(e,0):Nd|=n),nt(e,t)}function vy(e,t){t===0&&(e.mode&1?(t=Bs,Bs<<=1,!(Bs&130023424)&&(Bs=4194304)):t=1);var n=Ve();e=_n(e,t),e!==null&&(ws(e,t,n),nt(e,n))}function $b(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vy(e,n)}function Nb(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(z(314))}r!==null&&r.delete(t),vy(e,n)}var yy;yy=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||et.current)Ze=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ze=!1,xb(e,t,n);Ze=!!(e.flags&131072)}else Ze=!1,fe&&t.flags&1048576&&S0(t,Xa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ba(e,t),e=t.pendingProps;var o=$o(t,ze.current);ko(t,n),o=kd(null,t,r,e,o,n);var i=Pd();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,tt(r)?(i=!0,Ya(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Ed(t),o.updater=Al,t.stateNode=o,o._reactInternals=t,zc(t,r,e,n),t=Hc(null,t,r,!0,i,n)):(t.tag=0,fe&&i&&md(t),He(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ba(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Mb(r),e=It(r,e),o){case 0:t=Wc(null,t,r,e,n);break e;case 1:t=om(null,t,r,e,n);break e;case 11:t=nm(null,t,r,e,n);break e;case 14:t=rm(null,t,r,It(r.type,e),n);break e}throw Error(z(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:It(r,o),Wc(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:It(r,o),om(e,t,r,o,n);case 3:e:{if(ty(t),e===null)throw Error(z(387));r=t.pendingProps,i=t.memoizedState,o=i.element,_0(e,t),el(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Do(Error(z(423)),t),t=im(e,t,r,n,o);break e}else if(r!==o){o=Do(Error(z(424)),t),t=im(e,t,r,n,o);break e}else for(at=er(t.stateNode.containerInfo.firstChild),lt=t,fe=!0,zt=null,n=R0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(No(),r===o){t=On(e,t,n);break e}He(e,t,r,n)}t=t.child}return t;case 5:return T0(t),e===null&&Fc(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,s=o.children,Nc(r,o)?s=null:i!==null&&Nc(r,i)&&(t.flags|=32),ey(e,t),He(e,t,s,n),t.child;case 6:return e===null&&Fc(t),null;case 13:return ny(e,t,n);case 4:return bd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ao(t,null,r,n):He(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:It(r,o),nm(e,t,r,o,n);case 7:return He(e,t,t.pendingProps,n),t.child;case 8:return He(e,t,t.pendingProps.children,n),t.child;case 12:return He(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,ae(Ja,r._currentValue),r._currentValue=s,i!==null)if(Qt(i.value,s)){if(i.children===o.children&&!et.current){t=On(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){s=i.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=En(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),jc(i.return,n,t),a.lanes|=n;break}l=l.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),jc(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}He(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,ko(t,n),o=Pt(o),r=r(o),t.flags|=1,He(e,t,r,n),t.child;case 14:return r=t.type,o=It(r,t.pendingProps),o=It(r.type,o),rm(e,t,r,o,n);case 15:return J0(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:It(r,o),ba(e,t),t.tag=1,tt(r)?(e=!0,Ya(t)):e=!1,ko(t,n),k0(t,r,o),zc(t,r,o,n),Hc(null,t,r,!0,e,n);case 19:return ry(e,t,n);case 22:return Z0(e,t,n)}throw Error(z(156,t.tag))};function wy(e,t){return Vv(e,t)}function Ab(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,n,r){return new Ab(e,t,n,r)}function Fd(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Mb(e){if(typeof e=="function")return Fd(e)?1:0;if(e!=null){if(e=e.$$typeof,e===rd)return 11;if(e===od)return 14}return 2}function or(e,t){var n=e.alternate;return n===null?(n=_t(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Oa(e,t,n,r,o,i){var s=2;if(r=e,typeof e=="function")Fd(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case uo:return Tr(n.children,o,i,t);case nd:s=8,o|=8;break;case fc:return e=_t(12,n,t,o|2),e.elementType=fc,e.lanes=i,e;case dc:return e=_t(13,n,t,o),e.elementType=dc,e.lanes=i,e;case pc:return e=_t(19,n,t,o),e.elementType=pc,e.lanes=i,e;case Pv:return Fl(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ov:s=10;break e;case kv:s=9;break e;case rd:s=11;break e;case od:s=14;break e;case zn:s=16,r=null;break e}throw Error(z(130,e==null?e:typeof e,""))}return t=_t(s,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function Tr(e,t,n,r){return e=_t(7,e,r,t),e.lanes=n,e}function Fl(e,t,n,r){return e=_t(22,e,r,t),e.elementType=Pv,e.lanes=n,e.stateNode={isHidden:!1},e}function $u(e,t,n){return e=_t(6,e,null,t),e.lanes=n,e}function Nu(e,t,n){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Db(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=pu(0),this.expirationTimes=pu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function jd(e,t,n,r,o,i,s,a,l){return e=new Db(e,t,n,a,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_t(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ed(i),e}function Ib(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(by)}catch(e){console.error(e)}}by(),Sv.exports=gt;var Wr=Sv.exports;const Cy=vs(Wr);var _y,vm=Wr;_y=vm.createRoot,vm.hydrateRoot;var nf={exports:{}},Ir={},Oy={exports:{}},Bb="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Wb=Bb,Hb=Wb;function ky(){}function Py(){}Py.resetWarningCache=ky;var Vb=function(){function e(r,o,i,s,a,l){if(l!==Hb){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Py,resetWarningCache:ky};return n.PropTypes=n,n};Oy.exports=Vb();var Wd=Oy.exports;const Ce=vs(Wd);var rf={exports:{}},qt={},of={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;/*! + * 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/ + */var n="none",r="contents",o=/input|select|textarea|button|object|iframe/;function i(f,d){return d.getPropertyValue("overflow")!=="visible"||f.scrollWidth<=0&&f.scrollHeight<=0}function s(f){var d=f.offsetWidth<=0&&f.offsetHeight<=0;if(d&&!f.innerHTML)return!0;try{var h=window.getComputedStyle(f),v=h.getPropertyValue("display");return d?v!==r&&i(f,h):v===n}catch{return console.warn("Failed to inspect element style"),!1}}function a(f){for(var d=f,h=f.getRootNode&&f.getRootNode();d&&d!==document.body;){if(h&&d===h&&(d=h.host.parentNode),s(d))return!1;d=d.parentNode}return!0}function l(f,d){var h=f.nodeName.toLowerCase(),v=o.test(h)&&!f.disabled||h==="a"&&f.href||d;return v&&a(f)}function u(f){var d=f.getAttribute("tabindex");d===null&&(d=void 0);var h=isNaN(d);return(h||d>=0)&&l(f,!h)}function c(f){var d=[].slice.call(f.querySelectorAll("*"),0).reduce(function(h,v){return h.concat(v.shadowRoot?c(v.shadowRoot):[v])},[]);return d.filter(u)}e.exports=t.default})(of,of.exports);var Ry=of.exports;Object.defineProperty(qt,"__esModule",{value:!0});qt.resetState=Yb;qt.log=Gb;qt.handleBlur=is;qt.handleFocus=ss;qt.markForFocusLater=Xb;qt.returnFocus=Jb;qt.popWithoutFocus=Zb;qt.setupScopedFocus=e2;qt.teardownScopedFocus=t2;var Kb=Ry,Qb=qb(Kb);function qb(e){return e&&e.__esModule?e:{default:e}}var Fo=[],So=null,sf=!1;function Yb(){Fo=[]}function Gb(){}function is(){sf=!0}function ss(){if(sf){if(sf=!1,!So)return;setTimeout(function(){if(!So.contains(document.activeElement)){var e=(0,Qb.default)(So)[0]||So;e.focus()}},0)}}function Xb(){Fo.push(document.activeElement)}function Jb(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=null;try{Fo.length!==0&&(t=Fo.pop(),t.focus({preventScroll:e}));return}catch{console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}}function Zb(){Fo.length>0&&Fo.pop()}function e2(e){So=e,window.addEventListener?(window.addEventListener("blur",is,!1),document.addEventListener("focus",ss,!0)):(window.attachEvent("onBlur",is),document.attachEvent("onFocus",ss))}function t2(){So=null,window.addEventListener?(window.removeEventListener("blur",is),document.removeEventListener("focus",ss)):(window.detachEvent("onBlur",is),document.detachEvent("onFocus",ss))}var af={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;var n=Ry,r=o(n);function o(a){return a&&a.__esModule?a:{default:a}}function i(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;return a.activeElement.shadowRoot?i(a.activeElement.shadowRoot):a.activeElement}function s(a,l){var u=(0,r.default)(a);if(!u.length){l.preventDefault();return}var c=void 0,f=l.shiftKey,d=u[0],h=u[u.length-1],v=i();if(a===v){if(!f)return;c=h}if(h===v&&!f&&(c=d),d===v&&f&&(c=h),c){l.preventDefault(),c.focus();return}var y=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent),S=y!=null&&y[1]!="Chrome"&&/\biPod\b|\biPad\b/g.exec(navigator.userAgent)==null;if(S){var g=u.indexOf(v);if(g>-1&&(g+=f?-1:1),c=u[g],typeof c>"u"){l.preventDefault(),c=f?h:d,c.focus();return}l.preventDefault(),c.focus()}}e.exports=t.default})(af,af.exports);var n2=af.exports,Yt={},r2=function(){},o2=r2,Vt={},Ty={exports:{}};/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/(function(e){(function(){var t=!!(typeof window<"u"&&window.document&&window.document.createElement),n={canUseDOM:t,canUseWorkers:typeof Worker<"u",canUseEventListeners:t&&!!(window.addEventListener||window.attachEvent),canUseViewport:t&&!!window.screen};e.exports?e.exports=n:window.ExecutionEnvironment=n})()})(Ty);var i2=Ty.exports;Object.defineProperty(Vt,"__esModule",{value:!0});Vt.canUseDOM=Vt.SafeNodeList=Vt.SafeHTMLCollection=void 0;var s2=i2,a2=l2(s2);function l2(e){return e&&e.__esModule?e:{default:e}}var Wl=a2.default,u2=Wl.canUseDOM?window.HTMLElement:{};Vt.SafeHTMLCollection=Wl.canUseDOM?window.HTMLCollection:{};Vt.SafeNodeList=Wl.canUseDOM?window.NodeList:{};Vt.canUseDOM=Wl.canUseDOM;Vt.default=u2;Object.defineProperty(Yt,"__esModule",{value:!0});Yt.resetState=h2;Yt.log=m2;Yt.assertNodeList=Ly;Yt.setElement=g2;Yt.validateElement=Hd;Yt.hide=v2;Yt.show=y2;Yt.documentNotReadyOrSSRTesting=w2;var c2=o2,f2=p2(c2),d2=Vt;function p2(e){return e&&e.__esModule?e:{default:e}}var Et=null;function h2(){Et&&(Et.removeAttribute?Et.removeAttribute("aria-hidden"):Et.length!=null?Et.forEach(function(e){return e.removeAttribute("aria-hidden")}):document.querySelectorAll(Et).forEach(function(e){return e.removeAttribute("aria-hidden")})),Et=null}function m2(){}function Ly(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function g2(e){var t=e;if(typeof t=="string"&&d2.canUseDOM){var n=document.querySelectorAll(t);Ly(n,t),t=n}return Et=t||Et,Et}function Hd(e){var t=e||Et;return t?Array.isArray(t)||t instanceof HTMLCollection||t instanceof NodeList?t:[t]:((0,f2.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(" ")),[])}function v2(e){var t=!0,n=!1,r=void 0;try{for(var o=Hd(e)[Symbol.iterator](),i;!(t=(i=o.next()).done);t=!0){var s=i.value;s.setAttribute("aria-hidden","true")}}catch(a){n=!0,r=a}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}function y2(e){var t=!0,n=!1,r=void 0;try{for(var o=Hd(e)[Symbol.iterator](),i;!(t=(i=o.next()).done);t=!0){var s=i.value;s.removeAttribute("aria-hidden")}}catch(a){n=!0,r=a}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}function w2(){Et=null}var qo={};Object.defineProperty(qo,"__esModule",{value:!0});qo.resetState=x2;qo.log=S2;var Di={},Ii={};function ym(e,t){e.classList.remove(t)}function x2(){var e=document.getElementsByTagName("html")[0];for(var t in Di)ym(e,Di[t]);var n=document.body;for(var r in Ii)ym(n,Ii[r]);Di={},Ii={}}function S2(){}var E2=function(t,n){return t[n]||(t[n]=0),t[n]+=1,n},b2=function(t,n){return t[n]&&(t[n]-=1),n},C2=function(t,n,r){r.forEach(function(o){E2(n,o),t.add(o)})},_2=function(t,n,r){r.forEach(function(o){b2(n,o),n[o]===0&&t.remove(o)})};qo.add=function(t,n){return C2(t.classList,t.nodeName.toLowerCase()=="html"?Di:Ii,n.split(" "))};qo.remove=function(t,n){return _2(t.classList,t.nodeName.toLowerCase()=="html"?Di:Ii,n.split(" "))};var Yo={};Object.defineProperty(Yo,"__esModule",{value:!0});Yo.log=k2;Yo.resetState=P2;function O2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var $y=function e(){var t=this;O2(this,e),this.register=function(n){t.openInstances.indexOf(n)===-1&&(t.openInstances.push(n),t.emit("register"))},this.deregister=function(n){var r=t.openInstances.indexOf(n);r!==-1&&(t.openInstances.splice(r,1),t.emit("deregister"))},this.subscribe=function(n){t.subscribers.push(n)},this.emit=function(n){t.subscribers.forEach(function(r){return r(n,t.openInstances.slice())})},this.openInstances=[],this.subscribers=[]},ul=new $y;function k2(){console.log("portalOpenInstances ----------"),console.log(ul.openInstances.length),ul.openInstances.forEach(function(e){return console.log(e)}),console.log("end portalOpenInstances ----------")}function P2(){ul=new $y}Yo.default=ul;var Vd={};Object.defineProperty(Vd,"__esModule",{value:!0});Vd.resetState=$2;Vd.log=N2;var R2=Yo,T2=L2(R2);function L2(e){return e&&e.__esModule?e:{default:e}}var je=void 0,Ft=void 0,Lr=[];function $2(){for(var e=[je,Ft],t=0;t0?(document.body.firstChild!==je&&document.body.insertBefore(je,document.body.firstChild),document.body.lastChild!==Ft&&document.body.appendChild(Ft)):(je.parentElement&&je.parentElement.removeChild(je),Ft.parentElement&&Ft.parentElement.removeChild(Ft))}T2.default.subscribe(A2);(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(T){for(var L=1;L0&&(M-=1,M===0&&h.show(N)),C.props.shouldFocusAfterRender&&(C.props.shouldReturnFocusAfterClose?(u.returnFocus(C.props.preventScroll),u.teardownScopedFocus()):u.popWithoutFocus()),C.props.onAfterClose&&C.props.onAfterClose(),w.default.deregister(C)},C.open=function(){C.beforeOpen(),C.state.afterOpen&&C.state.beforeClose?(clearTimeout(C.closeTimer),C.setState({beforeClose:!1})):(C.props.shouldFocusAfterRender&&(u.setupScopedFocus(C.node),u.markForFocusLater()),C.setState({isOpen:!0},function(){C.openAnimationFrame=requestAnimationFrame(function(){C.setState({afterOpen:!0}),C.props.isOpen&&C.props.onAfterOpen&&C.props.onAfterOpen({overlayEl:C.overlay,contentEl:C.content})})}))},C.close=function(){C.props.closeTimeoutMS>0?C.closeWithTimeout():C.closeWithoutTimeout()},C.focusContent=function(){return C.content&&!C.contentHasFocus()&&C.content.focus({preventScroll:!0})},C.closeWithTimeout=function(){var k=Date.now()+C.props.closeTimeoutMS;C.setState({beforeClose:!0,closesAt:k},function(){C.closeTimer=setTimeout(C.closeWithoutTimeout,C.state.closesAt-Date.now())})},C.closeWithoutTimeout=function(){C.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},C.afterClose)},C.handleKeyDown=function(k){$(k)&&(0,f.default)(C.content,k),C.props.shouldCloseOnEsc&&F(k)&&(k.stopPropagation(),C.requestClose(k))},C.handleOverlayOnClick=function(k){C.shouldClose===null&&(C.shouldClose=!0),C.shouldClose&&C.props.shouldCloseOnOverlayClick&&(C.ownerHandlesClose()?C.requestClose(k):C.focusContent()),C.shouldClose=null},C.handleContentOnMouseUp=function(){C.shouldClose=!1},C.handleOverlayOnMouseDown=function(k){!C.props.shouldCloseOnOverlayClick&&k.target==C.overlay&&k.preventDefault()},C.handleContentOnClick=function(){C.shouldClose=!1},C.handleContentOnMouseDown=function(){C.shouldClose=!1},C.requestClose=function(k){return C.ownerHandlesClose()&&C.props.onRequestClose(k)},C.ownerHandlesClose=function(){return C.props.onRequestClose},C.shouldBeClosed=function(){return!C.state.isOpen&&!C.state.beforeClose},C.contentHasFocus=function(){return document.activeElement===C.content||C.content.contains(document.activeElement)},C.buildClassName=function(k,N){var j=(typeof N>"u"?"undefined":r(N))==="object"?N:{base:A[k],afterOpen:A[k]+"--after-open",beforeClose:A[k]+"--before-close"},B=j.base;return C.state.afterOpen&&(B=B+" "+j.afterOpen),C.state.beforeClose&&(B=B+" "+j.beforeClose),typeof N=="string"&&N?B+" "+N:B},C.attributesFromObject=function(k,N){return Object.keys(N).reduce(function(j,B){return j[k+"-"+B]=N[B],j},{})},C.state={afterOpen:!1,beforeClose:!1},C.shouldClose=null,C.moveFromContentToOverlay=null,C}return o(L,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(C,k){this.props.isOpen&&!C.isOpen?this.open():!this.props.isOpen&&C.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!k.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer),cancelAnimationFrame(this.openAnimationFrame)}},{key:"beforeOpen",value:function(){var C=this.props,k=C.appElement,N=C.ariaHideApp,j=C.htmlOpenClassName,B=C.bodyOpenClassName,H=C.parentSelector,X=H&&H().ownerDocument||document;B&&y.add(X.body,B),j&&y.add(X.getElementsByTagName("html")[0],j),N&&(M+=1,h.hide(k)),w.default.register(this)}},{key:"render",value:function(){var C=this.props,k=C.id,N=C.className,j=C.overlayClassName,B=C.defaultStyles,H=C.children,X=N?{}:B.content,Q=j?{}:B.overlay;if(this.shouldBeClosed())return null;var ie={ref:this.setOverlayRef,className:this.buildClassName("overlay",j),style:n({},Q,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},Y=n({id:k,ref:this.setContentRef,style:n({},X,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",n({modal:!0},this.props.aria)),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),ge=this.props.contentElement(Y,H);return this.props.overlayElement(ie,ge)}}]),L}(i.Component);D.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},D.propTypes={isOpen:a.default.bool.isRequired,defaultStyles:a.default.shape({content:a.default.object,overlay:a.default.object}),style:a.default.shape({content:a.default.object,overlay:a.default.object}),className:a.default.oneOfType([a.default.string,a.default.object]),overlayClassName:a.default.oneOfType([a.default.string,a.default.object]),parentSelector:a.default.func,bodyOpenClassName:a.default.string,htmlOpenClassName:a.default.string,ariaHideApp:a.default.bool,appElement:a.default.oneOfType([a.default.instanceOf(g.default),a.default.instanceOf(S.SafeHTMLCollection),a.default.instanceOf(S.SafeNodeList),a.default.arrayOf(a.default.instanceOf(g.default))]),onAfterOpen:a.default.func,onAfterClose:a.default.func,onRequestClose:a.default.func,closeTimeoutMS:a.default.number,shouldFocusAfterRender:a.default.bool,shouldCloseOnOverlayClick:a.default.bool,shouldReturnFocusAfterClose:a.default.bool,preventScroll:a.default.bool,role:a.default.string,contentLabel:a.default.string,aria:a.default.object,data:a.default.object,children:a.default.node,shouldCloseOnEsc:a.default.bool,overlayRef:a.default.func,contentRef:a.default.func,id:a.default.string,overlayElement:a.default.func,contentElement:a.default.func,testId:a.default.string},t.default=D,e.exports=t.default})(rf,rf.exports);var M2=rf.exports;function Ny(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);e!=null&&this.setState(e)}function Ay(e){function t(n){var r=this.constructor.getDerivedStateFromProps(e,n);return r??null}this.setState(t.bind(this))}function My(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}Ny.__suppressDeprecationWarning=!0;Ay.__suppressDeprecationWarning=!0;My.__suppressDeprecationWarning=!0;function D2(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if(typeof e.getDerivedStateFromProps!="function"&&typeof t.getSnapshotBeforeUpdate!="function")return e;var n=null,r=null,o=null;if(typeof t.componentWillMount=="function"?n="componentWillMount":typeof t.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof t.componentWillReceiveProps=="function"?r="componentWillReceiveProps":typeof t.UNSAFE_componentWillReceiveProps=="function"&&(r="UNSAFE_componentWillReceiveProps"),typeof t.componentWillUpdate=="function"?o="componentWillUpdate":typeof t.UNSAFE_componentWillUpdate=="function"&&(o="UNSAFE_componentWillUpdate"),n!==null||r!==null||o!==null){var i=e.displayName||e.name,s=typeof e.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. + +`+i+" uses "+s+" but also contains the following legacy lifecycles:"+(n!==null?` + `+n:"")+(r!==null?` + `+r:"")+(o!==null?` + `+o:"")+` + +The above lifecycles should be removed. Learn more about this warning here: +https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof e.getDerivedStateFromProps=="function"&&(t.componentWillMount=Ny,t.componentWillReceiveProps=Ay),typeof t.getSnapshotBeforeUpdate=="function"){if(typeof t.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=My;var a=t.componentDidUpdate;t.componentDidUpdate=function(u,c,f){var d=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:f;a.call(this,u,c,d)}}return e}const I2=Object.freeze(Object.defineProperty({__proto__:null,polyfill:D2},Symbol.toStringTag,{value:"Module"})),F2=mx(I2);Object.defineProperty(Ir,"__esModule",{value:!0});Ir.bodyOpenClassName=Ir.portalClassName=void 0;var xm=Object.assign||function(e){for(var t=1;t{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const as=typeof window>"u"||"Deno"in window;function St(){}function Z2(e,t){return typeof e=="function"?e(t):e}function lf(e){return typeof e=="number"&&e>=0&&e!==1/0}function Iy(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ci(e,t,n){return Os(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function v4(e,t,n){return Os(e)?typeof t=="function"?{...n,mutationKey:e,mutationFn:t}:{...t,mutationKey:e}:typeof e=="function"?{...t,mutationFn:e}:{...e}}function Wn(e,t,n){return Os(e)?[{...t,queryKey:e},n]:[e||{},t]}function Om(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:s,stale:a}=e;if(Os(s)){if(r){if(t.queryHash!==Kd(s,t.options))return!1}else if(!dl(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function km(e,t){const{exact:n,fetching:r,predicate:o,mutationKey:i}=e;if(Os(i)){if(!t.options.mutationKey)return!1;if(n){if(Pr(t.options.mutationKey)!==Pr(i))return!1}else if(!dl(t.options.mutationKey,i))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||o&&!o(t))}function Kd(e,t){return((t==null?void 0:t.queryKeyHashFn)||Pr)(e)}function Pr(e){return JSON.stringify(e,(t,n)=>cf(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function dl(e,t){return Fy(e,t)}function Fy(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Fy(e[n],t[n])):!1}function jy(e,t){if(e===t)return e;const n=Pm(e)&&Pm(t);if(n||cf(e)&&cf(t)){const r=n?e.length:Object.keys(e).length,o=n?t:Object.keys(t),i=o.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Rm(n)||!n.hasOwnProperty("isPrototypeOf"))}function Rm(e){return Object.prototype.toString.call(e)==="[object Object]"}function Os(e){return Array.isArray(e)}function Uy(e){return new Promise(t=>{setTimeout(t,e)})}function Tm(e){Uy(0).then(e)}function eC(){if(typeof AbortController=="function")return new AbortController}function ff(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?jy(e,t):t}class tC extends _s{constructor(){super(),this.setup=t=>{if(!as&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused!==t&&(this.focused=t,this.onFocus())}onFocus(){this.listeners.forEach(({listener:t})=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const pl=new tC,Lm=["online","offline"];class nC extends _s{constructor(){super(),this.setup=t=>{if(!as&&window.addEventListener){const n=()=>t();return Lm.forEach(r=>{window.addEventListener(r,n,!1)}),()=>{Lm.forEach(r=>{window.removeEventListener(r,n)})}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online!==t&&(this.online=t,this.onOnline())}onOnline(){this.listeners.forEach(({listener:t})=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const hl=new nC;function rC(e){return Math.min(1e3*2**e,3e4)}function Hl(e){return(e??"online")==="online"?hl.isOnline():!0}class zy{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function ka(e){return e instanceof zy}function By(e){let t=!1,n=0,r=!1,o,i,s;const a=new Promise((S,g)=>{i=S,s=g}),l=S=>{r||(h(new zy(S)),e.abort==null||e.abort())},u=()=>{t=!0},c=()=>{t=!1},f=()=>!pl.isFocused()||e.networkMode!=="always"&&!hl.isOnline(),d=S=>{r||(r=!0,e.onSuccess==null||e.onSuccess(S),o==null||o(),i(S))},h=S=>{r||(r=!0,e.onError==null||e.onError(S),o==null||o(),s(S))},v=()=>new Promise(S=>{o=g=>{const m=r||!f();return m&&S(g),m},e.onPause==null||e.onPause()}).then(()=>{o=void 0,r||e.onContinue==null||e.onContinue()}),y=()=>{if(r)return;let S;try{S=e.fn()}catch(g){S=Promise.reject(g)}Promise.resolve(S).then(d).catch(g=>{var m,w;if(r)return;const x=(m=e.retry)!=null?m:3,O=(w=e.retryDelay)!=null?w:rC,P=typeof O=="function"?O(n,g):O,R=x===!0||typeof x=="number"&&n{if(f())return v()}).then(()=>{t?h(g):y()})})};return Hl(e.networkMode)?y():v().then(y),{promise:a,cancel:l,continue:()=>(o==null?void 0:o())?a:Promise.resolve(),cancelRetry:u,continueRetry:c}}const Qd=console;function oC(){let e=[],t=0,n=c=>{c()},r=c=>{c()};const o=c=>{let f;t++;try{f=c()}finally{t--,t||a()}return f},i=c=>{t?e.push(c):Tm(()=>{n(c)})},s=c=>(...f)=>{i(()=>{c(...f)})},a=()=>{const c=e;e=[],c.length&&Tm(()=>{r(()=>{c.forEach(f=>{n(f)})})})};return{batch:o,batchCalls:s,schedule:i,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c}}}const Ee=oC();class Wy{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),lf(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t??(as?1/0:5*60*1e3))}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class iC extends Wy{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||Qd,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||sC(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=ff(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(St).catch(St):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!Iy(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,o;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return(i=this.retryer)==null||i.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const h=this.observers.find(v=>v.options.queryFn);h&&this.setOptions(h.options)}const s=eC(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'"),c={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u};if(l(c),(r=this.options.behavior)==null||r.onFetch(c),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((o=c.fetchOptions)==null?void 0:o.meta)){var f;this.dispatch({type:"fetch",meta:(f=c.fetchOptions)==null?void 0:f.meta})}const d=h=>{if(ka(h)&&h.silent||this.dispatch({type:"error",error:h}),!ka(h)){var v,y,S,g;(v=(y=this.cache.config).onError)==null||v.call(y,h,this),(S=(g=this.cache.config).onSettled)==null||S.call(g,this.state.data,h,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=By({fn:c.fetchFn,abort:s==null?void 0:s.abort.bind(s),onSuccess:h=>{var v,y,S,g;if(typeof h>"u"){d(new Error(this.queryHash+" data is undefined"));return}this.setData(h),(v=(y=this.cache.config).onSuccess)==null||v.call(y,h,this),(S=(g=this.cache.config).onSettled)==null||S.call(g,h,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:d,onFail:(h,v)=>{this.dispatch({type:"failed",failureCount:h,error:v})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var o,i;switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:(o=t.meta)!=null?o:null,fetchStatus:Hl(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(i=t.dataUpdatedAt)!=null?i:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return ka(s)&&s.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ee.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function sC(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}class Hy extends _s{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var o;const i=n.queryKey,s=(o=n.queryHash)!=null?o:Kd(i,n);let a=this.get(s);return a||(a=new iC({cache:this,logger:t.getLogger(),queryKey:i,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){Ee.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=Wn(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(o=>Om(r,o))}findAll(t,n){const[r]=Wn(t,n);return Object.keys(r).length>0?this.queries.filter(o=>Om(r,o)):this.queries}notify(t){Ee.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}onFocus(){Ee.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){Ee.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class aC extends Wy{constructor(t){super(),this.defaultOptions=t.defaultOptions,this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||Qd,this.observers=[],this.state=t.state||lC(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){var t,n;return(t=(n=this.retryer)==null?void 0:n.continue())!=null?t:this.execute()}async execute(){const t=()=>{var R;return this.retryer=By({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(b,A)=>{this.dispatch({type:"failed",failureCount:b,error:A})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(R=this.options.retry)!=null?R:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,o,i,s,a,l,u,c;if(!n){var f,d,h,v;this.dispatch({type:"loading",variables:this.options.variables}),await((f=(d=this.mutationCache.config).onMutate)==null?void 0:f.call(d,this.state.variables,this));const b=await((h=(v=this.options).onMutate)==null?void 0:h.call(v,this.state.variables));b!==this.state.context&&this.dispatch({type:"loading",context:b,variables:this.state.variables})}const R=await t();return await((r=(o=this.mutationCache.config).onSuccess)==null?void 0:r.call(o,R,this.state.variables,this.state.context,this)),await((i=(s=this.options).onSuccess)==null?void 0:i.call(s,R,this.state.variables,this.state.context)),await((a=(l=this.mutationCache.config).onSettled)==null?void 0:a.call(l,R,null,this.state.variables,this.state.context,this)),await((u=(c=this.options).onSettled)==null?void 0:u.call(c,R,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:R}),R}catch(R){try{var y,S,g,m,w,x,O,P;throw await((y=(S=this.mutationCache.config).onError)==null?void 0:y.call(S,R,this.state.variables,this.state.context,this)),await((g=(m=this.options).onError)==null?void 0:g.call(m,R,this.state.variables,this.state.context)),await((w=(x=this.mutationCache.config).onSettled)==null?void 0:w.call(x,void 0,R,this.state.variables,this.state.context,this)),await((O=(P=this.options).onSettled)==null?void 0:O.call(P,void 0,R,this.state.variables,this.state.context)),R}finally{this.dispatch({type:"error",error:R})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Hl(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ee.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function lC(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0}}class uC extends _s{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const o=new aC({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0});return this.add(o),o}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){Ee.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>km(t,n))}findAll(t){return this.mutations.filter(n=>km(t,n))}notify(t){Ee.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}resumePausedMutations(){var t;return this.resuming=((t=this.resuming)!=null?t:Promise.resolve()).then(()=>{const n=this.mutations.filter(r=>r.state.isPaused);return Ee.batch(()=>n.reduce((r,o)=>r.then(()=>o.continue().catch(St)),Promise.resolve()))}).then(()=>{this.resuming=void 0}),this.resuming}}function cC(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,o,i,s;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(o=r.meta)==null?void 0:o.fetchMore,u=l==null?void 0:l.pageParam,c=(l==null?void 0:l.direction)==="forward",f=(l==null?void 0:l.direction)==="backward",d=((i=e.state.data)==null?void 0:i.pages)||[],h=((s=e.state.data)==null?void 0:s.pageParams)||[];let v=h,y=!1;const S=P=>{Object.defineProperty(P,"signal",{enumerable:!0,get:()=>{var R;if((R=e.signal)!=null&&R.aborted)y=!0;else{var b;(b=e.signal)==null||b.addEventListener("abort",()=>{y=!0})}return e.signal}})},g=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),m=(P,R,b,A)=>(v=A?[R,...v]:[...v,R],A?[b,...P]:[...P,b]),w=(P,R,b,A)=>{if(y)return Promise.reject("Cancelled");if(typeof b>"u"&&!R&&P.length)return Promise.resolve(P);const $={queryKey:e.queryKey,pageParam:b,meta:e.options.meta};S($);const F=g($);return Promise.resolve(F).then(D=>m(P,b,D,A))};let x;if(!d.length)x=w([]);else if(c){const P=typeof u<"u",R=P?u:$m(e.options,d);x=w(d,P,R)}else if(f){const P=typeof u<"u",R=P?u:fC(e.options,d);x=w(d,P,R,!0)}else{v=[];const P=typeof e.options.getNextPageParam>"u";x=(a&&d[0]?a(d[0],0,d):!0)?w([],P,h[0]):Promise.resolve(m([],h[0],d[0]));for(let b=1;b{if(a&&d[b]?a(d[b],b,d):!0){const F=P?h[b]:$m(e.options,A);return w(A,P,F)}return Promise.resolve(m(A,h[b],d[b]))})}return x.then(P=>({pages:P,pageParams:v}))}}}}function $m(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function fC(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class dC{constructor(t={}){this.queryCache=t.queryCache||new Hy,this.mutationCache=t.mutationCache||new uC,this.logger=t.logger||Qd,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,this.mountCount===1&&(this.unsubscribeFocus=pl.subscribe(()=>{pl.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=hl.subscribe(()=>{hl.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())}))}unmount(){var t,n;this.mountCount--,this.mountCount===0&&((t=this.unsubscribeFocus)==null||t.call(this),this.unsubscribeFocus=void 0,(n=this.unsubscribeOnline)==null||n.call(this),this.unsubscribeOnline=void 0)}isFetching(t,n){const[r]=Wn(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}ensureQueryData(t,n,r){const o=Ci(t,n,r),i=this.getQueryData(o.queryKey);return i?Promise.resolve(i):this.fetchQuery(o)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(t,n,r){const o=this.queryCache.find(t),i=o==null?void 0:o.state.data,s=Z2(n,i);if(typeof s>"u")return;const a=Ci(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return Ee.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=Wn(t,n),o=this.queryCache;Ee.batch(()=>{o.findAll(r).forEach(i=>{o.remove(i)})})}resetQueries(t,n,r){const[o,i]=Wn(t,n,r),s=this.queryCache,a={type:"active",...o};return Ee.batch(()=>(s.findAll(o).forEach(l=>{l.reset()}),this.refetchQueries(a,i)))}cancelQueries(t,n,r){const[o,i={}]=Wn(t,n,r);typeof i.revert>"u"&&(i.revert=!0);const s=Ee.batch(()=>this.queryCache.findAll(o).map(a=>a.cancel(i)));return Promise.all(s).then(St).catch(St)}invalidateQueries(t,n,r){const[o,i]=Wn(t,n,r);return Ee.batch(()=>{var s,a;if(this.queryCache.findAll(o).forEach(u=>{u.invalidate()}),o.refetchType==="none")return Promise.resolve();const l={...o,type:(s=(a=o.refetchType)!=null?a:o.type)!=null?s:"active"};return this.refetchQueries(l,i)})}refetchQueries(t,n,r){const[o,i]=Wn(t,n,r),s=Ee.batch(()=>this.queryCache.findAll(o).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...i,cancelRefetch:(u=i==null?void 0:i.cancelRefetch)!=null?u:!0,meta:{refetchPage:o.refetchPage}})}));let a=Promise.all(s).then(St);return i!=null&&i.throwOnError||(a=a.catch(St)),a}fetchQuery(t,n,r){const o=Ci(t,n,r),i=this.defaultQueryOptions(o);typeof i.retry>"u"&&(i.retry=!1);const s=this.queryCache.build(this,i);return s.isStaleByTime(i.staleTime)?s.fetch(i):Promise.resolve(s.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(St).catch(St)}fetchInfiniteQuery(t,n,r){const o=Ci(t,n,r);return o.behavior=cC(),this.fetchQuery(o)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(St).catch(St)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(o=>Pr(t)===Pr(o.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>dl(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(o=>Pr(t)===Pr(o.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>dl(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=Kd(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class pC extends _s{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.currentQuery.addObserver(this),Nm(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return df(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return df(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,o=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),uf(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const i=this.hasListeners();i&&Am(this.currentQuery,o,this.options,r)&&this.executeFetch(),this.updateResult(n),i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const s=this.computeRefetchInterval();i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||s!==this.currentRefetchInterval)&&this.updateRefetchInterval(s)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t),r=this.createResult(n,t);return mC(this,r,t)&&(this.currentResult=r,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),r}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(St)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),as||this.currentResult.isStale||!lf(this.options.staleTime))return;const n=Iy(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(as||this.options.enabled===!1||!lf(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||pl.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,o=this.options,i=this.currentResult,s=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,c=l?this.currentResult:this.previousQueryResult,{state:f}=t;let{dataUpdatedAt:d,error:h,errorUpdatedAt:v,fetchStatus:y,status:S}=f,g=!1,m=!1,w;if(n._optimisticResults){const b=this.hasListeners(),A=!b&&Nm(t,n),$=b&&Am(t,r,n,o);(A||$)&&(y=Hl(t.options.networkMode)?"fetching":"paused",d||(S="loading")),n._optimisticResults==="isRestoring"&&(y="idle")}if(n.keepPreviousData&&!f.dataUpdatedAt&&c!=null&&c.isSuccess&&S!=="error")w=c.data,d=c.dataUpdatedAt,S=c.status,g=!0;else if(n.select&&typeof f.data<"u")if(i&&f.data===(s==null?void 0:s.data)&&n.select===this.selectFn)w=this.selectResult;else try{this.selectFn=n.select,w=n.select(f.data),w=ff(i==null?void 0:i.data,w,n),this.selectResult=w,this.selectError=null}catch(b){this.selectError=b}else w=f.data;if(typeof n.placeholderData<"u"&&typeof w>"u"&&S==="loading"){let b;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))b=i.data;else if(b=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof b<"u")try{b=n.select(b),this.selectError=null}catch(A){this.selectError=A}typeof b<"u"&&(S="success",w=ff(i==null?void 0:i.data,b,n),m=!0)}this.selectError&&(h=this.selectError,w=this.selectResult,v=Date.now(),S="error");const x=y==="fetching",O=S==="loading",P=S==="error";return{status:S,fetchStatus:y,isLoading:O,isSuccess:S==="success",isError:P,isInitialLoading:O&&x,data:w,dataUpdatedAt:d,error:h,errorUpdatedAt:v,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:x,isRefetching:x&&!O,isLoadingError:P&&f.dataUpdatedAt===0,isPaused:y==="paused",isPlaceholderData:m,isPreviousData:g,isRefetchError:P&&f.dataUpdatedAt!==0,isStale:qd(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,uf(r,n))return;this.currentResult=r;const o={cache:!0},i=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options,a=typeof s=="function"?s():s;if(a==="all"||!a&&!this.trackedProps.size)return!0;const l=new Set(a??this.trackedProps);return this.options.useErrorBoundary&&l.add("error"),Object.keys(this.currentResult).some(u=>{const c=u;return this.currentResult[c]!==n[c]&&l.has(c)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),this.notify({...o,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!ka(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){Ee.batch(()=>{if(t.onSuccess){var n,r,o,i;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(o=(i=this.options).onSettled)==null||o.call(i,this.currentResult.data,null)}else if(t.onError){var s,a,l,u;(s=(a=this.options).onError)==null||s.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(({listener:c})=>{c(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function hC(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Nm(e,t){return hC(e,t)||e.state.dataUpdatedAt>0&&df(e,t,t.refetchOnMount)}function df(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&qd(e,t)}return!1}function Am(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&qd(e,n)}function qd(e,t){return e.isStaleByTime(t.staleTime)}function mC(e,t,n){return n.keepPreviousData?!1:n.placeholderData!==void 0?t.isPlaceholderData:!uf(e.getCurrentResult(),t)}var Vy={exports:{}},Ky={};/** + * @license React + * use-sync-external-store-shim.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. + */var jo=p;function gC(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var vC=typeof Object.is=="function"?Object.is:gC,yC=jo.useState,wC=jo.useEffect,xC=jo.useLayoutEffect,SC=jo.useDebugValue;function EC(e,t){var n=t(),r=yC({inst:{value:n,getSnapshot:t}}),o=r[0].inst,i=r[1];return xC(function(){o.value=n,o.getSnapshot=t,Au(o)&&i({inst:o})},[e,n,t]),wC(function(){return Au(o)&&i({inst:o}),e(function(){Au(o)&&i({inst:o})})},[e]),SC(n),n}function Au(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!vC(e,n)}catch{return!0}}function bC(e,t){return t()}var CC=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?bC:EC;Ky.useSyncExternalStore=jo.useSyncExternalStore!==void 0?jo.useSyncExternalStore:CC;Vy.exports=Ky;var _C=Vy.exports;const OC=_C.useSyncExternalStore,Mm=p.createContext(void 0),Qy=p.createContext(!1);function qy(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=Mm),window.ReactQueryClientContext):Mm)}const kC=({context:e}={})=>{const t=p.useContext(qy(e,p.useContext(Qy)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},PC=({client:e,children:t,context:n,contextSharing:r=!1})=>{p.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const o=qy(n,r);return p.createElement(Qy.Provider,{value:!n&&r},p.createElement(o.Provider,{value:e},t))},Yy=p.createContext(!1),RC=()=>p.useContext(Yy);Yy.Provider;function TC(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const LC=p.createContext(TC()),$C=()=>p.useContext(LC);function NC(e,t){return typeof e=="function"?e(...t):!!e}const AC=(e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))},MC=e=>{p.useEffect(()=>{e.clearReset()},[e])},DC=({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&NC(n,[e.error,r]),IC=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},FC=(e,t)=>e.isLoading&&e.isFetching&&!t,jC=(e,t,n)=>(e==null?void 0:e.suspense)&&FC(t,n),UC=(e,t,n)=>t.fetchOptimistic(e).then(({data:r})=>{e.onSuccess==null||e.onSuccess(r),e.onSettled==null||e.onSettled(r,null)}).catch(r=>{n.clearReset(),e.onError==null||e.onError(r),e.onSettled==null||e.onSettled(void 0,r)});function zC(e,t){const n=kC({context:e.context}),r=RC(),o=$C(),i=n.defaultQueryOptions(e);i._optimisticResults=r?"isRestoring":"optimistic",i.onError&&(i.onError=Ee.batchCalls(i.onError)),i.onSuccess&&(i.onSuccess=Ee.batchCalls(i.onSuccess)),i.onSettled&&(i.onSettled=Ee.batchCalls(i.onSettled)),IC(i),AC(i,o),MC(o);const[s]=p.useState(()=>new t(n,i)),a=s.getOptimisticResult(i);if(OC(p.useCallback(l=>{const u=r?()=>{}:s.subscribe(Ee.batchCalls(l));return s.updateResult(),u},[s,r]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),p.useEffect(()=>{s.setOptions(i,{listeners:!1})},[i,s]),jC(i,a,r))throw UC(i,s,o);if(DC({result:a,errorResetBoundary:o,useErrorBoundary:i.useErrorBoundary,query:s.getCurrentQuery()}))throw a.error;return i.notifyOnChangeProps?a:s.trackResult(a)}function Gy(e,t,n){const r=Ci(e,t,n);return zC(r,pC)}function Xy(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;tn};return typeof e=="function"?r.read=e:(r.init=e,r.read=WC,r.write=HC),t&&(r.write=t),r}function WC(e){return e(this)}function HC(e,t,n){return t(this,typeof n=="function"?n(e(this)):n)}const Mu=(e,t)=>e.unstable_is?e.unstable_is(t):t===e,Dm=e=>"init"in e,Im=e=>!!e.write,ml=new WeakMap,VC=(e,t)=>{ml.set(e,t),e.catch(()=>{}).finally(()=>ml.delete(e))},Fm=(e,t)=>{const n=ml.get(e);n&&(ml.delete(e),n(t))},jm=(e,t)=>{e.status="fulfilled",e.value=t},Um=(e,t)=>{e.status="rejected",e.reason=t},KC=e=>typeof(e==null?void 0:e.then)=="function",gi=(e,t)=>!!e&&"v"in e&&"v"in t&&Object.is(e.v,t.v),zm=(e,t)=>!!e&&"e"in e&&"e"in t&&Object.is(e.e,t.e),no=e=>!!e&&"v"in e&&e.v instanceof Promise,QC=(e,t)=>"v"in e&&"v"in t&&e.v.orig&&e.v.orig===t.v.orig,ta=e=>{if("e"in e)throw e.e;return e.v},qC=()=>{const e=new WeakMap,t=new WeakMap,n=[],r=new WeakMap;let o,i;const s=b=>e.get(b),a=(b,A)=>{A.d.forEach(($,F)=>{var M;if(!r.has(F)){const D=s(F);(M=n[n.length-1])==null||M.add(F),r.set(F,[D,new Set]),D&&a(F,D)}r.get(F)[1].add(b)})},l=(b,A)=>{var $;const F=s(b);if(e.set(b,A),r.has(b)||(($=n[n.length-1])==null||$.add(b),r.set(b,[F,new Set]),a(b,A)),no(F)){const M="v"in A?A.v instanceof Promise?A.v:Promise.resolve(A.v):Promise.reject(A.e);F.v!==M&&Fm(F.v,M)}},u=(b,A,$,F)=>{const M=new Map(F?A.d:null);let D=!1;$.forEach((T,L)=>{!T&&Mu(b,L)&&(T=A),T&&(M.set(L,T),A.d.get(L)!==T&&(D=!0))}),(D||A.d.size!==M.size)&&(A.d=M)},c=(b,A,$,F)=>{const M=s(b),D={d:(M==null?void 0:M.d)||new Map,v:A};if($&&u(b,D,$,F),gi(M,D)&&M.d===D.d)return M;if(no(M)&&no(D)&&QC(M,D)){if(M.d===D.d)return M;D.v=M.v}return l(b,D),D},f=(b,A,$,F)=>{if(KC(A)){let M;const D=()=>{const L=s(b);if(!no(L)||L.v!==T)return;const U=c(b,T,$);t.has(b)&&L.d!==U.d&&O(b,U,L.d)},T=new Promise((L,U)=>{let C=!1;A.then(k=>{C||(C=!0,jm(T,k),L(k),D())},k=>{C||(C=!0,Um(T,k),U(k),D())}),M=k=>{C||(C=!0,k.then(N=>jm(T,N),N=>Um(T,N)),L(k))}});return T.orig=A,T.status="pending",VC(T,L=>{L&&M(L),F==null||F()}),c(b,T,$,!0)}return c(b,A,$)},d=(b,A,$)=>{const F=s(b),M={d:(F==null?void 0:F.d)||new Map,e:A};return $&&u(b,M,$),zm(F,M)&&F.d===M.d?F:(l(b,M),M)},h=(b,A)=>{const $=s(b);if(!A&&$&&(t.has(b)||Array.from($.d).every(([C,k])=>{if(C===b)return!0;const N=h(C);return N===k||gi(N,k)})))return $;const F=new Map;let M=!0;const D=C=>{if(Mu(b,C)){const N=s(C);if(N)return F.set(C,N),ta(N);if(Dm(C))return F.set(C,void 0),C.init;throw new Error("no atom init")}const k=h(C);return F.set(C,k),ta(k)};let T,L;const U={get signal(){return T||(T=new AbortController),T.signal},get setSelf(){return!L&&Im(b)&&(L=(...C)=>{if(!M)return g(b,...C)}),L}};try{const C=b.read(D,U);return f(b,C,F,()=>T==null?void 0:T.abort())}catch(C){return d(b,C,F)}finally{M=!1}},v=b=>ta(h(b)),y=b=>{const A=T=>{var L,U;const C=new Set((L=t.get(T))==null?void 0:L.t);return(U=r.get(T))==null||U[1].forEach(k=>{C.add(k)}),C},$=new Array,F=new Set,M=T=>{if(!F.has(T)){F.add(T);for(const L of A(T))T!==L&&M(L);$.push(T)}};M(b);const D=new Set([b]);for(let T=$.length-1;T>=0;--T){const L=$[T],U=s(L);if(!U)continue;let C=!1;for(const k of U.d.keys())if(k!==L&&D.has(k)){C=!0;break}if(C){const k=h(L,!0);gi(U,k)||D.add(L)}}},S=(b,...A)=>{const $=D=>ta(h(D)),F=(D,...T)=>{const L=n.length>0;L||n.push(new Set([D]));let U;if(Mu(b,D)){if(!Dm(D))throw new Error("atom not writable");const C=s(D),k=f(D,T[0]);gi(C,k)||y(D)}else U=S(D,...T);if(!L){const C=P(n.pop())}return U};return b.write($,F,...A)},g=(b,...A)=>{n.push(new Set([b]));const $=S(b,...A),F=P(n.pop());return $},m=(b,A,$)=>{var F;const M=t.get(b);if(M)return A&&M.t.add(A),M;const D=$||[];(F=s(b))==null||F.d.forEach((L,U)=>{U!==b&&m(U,b,D)}),h(b);const T={t:new Set(A&&[A]),l:new Set};if(t.set(b,T),Im(b)&&b.onMount){const{onMount:L}=b;D.push(()=>{const U=L((...C)=>g(b,...C));U&&(T.u=U)})}return $||D.forEach(L=>L()),T},w=(b,A)=>!A.l.size&&(!A.t.size||A.t.size===1&&A.t.has(b)),x=(b,A)=>{if(!w(b,A))return;const $=A.u;$&&$(),t.delete(b);const F=s(b);F&&(no(F)&&Fm(F.v),F.d.forEach((M,D)=>{if(D!==b){const T=t.get(D);T&&(T.t.delete(b),x(D,T))}}))},O=(b,A,$)=>{const F=new Set(A.d.keys()),M=new Set;$==null||$.forEach((D,T)=>{if(F.has(T)){F.delete(T);return}M.add(T);const L=t.get(T);L&&L.t.delete(b)}),F.forEach(D=>{m(D,b)}),M.forEach(D=>{const T=t.get(D);T&&x(D,T)})},P=b=>{let A;const $=[],F=M=>{var D;if(!r.has(M))return;const[T,L]=r.get(M);r.delete(M),$.push([M,T]),L.forEach(F),(D=s(M))==null||D.d.forEach((U,C)=>F(C))};b.forEach(F),$.forEach(([M,D])=>{const T=s(M);if(T&&T!==D){const L=t.get(M);L&&T.d!==(D==null?void 0:D.d)&&O(M,T,D==null?void 0:D.d),L&&!(!no(D)&&(gi(D,T)||zm(D,T)))&&L.l.forEach(U=>U())}})};return{get:v,set:g,sub:(b,A)=>{const $=m(b),F=P([b]),M=$.l;return M.add(A),()=>{M.delete(A),x(b,$)}}}};let Du;const YC=()=>(Du||(Du=qC()),Du),GC=YC,XC=p.createContext(void 0),Jy=e=>{const t=p.useContext(XC);return(e==null?void 0:e.store)||t||GC()},JC=e=>typeof(e==null?void 0:e.then)=="function",ZC=I.use||(e=>{if(e.status==="pending")throw e;if(e.status==="fulfilled")return e.value;throw e.status==="rejected"?e.reason:(e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e)});function e_(e,t){const n=Jy(t),[[r,o,i],s]=p.useReducer(u=>{const c=n.get(e);return Object.is(u[0],c)&&u[1]===n&&u[2]===e?u:[c,n,e]},void 0,()=>[n.get(e),n,e]);let a=r;(o!==n||i!==e)&&(s(),a=n.get(e));const l=t==null?void 0:t.delay;return p.useEffect(()=>{const u=n.sub(e,()=>{if(typeof l=="number"){setTimeout(s,l);return}s()});return s(),u},[n,e,l]),p.useDebugValue(a),JC(a)?ZC(a):a}function t_(e,t){const n=Jy(t);return p.useCallback((...o)=>n.set(e,...o),[n,e])}function _e(e,t){return[e_(e,t),t_(e,t)]}const n_=p.createContext(null),Iu={didCatch:!1,error:null};class r_ extends p.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Iu}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var n,r,o=arguments.length,i=new Array(o),s=0;s0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,r)=>!Object.is(n,t[r]))}/** + * @remix-run/router v1.9.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ls(){return ls=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Vl(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function s_(){return Math.random().toString(36).substr(2,8)}function Wm(e,t){return{usr:e.state,key:e.key,idx:t}}function pf(e,t,n,r){return n===void 0&&(n=null),ls({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Vr(t):t,{state:n,key:t&&t.key||r||s_()})}function gl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Vr(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function a_(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,s=o.history,a=Gn.Pop,l=null,u=c();u==null&&(u=0,s.replaceState(ls({},s.state,{idx:u}),""));function c(){return(s.state||{idx:null}).idx}function f(){a=Gn.Pop;let S=c(),g=S==null?null:S-u;u=S,l&&l({action:a,location:y.location,delta:g})}function d(S,g){a=Gn.Push;let m=pf(y.location,S,g);n&&n(m,S),u=c()+1;let w=Wm(m,u),x=y.createHref(m);try{s.pushState(w,"",x)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;o.location.assign(x)}i&&l&&l({action:a,location:y.location,delta:1})}function h(S,g){a=Gn.Replace;let m=pf(y.location,S,g);n&&n(m,S),u=c();let w=Wm(m,u),x=y.createHref(m);s.replaceState(w,"",x),i&&l&&l({action:a,location:y.location,delta:0})}function v(S){let g=o.location.origin!=="null"?o.location.origin:o.location.href,m=typeof S=="string"?S:gl(S);return Ae(g,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,g)}let y={get action(){return a},get location(){return e(o,s)},listen(S){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(Bm,f),l=S,()=>{o.removeEventListener(Bm,f),l=null}},createHref(S){return t(o,S)},createURL:v,encodeLocation(S){let g=v(S);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:d,replace:h,go(S){return s.go(S)}};return y}var Hm;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Hm||(Hm={}));function l_(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Vr(t):t,o=Yd(r.pathname||"/",n);if(o==null)return null;let i=Zy(e);u_(i);let s=null;for(let a=0;s==null&&a{let l={relativePath:a===void 0?i.path||"":a,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};l.relativePath.startsWith("/")&&(Ae(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=ir([r,l.relativePath]),c=n.concat(l);i.children&&i.children.length>0&&(Ae(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Zy(i.children,t,c,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:g_(u,i.index),routesMeta:c})};return e.forEach((i,s)=>{var a;if(i.path===""||!((a=i.path)!=null&&a.includes("?")))o(i,s);else for(let l of e1(i.path))o(i,s,l)}),t}function e1(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let s=e1(r.join("/")),a=[];return a.push(...s.map(l=>l===""?i:[i,l].join("/"))),o&&a.push(...s),a.map(l=>e.startsWith("/")&&l===""?"/":l)}function u_(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:v_(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const c_=/^:\w+$/,f_=3,d_=2,p_=1,h_=10,m_=-2,Vm=e=>e==="*";function g_(e,t){let n=e.split("/"),r=n.length;return n.some(Vm)&&(r+=m_),t&&(r+=d_),n.filter(o=>!Vm(o)).reduce((o,i)=>o+(c_.test(i)?f_:i===""?p_:h_),r)}function v_(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function y_(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let s=0;s{if(c==="*"){let d=a[f]||"";s=i.slice(0,i.length-d.length).replace(/(.)\/+$/,"$1")}return u[c]=E_(a[f]||"",c),u},{}),pathname:i,pathnameBase:s,pattern:e}}function x_(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Vl(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(s,a)=>(r.push(a),"/([^\\/]+)"));return e.endsWith("*")?(r.push("*"),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function S_(e){try{return decodeURI(e)}catch(t){return Vl(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function E_(e,t){try{return decodeURIComponent(e)}catch(n){return Vl(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}function Yd(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function b_(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Vr(e):e;return{pathname:n?n.startsWith("/")?n:C_(n,t):t,search:O_(r),hash:k_(o)}}function C_(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function Fu(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function t1(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function n1(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Vr(e):(o=ls({},e),Ae(!o.pathname||!o.pathname.includes("?"),Fu("?","pathname","search",o)),Ae(!o.pathname||!o.pathname.includes("#"),Fu("#","pathname","hash",o)),Ae(!o.search||!o.search.includes("#"),Fu("#","search","hash",o)));let i=e===""||o.pathname==="",s=i?"/":o.pathname,a;if(r||s==null)a=n;else{let f=t.length-1;if(s.startsWith("..")){let d=s.split("/");for(;d[0]==="..";)d.shift(),f-=1;o.pathname=d.join("/")}a=f>=0?t[f]:"/"}let l=b_(o,a),u=s&&s!=="/"&&s.endsWith("/"),c=(i||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const ir=e=>e.join("/").replace(/\/\/+/g,"/"),__=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),O_=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,k_=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function P_(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const r1=["post","put","patch","delete"];new Set(r1);const R_=["get",...r1];new Set(R_);/** + * React Router v6.16.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function vl(){return vl=Object.assign?Object.assign.bind():function(e){for(var t=1;tl.pathnameBase)),s=p.useRef(!1);return i1(()=>{s.current=!0}),p.useCallback(function(l,u){if(u===void 0&&(u={}),!s.current)return;if(typeof l=="number"){n.go(l);return}let c=n1(l,JSON.parse(i),o,u.relative==="path");e==null&&t!=="/"&&(c.pathname=c.pathname==="/"?t:ir([t,c.pathname])),(u.replace?n.replace:n.push)(c,u.state,u)},[t,n,i,o,e])}function s1(e,t){let{relative:n}=t===void 0?{}:t,{matches:r}=p.useContext(Kr),{pathname:o}=Ps(),i=JSON.stringify(t1(r).map(s=>s.pathnameBase));return p.useMemo(()=>n1(e,JSON.parse(i),o,n==="path"),[e,i,o,n])}function a1(e,t){return N_(e,t)}function N_(e,t,n){ks()||Ae(!1);let{navigator:r}=p.useContext(Go),{matches:o}=p.useContext(Kr),i=o[o.length-1],s=i?i.params:{};i&&i.pathname;let a=i?i.pathnameBase:"/";i&&i.route;let l=Ps(),u;if(t){var c;let y=typeof t=="string"?Vr(t):t;a==="/"||(c=y.pathname)!=null&&c.startsWith(a)||Ae(!1),u=y}else u=l;let f=u.pathname||"/",d=a==="/"?f:f.slice(a.length)||"/",h=l_(e,{pathname:d}),v=F_(h&&h.map(y=>Object.assign({},y,{params:Object.assign({},s,y.params),pathname:ir([a,r.encodeLocation?r.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?a:ir([a,r.encodeLocation?r.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),o,n);return t&&v?p.createElement(Kl.Provider,{value:{location:vl({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Gn.Pop}},v):v}function A_(){let e=B_(),t=P_(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},i=null;return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),n?p.createElement("pre",{style:o},n):null,i)}const M_=p.createElement(A_,null);class D_ extends p.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error||n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error?p.createElement(Kr.Provider,{value:this.props.routeContext},p.createElement(o1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function I_(e){let{routeContext:t,match:n,children:r}=e,o=p.useContext(Gd);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),p.createElement(Kr.Provider,{value:t},r)}function F_(e,t,n){var r;if(t===void 0&&(t=[]),n===void 0&&(n=null),e==null){var o;if((o=n)!=null&&o.errors)e=n.matches;else return null}let i=e,s=(r=n)==null?void 0:r.errors;if(s!=null){let a=i.findIndex(l=>l.route.id&&(s==null?void 0:s[l.route.id]));a>=0||Ae(!1),i=i.slice(0,Math.min(i.length,a+1))}return i.reduceRight((a,l,u)=>{let c=l.route.id?s==null?void 0:s[l.route.id]:null,f=null;n&&(f=l.route.errorElement||M_);let d=t.concat(i.slice(0,u+1)),h=()=>{let v;return c?v=f:l.route.Component?v=p.createElement(l.route.Component,null):l.route.element?v=l.route.element:v=a,p.createElement(I_,{match:l,routeContext:{outlet:a,matches:d,isDataRoute:n!=null},children:v})};return n&&(l.route.ErrorBoundary||l.route.errorElement||u===0)?p.createElement(D_,{location:n.location,revalidation:n.revalidation,component:f,error:c,children:h(),routeContext:{outlet:null,matches:d,isDataRoute:!0}}):h()},null)}var l1=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(l1||{}),yl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(yl||{});function j_(e){let t=p.useContext(Gd);return t||Ae(!1),t}function U_(e){let t=p.useContext(T_);return t||Ae(!1),t}function z_(e){let t=p.useContext(Kr);return t||Ae(!1),t}function u1(e){let t=z_(),n=t.matches[t.matches.length-1];return n.route.id||Ae(!1),n.route.id}function B_(){var e;let t=p.useContext(o1),n=U_(yl.UseRouteError),r=u1(yl.UseRouteError);return t||((e=n.errors)==null?void 0:e[r])}function W_(){let{router:e}=j_(l1.UseNavigateStable),t=u1(yl.UseNavigateStable),n=p.useRef(!1);return i1(()=>{n.current=!0}),p.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,vl({fromRouteId:t},i)))},[e,t])}function H_(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Gn.Pop,navigator:i,static:s=!1}=e;ks()&&Ae(!1);let a=t.replace(/^\/*/,"/"),l=p.useMemo(()=>({basename:a,navigator:i,static:s}),[a,i,s]);typeof r=="string"&&(r=Vr(r));let{pathname:u="/",search:c="",hash:f="",state:d=null,key:h="default"}=r,v=p.useMemo(()=>{let y=Yd(u,a);return y==null?null:{location:{pathname:y,search:c,hash:f,state:d,key:h},navigationType:o}},[a,u,c,f,d,h,o]);return v==null?null:p.createElement(Go.Provider,{value:l},p.createElement(Kl.Provider,{children:n,value:v}))}new Promise(()=>{});/** + * React Router DOM v6.16.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function K_(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Q_(e,t){return e.button===0&&(!t||t==="_self")&&!K_(e)}const q_=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Y_="startTransition",Km=ln[Y_];function G_(e){let{basename:t,children:n,future:r,window:o}=e,i=p.useRef();i.current==null&&(i.current=i_({window:o,v5Compat:!0}));let s=i.current,[a,l]=p.useState({action:s.action,location:s.location}),{v7_startTransition:u}=r||{},c=p.useCallback(f=>{u&&Km?Km(()=>l(f)):l(f)},[l,u]);return p.useLayoutEffect(()=>s.listen(c),[s,c]),p.createElement(H_,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:s})}const X_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",J_=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,c1=p.forwardRef(function(t,n){let{onClick:r,relative:o,reloadDocument:i,replace:s,state:a,target:l,to:u,preventScrollReset:c}=t,f=V_(t,q_),{basename:d}=p.useContext(Go),h,v=!1;if(typeof u=="string"&&J_.test(u)&&(h=u,X_))try{let m=new URL(window.location.href),w=u.startsWith("//")?new URL(m.protocol+u):new URL(u),x=Yd(w.pathname,d);w.origin===m.origin&&x!=null?u=x+w.search+w.hash:v=!0}catch{}let y=L_(u,{relative:o}),S=Z_(u,{replace:s,state:a,target:l,preventScrollReset:c,relative:o});function g(m){r&&r(m),m.defaultPrevented||S(m)}return p.createElement("a",hf({},f,{href:h||y,onClick:v||i?r:g,ref:n,target:l}))});var Qm;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher"})(Qm||(Qm={}));var qm;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(qm||(qm={}));function Z_(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:s}=t===void 0?{}:t,a=Xd(),l=Ps(),u=s1(e,{relative:s});return p.useCallback(c=>{if(Q_(c,n)){c.preventDefault();let f=r!==void 0?r:gl(l)===gl(u);a(e,{replace:f,state:o,preventScrollReset:i,relative:s})}},[l,a,u,r,o,n,e,i,s])}var{entries:f1,setPrototypeOf:Ym,isFrozen:eO,getPrototypeOf:tO,getOwnPropertyDescriptor:nO}=Object,{freeze:Ke,seal:Tt,create:d1}=Object,{apply:mf,construct:gf}=typeof Reflect<"u"&&Reflect;Ke||(Ke=function(e){return e});Tt||(Tt=function(e){return e});mf||(mf=function(e,t,n){return e.apply(t,n)});gf||(gf=function(e,t){return new e(...t)});var na=dt(Array.prototype.forEach),Gm=dt(Array.prototype.pop),vi=dt(Array.prototype.push),Pa=dt(String.prototype.toLowerCase),ju=dt(String.prototype.toString),Xm=dt(String.prototype.match),yi=dt(String.prototype.replace),rO=dt(String.prototype.indexOf),oO=dt(String.prototype.trim),Mt=dt(Object.prototype.hasOwnProperty),ot=dt(RegExp.prototype.test),wi=iO(TypeError);function dt(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o2&&arguments[2]!==void 0?arguments[2]:Pa;Ym&&Ym(e,null);let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){let i=n(o);i!==o&&(eO(t)||(t[r]=i),o=i)}e[o]=!0}return e}function sO(e){for(let t=0;t/gm),fO=Tt(/\${[\w\W]*}/gm),dO=Tt(/^data-[\-\w.\u00B7-\uFFFF]/),pO=Tt(/^aria-[\-\w]+$/),p1=Tt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),hO=Tt(/^(?:\w+script|data):/i),mO=Tt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),h1=Tt(/^html$/i),gO=Tt(/^[a-z][a-z\d]*(-[a-z\d]+)+$/i),ng=Object.freeze({__proto__:null,MUSTACHE_EXPR:uO,ERB_EXPR:cO,TMPLIT_EXPR:fO,DATA_ATTR:dO,ARIA_ATTR:pO,IS_ALLOWED_URI:p1,IS_SCRIPT_OR_DATA:hO,ATTR_WHITESPACE:mO,DOCTYPE_NAME:h1,CUSTOM_ELEMENT:gO}),vO=function(){return typeof window>"u"?null:window},yO=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function m1(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vO(),t=_=>m1(_);if(t.version="3.0.10",t.removed=[],!e||!e.document||e.document.nodeType!==9)return t.isSupported=!1,t;let{document:n}=e,r=n,o=r.currentScript,{DocumentFragment:i,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:u,NamedNodeMap:c=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:f,DOMParser:d,trustedTypes:h}=e,v=l.prototype,y=ra(v,"cloneNode"),S=ra(v,"nextSibling"),g=ra(v,"childNodes"),m=ra(v,"parentNode");if(typeof s=="function"){let _=n.createElement("template");_.content&&_.content.ownerDocument&&(n=_.content.ownerDocument)}let w,x="",{implementation:O,createNodeIterator:P,createDocumentFragment:R,getElementsByTagName:b}=n,{importNode:A}=r,$={};t.isSupported=typeof f1=="function"&&typeof m=="function"&&O&&O.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:F,ERB_EXPR:M,TMPLIT_EXPR:D,DATA_ATTR:T,ARIA_ATTR:L,IS_SCRIPT_OR_DATA:U,ATTR_WHITESPACE:C,CUSTOM_ELEMENT:k}=ng,{IS_ALLOWED_URI:N}=ng,j=null,B=J({},[...Jm,...Uu,...zu,...Bu,...Zm]),H=null,X=J({},[...eg,...Wu,...tg,...oa]),Q=Object.seal(d1(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ie=null,Y=null,ge=!0,We=!0,ve=!1,Ye=!0,$t=!1,De=!1,gr=!1,vr=!1,le=!1,Ge=!1,$n=!1,qr=!0,fn=!1,ni="user-content-",Nt=!0,dn=!1,rt={},pn=null,hn=J({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ri=null,Ms=J({},["audio","video","img","source","image","track"]),Yr=null,oi=J({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Gr="http://www.w3.org/1998/Math/MathML",Nn="http://www.w3.org/2000/svg",Pe="http://www.w3.org/1999/xhtml",An=Pe,Xr=!1,q=null,we=J({},[Gr,Nn,Pe],ju),se=null,wt=["application/xhtml+xml","text/html"],xt="text/html",de=null,Mn=null,ax=n.createElement("form"),Lp=function(_){return _ instanceof RegExp||_ instanceof Function},iu=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Mn&&Mn===_)){if((!_||typeof _!="object")&&(_={}),_=br(_),se=wt.indexOf(_.PARSER_MEDIA_TYPE)===-1?xt:_.PARSER_MEDIA_TYPE,de=se==="application/xhtml+xml"?ju:Pa,j=Mt(_,"ALLOWED_TAGS")?J({},_.ALLOWED_TAGS,de):B,H=Mt(_,"ALLOWED_ATTR")?J({},_.ALLOWED_ATTR,de):X,q=Mt(_,"ALLOWED_NAMESPACES")?J({},_.ALLOWED_NAMESPACES,ju):we,Yr=Mt(_,"ADD_URI_SAFE_ATTR")?J(br(oi),_.ADD_URI_SAFE_ATTR,de):oi,ri=Mt(_,"ADD_DATA_URI_TAGS")?J(br(Ms),_.ADD_DATA_URI_TAGS,de):Ms,pn=Mt(_,"FORBID_CONTENTS")?J({},_.FORBID_CONTENTS,de):hn,ie=Mt(_,"FORBID_TAGS")?J({},_.FORBID_TAGS,de):{},Y=Mt(_,"FORBID_ATTR")?J({},_.FORBID_ATTR,de):{},rt=Mt(_,"USE_PROFILES")?_.USE_PROFILES:!1,ge=_.ALLOW_ARIA_ATTR!==!1,We=_.ALLOW_DATA_ATTR!==!1,ve=_.ALLOW_UNKNOWN_PROTOCOLS||!1,Ye=_.ALLOW_SELF_CLOSE_IN_ATTR!==!1,$t=_.SAFE_FOR_TEMPLATES||!1,De=_.WHOLE_DOCUMENT||!1,le=_.RETURN_DOM||!1,Ge=_.RETURN_DOM_FRAGMENT||!1,$n=_.RETURN_TRUSTED_TYPE||!1,vr=_.FORCE_BODY||!1,qr=_.SANITIZE_DOM!==!1,fn=_.SANITIZE_NAMED_PROPS||!1,Nt=_.KEEP_CONTENT!==!1,dn=_.IN_PLACE||!1,N=_.ALLOWED_URI_REGEXP||p1,An=_.NAMESPACE||Pe,Q=_.CUSTOM_ELEMENT_HANDLING||{},_.CUSTOM_ELEMENT_HANDLING&&Lp(_.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Q.tagNameCheck=_.CUSTOM_ELEMENT_HANDLING.tagNameCheck),_.CUSTOM_ELEMENT_HANDLING&&Lp(_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Q.attributeNameCheck=_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),_.CUSTOM_ELEMENT_HANDLING&&typeof _.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Q.allowCustomizedBuiltInElements=_.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),$t&&(We=!1),Ge&&(le=!0),rt&&(j=J({},Zm),H=[],rt.html===!0&&(J(j,Jm),J(H,eg)),rt.svg===!0&&(J(j,Uu),J(H,Wu),J(H,oa)),rt.svgFilters===!0&&(J(j,zu),J(H,Wu),J(H,oa)),rt.mathMl===!0&&(J(j,Bu),J(H,tg),J(H,oa))),_.ADD_TAGS&&(j===B&&(j=br(j)),J(j,_.ADD_TAGS,de)),_.ADD_ATTR&&(H===X&&(H=br(H)),J(H,_.ADD_ATTR,de)),_.ADD_URI_SAFE_ATTR&&J(Yr,_.ADD_URI_SAFE_ATTR,de),_.FORBID_CONTENTS&&(pn===hn&&(pn=br(pn)),J(pn,_.FORBID_CONTENTS,de)),Nt&&(j["#text"]=!0),De&&J(j,["html","head","body"]),j.table&&(J(j,["tbody"]),delete ie.tbody),_.TRUSTED_TYPES_POLICY){if(typeof _.TRUSTED_TYPES_POLICY.createHTML!="function")throw wi('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof _.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw wi('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=_.TRUSTED_TYPES_POLICY,x=w.createHTML("")}else w===void 0&&(w=yO(h,o)),w!==null&&typeof x=="string"&&(x=w.createHTML(""));Ke&&Ke(_),Mn=_}},$p=J({},["mi","mo","mn","ms","mtext"]),Np=J({},["foreignobject","desc","title","annotation-xml"]),lx=J({},["title","style","font","a","script"]),Ap=J({},[...Uu,...zu,...aO]),Mp=J({},[...Bu,...lO]),ux=function(_){let V=m(_);(!V||!V.tagName)&&(V={namespaceURI:An,tagName:"template"});let W=Pa(_.tagName),re=Pa(V.tagName);return q[_.namespaceURI]?_.namespaceURI===Nn?V.namespaceURI===Pe?W==="svg":V.namespaceURI===Gr?W==="svg"&&(re==="annotation-xml"||$p[re]):!!Ap[W]:_.namespaceURI===Gr?V.namespaceURI===Pe?W==="math":V.namespaceURI===Nn?W==="math"&&Np[re]:!!Mp[W]:_.namespaceURI===Pe?V.namespaceURI===Nn&&!Np[re]||V.namespaceURI===Gr&&!$p[re]?!1:!Mp[W]&&(lx[W]||!Ap[W]):!!(se==="application/xhtml+xml"&&q[_.namespaceURI]):!1},Jr=function(_){vi(t.removed,{element:_});try{_.parentNode.removeChild(_)}catch{_.remove()}},su=function(_,V){try{vi(t.removed,{attribute:V.getAttributeNode(_),from:V})}catch{vi(t.removed,{attribute:null,from:V})}if(V.removeAttribute(_),_==="is"&&!H[_])if(le||Ge)try{Jr(V)}catch{}else try{V.setAttribute(_,"")}catch{}},Dp=function(_){let V=null,W=null;if(vr)_=""+_;else{let xe=Xm(_,/^[\r\n\t ]+/);W=xe&&xe[0]}se==="application/xhtml+xml"&&An===Pe&&(_=''+_+"");let re=w?w.createHTML(_):_;if(An===Pe)try{V=new d().parseFromString(re,se)}catch{}if(!V||!V.documentElement){V=O.createDocument(An,"template",null);try{V.documentElement.innerHTML=Xr?x:re}catch{}}let Le=V.body||V.documentElement;return _&&W&&Le.insertBefore(n.createTextNode(W),Le.childNodes[0]||null),An===Pe?b.call(V,De?"html":"body")[0]:De?V.documentElement:Le},Ip=function(_){return P.call(_.ownerDocument||_,_,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION,null)},cx=function(_){return _ instanceof f&&(typeof _.nodeName!="string"||typeof _.textContent!="string"||typeof _.removeChild!="function"||!(_.attributes instanceof c)||typeof _.removeAttribute!="function"||typeof _.setAttribute!="function"||typeof _.namespaceURI!="string"||typeof _.insertBefore!="function"||typeof _.hasChildNodes!="function")},Fp=function(_){return typeof a=="function"&&_ instanceof a},mn=function(_,V,W){$[_]&&na($[_],re=>{re.call(t,V,W,Mn)})},jp=function(_){let V=null;if(mn("beforeSanitizeElements",_,null),cx(_))return Jr(_),!0;let W=de(_.nodeName);if(mn("uponSanitizeElement",_,{tagName:W,allowedTags:j}),_.hasChildNodes()&&!Fp(_.firstElementChild)&&ot(/<[/\w]/g,_.innerHTML)&&ot(/<[/\w]/g,_.textContent))return Jr(_),!0;if(!j[W]||ie[W]){if(!ie[W]&&zp(W)&&(Q.tagNameCheck instanceof RegExp&&ot(Q.tagNameCheck,W)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(W)))return!1;if(Nt&&!pn[W]){let re=m(_)||_.parentNode,Le=g(_)||_.childNodes;if(Le&&re){let xe=Le.length;for(let gn=xe-1;gn>=0;--gn)re.insertBefore(y(Le[gn],!0),S(_))}}return Jr(_),!0}return _ instanceof l&&!ux(_)||(W==="noscript"||W==="noembed"||W==="noframes")&&ot(/<\/no(script|embed|frames)/i,_.innerHTML)?(Jr(_),!0):($t&&_.nodeType===3&&(V=_.textContent,na([F,M,D],re=>{V=yi(V,re," ")}),_.textContent!==V&&(vi(t.removed,{element:_.cloneNode()}),_.textContent=V)),mn("afterSanitizeElements",_,null),!1)},Up=function(_,V,W){if(qr&&(V==="id"||V==="name")&&(W in n||W in ax))return!1;if(!(We&&!Y[V]&&ot(T,V))&&!(ge&&ot(L,V))){if(!H[V]||Y[V]){if(!(zp(_)&&(Q.tagNameCheck instanceof RegExp&&ot(Q.tagNameCheck,_)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(_))&&(Q.attributeNameCheck instanceof RegExp&&ot(Q.attributeNameCheck,V)||Q.attributeNameCheck instanceof Function&&Q.attributeNameCheck(V))||V==="is"&&Q.allowCustomizedBuiltInElements&&(Q.tagNameCheck instanceof RegExp&&ot(Q.tagNameCheck,W)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(W))))return!1}else if(!Yr[V]&&!ot(N,yi(W,C,""))&&!((V==="src"||V==="xlink:href"||V==="href")&&_!=="script"&&rO(W,"data:")===0&&ri[_])&&!(ve&&!ot(U,yi(W,C,"")))&&W)return!1}return!0},zp=function(_){return _!=="annotation-xml"&&Xm(_,k)},Bp=function(_){mn("beforeSanitizeAttributes",_,null);let{attributes:V}=_;if(!V)return;let W={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:H},re=V.length;for(;re--;){let Le=V[re],{name:xe,namespaceURI:gn,value:vn}=Le,Gt=de(xe),Xe=xe==="value"?vn:oO(vn);if(W.attrName=Gt,W.attrValue=Xe,W.keepAttr=!0,W.forceKeepAttr=void 0,mn("uponSanitizeAttribute",_,W),Xe=W.attrValue,W.forceKeepAttr||(su(xe,_),!W.keepAttr))continue;if(!Ye&&ot(/\/>/i,Xe)){su(xe,_);continue}$t&&na([F,M,D],Hp=>{Xe=yi(Xe,Hp," ")});let Wp=de(_.nodeName);if(Up(Wp,Gt,Xe)){if(fn&&(Gt==="id"||Gt==="name")&&(su(xe,_),Xe=ni+Xe),w&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!gn)switch(h.getAttributeType(Wp,Gt)){case"TrustedHTML":{Xe=w.createHTML(Xe);break}case"TrustedScriptURL":{Xe=w.createScriptURL(Xe);break}}try{gn?_.setAttributeNS(gn,xe,Xe):_.setAttribute(xe,Xe),Gm(t.removed)}catch{}}}mn("afterSanitizeAttributes",_,null)},fx=function _(V){let W=null,re=Ip(V);for(mn("beforeSanitizeShadowDOM",V,null);W=re.nextNode();)mn("uponSanitizeShadowNode",W,null),!jp(W)&&(W.content instanceof i&&_(W.content),Bp(W));mn("afterSanitizeShadowDOM",V,null)};return t.sanitize=function(_){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},W=null,re=null,Le=null,xe=null;if(Xr=!_,Xr&&(_=""),typeof _!="string"&&!Fp(_))if(typeof _.toString=="function"){if(_=_.toString(),typeof _!="string")throw wi("dirty is not a string, aborting")}else throw wi("toString is not a function");if(!t.isSupported)return _;if(gr||iu(V),t.removed=[],typeof _=="string"&&(dn=!1),dn){if(_.nodeName){let Gt=de(_.nodeName);if(!j[Gt]||ie[Gt])throw wi("root node is forbidden and cannot be sanitized in-place")}}else if(_ instanceof a)W=Dp(""),re=W.ownerDocument.importNode(_,!0),re.nodeType===1&&re.nodeName==="BODY"||re.nodeName==="HTML"?W=re:W.appendChild(re);else{if(!le&&!$t&&!De&&_.indexOf("<")===-1)return w&&$n?w.createHTML(_):_;if(W=Dp(_),!W)return le?null:$n?x:""}W&&vr&&Jr(W.firstChild);let gn=Ip(dn?_:W);for(;Le=gn.nextNode();)jp(Le)||(Le.content instanceof i&&fx(Le.content),Bp(Le));if(dn)return _;if(le){if(Ge)for(xe=R.call(W.ownerDocument);W.firstChild;)xe.appendChild(W.firstChild);else xe=W;return(H.shadowroot||H.shadowrootmode)&&(xe=A.call(r,xe,!0)),xe}let vn=De?W.outerHTML:W.innerHTML;return De&&j["!doctype"]&&W.ownerDocument&&W.ownerDocument.doctype&&W.ownerDocument.doctype.name&&ot(h1,W.ownerDocument.doctype.name)&&(vn=" +`+vn),$t&&na([F,M,D],Gt=>{vn=yi(vn,Gt," ")}),w&&$n?w.createHTML(vn):vn},t.setConfig=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};iu(_),gr=!0},t.clearConfig=function(){Mn=null,gr=!1},t.isValidAttribute=function(_,V,W){Mn||iu({});let re=de(_),Le=de(V);return Up(re,Le,W)},t.addHook=function(_,V){typeof V=="function"&&($[_]=$[_]||[],vi($[_],V))},t.removeHook=function(_){if($[_])return Gm($[_])},t.removeHooks=function(_){$[_]&&($[_]=[])},t.removeAllHooks=function(){$={}},t}var wO=m1(),xO=e=>{switch(e){case"success":return bO;case"info":return _O;case"warning":return CO;case"error":return OO;default:return null}},SO=Array(12).fill(0),EO=({visible:e})=>I.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},I.createElement("div",{className:"sonner-spinner"},SO.map((t,n)=>I.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),bO=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),CO=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),_O=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),OO=I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},I.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),kO=()=>{let[e,t]=I.useState(!1);return I.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},vf=1,PO=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:vf++,i=this.toasts.find(a=>a.id===o),s=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(a=>a.id===o?(this.publish({...a,...e,id:o,title:n}),{...a,...e,id:o,dismissible:s,title:n}):a):this.addToast({title:n,...r,dismissible:s,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let s=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,a=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:s,description:a})}else if(t.success!==void 0){o=!1;let s=typeof t.success=="function"?t.success(i):t.success,a=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:s,description:a})}}).catch(i=>{if(t.error!==void 0){o=!1;let s=typeof t.error=="function"?t.error(i):t.error,a=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:s,description:a})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||vf++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},Dt=new PO,RO=(e,t)=>{let n=(t==null?void 0:t.id)||vf++;return Dt.addToast({title:e,...t,id:n}),n},TO=RO,Hu=Object.assign(TO,{success:Dt.success,info:Dt.info,warning:Dt.warning,error:Dt.error,custom:Dt.custom,message:Dt.message,promise:Dt.promise,dismiss:Dt.dismiss,loading:Dt.loading});function LO(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}LO(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);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;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}:where([data-sonner-toaster][data-x-position="right"]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position="left"]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);function ia(e){return e.label!==void 0&&typeof e.onClick=="function"}var $O=3,NO="32px",AO=4e3,MO=356,DO=14,IO=20,FO=200;function jO(...e){return e.filter(Boolean).join(" ")}var UO=e=>{var t,n,r,o,i,s,a;let{invert:l,toast:u,unstyled:c,interacting:f,setHeights:d,visibleToasts:h,heights:v,index:y,toasts:S,expanded:g,removeToast:m,closeButton:w,style:x,cancelButtonStyle:O,actionButtonStyle:P,className:R="",descriptionClassName:b="",duration:A,position:$,gap:F,loadingIcon:M,expandByDefault:D,classNames:T,icons:L,closeButtonAriaLabel:U="Close toast",pauseWhenPageIsHidden:C,cn:k}=e,[N,j]=I.useState(!1),[B,H]=I.useState(!1),[X,Q]=I.useState(!1),[ie,Y]=I.useState(!1),[ge,We]=I.useState(0),[ve,Ye]=I.useState(0),$t=I.useRef(null),De=I.useRef(null),gr=y===0,vr=y+1<=h,le=u.type,Ge=u.dismissible!==!1,$n=u.className||"",qr=u.descriptionClassName||"",fn=I.useMemo(()=>v.findIndex(q=>q.toastId===u.id)||0,[v,u.id]),ni=I.useMemo(()=>{var q;return(q=u.closeButton)!=null?q:w},[u.closeButton,w]),Nt=I.useMemo(()=>u.duration||A||AO,[u.duration,A]),dn=I.useRef(0),rt=I.useRef(0),pn=I.useRef(0),hn=I.useRef(null),[ri,Ms]=$.split("-"),Yr=I.useMemo(()=>v.reduce((q,we,se)=>se>=fn?q:q+we.height,0),[v,fn]),oi=kO(),Gr=u.invert||l,Nn=le==="loading";rt.current=I.useMemo(()=>fn*F+Yr,[fn,Yr]),I.useEffect(()=>{j(!0)},[]),I.useLayoutEffect(()=>{if(!N)return;let q=De.current,we=q.style.height;q.style.height="auto";let se=q.getBoundingClientRect().height;q.style.height=we,Ye(se),d(wt=>wt.find(xt=>xt.toastId===u.id)?wt.map(xt=>xt.toastId===u.id?{...xt,height:se}:xt):[{toastId:u.id,height:se,position:u.position},...wt])},[N,u.title,u.description,d,u.id]);let Pe=I.useCallback(()=>{H(!0),We(rt.current),d(q=>q.filter(we=>we.toastId!==u.id)),setTimeout(()=>{m(u)},FO)},[u,m,d,rt]);I.useEffect(()=>{if(u.promise&&le==="loading"||u.duration===1/0||u.type==="loading")return;let q,we=Nt;return g||f||C&&oi?(()=>{if(pn.current{var se;(se=u.onAutoClose)==null||se.call(u,u),Pe()},we)),()=>clearTimeout(q)},[g,f,D,u,Nt,Pe,u.promise,le,C,oi]),I.useEffect(()=>{let q=De.current;if(q){let we=q.getBoundingClientRect().height;return Ye(we),d(se=>[{toastId:u.id,height:we,position:u.position},...se]),()=>d(se=>se.filter(wt=>wt.toastId!==u.id))}},[d,u.id]),I.useEffect(()=>{u.delete&&Pe()},[Pe,u.delete]);function An(){return L!=null&&L.loading?I.createElement("div",{className:"sonner-loader","data-visible":le==="loading"},L.loading):M?I.createElement("div",{className:"sonner-loader","data-visible":le==="loading"},M):I.createElement(EO,{visible:le==="loading"})}function Xr(q){return{__html:wO.sanitize(q)}}return I.createElement("li",{"aria-live":u.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:De,className:k(R,$n,T==null?void 0:T.toast,(t=u==null?void 0:u.classNames)==null?void 0:t.toast,T==null?void 0:T.default,T==null?void 0:T[le],(n=u==null?void 0:u.classNames)==null?void 0:n[le]),"data-sonner-toast":"","data-styled":!(u.jsx||u.unstyled||c),"data-mounted":N,"data-promise":!!u.promise,"data-removed":B,"data-visible":vr,"data-y-position":ri,"data-x-position":Ms,"data-index":y,"data-front":gr,"data-swiping":X,"data-dismissible":Ge,"data-type":le,"data-invert":Gr,"data-swipe-out":ie,"data-expanded":!!(g||D&&N),style:{"--index":y,"--toasts-before":y,"--z-index":S.length-y,"--offset":`${B?ge:rt.current}px`,"--initial-height":D?"auto":`${ve}px`,...x,...u.style},onPointerDown:q=>{Nn||!Ge||($t.current=new Date,We(rt.current),q.target.setPointerCapture(q.pointerId),q.target.tagName!=="BUTTON"&&(Q(!0),hn.current={x:q.clientX,y:q.clientY}))},onPointerUp:()=>{var q,we,se,wt;if(ie||!Ge)return;hn.current=null;let xt=Number(((q=De.current)==null?void 0:q.style.getPropertyValue("--swipe-amount").replace("px",""))||0),de=new Date().getTime()-((we=$t.current)==null?void 0:we.getTime()),Mn=Math.abs(xt)/de;if(Math.abs(xt)>=IO||Mn>.11){We(rt.current),(se=u.onDismiss)==null||se.call(u,u),Pe(),Y(!0);return}(wt=De.current)==null||wt.style.setProperty("--swipe-amount","0px"),Q(!1)},onPointerMove:q=>{var we;if(!hn.current||!Ge)return;let se=q.clientY-hn.current.y,wt=q.clientX-hn.current.x,xt=(ri==="top"?Math.min:Math.max)(0,se),de=q.pointerType==="touch"?10:2;Math.abs(xt)>de?(we=De.current)==null||we.style.setProperty("--swipe-amount",`${se}px`):Math.abs(wt)>de&&(hn.current=null)}},ni&&!u.jsx?I.createElement("button",{"aria-label":U,"data-disabled":Nn,"data-close-button":!0,onClick:Nn||!Ge?()=>{}:()=>{var q;Pe(),(q=u.onDismiss)==null||q.call(u,u)},className:k(T==null?void 0:T.closeButton,(r=u==null?void 0:u.classNames)==null?void 0:r.closeButton)},I.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},I.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),I.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,u.jsx||I.isValidElement(u.title)?u.jsx||u.title:I.createElement(I.Fragment,null,le||u.icon||u.promise?I.createElement("div",{"data-icon":"",className:k(T==null?void 0:T.icon)},u.promise||u.type==="loading"&&!u.icon?u.icon||An():null,u.type!=="loading"?u.icon||(L==null?void 0:L[le])||xO(le):null):null,I.createElement("div",{"data-content":"",className:k(T==null?void 0:T.content)},I.createElement("div",{"data-title":"",className:k(T==null?void 0:T.title,(o=u==null?void 0:u.classNames)==null?void 0:o.title),dangerouslySetInnerHTML:Xr(u.title)}),u.description?I.createElement("div",{"data-description":"",className:k(b,qr,T==null?void 0:T.description,(i=u==null?void 0:u.classNames)==null?void 0:i.description),dangerouslySetInnerHTML:Xr(u.description)}):null),I.isValidElement(u.cancel)?u.cancel:u.cancel&&ia(u.cancel)?I.createElement("button",{"data-button":!0,"data-cancel":!0,style:u.cancelButtonStyle||O,onClick:q=>{ia(u.cancel)&&Ge&&(Pe(),u.cancel.onClick(q))},className:k(T==null?void 0:T.cancelButton,(s=u==null?void 0:u.classNames)==null?void 0:s.cancelButton)},u.cancel.label):null,I.isValidElement(u.action)?u.action:u.action&&ia(u.action)?I.createElement("button",{"data-button":"",style:u.actionButtonStyle||P,onClick:q=>{ia(u.action)&&(u.action.onClick(q),!q.defaultPrevented&&Pe())},className:k(T==null?void 0:T.actionButton,(a=u==null?void 0:u.classNames)==null?void 0:a.actionButton)},u.action.label):null))};function rg(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var zO=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:s,offset:a,theme:l="light",richColors:u,duration:c,style:f,visibleToasts:d=$O,toastOptions:h,dir:v=rg(),gap:y=DO,loadingIcon:S,icons:g,containerAriaLabel:m="Notifications",pauseWhenPageIsHidden:w,cn:x=jO}=e,[O,P]=I.useState([]),R=I.useMemo(()=>Array.from(new Set([n].concat(O.filter(B=>B.position).map(B=>B.position)))),[O,n]),[b,A]=I.useState([]),[$,F]=I.useState(!1),[M,D]=I.useState(!1),[T,L]=I.useState(l!=="system"?l:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),U=I.useRef(null),C=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),k=I.useRef(null),N=I.useRef(!1),j=I.useCallback(B=>P(H=>H.filter(({id:X})=>X!==B.id)),[]);return I.useEffect(()=>Dt.subscribe(B=>{if(B.dismiss){P(H=>H.map(X=>X.id===B.id?{...X,delete:!0}:X));return}setTimeout(()=>{Cy.flushSync(()=>{P(H=>{let X=H.findIndex(Q=>Q.id===B.id);return X!==-1?[...H.slice(0,X),{...H[X],...B},...H.slice(X+1)]:[B,...H]})})})}),[]),I.useEffect(()=>{if(l!=="system"){L(l);return}l==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?L("dark"):L("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:B})=>{L(B?"dark":"light")})},[l]),I.useEffect(()=>{O.length<=1&&F(!1)},[O]),I.useEffect(()=>{let B=H=>{var X,Q;r.every(ie=>H[ie]||H.code===ie)&&(F(!0),(X=U.current)==null||X.focus()),H.code==="Escape"&&(document.activeElement===U.current||(Q=U.current)!=null&&Q.contains(document.activeElement))&&F(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[r]),I.useEffect(()=>{if(U.current)return()=>{k.current&&(k.current.focus({preventScroll:!0}),k.current=null,N.current=!1)}},[U.current]),O.length?I.createElement("section",{"aria-label":`${m} ${C}`,tabIndex:-1},R.map((B,H)=>{var X;let[Q,ie]=B.split("-");return I.createElement("ol",{key:B,dir:v==="auto"?rg():v,tabIndex:-1,ref:U,className:s,"data-sonner-toaster":!0,"data-theme":T,"data-rich-colors":u,"data-y-position":Q,"data-x-position":ie,style:{"--front-toast-height":`${((X=b[0])==null?void 0:X.height)||0}px`,"--offset":typeof a=="number"?`${a}px`:a||NO,"--width":`${MO}px`,"--gap":`${y}px`,...f},onBlur:Y=>{N.current&&!Y.currentTarget.contains(Y.relatedTarget)&&(N.current=!1,k.current&&(k.current.focus({preventScroll:!0}),k.current=null))},onFocus:Y=>{Y.target instanceof HTMLElement&&Y.target.dataset.dismissible==="false"||N.current||(N.current=!0,k.current=Y.relatedTarget)},onMouseEnter:()=>F(!0),onMouseMove:()=>F(!0),onMouseLeave:()=>{M||F(!1)},onPointerDown:Y=>{Y.target instanceof HTMLElement&&Y.target.dataset.dismissible==="false"||D(!0)},onPointerUp:()=>D(!1)},O.filter(Y=>!Y.position&&H===0||Y.position===B).map((Y,ge)=>{var We,ve;return I.createElement(UO,{key:Y.id,icons:g,index:ge,toast:Y,duration:(We=h==null?void 0:h.duration)!=null?We:c,className:h==null?void 0:h.className,descriptionClassName:h==null?void 0:h.descriptionClassName,invert:t,visibleToasts:d,closeButton:(ve=h==null?void 0:h.closeButton)!=null?ve:i,interacting:M,position:B,style:h==null?void 0:h.style,unstyled:h==null?void 0:h.unstyled,classNames:h==null?void 0:h.classNames,cancelButtonStyle:h==null?void 0:h.cancelButtonStyle,actionButtonStyle:h==null?void 0:h.actionButtonStyle,removeToast:j,toasts:O.filter(Ye=>Ye.position==Y.position),heights:b.filter(Ye=>Ye.position==Y.position),setHeights:A,expandByDefault:o,gap:y,loadingIcon:S,expanded:$,pauseWhenPageIsHidden:w,cn:x})}))})):null};/*! Bundled license information: + +dompurify/dist/purify.es.mjs: + (*! @license DOMPurify 3.0.10 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.10/LICENSE *) +*/const BO=Object.prototype.toString,WO=e=>BO.call(e)==="[object Error]",HO=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed"]);function VO(e){return e&&WO(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:HO.has(e.message):!1}const KO=0;class g1 extends Error{constructor(t,n){super(t),this.message=t,this.ctx=n}}class v1 extends Error{constructor(t,n){super(t),this.message=t,this.ctx=n}}class y1 extends Error{constructor(t,n){super(t),this.message=t,this.ctx=n}}const og={[KO]:{message:"Browser not supported!",detail:'This browser does not support "fetch", please choose another one.'},default:{message:"Oops, something went wrong!"}};function QO(e){const{code:t}=e;return typeof t=="number"?og[t]:og.default}function qO(e,t){let n=!1;return(...r)=>{n||(n=!0,e(...r),setTimeout(()=>{n=!1},t))}}function w1(e){return e.replace(/\/$/,"")}function y4(e,t){let n=String(e);for(;n.lengthsetTimeout(t,e))}const GO={"Content-Type":"application/json"};function XO({secret:e}){const t={...GO};return e&&(t.Authorization=`Bearer ${e}`),t}function x1(e,t,n){const r="?"+t.toString(),o=new URL(e);return o.protocol==="https:"?o.protocol="wss:":o.protocol="ws:",`${w1(o.href)}${n}${r}`}function yt({baseURL:e,secret:t}){const n=XO({secret:t});return{url:e,init:{headers:n}}}function S1(e,t){const{baseURL:n,secret:r}=e,o=new URLSearchParams({token:r});return x1(n,o,t)}function w4(e,t){const{baseURL:n,secret:r,logLevel:o}=e,i=new URLSearchParams({token:r,level:o});return x1(n,i,t)}function Jd(e,t){return fetch(e,t)}async function E1(e){const t=e.queryKey[0],n=e.queryKey[1],{url:r,init:o}=yt(n);let i;try{i=await Jd(r+t,o)}catch(s){b1(s,{endpoint:t,apiConfig:n})}if(await JO(i,{endpoint:t,apiConfig:n}),i.ok)return await i.json()}function b1(e,t){throw VO(e)?new g1("",t):e}async function JO(e,t){if(e.status===401)throw new v1("",t);if(!e.ok)throw new y1("",{...t,response:await ZO(e)});return e}async function ZO(e){const t=[];for(const[r,o]of e.headers)t.push(`${r}: ${o}`);let n;try{n=await e.text()}catch{}return{status:e.status,headers:t,data:n}}async function ek(e){return await E1(e)||{}}const tk="_root_14c4m_1",nk="_h1_14c4m_7",ig={root:tk,h1:nk};function C1({title:e}){return E.jsx("div",{className:ig.root,children:E.jsx("h1",{className:ig.h1,children:e})})}const rk=Symbol(""),ok=e=>typeof(e==null?void 0:e.then)=="function";function ik(e=()=>{try{return window.localStorage}catch{return}},t){let n,r;const o={getItem:(i,s)=>{var a,l;const u=f=>{if(f=f||"",n!==f){try{r=JSON.parse(f,t==null?void 0:t.reviver)}catch{return s}n=f}return r},c=(l=(a=e())==null?void 0:a.getItem(i))!=null?l:null;return ok(c)?c.then(u):u(c)},setItem:(i,s)=>{var a;return(a=e())==null?void 0:a.setItem(i,JSON.stringify(s,t==null?void 0:t.replacer))},removeItem:i=>{var s;return(s=e())==null?void 0:s.removeItem(i)}};return typeof window<"u"&&typeof window.addEventListener=="function"&&window.Storage&&(o.subscribe=(i,s,a)=>{if(!(e()instanceof window.Storage))return()=>{};const l=u=>{if(u.storageArea===e()&&u.key===i){let c;try{c=JSON.parse(u.newValue||"")}catch{c=a}s(c)}};return window.addEventListener("storage",l),()=>{window.removeEventListener("storage",l)}}),o}const sk=ik();function ak(e,t,n=sk,r){const o=r==null?void 0:r.getOnInit,i=ft(o?n.getItem(e,t):t);return i.onMount=a=>{a(n.getItem(e,t));let l;return n.subscribe&&(l=n.subscribe(e,a,t)),l},ft(a=>a(i),(a,l,u)=>{const c=typeof u=="function"?u(a(i)):u;return c===rk?(l(i,t),n.removeItem(e)):c instanceof Promise?c.then(f=>(l(i,f),n.setItem(e,f))):(l(i,c),n.setItem(e,c))})}const _1="yacd.haishan.me";function lk(){try{const e=localStorage.getItem(_1);return e?JSON.parse(e):void 0}catch{return}}function uk(e){try{const t=JSON.stringify(e);localStorage.setItem(_1,t)}catch{}}let Vu;const ck={darkModePureBlackToggle:"yacd_darkModePureBlackToggle"},Ku=document.querySelector("html");var rv;const fk={baseURL:((rv=document.getElementById("app"))==null?void 0:rv.getAttribute("data-base-url"))??"http://127.0.0.1:9090",secret:"",addedAt:0},dk={selectedClashAPIConfigIndex:0,clashAPIConfigs:[fk],latencyTestUrl:"http://www.gstatic.com/generate_204",selectedChartStyleIndex:0,theme:"dark",collapsibleIsOpen:{},proxySortBy:"Natural",hideUnavailableProxies:!1,autoCloseOldConns:!1,logStreamingPaused:!1},pk=["hostname","port","secret","theme"],Zd=ft(un().selectedClashAPIConfigIndex),Rs=ft(un().clashAPIConfigs),hk=ft(un().latencyTestUrl),O1=ft(un().selectedChartStyleIndex),k1=ft(un().theme),mk=ft(un().collapsibleIsOpen),gk=ft(un().proxySortBy),vk=ft(un().hideUnavailableProxies),yk=ft(un().autoCloseOldConns),wk=ft(un().logStreamingPaused),xk=ak(ck.darkModePureBlackToggle,!1);function Ts(){const[e]=_e(Rs),[t]=_e(Zd);return e[t]}function yf(e,t){for(let n=0;n0?`?${n}`:"");history.replaceState(null,"",i)}const o=e.clashAPIConfigs[e.selectedClashAPIConfigIndex];if(o){const i=new URL(o.baseURL);t.hostname&&(t.hostname.indexOf("http")===0?i.href=decodeURIComponent(t.hostname):i.hostname=t.hostname),t.port&&(i.port=t.port),o.baseURL=w1(i.href),t.secret&&(o.secret=t.secret)}return(t.theme==="dark"||t.theme==="light")&&(e.theme=t.theme),P1(e.theme),Vu=e,e}function R1(e){const t=e.width||e.size||16,n=e.height||e.size||16;return E.jsx("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:n,children:E.jsx("path",{fill:"currentColor",d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})})}const bk="_root_1lxjz_1",Ck="_mono_1lxjz_13",_k="_link_1lxjz_17",qu={root:bk,mono:Ck,link:_k};function sg({name:e,link:t,version:n}){return E.jsxs("div",{className:qu.root,children:[E.jsx("h2",{children:e}),E.jsxs("p",{children:[E.jsx("span",{children:"Version "}),E.jsx("span",{className:qu.mono,children:n})]}),E.jsx("p",{children:E.jsxs("a",{className:qu.link,href:t,target:"_blank",rel:"noopener noreferrer",children:[E.jsx(R1,{size:20}),E.jsx("span",{children:"Source"})]})})]})}function Ok(){const e=Ts(),{data:t}=Gy(["/version",e],ek);return E.jsxs(E.Fragment,{children:[E.jsx(C1,{title:"About"}),t&&t.version?E.jsx(sg,{name:"Clash",version:t.version,link:"https://github.com/Dreamacro/clash"}):null,E.jsx(sg,{name:"Yacd",version:"0.3.8",link:"https://github.com/haishanh/yacd"})]})}const kk="_loading_74j3j_1",Pk="_spinner_74j3j_9",Rk="_rotate_74j3j_1",ag={loading:kk,spinner:Pk,rotate:Rk},T1=({height:e})=>{const t=e?{height:e}:{};return E.jsx("div",{className:ag.loading,style:t,children:E.jsx("div",{className:ag.spinner})})};function Tk(){const e=Ts(),[t]=_e(Rs);return p.useEffect(()=>{let n="yacd";if(t.length>1)try{n=`${e.metaLabel||new URL(e.baseURL).host} - yacd`}catch{}document.title=n}),E.jsx(E.Fragment,{})}const Lk=new Hy,L1=new dC({queryCache:Lk,defaultOptions:{queries:{suspense:!0}}});let wf;function $k(){wf&&uk(wf)}const Nk=qO($k,500);function Ak(){const[e]=_e(Zd),[t]=_e(Rs),[n]=_e(hk),[r]=_e(O1),[o]=_e(k1),[i]=_e(mk),[s]=_e(gk),[a]=_e(vk),[l]=_e(yk),[u]=_e(wk);return p.useEffect(()=>{wf={autoCloseOldConns:l,clashAPIConfigs:t,collapsibleIsOpen:i,hideUnavailableProxies:a,latencyTestUrl:n,logStreamingPaused:u,proxySortBy:s,selectedChartStyleIndex:r,selectedClashAPIConfigIndex:e,theme:o},Nk()},[l,t,i,a,n,u,s,r,e,o]),null}const $1={config:"/configs"};var wl="NOT_FOUND";function Mk(e){var t;return{get:function(r){return t&&e(t.key,r)?t.value:wl},put:function(r,o){t={key:r,value:o}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}function Dk(e,t){var n=[];function r(a){var l=n.findIndex(function(c){return t(a,c.key)});if(l>-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return wl}function o(a,l){r(a)===wl&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function i(){return n}function s(){n=[]}return{get:r,put:o,getEntries:i,clear:s}}var Ik=function(t,n){return t===n};function Fk(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var o=n.length,i=0;i1?t-1:0),r=1;re.logs.logs,A1=e=>e.logs.tail,Wk=e=>e.logs.searchText,x4=Bk(N1,A1,Wk,(e,t,n)=>{const r=[];for(let o=t;o>=0;o--)r.push(e[o]);if(e.length===xf)for(let o=xf-1;o>t;o--)r.push(e[o]);return n===""?r:r.filter(o=>o.payload.toLowerCase().indexOf(n)>=0)});function S4(e){return t=>{t("logsUpdateSearchText",n=>{n.logs.searchText=e.toLowerCase()})}}function E4(e){return(t,n)=>{const r=n(),o=N1(r),i=A1(r),s=i>=xf-1?0:i+1;o[s]=e,t("logsAppendLog",a=>{a.logs.tail=s})}}const Hk={searchText:"",logs:[],tail:-1},Ql="/connections",_i=[];let yr;function Vk(e){let t;try{t=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}_i.forEach(n=>n(t))}function M1(e,t){if(yr&&yr.readyState<=WebSocket.OPEN)return t?lg(t):void 0;const n=S1(e,Ql);yr=new WebSocket(n);const r=()=>{yr.readyState<=WebSocket.OPEN&&yr.close()},o=()=>{yr.readyState<=WebSocket.OPEN||(document.removeEventListener("freeze",r),document.removeEventListener("resume",o),M1(e))};if(document.addEventListener("freeze",r,{capture:!0,once:!0}),document.addEventListener("resume",o,{capture:!0,once:!0}),yr.addEventListener("message",i=>Vk(i.data)),t)return lg(t)}function lg(e){return _i.indexOf(e)<0&&_i.push(e),function(){const r=_i.indexOf(e);_i.splice(r,1)}}async function b4(e){const{url:t,init:n}=yt(e);return await fetch(t+Ql,{...n,method:"DELETE"})}async function Kk(e){const{url:t,init:n}=yt(e);return await fetch(t+Ql,{...n})}async function Qk(e,t){const{url:n,init:r}=yt(e),o=`${n}${Ql}/${t}`;return await fetch(o,{...r,method:"DELETE"})}const ep="/proxies";async function qk(e){const{url:t,init:n}=yt(e);return await(await fetch(t+ep,n)).json()}async function Yk(e,t,n){const r={name:n},{url:o,init:i}=yt(e),s=encodeURIComponent(t),a=`${o}${ep}/${s}`;return await fetch(a,{...i,method:"PUT",body:JSON.stringify(r)})}async function D1(e,t,n="http://www.gstatic.com/generate_204"){const{url:r,init:o}=yt(e),i=`timeout=5000&url=${encodeURIComponent(n)}`,s=`${r}${ep}/${encodeURIComponent(t)}/delay?${i}`;return await fetch(s,o)}async function Gk(e){const{url:t,init:n}=yt(e),r=await fetch(t+"/providers/proxies",n);return r.status===404?{providers:{}}:await r.json()}async function I1(e,t){const{url:n,init:r}=yt(e),o={...r,method:"PUT"};return await fetch(n+"/providers/proxies/"+encodeURIComponent(t),o)}async function Xk(e,t){const{url:n,init:r}=yt(e),o={...r,method:"GET"};return await fetch(n+"/providers/proxies/"+encodeURIComponent(t)+"/healthcheck",o)}const Jk={proxies:{},delay:{},groupNames:[],showModalClosePrevConns:!1},F1=()=>null,Zk=["Direct","Reject","Relay","Selector","Fallback","URLTest","LoadBalance","Unknown"],j1=e=>e.proxies.proxies,Eo=e=>e.proxies.delay,C4=e=>e.proxies.groupNames,eP=e=>e.proxies.proxyProviders||[],tP=e=>e.proxies.dangleProxyNames,_4=e=>e.proxies.showModalClosePrevConns;function nP(e,t){var r;const n={};for(const o of e){const s=(t(o)||{history:[]}).history,a=(r=s==null?void 0:s.at)==null?void 0:r.call(s,-1);a&&typeof a.delay=="number"&&(n[o]={kind:"Result",number:a.delay})}return n}function Xo(e){return async(t,n)=>{const[r,o]=await Promise.all([qk(e),Gk(e)]),{proxyProviders:i,providerProxyRecord:s}=cP(o.providers),a={...s,...r.proxies},[l,u]=uP(a),c={...Eo(n()),...nP(Object.keys(a),d=>a[d])},f=[];for(const d of u)s[d]||f.push(d);t("store/proxies#fetchProxies",d=>{d.proxies.proxies=a,d.proxies.groupNames=l,d.proxies.dangleProxyNames=f,d.proxies.delay=c,d.proxies.proxyProviders=i})}}function O4(e,t){return async n=>{try{await I1(e,t)}catch{}n(Xo(e))}}function k4(e,t){return async n=>{for(let r=0;r{await tp(e,t),await n(Xo(e))}}async function rP(e,t,n){const r=await Kk(e);r.ok||console.log("unable to fetch all connections",r.statusText);const i=(await r.json()).connections,s=[];for(const a of i)a.chains.indexOf(t)>-1&&a.chains.indexOf(n)<0&&s.push(a.id);await Promise.all(s.map(a=>Qk(e,a).catch(F1)))}function oP(e,t,n){const r=[n,t];let o,i=n;for(;(o=e[i])&&o.now;)r.unshift(o.now),i=o.now;return r}async function iP(e,t,n,r,o,i){try{if((await Yk(n,r,o)).ok===!1)throw new Error("failed to switch proxy: res.statusText")}catch(s){throw console.log(s,"failed to switch proxy"),s}if(e(Xo(n)),i){const s=j1(t());z1(n,s,{groupName:r,itemName:o})}}function U1(){return e=>{e("closeModalClosePrevConns",t=>{t.proxies.showModalClosePrevConns=!1})}}function z1(e,t,n){const r=oP(t,n.groupName,n.itemName);rP(e,n.groupName,r[0])}function sP(e){return async(t,n)=>{var s;const r=n(),o=(s=r.proxies.switchProxyCtx)==null?void 0:s.to;if(!o){t(U1());return}const i=r.proxies.proxies;z1(e,i,o),t("closePrevConnsAndTheModal",a=>{a.proxies.showModalClosePrevConns=!1,a.proxies.switchProxyCtx=void 0})}}function R4(e,t,n,r){return async(o,i)=>{iP(o,i,e,t,n,r).catch(F1),o("store/proxies#switchProxy",s=>{const a=s.proxies.proxies;a[t]&&a[t].now&&(a[t].now=n)})}}function aP(e,t,n){return async(r,o)=>{r("set latency state to testing in progress",i=>{i.proxies.delay={...Eo(o()),[t]:{kind:"Testing"}}});try{const i=await D1(e,t,n);if(i.ok){const{delay:s}=await i.json();r("set latency result",a=>{a.proxies.delay={...Eo(o()),[t]:{kind:"Result",number:s}}})}else r("set latency testing error",s=>{s.proxies.delay={...Eo(o()),[t]:{kind:"Error",message:i.statusText}}})}catch(i){r("set latency testing networkish error",s=>{s.proxies.delay={...Eo(o()),[t]:{kind:"Error",message:i.message||i.type}}})}}}function lP(e,t,n){return async(r,o)=>{const i=j1(o()),s=new Map,a=new Map,l=[];t.forEach(u=>{const c=i[u];c.__provider?c.__provider&&(s.get(u)||(s.set(u,!0),r("set latency state to testing in progress",f=>{f.proxies.delay={...Eo(o()),[u]:{kind:"Testing"}}})),a.get(c.__provider)||(a.set(c.__provider,!0),l.push(tp(e,c.__provider)))):s.get(u)||(s.set(u,!0),r(aP(e,u,n)))}),await Promise.all(l),await r(Xo(e))}}function T4(e,t){return async(n,r)=>{const o=tP(r());await Promise.all(o.map(s=>D1(e,s,t)));const i=eP(r());for(const s of i)await tp(e,s.name);await n(Xo(e))}}function uP(e){let t=[],n;const r=[];for(const o in e){const i=e[o];i.all&&Array.isArray(i.all)?(t.push(o),o==="GLOBAL"&&(n=Array.from(i.all))):Zk.indexOf(i.type)<0&&r.push(o)}return n&&(n.push("GLOBAL"),t=t.map(o=>[n.indexOf(o),o]).sort((o,i)=>o[0]-i[0]).map(o=>o[1])),[t,r]}function cP(e){const t=Object.keys(e),n=[],r={};for(let o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function mP(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var np=p.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,s=hP(e,["color","size"]);return I.createElement("svg",Sf({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),I.createElement("polyline",{points:"20 6 9 17 4 12"}))});np.propTypes={color:Ce.string,size:Ce.oneOfType([Ce.string,Ce.number])};np.displayName="Check";const gP=np;function Ef(){return Ef=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function yP(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var rp=p.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,s=vP(e,["color","size"]);return I.createElement("svg",Ef({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),I.createElement("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),I.createElement("line",{x1:"1",y1:"1",x2:"23",y2:"23"}))});rp.propTypes={color:Ce.string,size:Ce.oneOfType([Ce.string,Ce.number])};rp.displayName="EyeOff";const wP=rp;function bf(){return bf=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function SP(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var op=p.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,s=xP(e,["color","size"]);return I.createElement("svg",bf({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),I.createElement("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),I.createElement("circle",{cx:"12",cy:"12",r:"3"}))});op.propTypes={color:Ce.string,size:Ce.oneOfType([Ce.string,Ce.number])};op.displayName="Eye";const EP=op;function Cf(){return Cf=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CP(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var ip=p.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,s=bP(e,["color","size"]);return I.createElement("svg",Cf({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),I.createElement("circle",{cx:"12",cy:"12",r:"10"}),I.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),I.createElement("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"}))});ip.propTypes={color:Ce.string,size:Ce.oneOfType([Ce.string,Ce.number])};ip.displayName="Info";const _P=ip;function _f(){return _f=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function kP(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var sp=p.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,s=OP(e,["color","size"]);return I.createElement("svg",_f({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),I.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),I.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))});sp.propTypes={color:Ce.string,size:Ce.oneOfType([Ce.string,Ce.number])};sp.displayName="X";const PP=sp,{useState:B1,useCallback:RP}=ln;function TP(e=!1){const[t,n]=B1(e),r=RP(()=>n(o=>!o),[]);return[t,r]}function $4(e){const[t,n]=B1(e);return{value:t,set:n}}const LP="_ul_1t9ux_1",$P="_li_1t9ux_10",NP="_isSelected_1t9ux_21",AP="_right_1t9ux_24",MP="_close_1t9ux_35",DP="_eye_1t9ux_42",IP="_url_1t9ux_57",FP="_secret_1t9ux_58",jP="_metaLabel_1t9ux_59",UP="_btn_1t9ux_65",Zt={ul:LP,li:$P,isSelected:NP,right:AP,close:MP,eye:DP,url:IP,secret:FP,metaLabel:jP,btn:UP};function zP(){const e=Xd(),[t,n]=_e(Rs),[r,o]=_e(Zd),i=p.useCallback(a=>{const l=yf(t,a);n(u=>(u.splice(l,1),[...u])),l===r?o(0):l{const l=yf(t,a),{url:u,init:c}=yt(t[l]);let f;try{f=await Jd(u,c)}catch(h){console.log(h),Hu.error("Failed to connect");return}let d;try{d=await f.json()}catch(h){console.log(h),Hu.error("Unexpected response");return}if(typeof d.hello!="string"){console.log("Response:",d),Hu.error("Unexpected response");return}if(r===l)e("/",{replace:!0});else{o(l),await YO(32);try{window.location.href="/"}catch{}}},[t,r,o,e]);return E.jsx(E.Fragment,{children:E.jsx("ul",{className:Zt.ul,children:t.map((a,l)=>E.jsx("li",{className:Hr(Zt.li,{[Zt.isSelected]:l===r}),children:E.jsx(BP,{disableRemove:l===r,conf:a,onRemove:i,onSelect:s})},a.baseURL+a.secret+a.metaLabel))})})}function BP({conf:e,disableRemove:t,onRemove:n,onSelect:r}){const[o,i]=TP(),s=o?wP:EP,a=p.useCallback(l=>{l.stopPropagation()},[]);return E.jsxs(E.Fragment,{children:[t?E.jsx("span",{}):E.jsx(ug,{disabled:t,onClick:()=>n(e),className:Zt.close,children:E.jsx(PP,{size:20})}),E.jsxs("div",{className:Zt.right,children:[e.metaLabel?E.jsxs(E.Fragment,{children:[E.jsx("span",{className:Zt.metaLabel,tabIndex:0,role:"button",onClick:()=>r(e),onKeyUp:a,children:e.metaLabel}),E.jsx("span",{})]}):null,E.jsx("span",{className:Zt.url,tabIndex:0,role:"button",onClick:()=>r(e),onKeyUp:a,children:e.baseURL}),E.jsx("span",{}),e.secret?E.jsxs(E.Fragment,{children:[E.jsx("span",{className:Zt.secret,children:o?e.secret:"***"}),E.jsx(ug,{onClick:i,className:Zt.eye,children:E.jsx(s,{size:16})})]}):null]})]})}function ug({children:e,onClick:t,className:n,disabled:r}){return E.jsx("button",{disabled:r,className:Hr(n,Zt.btn),onClick:t,children:e})}const WP="_sectionNameType_6tzvo_1",HP="_loadingDot_6tzvo_67",VP="_dot2_6tzvo_1",KP="_dot1_6tzvo_1",QP="_dot3_6tzvo_1",W1={sectionNameType:WP,loadingDot:HP,dot2:VP,dot1:KP,dot3:QP};function N4({name:e,type:t}){return E.jsxs("h2",{className:W1.sectionNameType,children:[E.jsx("span",{children:e}),E.jsx("span",{children:t})]})}function qP(){return E.jsx("span",{className:W1.loadingDot})}function us(e){return E.jsx("div",{style:{height:e.height||20}})}function Ls(e,t=[]){let n=[];function r(i,s){const a=p.createContext(s),l=n.length;n=[...n,s];function u(f){const{scope:d,children:h,...v}=f,y=(d==null?void 0:d[e][l])||a,S=p.useMemo(()=>v,Object.values(v));return p.createElement(y.Provider,{value:S},h)}function c(f,d){const h=(d==null?void 0:d[e][l])||a,v=p.useContext(h);if(v)return v;if(s!==void 0)return s;throw new Error(`\`${f}\` must be used within \`${i}\``)}return u.displayName=i+"Provider",[u,c]}const o=()=>{const i=n.map(s=>p.createContext(s));return function(a){const l=(a==null?void 0:a[e])||i;return p.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,YP(o,...t)]}function YP(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((a,{useScope:l,scopeName:u})=>{const f=l(i)[`__scope${u}`];return{...a,...f}},{});return p.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}function GP(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function H1(...e){return t=>e.forEach(n=>GP(n,t))}function pt(...e){return p.useCallback(H1(...e),e)}const cs=p.forwardRef((e,t)=>{const{children:n,...r}=e,o=p.Children.toArray(n),i=o.find(JP);if(i){const s=i.props.children,a=o.map(l=>l===i?p.Children.count(s)>1?p.Children.only(null):p.isValidElement(s)?s.props.children:null:l);return p.createElement(Of,te({},r,{ref:t}),p.isValidElement(s)?p.cloneElement(s,void 0,a):null)}return p.createElement(Of,te({},r,{ref:t}),n)});cs.displayName="Slot";const Of=p.forwardRef((e,t)=>{const{children:n,...r}=e;return p.isValidElement(n)?p.cloneElement(n,{...ZP(r,n.props),ref:t?H1(t,n.ref):n.ref}):p.Children.count(n)>1?p.Children.only(null):null});Of.displayName="SlotClone";const XP=({children:e})=>p.createElement(p.Fragment,null,e);function JP(e){return p.isValidElement(e)&&e.type===XP}function ZP(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{i(...a),o(...a)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function ap(e){const t=e+"CollectionProvider",[n,r]=Ls(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=h=>{const{scope:v,children:y}=h,S=I.useRef(null),g=I.useRef(new Map).current;return I.createElement(o,{scope:v,itemMap:g,collectionRef:S},y)},a=e+"CollectionSlot",l=I.forwardRef((h,v)=>{const{scope:y,children:S}=h,g=i(a,y),m=pt(v,g.collectionRef);return I.createElement(cs,{ref:m},S)}),u=e+"CollectionItemSlot",c="data-radix-collection-item",f=I.forwardRef((h,v)=>{const{scope:y,children:S,...g}=h,m=I.useRef(null),w=pt(v,m),x=i(u,y);return I.useEffect(()=>(x.itemMap.set(m,{ref:m,...g}),()=>void x.itemMap.delete(m))),I.createElement(cs,{[c]:"",ref:w},S)});function d(h){const v=i(e+"CollectionConsumer",h);return I.useCallback(()=>{const S=v.collectionRef.current;if(!S)return[];const g=Array.from(S.querySelectorAll(`[${c}]`));return Array.from(v.itemMap.values()).sort((x,O)=>g.indexOf(x.ref.current)-g.indexOf(O.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:s,Slot:l,ItemSlot:f},d,r]}const eR=p.createContext(void 0);function lp(e){const t=p.useContext(eR);return e||t||"ltr"}function ne(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}const Uo=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},tR=ln["useId".toString()]||(()=>{});let nR=0;function Ra(e){const[t,n]=p.useState(tR());return Uo(()=>{e||n(r=>r??String(nR++))},[e]),e||(t?`radix-${t}`:"")}const rR=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],cn=rR.reduce((e,t)=>{const n=p.forwardRef((r,o)=>{const{asChild:i,...s}=r,a=i?cs:t;return p.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),p.createElement(a,te({},s,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function V1(e,t){e&&Wr.flushSync(()=>e.dispatchEvent(t))}function sn(e){const t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function oR(e,t=globalThis==null?void 0:globalThis.document){const n=sn(e);p.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const kf="dismissableLayer.update",iR="dismissableLayer.pointerDownOutside",sR="dismissableLayer.focusOutside";let cg;const aR=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),lR=p.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:s,onInteractOutside:a,onDismiss:l,...u}=e,c=p.useContext(aR),[f,d]=p.useState(null),h=(n=f==null?void 0:f.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,v]=p.useState({}),y=pt(t,b=>d(b)),S=Array.from(c.layers),[g]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),m=S.indexOf(g),w=f?S.indexOf(f):-1,x=c.layersWithOutsidePointerEventsDisabled.size>0,O=w>=m,P=uR(b=>{const A=b.target,$=[...c.branches].some(F=>F.contains(A));!O||$||(i==null||i(b),a==null||a(b),b.defaultPrevented||l==null||l())},h),R=cR(b=>{const A=b.target;[...c.branches].some(F=>F.contains(A))||(s==null||s(b),a==null||a(b),b.defaultPrevented||l==null||l())},h);return oR(b=>{w===c.layers.size-1&&(o==null||o(b),!b.defaultPrevented&&l&&(b.preventDefault(),l()))},h),p.useEffect(()=>{if(f)return r&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(cg=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(f)),c.layers.add(f),fg(),()=>{r&&c.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=cg)}},[f,h,r,c]),p.useEffect(()=>()=>{f&&(c.layers.delete(f),c.layersWithOutsidePointerEventsDisabled.delete(f),fg())},[f,c]),p.useEffect(()=>{const b=()=>v({});return document.addEventListener(kf,b),()=>document.removeEventListener(kf,b)},[]),p.createElement(cn.div,te({},u,{ref:y,style:{pointerEvents:x?O?"auto":"none":void 0,...e.style},onFocusCapture:ne(e.onFocusCapture,R.onFocusCapture),onBlurCapture:ne(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:ne(e.onPointerDownCapture,P.onPointerDownCapture)}))});function uR(e,t=globalThis==null?void 0:globalThis.document){const n=sn(e),r=p.useRef(!1),o=p.useRef(()=>{});return p.useEffect(()=>{const i=a=>{if(a.target&&!r.current){let u=function(){K1(iR,n,l,{discrete:!0})};const l={originalEvent:a};a.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=u,t.addEventListener("click",o.current,{once:!0})):u()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function cR(e,t=globalThis==null?void 0:globalThis.document){const n=sn(e),r=p.useRef(!1);return p.useEffect(()=>{const o=i=>{i.target&&!r.current&&K1(sR,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function fg(){const e=new CustomEvent(kf);document.dispatchEvent(e)}function K1(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?V1(o,i):o.dispatchEvent(i)}let Yu=0;function fR(){p.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:dg()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:dg()),Yu++,()=>{Yu===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),Yu--}},[])}function dg(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const Gu="focusScope.autoFocusOnMount",Xu="focusScope.autoFocusOnUnmount",pg={bubbles:!1,cancelable:!0},dR=p.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...s}=e,[a,l]=p.useState(null),u=sn(o),c=sn(i),f=p.useRef(null),d=pt(t,y=>l(y)),h=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(r){let y=function(w){if(h.paused||!a)return;const x=w.target;a.contains(x)?f.current=x:jn(f.current,{select:!0})},S=function(w){if(h.paused||!a)return;const x=w.relatedTarget;x!==null&&(a.contains(x)||jn(f.current,{select:!0}))},g=function(w){if(document.activeElement===document.body)for(const O of w)O.removedNodes.length>0&&jn(a)};document.addEventListener("focusin",y),document.addEventListener("focusout",S);const m=new MutationObserver(g);return a&&m.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",S),m.disconnect()}}},[r,a,h.paused]),p.useEffect(()=>{if(a){mg.add(h);const y=document.activeElement;if(!a.contains(y)){const g=new CustomEvent(Gu,pg);a.addEventListener(Gu,u),a.dispatchEvent(g),g.defaultPrevented||(pR(yR(Q1(a)),{select:!0}),document.activeElement===y&&jn(a))}return()=>{a.removeEventListener(Gu,u),setTimeout(()=>{const g=new CustomEvent(Xu,pg);a.addEventListener(Xu,c),a.dispatchEvent(g),g.defaultPrevented||jn(y??document.body,{select:!0}),a.removeEventListener(Xu,c),mg.remove(h)},0)}}},[a,u,c,h]);const v=p.useCallback(y=>{if(!n&&!r||h.paused)return;const S=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,g=document.activeElement;if(S&&g){const m=y.currentTarget,[w,x]=hR(m);w&&x?!y.shiftKey&&g===x?(y.preventDefault(),n&&jn(w,{select:!0})):y.shiftKey&&g===w&&(y.preventDefault(),n&&jn(x,{select:!0})):g===m&&y.preventDefault()}},[n,r,h.paused]);return p.createElement(cn.div,te({tabIndex:-1},s,{ref:d,onKeyDown:v}))});function pR(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(jn(r,{select:t}),document.activeElement!==n)return}function hR(e){const t=Q1(e),n=hg(t,e),r=hg(t.reverse(),e);return[n,r]}function Q1(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function hg(e,t){for(const n of e)if(!mR(n,{upTo:t}))return n}function mR(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function gR(e){return e instanceof HTMLInputElement&&"select"in e}function jn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&gR(e)&&t&&e.select()}}const mg=vR();function vR(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=gg(e,t),e.unshift(t)},remove(t){var n;e=gg(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function gg(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function yR(e){return e.filter(t=>t.tagName!=="A")}const wR=["top","right","bottom","left"],cr=Math.min,st=Math.max,xl=Math.round,sa=Math.floor,fr=e=>({x:e,y:e}),xR={left:"right",right:"left",bottom:"top",top:"bottom"},SR={start:"end",end:"start"};function Pf(e,t,n){return st(e,cr(t,n))}function kn(e,t){return typeof e=="function"?e(t):e}function Pn(e){return e.split("-")[0]}function Jo(e){return e.split("-")[1]}function up(e){return e==="x"?"y":"x"}function cp(e){return e==="y"?"height":"width"}function Zo(e){return["top","bottom"].includes(Pn(e))?"y":"x"}function fp(e){return up(Zo(e))}function ER(e,t,n){n===void 0&&(n=!1);const r=Jo(e),o=fp(e),i=cp(o);let s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(s=Sl(s)),[s,Sl(s)]}function bR(e){const t=Sl(e);return[Rf(e),t,Rf(t)]}function Rf(e){return e.replace(/start|end/g,t=>SR[t])}function CR(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],s=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:s;default:return[]}}function _R(e,t,n,r){const o=Jo(e);let i=CR(Pn(e),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),t&&(i=i.concat(i.map(Rf)))),i}function Sl(e){return e.replace(/left|right|bottom|top/g,t=>xR[t])}function OR(e){return{top:0,right:0,bottom:0,left:0,...e}}function q1(e){return typeof e!="number"?OR(e):{top:e,right:e,bottom:e,left:e}}function El(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function vg(e,t,n){let{reference:r,floating:o}=e;const i=Zo(t),s=fp(t),a=cp(s),l=Pn(t),u=i==="y",c=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,d=r[a]/2-o[a]/2;let h;switch(l){case"top":h={x:c,y:r.y-o.height};break;case"bottom":h={x:c,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:f};break;case"left":h={x:r.x-o.width,y:f};break;default:h={x:r.x,y:r.y}}switch(Jo(t)){case"start":h[s]-=d*(n&&u?-1:1);break;case"end":h[s]+=d*(n&&u?-1:1);break}return h}const kR=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,a=i.filter(Boolean),l=await(s.isRTL==null?void 0:s.isRTL(t));let u=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:c,y:f}=vg(u,r,l),d=r,h={},v=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:s,elements:a,middlewareData:l}=t,{element:u,padding:c=0}=kn(e,t)||{};if(u==null)return{};const f=q1(c),d={x:n,y:r},h=fp(o),v=cp(h),y=await s.getDimensions(u),S=h==="y",g=S?"top":"left",m=S?"bottom":"right",w=S?"clientHeight":"clientWidth",x=i.reference[v]+i.reference[h]-d[h]-i.floating[v],O=d[h]-i.reference[h],P=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u));let R=P?P[w]:0;(!R||!await(s.isElement==null?void 0:s.isElement(P)))&&(R=a.floating[w]||i.floating[v]);const b=x/2-O/2,A=R/2-y[v]/2-1,$=cr(f[g],A),F=cr(f[m],A),M=$,D=R-y[v]-F,T=R/2-y[v]/2+b,L=Pf(M,T,D),U=!l.arrow&&Jo(o)!=null&&T!==L&&i.reference[v]/2-(TM<=0)){var A,$;const M=(((A=i.flip)==null?void 0:A.index)||0)+1,D=O[M];if(D)return{data:{index:M,overflows:b},reset:{placement:D}};let T=($=b.filter(L=>L.overflows[0]<=0).sort((L,U)=>L.overflows[1]-U.overflows[1])[0])==null?void 0:$.placement;if(!T)switch(h){case"bestFit":{var F;const L=(F=b.map(U=>[U.placement,U.overflows.filter(C=>C>0).reduce((C,k)=>C+k,0)]).sort((U,C)=>U[1]-C[1])[0])==null?void 0:F[0];L&&(T=L);break}case"initialPlacement":T=a;break}if(o!==T)return{reset:{placement:T}}}return{}}}};function yg(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function wg(e){return wR.some(t=>e[t]>=0)}const TR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=kn(e,t);switch(r){case"referenceHidden":{const i=await fs(t,{...o,elementContext:"reference"}),s=yg(i,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:wg(s)}}}case"escaped":{const i=await fs(t,{...o,altBoundary:!0}),s=yg(i,n.floating);return{data:{escapedOffsets:s,escaped:wg(s)}}}default:return{}}}}};async function LR(e,t){const{placement:n,platform:r,elements:o}=e,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=Pn(n),a=Jo(n),l=Zo(n)==="y",u=["left","top"].includes(s)?-1:1,c=i&&l?-1:1,f=kn(t,e);let{mainAxis:d,crossAxis:h,alignmentAxis:v}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...f};return a&&typeof v=="number"&&(h=a==="end"?v*-1:v),l?{x:h*c,y:d*u}:{x:d*u,y:h*c}}const $R=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:s,middlewareData:a}=t,l=await LR(t,e);return s===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:o+l.x,y:i+l.y,data:{...l,placement:s}}}}},NR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:a={fn:S=>{let{x:g,y:m}=S;return{x:g,y:m}}},...l}=kn(e,t),u={x:n,y:r},c=await fs(t,l),f=Zo(Pn(o)),d=up(f);let h=u[d],v=u[f];if(i){const S=d==="y"?"top":"left",g=d==="y"?"bottom":"right",m=h+c[S],w=h-c[g];h=Pf(m,h,w)}if(s){const S=f==="y"?"top":"left",g=f==="y"?"bottom":"right",m=v+c[S],w=v-c[g];v=Pf(m,v,w)}const y=a.fn({...t,[d]:h,[f]:v});return{...y,data:{x:y.x-n,y:y.y-r}}}}},AR=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:i,middlewareData:s}=t,{offset:a=0,mainAxis:l=!0,crossAxis:u=!0}=kn(e,t),c={x:n,y:r},f=Zo(o),d=up(f);let h=c[d],v=c[f];const y=kn(a,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(l){const w=d==="y"?"height":"width",x=i.reference[d]-i.floating[w]+S.mainAxis,O=i.reference[d]+i.reference[w]-S.mainAxis;hO&&(h=O)}if(u){var g,m;const w=d==="y"?"width":"height",x=["top","left"].includes(Pn(o)),O=i.reference[f]-i.floating[w]+(x&&((g=s.offset)==null?void 0:g[f])||0)+(x?0:S.crossAxis),P=i.reference[f]+i.reference[w]+(x?0:((m=s.offset)==null?void 0:m[f])||0)-(x?S.crossAxis:0);vP&&(v=P)}return{[d]:h,[f]:v}}}},MR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:s=()=>{},...a}=kn(e,t),l=await fs(t,a),u=Pn(n),c=Jo(n),f=Zo(n)==="y",{width:d,height:h}=r.floating;let v,y;u==="top"||u==="bottom"?(v=u,y=c===(await(o.isRTL==null?void 0:o.isRTL(i.floating))?"start":"end")?"left":"right"):(y=u,v=c==="end"?"top":"bottom");const S=h-l[v],g=d-l[y],m=!t.middlewareData.shift;let w=S,x=g;if(f){const P=d-l.left-l.right;x=c||m?cr(g,P):P}else{const P=h-l.top-l.bottom;w=c||m?cr(S,P):P}if(m&&!c){const P=st(l.left,0),R=st(l.right,0),b=st(l.top,0),A=st(l.bottom,0);f?x=d-2*(P!==0||R!==0?P+R:st(l.left,l.right)):w=h-2*(b!==0||A!==0?b+A:st(l.top,l.bottom))}await s({...t,availableWidth:x,availableHeight:w});const O=await o.getDimensions(i.floating);return d!==O.width||h!==O.height?{reset:{rects:!0}}:{}}}};function dr(e){return Y1(e)?(e.nodeName||"").toLowerCase():"#document"}function ut(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ln(e){var t;return(t=(Y1(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Y1(e){return e instanceof Node||e instanceof ut(e).Node}function Rn(e){return e instanceof Element||e instanceof ut(e).Element}function an(e){return e instanceof HTMLElement||e instanceof ut(e).HTMLElement}function xg(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ut(e).ShadowRoot}function $s(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Lt(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function DR(e){return["table","td","th"].includes(dr(e))}function dp(e){const t=pp(),n=Lt(e);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function IR(e){let t=zo(e);for(;an(t)&&!ql(t);){if(dp(t))return t;t=zo(t)}return null}function pp(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ql(e){return["html","body","#document"].includes(dr(e))}function Lt(e){return ut(e).getComputedStyle(e)}function Yl(e){return Rn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function zo(e){if(dr(e)==="html")return e;const t=e.assignedSlot||e.parentNode||xg(e)&&e.host||Ln(e);return xg(t)?t.host:t}function G1(e){const t=zo(e);return ql(t)?e.ownerDocument?e.ownerDocument.body:e.body:an(t)&&$s(t)?t:G1(t)}function ds(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=G1(e),i=o===((r=e.ownerDocument)==null?void 0:r.body),s=ut(o);return i?t.concat(s,s.visualViewport||[],$s(o)?o:[],s.frameElement&&n?ds(s.frameElement):[]):t.concat(o,ds(o,[],n))}function X1(e){const t=Lt(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=an(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,a=xl(n)!==i||xl(r)!==s;return a&&(n=i,r=s),{width:n,height:r,$:a}}function hp(e){return Rn(e)?e:e.contextElement}function Ro(e){const t=hp(e);if(!an(t))return fr(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=X1(t);let s=(i?xl(n.width):n.width)/r,a=(i?xl(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}const FR=fr(0);function J1(e){const t=ut(e);return!pp()||!t.visualViewport?FR:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jR(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ut(e)?!1:t}function Fr(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=hp(e);let s=fr(1);t&&(r?Rn(r)&&(s=Ro(r)):s=Ro(e));const a=jR(i,n,r)?J1(i):fr(0);let l=(o.left+a.x)/s.x,u=(o.top+a.y)/s.y,c=o.width/s.x,f=o.height/s.y;if(i){const d=ut(i),h=r&&Rn(r)?ut(r):r;let v=d,y=v.frameElement;for(;y&&r&&h!==v;){const S=Ro(y),g=y.getBoundingClientRect(),m=Lt(y),w=g.left+(y.clientLeft+parseFloat(m.paddingLeft))*S.x,x=g.top+(y.clientTop+parseFloat(m.paddingTop))*S.y;l*=S.x,u*=S.y,c*=S.x,f*=S.y,l+=w,u+=x,v=ut(y),y=v.frameElement}}return El({width:c,height:f,x:l,y:u})}const UR=[":popover-open",":modal"];function Z1(e){return UR.some(t=>{try{return e.matches(t)}catch{return!1}})}function zR(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=o==="fixed",s=Ln(r),a=t?Z1(t.floating):!1;if(r===s||a&&i)return n;let l={scrollLeft:0,scrollTop:0},u=fr(1);const c=fr(0),f=an(r);if((f||!f&&!i)&&((dr(r)!=="body"||$s(s))&&(l=Yl(r)),an(r))){const d=Fr(r);u=Ro(r),c.x=d.x+r.clientLeft,c.y=d.y+r.clientTop}return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+c.x,y:n.y*u.y-l.scrollTop*u.y+c.y}}function BR(e){return Array.from(e.getClientRects())}function ew(e){return Fr(Ln(e)).left+Yl(e).scrollLeft}function WR(e){const t=Ln(e),n=Yl(e),r=e.ownerDocument.body,o=st(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=st(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+ew(e);const a=-n.scrollTop;return Lt(r).direction==="rtl"&&(s+=st(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:a}}function HR(e,t){const n=ut(e),r=Ln(e),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,a=0,l=0;if(o){i=o.width,s=o.height;const u=pp();(!u||u&&t==="fixed")&&(a=o.offsetLeft,l=o.offsetTop)}return{width:i,height:s,x:a,y:l}}function VR(e,t){const n=Fr(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=an(e)?Ro(e):fr(1),s=e.clientWidth*i.x,a=e.clientHeight*i.y,l=o*i.x,u=r*i.y;return{width:s,height:a,x:l,y:u}}function Sg(e,t,n){let r;if(t==="viewport")r=HR(e,n);else if(t==="document")r=WR(Ln(e));else if(Rn(t))r=VR(t,n);else{const o=J1(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return El(r)}function tw(e,t){const n=zo(e);return n===t||!Rn(n)||ql(n)?!1:Lt(n).position==="fixed"||tw(n,t)}function KR(e,t){const n=t.get(e);if(n)return n;let r=ds(e,[],!1).filter(a=>Rn(a)&&dr(a)!=="body"),o=null;const i=Lt(e).position==="fixed";let s=i?zo(e):e;for(;Rn(s)&&!ql(s);){const a=Lt(s),l=dp(s);!l&&a.position==="fixed"&&(o=null),(i?!l&&!o:!l&&a.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||$s(s)&&!l&&tw(e,s))?r=r.filter(c=>c!==s):o=a,s=zo(s)}return t.set(e,r),r}function QR(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?KR(t,this._c):[].concat(n),r],a=s[0],l=s.reduce((u,c)=>{const f=Sg(t,c,o);return u.top=st(f.top,u.top),u.right=cr(f.right,u.right),u.bottom=cr(f.bottom,u.bottom),u.left=st(f.left,u.left),u},Sg(t,a,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function qR(e){const{width:t,height:n}=X1(e);return{width:t,height:n}}function YR(e,t,n){const r=an(t),o=Ln(t),i=n==="fixed",s=Fr(e,!0,i,t);let a={scrollLeft:0,scrollTop:0};const l=fr(0);if(r||!r&&!i)if((dr(t)!=="body"||$s(o))&&(a=Yl(t)),r){const f=Fr(t,!0,i,t);l.x=f.x+t.clientLeft,l.y=f.y+t.clientTop}else o&&(l.x=ew(o));const u=s.left+a.scrollLeft-l.x,c=s.top+a.scrollTop-l.y;return{x:u,y:c,width:s.width,height:s.height}}function Eg(e,t){return!an(e)||Lt(e).position==="fixed"?null:t?t(e):e.offsetParent}function nw(e,t){const n=ut(e);if(!an(e)||Z1(e))return n;let r=Eg(e,t);for(;r&&DR(r)&&Lt(r).position==="static";)r=Eg(r,t);return r&&(dr(r)==="html"||dr(r)==="body"&&Lt(r).position==="static"&&!dp(r))?n:r||IR(e)||n}const GR=async function(e){const t=this.getOffsetParent||nw,n=this.getDimensions;return{reference:YR(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await n(e.floating)}}};function XR(e){return Lt(e).direction==="rtl"}const JR={convertOffsetParentRelativeRectToViewportRelativeRect:zR,getDocumentElement:Ln,getClippingRect:QR,getOffsetParent:nw,getElementRects:GR,getClientRects:BR,getDimensions:qR,getScale:Ro,isElement:Rn,isRTL:XR};function ZR(e,t){let n=null,r;const o=Ln(e);function i(){var a;clearTimeout(r),(a=n)==null||a.disconnect(),n=null}function s(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),i();const{left:u,top:c,width:f,height:d}=e.getBoundingClientRect();if(a||t(),!f||!d)return;const h=sa(c),v=sa(o.clientWidth-(u+f)),y=sa(o.clientHeight-(c+d)),S=sa(u),m={rootMargin:-h+"px "+-v+"px "+-y+"px "+-S+"px",threshold:st(0,cr(1,l))||1};let w=!0;function x(O){const P=O[0].intersectionRatio;if(P!==l){if(!w)return s();P?s(!1,P):r=setTimeout(()=>{s(!1,1e-7)},100)}w=!1}try{n=new IntersectionObserver(x,{...m,root:o.ownerDocument})}catch{n=new IntersectionObserver(x,m)}n.observe(e)}return s(!0),i}function eT(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=hp(e),c=o||i?[...u?ds(u):[],...ds(t)]:[];c.forEach(g=>{o&&g.addEventListener("scroll",n,{passive:!0}),i&&g.addEventListener("resize",n)});const f=u&&a?ZR(u,n):null;let d=-1,h=null;s&&(h=new ResizeObserver(g=>{let[m]=g;m&&m.target===u&&h&&(h.unobserve(t),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var w;(w=h)==null||w.observe(t)})),n()}),u&&!l&&h.observe(u),h.observe(t));let v,y=l?Fr(e):null;l&&S();function S(){const g=Fr(e);y&&(g.x!==y.x||g.y!==y.y||g.width!==y.width||g.height!==y.height)&&n(),y=g,v=requestAnimationFrame(S)}return n(),()=>{var g;c.forEach(m=>{o&&m.removeEventListener("scroll",n),i&&m.removeEventListener("resize",n)}),f==null||f(),(g=h)==null||g.disconnect(),h=null,l&&cancelAnimationFrame(v)}}const tT=NR,nT=RR,rT=MR,oT=TR,bg=PR,iT=AR,sT=(e,t,n)=>{const r=new Map,o={platform:JR,...n},i={...o.platform,_c:r};return kR(e,t,{...o,platform:i})},aT=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?bg({element:r.current,padding:o}).fn(n):{}:r?bg({element:r,padding:o}).fn(n):{}}}};var Ta=typeof document<"u"?p.useLayoutEffect:p.useEffect;function bl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!bl(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const i=o[r];if(!(i==="_owner"&&e.$$typeof)&&!bl(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function rw(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Cg(e,t){const n=rw(e);return Math.round(t*n)/n}function _g(e){const t=p.useRef(e);return Ta(()=>{t.current=e}),t}function lT(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:s}={},transform:a=!0,whileElementsMounted:l,open:u}=e,[c,f]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[d,h]=p.useState(r);bl(d,r)||h(r);const[v,y]=p.useState(null),[S,g]=p.useState(null),m=p.useCallback(C=>{C!==P.current&&(P.current=C,y(C))},[]),w=p.useCallback(C=>{C!==R.current&&(R.current=C,g(C))},[]),x=i||v,O=s||S,P=p.useRef(null),R=p.useRef(null),b=p.useRef(c),A=l!=null,$=_g(l),F=_g(o),M=p.useCallback(()=>{if(!P.current||!R.current)return;const C={placement:t,strategy:n,middleware:d};F.current&&(C.platform=F.current),sT(P.current,R.current,C).then(k=>{const N={...k,isPositioned:!0};D.current&&!bl(b.current,N)&&(b.current=N,Wr.flushSync(()=>{f(N)}))})},[d,t,n,F]);Ta(()=>{u===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,f(C=>({...C,isPositioned:!1})))},[u]);const D=p.useRef(!1);Ta(()=>(D.current=!0,()=>{D.current=!1}),[]),Ta(()=>{if(x&&(P.current=x),O&&(R.current=O),x&&O){if($.current)return $.current(x,O,M);M()}},[x,O,M,$,A]);const T=p.useMemo(()=>({reference:P,floating:R,setReference:m,setFloating:w}),[m,w]),L=p.useMemo(()=>({reference:x,floating:O}),[x,O]),U=p.useMemo(()=>{const C={position:n,left:0,top:0};if(!L.floating)return C;const k=Cg(L.floating,c.x),N=Cg(L.floating,c.y);return a?{...C,transform:"translate("+k+"px, "+N+"px)",...rw(L.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:k,top:N}},[n,a,L.floating,c.x,c.y]);return p.useMemo(()=>({...c,update:M,refs:T,elements:L,floatingStyles:U}),[c,M,T,L,U])}function uT(e){const[t,n]=p.useState(void 0);return Uo(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let s,a;if("borderBoxSize"in i){const l=i.borderBoxSize,u=Array.isArray(l)?l[0]:l;s=u.inlineSize,a=u.blockSize}else s=e.offsetWidth,a=e.offsetHeight;n({width:s,height:a})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const ow="Popper",[iw,sw]=Ls(ow),[cT,aw]=iw(ow),fT=e=>{const{__scopePopper:t,children:n}=e,[r,o]=p.useState(null);return p.createElement(cT,{scope:t,anchor:r,onAnchorChange:o},n)},dT="PopperAnchor",pT=p.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,i=aw(dT,n),s=p.useRef(null),a=pt(t,s);return p.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||s.current)}),r?null:p.createElement(cn.div,te({},o,{ref:a}))}),lw="PopperContent",[hT,A4]=iw(lw),mT=p.forwardRef((e,t)=>{var n,r,o,i,s,a,l,u;const{__scopePopper:c,side:f="bottom",sideOffset:d=0,align:h="center",alignOffset:v=0,arrowPadding:y=0,avoidCollisions:S=!0,collisionBoundary:g=[],collisionPadding:m=0,sticky:w="partial",hideWhenDetached:x=!1,updatePositionStrategy:O="optimized",onPlaced:P,...R}=e,b=aw(lw,c),[A,$]=p.useState(null),F=pt(t,le=>$(le)),[M,D]=p.useState(null),T=uT(M),L=(n=T==null?void 0:T.width)!==null&&n!==void 0?n:0,U=(r=T==null?void 0:T.height)!==null&&r!==void 0?r:0,C=f+(h!=="center"?"-"+h:""),k=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},N=Array.isArray(g)?g:[g],j=N.length>0,B={padding:k,boundary:N.filter(gT),altBoundary:j},{refs:H,floatingStyles:X,placement:Q,isPositioned:ie,middlewareData:Y}=lT({strategy:"fixed",placement:C,whileElementsMounted:(...le)=>eT(...le,{animationFrame:O==="always"}),elements:{reference:b.anchor},middleware:[$R({mainAxis:d+U,alignmentAxis:v}),S&&tT({mainAxis:!0,crossAxis:!1,limiter:w==="partial"?iT():void 0,...B}),S&&nT({...B}),rT({...B,apply:({elements:le,rects:Ge,availableWidth:$n,availableHeight:qr})=>{const{width:fn,height:ni}=Ge.reference,Nt=le.floating.style;Nt.setProperty("--radix-popper-available-width",`${$n}px`),Nt.setProperty("--radix-popper-available-height",`${qr}px`),Nt.setProperty("--radix-popper-anchor-width",`${fn}px`),Nt.setProperty("--radix-popper-anchor-height",`${ni}px`)}}),M&&aT({element:M,padding:y}),vT({arrowWidth:L,arrowHeight:U}),x&&oT({strategy:"referenceHidden",...B})]}),[ge,We]=uw(Q),ve=sn(P);Uo(()=>{ie&&(ve==null||ve())},[ie,ve]);const Ye=(o=Y.arrow)===null||o===void 0?void 0:o.x,$t=(i=Y.arrow)===null||i===void 0?void 0:i.y,De=((s=Y.arrow)===null||s===void 0?void 0:s.centerOffset)!==0,[gr,vr]=p.useState();return Uo(()=>{A&&vr(window.getComputedStyle(A).zIndex)},[A]),p.createElement("div",{ref:H.setFloating,"data-radix-popper-content-wrapper":"",style:{...X,transform:ie?X.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:gr,"--radix-popper-transform-origin":[(a=Y.transformOrigin)===null||a===void 0?void 0:a.x,(l=Y.transformOrigin)===null||l===void 0?void 0:l.y].join(" ")},dir:e.dir},p.createElement(hT,{scope:c,placedSide:ge,onArrowChange:D,arrowX:Ye,arrowY:$t,shouldHideArrow:De},p.createElement(cn.div,te({"data-side":ge,"data-align":We},R,{ref:F,style:{...R.style,animation:ie?void 0:"none",opacity:(u=Y.hide)!==null&&u!==void 0&&u.referenceHidden?0:void 0}}))))});function gT(e){return e!==null}const vT=e=>({name:"transformOrigin",options:e,fn(t){var n,r,o,i,s;const{placement:a,rects:l,middlewareData:u}=t,f=((n=u.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,d=f?0:e.arrowWidth,h=f?0:e.arrowHeight,[v,y]=uw(a),S={start:"0%",center:"50%",end:"100%"}[y],g=((r=(o=u.arrow)===null||o===void 0?void 0:o.x)!==null&&r!==void 0?r:0)+d/2,m=((i=(s=u.arrow)===null||s===void 0?void 0:s.y)!==null&&i!==void 0?i:0)+h/2;let w="",x="";return v==="bottom"?(w=f?S:`${g}px`,x=`${-h}px`):v==="top"?(w=f?S:`${g}px`,x=`${l.floating.height+h}px`):v==="right"?(w=`${-h}px`,x=f?S:`${m}px`):v==="left"&&(w=`${l.floating.width+h}px`,x=f?S:`${m}px`),{data:{x:w,y:x}}}});function uw(e){const[t,n="center"]=e.split("-");return[t,n]}const yT=fT,wT=pT,xT=mT,ST=p.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?Cy.createPortal(p.createElement(cn.div,te({},o,{ref:t})),r):null});function ET(e,t){return p.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const mp=e=>{const{present:t,children:n}=e,r=bT(t),o=typeof n=="function"?n({present:r.isPresent}):p.Children.only(n),i=pt(r.ref,o.ref);return typeof n=="function"||r.isPresent?p.cloneElement(o,{ref:i}):null};mp.displayName="Presence";function bT(e){const[t,n]=p.useState(),r=p.useRef({}),o=p.useRef(e),i=p.useRef("none"),s=e?"mounted":"unmounted",[a,l]=ET(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const u=aa(r.current);i.current=a==="mounted"?u:"none"},[a]),Uo(()=>{const u=r.current,c=o.current;if(c!==e){const d=i.current,h=aa(u);e?l("MOUNT"):h==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&d!==h?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),Uo(()=>{if(t){const u=f=>{const h=aa(r.current).includes(f.animationName);f.target===t&&h&&Wr.flushSync(()=>l("ANIMATION_END"))},c=f=>{f.target===t&&(i.current=aa(r.current))};return t.addEventListener("animationstart",c),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",c),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:p.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function aa(e){return(e==null?void 0:e.animationName)||"none"}function cw({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=CT({defaultProp:t,onChange:n}),i=e!==void 0,s=i?e:r,a=sn(n),l=p.useCallback(u=>{if(i){const f=typeof u=="function"?u(e):u;f!==e&&a(f)}else o(u)},[i,e,o,a]);return[s,l]}function CT({defaultProp:e,onChange:t}){const n=p.useState(e),[r]=n,o=p.useRef(r),i=sn(t);return p.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}const Ju="rovingFocusGroup.onEntryFocus",_T={bubbles:!1,cancelable:!0},gp="RovingFocusGroup",[Tf,fw,OT]=ap(gp),[kT,Gl]=Ls(gp,[OT]),[PT,RT]=kT(gp),TT=p.forwardRef((e,t)=>p.createElement(Tf.Provider,{scope:e.__scopeRovingFocusGroup},p.createElement(Tf.Slot,{scope:e.__scopeRovingFocusGroup},p.createElement(LT,te({},e,{ref:t}))))),LT=p.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:s,defaultCurrentTabStopId:a,onCurrentTabStopIdChange:l,onEntryFocus:u,...c}=e,f=p.useRef(null),d=pt(t,f),h=lp(i),[v=null,y]=cw({prop:s,defaultProp:a,onChange:l}),[S,g]=p.useState(!1),m=sn(u),w=fw(n),x=p.useRef(!1),[O,P]=p.useState(0);return p.useEffect(()=>{const R=f.current;if(R)return R.addEventListener(Ju,m),()=>R.removeEventListener(Ju,m)},[m]),p.createElement(PT,{scope:n,orientation:r,dir:h,loop:o,currentTabStopId:v,onItemFocus:p.useCallback(R=>y(R),[y]),onItemShiftTab:p.useCallback(()=>g(!0),[]),onFocusableItemAdd:p.useCallback(()=>P(R=>R+1),[]),onFocusableItemRemove:p.useCallback(()=>P(R=>R-1),[])},p.createElement(cn.div,te({tabIndex:S||O===0?-1:0,"data-orientation":r},c,{ref:d,style:{outline:"none",...e.style},onMouseDown:ne(e.onMouseDown,()=>{x.current=!0}),onFocus:ne(e.onFocus,R=>{const b=!x.current;if(R.target===R.currentTarget&&b&&!S){const A=new CustomEvent(Ju,_T);if(R.currentTarget.dispatchEvent(A),!A.defaultPrevented){const $=w().filter(L=>L.focusable),F=$.find(L=>L.active),M=$.find(L=>L.id===v),T=[F,M,...$].filter(Boolean).map(L=>L.ref.current);dw(T)}}x.current=!1}),onBlur:ne(e.onBlur,()=>g(!1))})))}),$T="RovingFocusGroupItem",NT=p.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,...s}=e,a=Ra(),l=i||a,u=RT($T,n),c=u.currentTabStopId===l,f=fw(n),{onFocusableItemAdd:d,onFocusableItemRemove:h}=u;return p.useEffect(()=>{if(r)return d(),()=>h()},[r,d,h]),p.createElement(Tf.ItemSlot,{scope:n,id:l,focusable:r,active:o},p.createElement(cn.span,te({tabIndex:c?0:-1,"data-orientation":u.orientation},s,{ref:t,onMouseDown:ne(e.onMouseDown,v=>{r?u.onItemFocus(l):v.preventDefault()}),onFocus:ne(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:ne(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){u.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const y=DT(v,u.orientation,u.dir);if(y!==void 0){v.preventDefault();let g=f().filter(m=>m.focusable).map(m=>m.ref.current);if(y==="last")g.reverse();else if(y==="prev"||y==="next"){y==="prev"&&g.reverse();const m=g.indexOf(v.currentTarget);g=u.loop?IT(g,m+1):g.slice(m+1)}setTimeout(()=>dw(g))}})})))}),AT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function MT(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function DT(e,t,n){const r=MT(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return AT[r]}function dw(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function IT(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const pw=TT,hw=NT;var FT=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},ro=new WeakMap,la=new WeakMap,ua={},Zu=0,mw=function(e){return e&&(e.host||mw(e.parentNode))},jT=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=mw(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},UT=function(e,t,n,r){var o=jT(t,Array.isArray(e)?e:[e]);ua[n]||(ua[n]=new WeakMap);var i=ua[n],s=[],a=new Set,l=new Set(o),u=function(f){!f||a.has(f)||(a.add(f),u(f.parentNode))};o.forEach(u);var c=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(d){if(a.has(d))c(d);else try{var h=d.getAttribute(r),v=h!==null&&h!=="false",y=(ro.get(d)||0)+1,S=(i.get(d)||0)+1;ro.set(d,y),i.set(d,S),s.push(d),y===1&&v&&la.set(d,!0),S===1&&d.setAttribute(n,"true"),v||d.setAttribute(r,"true")}catch(g){console.error("aria-hidden: cannot operate on ",d,g)}})};return c(t),a.clear(),Zu++,function(){s.forEach(function(f){var d=ro.get(f)-1,h=i.get(f)-1;ro.set(f,d),i.set(f,h),d||(la.has(f)||f.removeAttribute(r),la.delete(f)),h||f.removeAttribute(n)}),Zu--,Zu||(ro=new WeakMap,ro=new WeakMap,la=new WeakMap,ua={})}},zT=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||FT(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),UT(r,o,n,"aria-hidden")):function(){return null}},tn=function(){return tn=Object.assign||function(t){for(var n,r=1,o=arguments.length;r"u")return o3;var t=i3(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},a3=ww(),To="data-scroll-locked",l3=function(e,t,n,r){var o=e.left,i=e.top,s=e.right,a=e.gap;return n===void 0&&(n="margin"),` + .`.concat(WT,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(a,"px ").concat(r,`; + } + body[`).concat(To,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(s,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(a,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(a,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(La,` { + right: `).concat(a,"px ").concat(r,`; + } + + .`).concat($a,` { + margin-right: `).concat(a,"px ").concat(r,`; + } + + .`).concat(La," .").concat(La,` { + right: 0 `).concat(r,`; + } + + .`).concat($a," .").concat($a,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(To,`] { + `).concat(HT,": ").concat(a,`px; + } +`)},Pg=function(){var e=parseInt(document.body.getAttribute(To)||"0",10);return isFinite(e)?e:0},u3=function(){p.useEffect(function(){return document.body.setAttribute(To,(Pg()+1).toString()),function(){var e=Pg()-1;e<=0?document.body.removeAttribute(To):document.body.setAttribute(To,e.toString())}},[])},c3=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;u3();var i=p.useMemo(function(){return s3(o)},[o]);return p.createElement(a3,{styles:l3(i,!t,o,n?"":"!important")})},Lf=!1;if(typeof window<"u")try{var ca=Object.defineProperty({},"passive",{get:function(){return Lf=!0,!0}});window.addEventListener("test",ca,ca),window.removeEventListener("test",ca,ca)}catch{Lf=!1}var oo=Lf?{passive:!1}:!1,f3=function(e){return e.tagName==="TEXTAREA"},xw=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!f3(e)&&n[t]==="visible")},d3=function(e){return xw(e,"overflowY")},p3=function(e){return xw(e,"overflowX")},Rg=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=Sw(e,n);if(r){var o=Ew(e,n),i=o[1],s=o[2];if(i>s)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},h3=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},m3=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Sw=function(e,t){return e==="v"?d3(t):p3(t)},Ew=function(e,t){return e==="v"?h3(t):m3(t)},g3=function(e,t){return e==="h"&&t==="rtl"?-1:1},v3=function(e,t,n,r,o){var i=g3(e,window.getComputedStyle(t).direction),s=i*r,a=n.target,l=t.contains(a),u=!1,c=s>0,f=0,d=0;do{var h=Ew(e,a),v=h[0],y=h[1],S=h[2],g=y-S-i*v;(v||g)&&Sw(e,a)&&(f+=g,d+=v),a=a.parentNode}while(!l&&a!==document.body||l&&(t.contains(a)||t===a));return(c&&(o&&f===0||!o&&s>f)||!c&&(o&&d===0||!o&&-s>d))&&(u=!0),u},fa=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Tg=function(e){return[e.deltaX,e.deltaY]},Lg=function(e){return e&&"current"in e?e.current:e},y3=function(e,t){return e[0]===t[0]&&e[1]===t[1]},w3=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},x3=0,io=[];function S3(e){var t=p.useRef([]),n=p.useRef([0,0]),r=p.useRef(),o=p.useState(x3++)[0],i=p.useState(function(){return ww()})[0],s=p.useRef(e);p.useEffect(function(){s.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=BT([e.lockRef.current],(e.shards||[]).map(Lg),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var a=p.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!s.current.allowPinchZoom;var g=fa(y),m=n.current,w="deltaX"in y?y.deltaX:m[0]-g[0],x="deltaY"in y?y.deltaY:m[1]-g[1],O,P=y.target,R=Math.abs(w)>Math.abs(x)?"h":"v";if("touches"in y&&R==="h"&&P.type==="range")return!1;var b=Rg(R,P);if(!b)return!0;if(b?O=R:(O=R==="v"?"h":"v",b=Rg(R,P)),!b)return!1;if(!r.current&&"changedTouches"in y&&(w||x)&&(r.current=O),!O)return!0;var A=r.current||O;return v3(A,S,y,A==="h"?w:x,!0)},[]),l=p.useCallback(function(y){var S=y;if(!(!io.length||io[io.length-1]!==i)){var g="deltaY"in S?Tg(S):fa(S),m=t.current.filter(function(O){return O.name===S.type&&O.target===S.target&&y3(O.delta,g)})[0];if(m&&m.should){S.cancelable&&S.preventDefault();return}if(!m){var w=(s.current.shards||[]).map(Lg).filter(Boolean).filter(function(O){return O.contains(S.target)}),x=w.length>0?a(S,w[0]):!s.current.noIsolation;x&&S.cancelable&&S.preventDefault()}}},[]),u=p.useCallback(function(y,S,g,m){var w={name:y,delta:S,target:g,should:m};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(x){return x!==w})},1)},[]),c=p.useCallback(function(y){n.current=fa(y),r.current=void 0},[]),f=p.useCallback(function(y){u(y.type,Tg(y),y.target,a(y,e.lockRef.current))},[]),d=p.useCallback(function(y){u(y.type,fa(y),y.target,a(y,e.lockRef.current))},[]);p.useEffect(function(){return io.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:d}),document.addEventListener("wheel",l,oo),document.addEventListener("touchmove",l,oo),document.addEventListener("touchstart",c,oo),function(){io=io.filter(function(y){return y!==i}),document.removeEventListener("wheel",l,oo),document.removeEventListener("touchmove",l,oo),document.removeEventListener("touchstart",c,oo)}},[]);var h=e.removeScrollBar,v=e.inert;return p.createElement(p.Fragment,null,v?p.createElement(i,{styles:w3(o)}):null,h?p.createElement(c3,{gapMode:"margin"}):null)}const E3=XT(yw,S3);var bw=p.forwardRef(function(e,t){return p.createElement(Xl,tn({},e,{ref:t,sideCar:E3}))});bw.classNames=Xl.classNames;const b3=bw,C3=["Enter"," "],_3=["ArrowDown","PageUp","Home"],Cw=["ArrowUp","PageDown","End"],O3=[..._3,...Cw],Jl="Menu",[$f,k3,P3]=ap(Jl),[Qr,R3]=Ls(Jl,[P3,sw,Gl]),vp=sw(),_w=Gl(),[T3,Ns]=Qr(Jl),[L3,yp]=Qr(Jl),$3=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:i,modal:s=!0}=e,a=vp(t),[l,u]=p.useState(null),c=p.useRef(!1),f=sn(i),d=lp(o);return p.useEffect(()=>{const h=()=>{c.current=!0,document.addEventListener("pointerdown",v,{capture:!0,once:!0}),document.addEventListener("pointermove",v,{capture:!0,once:!0})},v=()=>c.current=!1;return document.addEventListener("keydown",h,{capture:!0}),()=>{document.removeEventListener("keydown",h,{capture:!0}),document.removeEventListener("pointerdown",v,{capture:!0}),document.removeEventListener("pointermove",v,{capture:!0})}},[]),p.createElement(yT,a,p.createElement(T3,{scope:t,open:n,onOpenChange:f,content:l,onContentChange:u},p.createElement(L3,{scope:t,onClose:p.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:c,dir:d,modal:s},r)))},N3=p.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=vp(n);return p.createElement(wT,te({},o,r,{ref:t}))}),Ow="MenuPortal",[A3,M3]=Qr(Ow,{forceMount:void 0}),D3=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,i=Ns(Ow,t);return p.createElement(A3,{scope:t,forceMount:n},p.createElement(mp,{present:n||i.open},p.createElement(ST,{asChild:!0,container:o},r)))},sr="MenuContent",[I3,kw]=Qr(sr),F3=p.forwardRef((e,t)=>{const n=M3(sr,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=Ns(sr,e.__scopeMenu),s=yp(sr,e.__scopeMenu);return p.createElement($f.Provider,{scope:e.__scopeMenu},p.createElement(mp,{present:r||i.open},p.createElement($f.Slot,{scope:e.__scopeMenu},s.modal?p.createElement(j3,te({},o,{ref:t})):p.createElement(U3,te({},o,{ref:t})))))}),j3=p.forwardRef((e,t)=>{const n=Ns(sr,e.__scopeMenu),r=p.useRef(null),o=pt(t,r);return p.useEffect(()=>{const i=r.current;if(i)return zT(i)},[]),p.createElement(Pw,te({},e,{ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:ne(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),U3=p.forwardRef((e,t)=>{const n=Ns(sr,e.__scopeMenu);return p.createElement(Pw,te({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),Pw=p.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:f,onInteractOutside:d,onDismiss:h,disableOutsideScroll:v,...y}=e,S=Ns(sr,n),g=yp(sr,n),m=vp(n),w=_w(n),x=k3(n),[O,P]=p.useState(null),R=p.useRef(null),b=pt(t,R,S.onContentChange),A=p.useRef(0),$=p.useRef(""),F=p.useRef(0),M=p.useRef(null),D=p.useRef("right"),T=p.useRef(0),L=v?b3:p.Fragment,U=v?{as:cs,allowPinchZoom:!0}:void 0,C=N=>{var j,B;const H=$.current+N,X=x().filter(ve=>!ve.disabled),Q=document.activeElement,ie=(j=X.find(ve=>ve.ref.current===Q))===null||j===void 0?void 0:j.textValue,Y=X.map(ve=>ve.textValue),ge=Y3(Y,H,ie),We=(B=X.find(ve=>ve.textValue===ge))===null||B===void 0?void 0:B.ref.current;(function ve(Ye){$.current=Ye,window.clearTimeout(A.current),Ye!==""&&(A.current=window.setTimeout(()=>ve(""),1e3))})(H),We&&setTimeout(()=>We.focus())};p.useEffect(()=>()=>window.clearTimeout(A.current),[]),fR();const k=p.useCallback(N=>{var j,B;return D.current===((j=M.current)===null||j===void 0?void 0:j.side)&&X3(N,(B=M.current)===null||B===void 0?void 0:B.area)},[]);return p.createElement(I3,{scope:n,searchRef:$,onItemEnter:p.useCallback(N=>{k(N)&&N.preventDefault()},[k]),onItemLeave:p.useCallback(N=>{var j;k(N)||((j=R.current)===null||j===void 0||j.focus(),P(null))},[k]),onTriggerLeave:p.useCallback(N=>{k(N)&&N.preventDefault()},[k]),pointerGraceTimerRef:F,onPointerGraceIntentChange:p.useCallback(N=>{M.current=N},[])},p.createElement(L,U,p.createElement(dR,{asChild:!0,trapped:o,onMountAutoFocus:ne(i,N=>{var j;N.preventDefault(),(j=R.current)===null||j===void 0||j.focus()}),onUnmountAutoFocus:s},p.createElement(lR,{asChild:!0,disableOutsidePointerEvents:a,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:f,onInteractOutside:d,onDismiss:h},p.createElement(pw,te({asChild:!0},w,{dir:g.dir,orientation:"vertical",loop:r,currentTabStopId:O,onCurrentTabStopIdChange:P,onEntryFocus:ne(l,N=>{g.isUsingKeyboardRef.current||N.preventDefault()})}),p.createElement(xT,te({role:"menu","aria-orientation":"vertical","data-state":K3(S.open),"data-radix-menu-content":"",dir:g.dir},m,y,{ref:b,style:{outline:"none",...y.style},onKeyDown:ne(y.onKeyDown,N=>{const B=N.target.closest("[data-radix-menu-content]")===N.currentTarget,H=N.ctrlKey||N.altKey||N.metaKey,X=N.key.length===1;B&&(N.key==="Tab"&&N.preventDefault(),!H&&X&&C(N.key));const Q=R.current;if(N.target!==Q||!O3.includes(N.key))return;N.preventDefault();const Y=x().filter(ge=>!ge.disabled).map(ge=>ge.ref.current);Cw.includes(N.key)&&Y.reverse(),Q3(Y)}),onBlur:ne(e.onBlur,N=>{N.currentTarget.contains(N.target)||(window.clearTimeout(A.current),$.current="")}),onPointerMove:ne(e.onPointerMove,Af(N=>{const j=N.target,B=T.current!==N.clientX;if(N.currentTarget.contains(j)&&B){const H=N.clientX>T.current?"right":"left";D.current=H,T.current=N.clientX}}))})))))))}),Nf="MenuItem",$g="menu.itemSelect",z3=p.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,i=p.useRef(null),s=yp(Nf,e.__scopeMenu),a=kw(Nf,e.__scopeMenu),l=pt(t,i),u=p.useRef(!1),c=()=>{const f=i.current;if(!n&&f){const d=new CustomEvent($g,{bubbles:!0,cancelable:!0});f.addEventListener($g,h=>r==null?void 0:r(h),{once:!0}),V1(f,d),d.defaultPrevented?u.current=!1:s.onClose()}};return p.createElement(B3,te({},o,{ref:l,disabled:n,onClick:ne(e.onClick,c),onPointerDown:f=>{var d;(d=e.onPointerDown)===null||d===void 0||d.call(e,f),u.current=!0},onPointerUp:ne(e.onPointerUp,f=>{var d;u.current||(d=f.currentTarget)===null||d===void 0||d.click()}),onKeyDown:ne(e.onKeyDown,f=>{const d=a.searchRef.current!=="";n||d&&f.key===" "||C3.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})}))}),B3=p.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...i}=e,s=kw(Nf,n),a=_w(n),l=p.useRef(null),u=pt(t,l),[c,f]=p.useState(!1),[d,h]=p.useState("");return p.useEffect(()=>{const v=l.current;if(v){var y;h(((y=v.textContent)!==null&&y!==void 0?y:"").trim())}},[i.children]),p.createElement($f.ItemSlot,{scope:n,disabled:r,textValue:o??d},p.createElement(hw,te({asChild:!0},a,{focusable:!r}),p.createElement(cn.div,te({role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},i,{ref:u,onPointerMove:ne(e.onPointerMove,Af(v=>{r?s.onItemLeave(v):(s.onItemEnter(v),v.defaultPrevented||v.currentTarget.focus())})),onPointerLeave:ne(e.onPointerLeave,Af(v=>s.onItemLeave(v))),onFocus:ne(e.onFocus,()=>f(!0)),onBlur:ne(e.onBlur,()=>f(!1))}))))}),W3="MenuRadioGroup";Qr(W3,{value:void 0,onValueChange:()=>{}});const H3="MenuItemIndicator";Qr(H3,{checked:!1});const V3="MenuSub";Qr(V3);function K3(e){return e?"open":"closed"}function Q3(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function q3(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Y3(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let s=q3(e,Math.max(i,0));o.length===1&&(s=s.filter(u=>u!==n));const l=s.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}function G3(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,s=t.length-1;ir!=c>r&&n<(u-a)*(r-l)/(c-l)+a&&(o=!o)}return o}function X3(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return G3(n,t)}function Af(e){return t=>t.pointerType==="mouse"?e(t):void 0}const J3=$3,Z3=N3,eL=D3,tL=F3,nL=z3,wp="Menubar",[Mf,rL,oL]=ap(wp),[Rw,M4]=Ls(wp,[oL,Gl]),As=R3(),Tw=Gl(),[iL,xp]=Rw(wp),sL=p.forwardRef((e,t)=>{const{__scopeMenubar:n,value:r,onValueChange:o,defaultValue:i,loop:s=!0,dir:a,...l}=e,u=lp(a),c=Tw(n),[f="",d]=cw({prop:r,onChange:o,defaultProp:i}),[h,v]=p.useState(null);return p.createElement(iL,{scope:n,value:f,onMenuOpen:p.useCallback(y=>{d(y),v(y)},[d]),onMenuClose:p.useCallback(()=>d(""),[d]),onMenuToggle:p.useCallback(y=>{d(S=>S?"":y),v(y)},[d]),dir:u,loop:s},p.createElement(Mf.Provider,{scope:n},p.createElement(Mf.Slot,{scope:n},p.createElement(pw,te({asChild:!0},c,{orientation:"horizontal",loop:s,dir:u,currentTabStopId:h,onCurrentTabStopIdChange:v}),p.createElement(cn.div,te({role:"menubar"},l,{ref:t}))))))}),Lw="MenubarMenu",[aL,$w]=Rw(Lw),lL=e=>{const{__scopeMenubar:t,value:n,...r}=e,o=Ra(),i=n||o||"LEGACY_REACT_AUTO_VALUE",s=xp(Lw,t),a=As(t),l=p.useRef(null),u=p.useRef(!1),c=s.value===i;return p.useEffect(()=>{c||(u.current=!1)},[c]),p.createElement(aL,{scope:t,value:i,triggerId:Ra(),triggerRef:l,contentId:Ra(),wasKeyboardTriggerOpenRef:u},p.createElement(J3,te({},a,{open:c,onOpenChange:f=>{f||s.onMenuClose()},modal:!1,dir:s.dir},r)))},Ng="MenubarTrigger",uL=p.forwardRef((e,t)=>{const{__scopeMenubar:n,disabled:r=!1,...o}=e,i=Tw(n),s=As(n),a=xp(Ng,n),l=$w(Ng,n),u=p.useRef(null),c=pt(t,u,l.triggerRef),[f,d]=p.useState(!1),h=a.value===l.value;return p.createElement(Mf.ItemSlot,{scope:n,value:l.value,disabled:r},p.createElement(hw,te({asChild:!0},i,{focusable:!r,tabStopId:l.value}),p.createElement(Z3,te({asChild:!0},s),p.createElement(cn.button,te({type:"button",role:"menuitem",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":h,"aria-controls":h?l.contentId:void 0,"data-highlighted":f?"":void 0,"data-state":h?"open":"closed","data-disabled":r?"":void 0,disabled:r},o,{ref:c,onPointerDown:ne(e.onPointerDown,v=>{!r&&v.button===0&&v.ctrlKey===!1&&(a.onMenuOpen(l.value),h||v.preventDefault())}),onPointerEnter:ne(e.onPointerEnter,()=>{if(!!a.value&&!h){var y;a.onMenuOpen(l.value),(y=u.current)===null||y===void 0||y.focus()}}),onKeyDown:ne(e.onKeyDown,v=>{r||(["Enter"," "].includes(v.key)&&a.onMenuToggle(l.value),v.key==="ArrowDown"&&a.onMenuOpen(l.value),["Enter"," ","ArrowDown"].includes(v.key)&&(l.wasKeyboardTriggerOpenRef.current=!0,v.preventDefault()))}),onFocus:ne(e.onFocus,()=>d(!0)),onBlur:ne(e.onBlur,()=>d(!1))})))))}),cL=e=>{const{__scopeMenubar:t,...n}=e,r=As(t);return p.createElement(eL,te({},r,n))},Ag="MenubarContent",fL=p.forwardRef((e,t)=>{const{__scopeMenubar:n,align:r="start",...o}=e,i=As(n),s=xp(Ag,n),a=$w(Ag,n),l=rL(n),u=p.useRef(!1);return p.createElement(tL,te({id:a.contentId,"aria-labelledby":a.triggerId,"data-radix-menubar-content":""},i,o,{ref:t,align:r,onCloseAutoFocus:ne(e.onCloseAutoFocus,c=>{if(!!!s.value&&!u.current){var d;(d=a.triggerRef.current)===null||d===void 0||d.focus()}u.current=!1,c.preventDefault()}),onFocusOutside:ne(e.onFocusOutside,c=>{const f=c.target;l().some(h=>{var v;return(v=h.ref.current)===null||v===void 0?void 0:v.contains(f)})&&c.preventDefault()}),onInteractOutside:ne(e.onInteractOutside,()=>{u.current=!0}),onEntryFocus:c=>{a.wasKeyboardTriggerOpenRef.current||c.preventDefault()},onKeyDown:ne(e.onKeyDown,c=>{if(["ArrowRight","ArrowLeft"].includes(c.key)){const f=c.target,d=f.hasAttribute("data-radix-menubar-subtrigger"),h=f.closest("[data-radix-menubar-content]")!==c.currentTarget,y=(s.dir==="rtl"?"ArrowRight":"ArrowLeft")===c.key;if(!y&&d||h&&y)return;let m=l().filter(O=>!O.disabled).map(O=>O.value);y&&m.reverse();const w=m.indexOf(a.value);m=s.loop?pL(m,w+1):m.slice(w+1);const[x]=m;x&&s.onMenuOpen(x)}},{checkForDefaultPrevented:!1}),style:{...e.style,"--radix-menubar-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-menubar-content-available-width":"var(--radix-popper-available-width)","--radix-menubar-content-available-height":"var(--radix-popper-available-height)","--radix-menubar-trigger-width":"var(--radix-popper-anchor-width)","--radix-menubar-trigger-height":"var(--radix-popper-anchor-height)"}}))}),dL=p.forwardRef((e,t)=>{const{__scopeMenubar:n,...r}=e,o=As(n);return p.createElement(nL,te({},o,r,{ref:t}))});function pL(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const hL=sL,mL=lL,gL=uL,vL=cL,yL=fL,wL=dL;/** + * @reach/utils v0.18.0 + * + * Copyright (c) 2018-2022, React Training LLC + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Nw(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function In(e,t){return n=>{if(e&&e(n),!n.defaultPrevented)return t(n)}}function Mg(e){return typeof e=="boolean"}function Df(e){return!!(e&&{}.toString.call(e)=="[object Function]")}function xL(e,t){if(e!=null)if(Df(e))e(t);else try{e.current=t}catch{throw new Error(`Cannot assign value "${t}" to ref "${e}"`)}}function Aw(...e){return p.useCallback(t=>{for(let n of e)xL(n,t)},e)}function Sp(e){return Nw()?e?e.ownerDocument:document:null}function SL(e){let t=Sp(e),n=t.defaultView||window;return t?{width:t.documentElement.clientWidth??n.innerWidth,height:t.documentElement.clientHeight??n.innerHeight}:{width:0,height:0}}function Mw(...e){return e.filter(t=>t!=null).join("--")}function EL(){let[,e]=p.useState(Object.create(null));return p.useCallback(()=>{e(Object.create(null))},[])}var Fi=Nw()?p.useLayoutEffect:p.useEffect,rc=!1,bL=0;function Dg(){return++bL}var Ig=ln["useId".toString()];function CL(e){if(Ig!==void 0){let o=Ig();return e??o}let t=e??(rc?Dg():null),[n,r]=p.useState(t);return Fi(()=>{n===null&&r(Dg())},[]),p.useEffect(()=>{rc===!1&&(rc=!0)},[]),e??n??void 0}var _L=({children:e,type:t="reach-portal",containerRef:n})=>{let r=p.useRef(null),o=p.useRef(null),i=EL();return p.useEffect(()=>{n!=null&&(typeof n!="object"||!("current"in n)?console.warn("@reach/portal: Invalid value passed to the `containerRef` of a `Portal`. The portal will be appended to the document body, but if you want to attach it to another DOM node you must pass a valid React ref object to `containerRef`."):n.current==null&&console.warn("@reach/portal: A ref was passed to the `containerRef` prop of a `Portal`, but no DOM node was attached to it. Be sure to pass the ref to a DOM component.\n\nIf you are forwarding the ref from another component, be sure to use the React.forwardRef API. See https://reactjs.org/docs/forwarding-refs.html."))},[n]),Fi(()=>{if(!r.current)return;let s=r.current.ownerDocument,a=(n==null?void 0:n.current)||s.body;return o.current=s==null?void 0:s.createElement(t),a.appendChild(o.current),i(),()=>{o.current&&a&&a.removeChild(o.current)}},[t,i,n]),o.current?Wr.createPortal(e,o.current):p.createElement("span",{ref:r})},Dw=({unstable_skipInitialRender:e,...t})=>{let[n,r]=p.useState(!1);return p.useEffect(()=>{e&&r(!0)},[e]),e&&!n?null:p.createElement(_L,{...t})};Dw.displayName="Portal";var Iw=p.forwardRef(function({as:t="span",style:n={},...r},o){return p.createElement(t,{ref:o,style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal",...n},...r})});Iw.displayName="VisuallyHidden";var OL=["bottom","height","left","right","top","width"],kL=function(t,n){return t===void 0&&(t={}),n===void 0&&(n={}),OL.some(function(r){return t[r]!==n[r]})},Un=new Map,Fw,PL=function e(){var t=[];Un.forEach(function(n,r){var o=r.getBoundingClientRect();kL(o,n.rect)&&(n.rect=o,t.push(n))}),t.forEach(function(n){n.callbacks.forEach(function(r){return r(n.rect)})}),Fw=window.requestAnimationFrame(e)};function RL(e,t){return{observe:function(){var r=Un.size===0;Un.has(e)?Un.get(e).callbacks.push(t):Un.set(e,{rect:void 0,hasRectChanged:!1,callbacks:[t]}),r&&PL()},unobserve:function(){var r=Un.get(e);if(r){var o=r.callbacks.indexOf(t);o>=0&&r.callbacks.splice(o,1),r.callbacks.length||Un.delete(e),Un.size||cancelAnimationFrame(Fw)}}}}function jw(e,t,n){let r,o;Mg(t)?r=t:(r=(t==null?void 0:t.observe)??!0,o=t==null?void 0:t.onChange),Df(n)&&(o=n),p.useEffect(()=>{Mg(t)&&console.warn("Passing `observe` as the second argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `observe` property as the second argument (`useRect(ref, { observe })`).\nSee https://reach.tech/rect#userect-observe")},[t]),p.useEffect(()=>{Df(n)&&console.warn("Passing `onChange` as the third argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `onChange` property as the second argument (`useRect(ref, { onChange })`).\nSee https://reach.tech/rect#userect-onchange")},[n]);let[i,s]=p.useState(e.current),a=p.useRef(!1),l=p.useRef(!1),[u,c]=p.useState(null),f=p.useRef(o);return Fi(()=>{f.current=o,e.current!==i&&s(e.current)}),Fi(()=>{i&&!a.current&&(a.current=!0,c(i.getBoundingClientRect()))},[i]),Fi(()=>{if(!r)return;let d=i;if(l.current||(l.current=!0,d=e.current),!d){console.warn("You need to place the ref");return}let h=RL(d,v=>{var y;(y=f.current)==null||y.call(f,v),c(v)});return h.observe(),()=>{h.unobserve()}},[r,i,e]),u}var TL=100,LL=500,If={initial:"IDLE",states:{IDLE:{enter:oc,on:{MOUSE_ENTER:"FOCUSED",FOCUS:"VISIBLE"}},FOCUSED:{enter:AL,leave:ML,on:{MOUSE_MOVE:"FOCUSED",MOUSE_LEAVE:"IDLE",MOUSE_DOWN:"DISMISSED",BLUR:"IDLE",REST:"VISIBLE"}},VISIBLE:{on:{FOCUS:"FOCUSED",MOUSE_ENTER:"FOCUSED",MOUSE_LEAVE:"LEAVING_VISIBLE",BLUR:"LEAVING_VISIBLE",MOUSE_DOWN:"DISMISSED",SELECT_WITH_KEYBOARD:"DISMISSED",GLOBAL_MOUSE_MOVE:"LEAVING_VISIBLE"}},LEAVING_VISIBLE:{enter:DL,leave:()=>{IL(),oc()},on:{MOUSE_ENTER:"VISIBLE",FOCUS:"VISIBLE",TIME_COMPLETE:"IDLE"}},DISMISSED:{leave:()=>{oc()},on:{MOUSE_LEAVE:"IDLE",BLUR:"IDLE"}}}},Ot={value:If.initial,context:{id:null}},Na=[];function $L(e){return Na.push(e),()=>{Na.splice(Na.indexOf(e),1)}}function NL(){Na.forEach(e=>e(Ot))}var Ff;function AL(){window.clearTimeout(Ff),Ff=window.setTimeout(()=>{jt({type:"REST"})},TL)}function ML(){window.clearTimeout(Ff)}var jf;function DL(){window.clearTimeout(jf),jf=window.setTimeout(()=>jt({type:"TIME_COMPLETE"}),LL)}function IL(){window.clearTimeout(jf)}function oc(){Ot.context.id=null}function FL({id:e,onPointerEnter:t,onPointerMove:n,onPointerLeave:r,onPointerDown:o,onMouseEnter:i,onMouseMove:s,onMouseLeave:a,onMouseDown:l,onFocus:u,onBlur:c,onKeyDown:f,disabled:d,ref:h,DEBUG_STYLE:v}={}){let y=String(CL(e)),[S,g]=p.useState(v?!0:Fg(y,!0)),m=p.useRef(null),w=Aw(h,m),x=jw(m,{observe:S});p.useEffect(()=>$L(()=>{g(Fg(y))}),[y]),p.useEffect(()=>{let U=Sp(m.current);function C(k){(k.key==="Escape"||k.key==="Esc")&&Ot.value==="VISIBLE"&&jt({type:"SELECT_WITH_KEYBOARD"})}return U.addEventListener("keydown",C),()=>U.removeEventListener("keydown",C)},[]),BL({disabled:d,isVisible:S,ref:m});function O(U,C){return typeof window<"u"&&"PointerEvent"in window?U:In(U,C)}function P(U){return function(k){k.pointerType==="mouse"&&U(k)}}function R(){jt({type:"MOUSE_ENTER",id:y})}function b(){jt({type:"MOUSE_MOVE",id:y})}function A(){jt({type:"MOUSE_LEAVE"})}function $(){Ot.context.id===y&&jt({type:"MOUSE_DOWN"})}function F(){window.__REACH_DISABLE_TOOLTIPS||jt({type:"FOCUS",id:y})}function M(){Ot.context.id===y&&jt({type:"BLUR"})}function D(U){(U.key==="Enter"||U.key===" ")&&jt({type:"SELECT_WITH_KEYBOARD"})}return[{"aria-describedby":S?Mw("tooltip",y):void 0,"data-state":S?"tooltip-visible":"tooltip-hidden","data-reach-tooltip-trigger":"",ref:w,onPointerEnter:In(t,P(R)),onPointerMove:In(n,P(b)),onPointerLeave:In(r,P(A)),onPointerDown:In(o,P($)),onMouseEnter:O(i,R),onMouseMove:O(s,b),onMouseLeave:O(a,A),onMouseDown:O(l,$),onFocus:In(u,F),onBlur:In(c,M),onKeyDown:In(f,D)},{id:y,triggerRect:x,isVisible:S},S]}var Ep=p.forwardRef(function({children:e,label:t,ariaLabel:n,id:r,DEBUG_STYLE:o,...i},s){let a=p.Children.only(e);p.useEffect(()=>{n&&console.warn("The `ariaLabel prop is deprecated and will be removed from @reach/tooltip in a future version of Reach UI. Please use `aria-label` instead.")},[n]);let[l,u]=FL({id:r,onPointerEnter:a.props.onPointerEnter,onPointerMove:a.props.onPointerMove,onPointerLeave:a.props.onPointerLeave,onPointerDown:a.props.onPointerDown,onMouseEnter:a.props.onMouseEnter,onMouseMove:a.props.onMouseMove,onMouseLeave:a.props.onMouseLeave,onMouseDown:a.props.onMouseDown,onFocus:a.props.onFocus,onBlur:a.props.onBlur,onKeyDown:a.props.onKeyDown,disabled:a.props.disabled,ref:a.ref,DEBUG_STYLE:o});return p.createElement(p.Fragment,null,p.cloneElement(a,l),p.createElement(Uw,{ref:s,label:t,"aria-label":n,...u,...i}))});Ep.displayName="Tooltip";var Uw=p.forwardRef(function({label:t,ariaLabel:n,isVisible:r,id:o,...i},s){return r?p.createElement(Dw,null,p.createElement(zw,{ref:s,label:t,"aria-label":n,isVisible:r,...i,id:Mw("tooltip",String(o))})):null});Uw.displayName="TooltipPopup";var zw=p.forwardRef(function({ariaLabel:t,"aria-label":n,as:r="div",id:o,isVisible:i,label:s,position:a=zL,style:l,triggerRect:u,...c},f){let d=(n||t)!=null,h=p.useRef(null),v=Aw(f,h),y=jw(h,{observe:i});return p.createElement(p.Fragment,null,p.createElement(r,{role:d?void 0:"tooltip",...c,ref:v,"data-reach-tooltip":"",id:d?void 0:o,style:{...l,...jL(a,u,y)}},s),d&&p.createElement(Iw,{role:"tooltip",id:o},n||t))});zw.displayName="TooltipContent";function jL(e,t,n){return n?e(t,n):{visibility:"hidden"}}var UL=8,zL=(e,t,n=UL)=>{let{width:r,height:o}=SL();if(!e||!t)return{};let i={top:e.top-t.height<0,right:r{if(!(typeof window<"u"&&"PointerEvent"in window)||!e||!t)return;let r=Sp(n.current);function o(i){t&&(i.target instanceof Element&&i.target.closest("[data-reach-tooltip-trigger][data-state='tooltip-visible']")||jt({type:"GLOBAL_MOUSE_MOVE"}))}return r.addEventListener("mousemove",o),()=>{r.removeEventListener("mousemove",o)}},[e,t,n])}function jt(e){let{value:t,context:n,changed:r}=WL(Ot,e);r&&(Ot={value:t,context:n},NL())}function WL(e,t){let n=If.states[e.value],r=n&&n.on&&n.on[t.type];if(!r)return{...e,changed:!1};n&&n.leave&&n.leave(e.context,t);const{type:o,...i}=t;let s={...Ot.context,...i},a=typeof r=="string"?r:r.target,l=If.states[a];return l&&l.enter&&l.enter(e.context,t),{value:a,context:s,changed:!0}}function Fg(e,t){return Ot.context.id===e&&(t?Ot.value==="VISIBLE":Ot.value==="VISIBLE"||Ot.value==="LEAVING_VISIBLE")}function HL(e){let t={};const n={},r={};function o(l="default"){return n[l]=e(l).then(u=>{delete n[l],t[l]=u}).catch(u=>{r[l]=u}),n[l]}function i(l="default"){t[l]!==void 0||n[l]||o(l)}function s(l="default"){if(t[l]!==void 0)return t[l];throw r[l]?r[l]:n[l]?n[l]:o(l)}function a(l){l?delete t[l]:t={}}return{preload:i,read:s,clear:a}}const bp=HL(()=>Kt(()=>import("./index-c12c1521.js"),[],import.meta.url)),VL="_MenubarTrigger_z57wf_1",KL="_MenubarContent_z57wf_25",QL="_MenubarItem_z57wf_33",qL="_checkWrapper_z57wf_47",YL="_active_z57wf_53",ji={MenubarTrigger:VL,MenubarContent:KL,MenubarItem:QL,checkWrapper:qL,active:YL},GL=[{v:"auto",l:"Auto"},{v:"dark",l:"Dark"},{v:"light",l:"Light"}];function XL({theme:e}){switch(e){case"dark":return E.jsx(jg,{});case"auto":return E.jsx(e$,{});case"light":return E.jsx(ZL,{});default:return console.assert(!1,"Unknown theme"),E.jsx(jg,{})}}function Bw(){const{t:e}=Vo(),[t,n]=_e(k1),r=p.useCallback(o=>{n(o),P1(o)},[n]);return E.jsx(hL,{children:E.jsxs(mL,{children:[E.jsx(Ep,{label:e("switch_theme"),"aria-label":"switch theme",children:E.jsx(gL,{className:ji.MenubarTrigger,children:E.jsx(XL,{theme:t})})}),E.jsx(vL,{children:E.jsx(yL,{className:ji.MenubarContent,children:GL.map(o=>E.jsx(JL,{value:o.v,label:o.l,active:t===o.v,onSelect:r},o.v))})})]})})}function JL(e){const t=Hr(ji.checkWrapper,{[ji.active]:e.active});return E.jsxs(wL,{className:ji.MenubarItem,onSelect:()=>e.onSelect(e.value),children:[E.jsx("span",{className:t,children:E.jsx(gP,{size:14})}),E.jsx("span",{children:e.label})]})}function jg(){const t=bp.read().motion;return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:E.jsx(t.path,{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z",initial:{rotate:-30},animate:{rotate:0},transition:{duration:.7}})})}function ZL(){const t=bp.read().motion;return E.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[E.jsx("circle",{cx:"12",cy:"12",r:"5"}),E.jsxs(t.g,{initial:{scale:.7},animate:{scale:1},transition:{duration:.5},children:[E.jsx("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),E.jsx("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),E.jsx("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),E.jsx("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),E.jsx("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),E.jsx("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),E.jsx("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),E.jsx("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]})}function e$(){const t=bp.read().motion;return E.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[E.jsx("circle",{cx:"12",cy:"12",r:"11"}),E.jsx("clipPath",{id:"cut-off-bottom",children:E.jsx(t.rect,{x:"12",y:"0",width:"12",height:"24",initial:{rotate:-30},animate:{rotate:0},transition:{duration:.7}})}),E.jsx("circle",{cx:"12",cy:"12",r:"6",clipPath:"url(#cut-off-bottom)",fill:"currentColor"})]})}const Uf="/configs";async function t$(e){const t=await E1(e);if(!t)throw new Error("TODO");return t}function D4(e){return async t=>{const{url:n,init:r}=yt(e),o=JSON.stringify(r$(t));return await fetch(n+Uf,{...r,body:o,method:"PATCH"})}}async function n$(e){const{url:t,init:n}=yt(e);try{return await Jd(t+Uf,n)}catch(r){b1(r,{endpoint:Uf,apiConfig:e})}}function r$(e){return"socks-port"in e&&(e["socket-port"]=e["socks-port"]),e}const o$="_root_1hpu5_1",i$="_floatAbove_1hpu5_33",Ug={root:o$,floatAbove:i$},{useCallback:s$}=ln;function ic({id:e,label:t,value:n,onChange:r,...o}){const i=s$(s=>r(s),[r]);return E.jsxs("div",{className:Ug.root,children:[E.jsx("input",{id:e,value:n,onChange:i,...o}),E.jsx("label",{htmlFor:e,className:Ug.floatAbove,children:t})]})}const a$="_btn_lzu00_1",l$="_circular_lzu00_27",u$="_minimal_lzu00_30",c$="_btnStart_lzu00_48",f$="_loadingContainer_lzu00_55",Oi={btn:a$,circular:l$,minimal:u$,btnStart:c$,loadingContainer:f$},{forwardRef:d$,useCallback:p$}=ln;function h$(e,t){const{onClick:n,disabled:r=!1,isLoading:o,kind:i="primary",className:s,children:a,label:l,text:u,start:c,...f}=e,d={children:a,label:l,text:u,start:c},h=p$(y=>{o||n&&n(y)},[o,n]),v=Hr(Oi.btn,{[Oi.minimal]:i==="minimal",[Oi.circular]:i==="circular"},s);return E.jsx("button",{className:v,ref:t,onClick:h,disabled:r,...f,children:o?E.jsxs(E.Fragment,{children:[E.jsx("span",{style:{display:"inline-flex",opacity:0},children:E.jsx(zg,{...d})}),E.jsx("span",{className:Oi.loadingContainer,children:E.jsx(qP,{})})]}):E.jsx(zg,{...d})})}function zg({children:e,label:t,text:n,start:r}){return E.jsxs(E.Fragment,{children:[r?E.jsx("span",{className:Oi.btnStart,children:typeof r=="function"?r():r}):null,e||t||n]})}const Zl=d$(h$),m$="_path_r8pm3_1",g$="_dash_r8pm3_1",v$={path:m$,dash:g$};function Cp({width:e=320,height:t=320,animate:n=!1,c0:r="currentColor",shapeStroke:o="#eee",eye:i="#eee",eyeStroke:s="#eee",mouth:a="#eee"}){const l=Hr({[v$.path]:n});return E.jsx("svg",{width:e,height:t,viewBox:"0 0 320 320",xmlns:"http://www.w3.org/2000/svg",children:E.jsxs("g",{fill:"none",fillRule:"evenodd",children:[E.jsx("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:o,strokeWidth:"4",strokeLinecap:"round",fill:r,className:l}),E.jsx("circle",{fill:i,cx:"216.5",cy:"181.5",r:"14.5",strokeWidth:"4",stroke:s}),E.jsx("circle",{fill:i,cx:"104.5",cy:"181.5",r:"14.5",strokeWidth:"4",stroke:s}),E.jsx("g",{stroke:a,strokeLinecap:"round",strokeWidth:"4",children:E.jsx("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"})})]})})}const y$="_header_ydpbi_1",w$="_icon_ydpbi_7",x$="_body_ydpbi_17",S$="_hostnamePort_ydpbi_21",E$="_error_ydpbi_33",b$="_footer_ydpbi_40",wr={header:y$,icon:w$,body:x$,hostnamePort:S$,error:E$,footer:b$},{useState:da,useRef:C$,useCallback:Bg}=ln,Ww=0;function _$(){const[e,t]=da(""),[n,r]=da(""),[o,i]=da(""),[s,a]=da(""),l=C$(!1),u=Bg(h=>{l.current=!0,a("");const v=h.target,{name:y}=v,S=v.value;switch(y){case"baseURL":t(S);break;case"secret":r(S);break;case"metaLabel":i(S);break;default:throw new Error(`unknown input name ${y}`)}},[]),[c,f]=_e(Rs),d=Bg(h=>{h.preventDefault(),O$({baseURL:e,secret:n}).then(v=>{if(v[0]!==Ww)a(v[1]);else{const y={baseURL:e,secret:n,metaLabel:o};if(yf(c,y))return;f(g=>[...g,{...y,addedAt:Date.now()}])}})},[c,e,o,n,f]);return E.jsxs("div",{children:[E.jsx("div",{className:wr.header,children:E.jsx("div",{className:wr.icon,children:E.jsx(Cp,{width:140,height:140,c0:"transparent",eye:"transparent",shapeStroke:"var(--stroke)",mouth:"var(--stroke)",eyeStroke:"var(--stroke)"})})}),E.jsxs("form",{onSubmit:d,children:[E.jsxs("div",{className:wr.body,children:[E.jsxs("div",{className:wr.hostnamePort,children:[E.jsx(ic,{id:"baseURL",name:"baseURL",label:"API Base URL",type:"text",placeholder:"http://127.0.0.1:9090",value:e,onChange:u}),E.jsx(ic,{id:"secret",name:"secret",label:"Secret(optional)",value:n,type:"text",onChange:u})]}),s?E.jsx("div",{className:wr.error,children:s}):null,E.jsx("div",{className:wr.label,children:E.jsx(ic,{id:"metaLabel",name:"metaLabel",label:"Label(optional)",type:"text",placeholder:"",value:o,onChange:u})})]}),E.jsx("div",{className:wr.footer,children:E.jsx(Zl,{label:"Add"})})]})]})}async function O$(e){try{new URL(e.baseURL)}catch{if(e.baseURL){const n=e.baseURL.substring(0,7);if(n!=="http://"&&n!=="https:/")return[1,"Must starts with http:// or https://"]}return[1,"Invalid URL"]}try{const t=await n$(e);return t.status>399?[1,t.statusText]:[Ww]}catch{return[1,"Failed to connect"]}}function k$(){return E.jsx("div",{style:{background:"var(--color-background)"},children:E.jsxs("div",{className:"my-0 mx-auto max-w-3xl p-4 min-h-screen",children:[E.jsx(_$,{}),E.jsx(us,{}),E.jsx(zP,{}),E.jsx("div",{className:"fixed left-0 bottom-0",style:{padding:16},children:E.jsx(Bw,{})})]})})}const P$={hasProcessPath:!1},R$=p.createContext(P$),T$="_root_cybfa_1",L$="_yacd_cybfa_14",Wg={root:T$,yacd:L$};function eu(e){return E.jsxs("div",{className:Wg.root,children:[E.jsx("div",{className:Wg.yacd,children:E.jsx(Cp,{width:140,height:140,c0:"transparent",eye:"transparent",shapeStroke:"var(--color-text-secondary)",mouth:"var(--color-text-secondary)",eyeStroke:"var(--color-text-secondary)"})}),e.children]})}function _p(e){const{t}=Vo(),n=Xd(),r=p.useCallback(o=>{o.preventDefault(),e(),n("/backend")},[n,e]);return{t,onClick:r}}function $$(e){const{resetErrorBoundary:t,ctx:n}=e,{t:r,onClick:o}=_p(t);return E.jsxs(eu,{children:[E.jsxs("p",{children:["Failed to connect to the backend ",n.apiConfig.baseURL]}),E.jsx(us,{}),E.jsx(Zl,{onClick:o,children:r("switch_backend")})]})}function N$(e){const{resetErrorBoundary:t,ctx:n}=e,{t:r,onClick:o}=_p(t);return E.jsxs(eu,{children:[E.jsxs("p",{children:["Unauthorized to connect to the backend ",n.apiConfig.baseURL]}),n.apiConfig.secret?E.jsx("p",{children:"You might using a wrong secret"}):E.jsx("p",{children:"You probably need to provide a secret"}),E.jsx(us,{}),E.jsx(Zl,{onClick:o,children:r("switch_backend")})]})}function A$(e){const{resetErrorBoundary:t,ctx:n}=e,{t:r,onClick:o}=_p(t),{response:i}=n;return E.jsxs(eu,{children:[E.jsxs("p",{children:["Unexpected response from the backend ",n.apiConfig.baseURL]}),E.jsx(us,{}),E.jsx(Zl,{onClick:o,children:r("switch_backend")}),E.jsx(us,{}),E.jsxs("div",{className:"text-left mx-auto",style:{maxWidth:800},children:[E.jsx("h3",{className:"font-bold my-2 sm:truncate sm:text-m",children:"Response Status"}),E.jsx("p",{children:i.status}),E.jsx("h3",{className:"font-bold my-2 sm:truncate sm:text-m",children:"Response Headers"}),E.jsx("ul",{children:i.headers.map(s=>E.jsx("li",{children:s},s))}),i.data?E.jsxs(E.Fragment,{children:[E.jsx("h3",{className:"font-bold my-2 sm:truncate sm:text-m",children:"Response Body"}),E.jsx("pre",{children:i.data})]}):null]})]})}const M$="_link_1lzxb_1",D$={link:M$},I$="https://github.com/haishanh/yacd/issues";function F$({message:e,detail:t}){return E.jsxs(eu,{children:[e?E.jsx("h1",{children:e}):null,t?E.jsx("p",{children:t}):null,E.jsx("p",{children:E.jsxs("a",{className:D$.link,href:I$,children:[E.jsx(R1,{width:16,height:16}),"haishanh/yacd"]})})]})}function j$({error:e,resetErrorBoundary:t}){if(e instanceof g1)return E.jsx($$,{ctx:e.ctx,resetErrorBoundary:t});if(e instanceof v1)return E.jsx(N$,{ctx:e.ctx,resetErrorBoundary:t});if(e instanceof y1)return E.jsx(A$,{ctx:e.ctx,resetErrorBoundary:t});const{message:n,detail:r}=QO(e);return E.jsx(F$,{message:n,detail:r})}function U$(){const e=Ts();return Gy([$1.config,e],t$)}function z$(){return E.jsx(p.Suspense,{fallback:null,children:E.jsx(B$,{})})}function B$(){return U$(),null}const W$="_root_4oasi_1",H$="_chart_4oasi_10",Hg={root:W$,chart:H$},V$="/traffic",pa=150;let Fn;const ao={labels:Array(pa).fill(0),up:Array(pa),down:Array(pa),size:pa,subscribers:[],appendData(e){this.up.shift(),this.down.shift(),this.labels.shift();const t=Date.now();this.up.push(e.up),this.down.push(e.down),this.labels.push(t),this.subscribers.forEach(n=>n(e))},subscribe(e){return this.subscribers.push(e),()=>{const t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}}};function K$(e){ao.appendData(JSON.parse(e))}function Op(e){if(Fn&&Fn.readyState<=WebSocket.OPEN)return ao;const t=S1(e,V$);Fn=new WebSocket(t);const n=()=>{Fn.readyState<=WebSocket.OPEN&&Fn.close()},r=()=>{Fn.readyState<=WebSocket.OPEN||(document.removeEventListener("freeze",n),document.removeEventListener("resume",r),ao.up.fill(0),ao.down.fill(void 0),ao.labels.fill(void 0),Op(e))};return document.addEventListener("freeze",n,{capture:!0,once:!0}),document.addEventListener("resume",r,{capture:!0,once:!0}),Fn.addEventListener("error",function(o){console.log("error",o)}),Fn.addEventListener("message",function(o){K$(o.data)}),ao}var Q$=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(i=Object.keys(t),r=i.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;o--!==0;){var s=i[o];if(!e(t[s],n[s]))return!1}return!0}return t!==t&&n!==n};const kp=vs(Q$);function Vg(e,t,n,r=0,o=!1){for(const s of t)if(kp(n,s.args)){if(o)return;if(s.error)throw s.error;if(s.response)return s.response;throw s.promise}const i={args:n,promise:e(...n).then(s=>i.response=s??!0).catch(s=>i.error=s??"unknown error").then(()=>{r>0&&setTimeout(()=>{const s=t.indexOf(i);s!==-1&&t.splice(s,1)},r)})};if(t.push(i),!o)throw i.promise}function q$(e,...t){if(t===void 0||t.length===0)e.splice(0,e.length);else{const n=e.find(r=>kp(t,r.args));if(n){const r=e.indexOf(n);r!==-1&&e.splice(r,1)}}}function Y$(e,t=0){const n=[];return{read:(...r)=>Vg(e,n,r,t),preload:(...r)=>void Vg(e,n,r,t,!0),clear:(...r)=>q$(n,...r),peek:(...r)=>{var o;return(o=n.find(i=>kp(r,i.args)))==null?void 0:o.response}}}const Kg=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];function ps(e){if(e<1e3)return e+" B";const t=Math.min(Math.floor(Math.log10(e)/3),Kg.length-1);e=Number((e/Math.pow(1e3,t)).toPrecision(3));const n=Kg[t];return e+" "+n}const G$=Y$(()=>Kt(()=>import("./chart-lib-da3c73a9.js"),[],import.meta.url)),Qg={borderWidth:1,pointRadius:0,tension:.2,fill:!0},X$={responsive:!0,maintainAspectRatio:!0,plugins:{legend:{labels:{boxWidth:20}}},scales:{x:{display:!1,type:"category"},y:{type:"linear",display:!0,grid:{display:!0,color:"#555",drawTicks:!1},border:{display:!1,dash:[3,6]},ticks:{callback(e){return ps(e)+"/s "}}}}},qg=[{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)"}}],{useEffect:J$}=I;function Z$(e,t,n,r,o={}){J$(()=>{const i=document.getElementById(t).getContext("2d"),s={...X$,...o},a=new e(i,{type:"line",data:n,options:s}),l=r&&r.subscribe(()=>a.update());return()=>{l&&l(),a.destroy()}},[e,t,n,r,o])}const{useMemo:eN}=ln,tN={position:"relative",maxWidth:1e3};function nN(){const[e]=_e(O1),t=Ts(),n=G$.read(),r=Op(t),{t:o}=Vo(),i=eN(()=>({labels:r.labels,datasets:[{...Qg,...qg[e].up,label:o("Up"),data:r.up},{...Qg,...qg[e].down,label:o("Down"),data:r.down}]}),[r,e,o]);return Z$(n.Chart,"trafficChart",i,r),E.jsx("div",{style:tN,children:E.jsx("canvas",{id:"trafficChart"})})}const rN="_TrafficNow_hzna1_1",oN="_sec_hzna1_10",so={TrafficNow:rN,sec:oN},{useState:Hw,useEffect:Vw,useCallback:iN}=ln;function sN(){const e=Ts(),{t}=Vo(),{upStr:n,downStr:r}=aN(e),{upTotal:o,dlTotal:i,connNumber:s}=lN(e);return E.jsxs("div",{className:so.TrafficNow,children:[E.jsxs("div",{className:so.sec,children:[E.jsx("div",{children:t("Upload")}),E.jsx("div",{children:n})]}),E.jsxs("div",{className:so.sec,children:[E.jsx("div",{children:t("Download")}),E.jsx("div",{children:r})]}),E.jsxs("div",{className:so.sec,children:[E.jsx("div",{children:t("Upload Total")}),E.jsx("div",{children:o})]}),E.jsxs("div",{className:so.sec,children:[E.jsx("div",{children:t("Download Total")}),E.jsx("div",{children:i})]}),E.jsxs("div",{className:so.sec,children:[E.jsx("div",{children:t("Active Connections")}),E.jsx("div",{children:s})]})]})}function aN(e){const[t,n]=Hw({upStr:"0 B/s",downStr:"0 B/s"});return Vw(()=>Op(e).subscribe(r=>n({upStr:ps(r.up)+"/s",downStr:ps(r.down)+"/s"})),[e]),t}function lN(e){const[t,n]=Hw({upTotal:"0 B",dlTotal:"0 B",connNumber:0}),r=iN(({downloadTotal:o,uploadTotal:i,connections:s})=>{n({upTotal:ps(i),dlTotal:ps(o),connNumber:s.length})},[n]);return Vw(()=>M1(e,r),[e,r]),t}function uN(){const{t:e}=Vo();return E.jsxs("div",{children:[E.jsx(C1,{title:e("Overview")}),E.jsxs("div",{className:Hg.root,children:[E.jsx("div",{children:E.jsx(sN,{})}),E.jsx("div",{className:Hg.chart,children:E.jsx(p.Suspense,{fallback:E.jsx(T1,{height:"200px"}),children:E.jsx(nN,{})})})]})]})}const cN="_lo_pmly2_1",fN={lo:cN};function dN(){return E.jsx("div",{className:fN.lo,children:E.jsx(Cp,{width:280,height:280,animate:!0,c0:"transparent",c1:"#646464"})})}const pN="_app_1s3k7_1",hN="_content_1s3k7_18",Yg={app:pN,content:hN};var Kw={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Gg=I.createContext&&I.createContext(Kw),ar=globalThis&&globalThis.__assign||function(){return ar=Object.assign||function(e){for(var t,n=1,r=arguments.length;nE.jsx($N,{to:n,isActive:t.pathname===n,iconId:r,labelText:e(o)},n))}),E.jsxs("div",{className:Kn.footer,children:[E.jsx(Bw,{}),E.jsx(Ep,{label:e("about"),children:E.jsx(c1,{to:"/about",className:Kn.iconWrapper,children:E.jsx(_P,{size:20})})})]})]})}var qw=Symbol.for("immer-nothing"),Xg=Symbol.for("immer-draftable"),ht=Symbol.for("immer-state");function Bt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Bo=Object.getPrototypeOf;function Wo(e){return!!e&&!!e[ht]}function jr(e){var t;return e?Yw(e)||Array.isArray(e)||!!e[Xg]||!!((t=e.constructor)!=null&&t[Xg])||nu(e)||ru(e):!1}var MN=Object.prototype.constructor.toString();function Yw(e){if(!e||typeof e!="object")return!1;const t=Bo(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===MN}function hs(e,t){tu(e)===0?Object.entries(e).forEach(([n,r])=>{t(n,r,e)}):e.forEach((n,r)=>t(r,n,e))}function tu(e){const t=e[ht];return t?t.type_:Array.isArray(e)?1:nu(e)?2:ru(e)?3:0}function zf(e,t){return tu(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Gw(e,t,n){const r=tu(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function nu(e){return e instanceof Map}function ru(e){return e instanceof Set}function Cr(e){return e.copy_||e.base_}function Bf(e,t){if(nu(e))return new Map(e);if(ru(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&Yw(e))return Bo(e)?{...e}:Object.assign(Object.create(null),e);const n=Object.getOwnPropertyDescriptors(e);delete n[ht];let r=Reflect.ownKeys(n);for(let o=0;o1&&(e.set=e.add=e.clear=e.delete=IN),Object.freeze(e),t&&hs(e,(n,r)=>Pp(r,!0))),e}function IN(){Bt(2)}function ou(e){return Object.isFrozen(e)}var FN={};function Ur(e){const t=FN[e];return t||Bt(0,e),t}var ms;function Xw(){return ms}function jN(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Jg(e,t){t&&(Ur("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Wf(e){Hf(e),e.drafts_.forEach(UN),e.drafts_=null}function Hf(e){e===ms&&(ms=e.parent_)}function Zg(e){return ms=jN(ms,e)}function UN(e){const t=e[ht];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ev(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[ht].modified_&&(Wf(t),Bt(4)),jr(e)&&(e=Cl(t,e),t.parent_||_l(t,e)),t.patches_&&Ur("Patches").generateReplacementPatches_(n[ht].base_,e,t.patches_,t.inversePatches_)):e=Cl(t,n,[]),Wf(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==qw?e:void 0}function Cl(e,t,n){if(ou(t))return t;const r=t[ht];if(!r)return hs(t,(o,i)=>tv(e,r,t,o,i,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return _l(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const o=r.copy_;let i=o,s=!1;r.type_===3&&(i=new Set(o),o.clear(),s=!0),hs(i,(a,l)=>tv(e,r,o,a,l,n,s)),_l(e,o,!1),n&&e.patches_&&Ur("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function tv(e,t,n,r,o,i,s){if(Wo(o)){const a=i&&t&&t.type_!==3&&!zf(t.assigned_,r)?i.concat(r):void 0,l=Cl(e,o,a);if(Gw(n,r,l),Wo(l))e.canAutoFreeze_=!1;else return}else s&&n.add(o);if(jr(o)&&!ou(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Cl(e,o),(!t||!t.scope_.parent_)&&_l(e,o)}}function _l(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Pp(t,n)}function zN(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:Xw(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=r,i=Rp;n&&(o=[r],i=gs);const{revoke:s,proxy:a}=Proxy.revocable(o,i);return r.draft_=a,r.revoke_=s,a}var Rp={get(e,t){if(t===ht)return e;const n=Cr(e);if(!zf(n,t))return BN(e,n,t);const r=n[t];return e.finalized_||!jr(r)?r:r===sc(e.base_,t)?(ac(e),e.copy_[t]=Kf(r,e)):r},has(e,t){return t in Cr(e)},ownKeys(e){return Reflect.ownKeys(Cr(e))},set(e,t,n){const r=Jw(Cr(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const o=sc(Cr(e),t),i=o==null?void 0:o[ht];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(DN(n,o)&&(n!==void 0||zf(e.base_,t)))return!0;ac(e),Vf(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return sc(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,ac(e),Vf(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=Cr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Bt(11)},getPrototypeOf(e){return Bo(e.base_)},setPrototypeOf(){Bt(12)}},gs={};hs(Rp,(e,t)=>{gs[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});gs.deleteProperty=function(e,t){return gs.set.call(this,e,t,void 0)};gs.set=function(e,t,n){return Rp.set.call(this,e[0],t,n,e[0])};function sc(e,t){const n=e[ht];return(n?Cr(n):e)[t]}function BN(e,t,n){var o;const r=Jw(t,n);return r?"value"in r?r.value:(o=r.get)==null?void 0:o.call(e.draft_):void 0}function Jw(e,t){if(!(t in e))return;let n=Bo(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Bo(n)}}function Vf(e){e.modified_||(e.modified_=!0,e.parent_&&Vf(e.parent_))}function ac(e){e.copy_||(e.copy_=Bf(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var WN=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const i=n;n=t;const s=this;return function(l=i,...u){return s.produce(l,c=>n.call(this,c,...u))}}typeof n!="function"&&Bt(6),r!==void 0&&typeof r!="function"&&Bt(7);let o;if(jr(t)){const i=Zg(this),s=Kf(t,void 0);let a=!0;try{o=n(s),a=!1}finally{a?Wf(i):Hf(i)}return Jg(i,r),ev(o,i)}else if(!t||typeof t!="object"){if(o=n(t),o===void 0&&(o=t),o===qw&&(o=void 0),this.autoFreeze_&&Pp(o,!0),r){const i=[],s=[];Ur("Patches").generateReplacementPatches_(t,o,i,s),r(i,s)}return o}else Bt(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(s,...a)=>this.produceWithPatches(s,l=>t(l,...a));let r,o;return[this.produce(t,n,(s,a)=>{r=s,o=a}),r,o]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){jr(e)||Bt(8),Wo(e)&&(e=HN(e));const t=Zg(this),n=Kf(e,void 0);return n[ht].isManual_=!0,Hf(t),n}finishDraft(e,t){const n=e&&e[ht];(!n||!n.isManual_)&&Bt(9);const{scope_:r}=n;return Jg(r,t),ev(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const o=t[n];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}n>-1&&(t=t.slice(n+1));const r=Ur("Patches").applyPatches_;return Wo(e)?r(e,t):this.produce(e,o=>r(o,t))}};function Kf(e,t){const n=nu(e)?Ur("MapSet").proxyMap_(e,t):ru(e)?Ur("MapSet").proxySet_(e,t):zN(e,t);return(t?t.scope_:Xw()).drafts_.push(n),n}function HN(e){return Wo(e)||Bt(10,e),Zw(e)}function Zw(e){if(!jr(e)||ou(e))return e;const t=e[ht];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Bf(e,t.scope_.immer_.useStrictShallowCopy_)}else n=Bf(e,!0);return hs(n,(r,o)=>{Gw(n,r,Zw(o))}),t&&(t.finalized_=!1),n}var mt=new WN,VN=mt.produce;mt.produceWithPatches.bind(mt);var KN=mt.setAutoFreeze.bind(mt);mt.setUseStrictShallowCopy.bind(mt);mt.applyPatches.bind(mt);mt.createDraft.bind(mt);mt.finishDraft.bind(mt);KN(!1);const{createContext:Tp,memo:QN,useMemo:qN,useRef:YN,useEffect:GN,useCallback:nv,useContext:Qf,useState:XN}=I,ex=Tp(null),tx=Tp(null),nx=Tp(null);function I4(){return Qf(nx)}function JN({initialState:e,actions:t={},children:n}){const r=YN(e),[o,i]=XN(e),s=nv(()=>r.current,[]);GN(()=>{},[s]);const a=nv((u,c)=>{if(typeof u=="function")return u(a,s);const f=VN(s(),c);f!==r.current&&(r.current=f,i(f))},[s]),l=qN(()=>rx(t,a),[t,a]);return E.jsx(ex.Provider,{value:o,children:E.jsx(tx.Provider,{value:a,children:E.jsx(nx.Provider,{value:l,children:n})})})}function F4(e){return t=>{const n=QN(t);function r(o){const i=Qf(ex),s=Qf(tx),a=e(i,o),l={dispatch:s,...o,...a};return E.jsx(n,{...l})}return r}}function ZN(e,t){return function(...n){return t(e.apply(this,n))}}function rx(e,t){const n={};for(const r in e){const o=e[r];typeof o=="function"?n[r]=ZN(o,t):typeof o=="object"&&(n[r]=rx(o,t))}return n}const{lazy:ti,Suspense:ox}=ln,e4=ti(()=>Kt(()=>import("./Connections-7210eedd.js"),["./Connections-7210eedd.js","./useRemainingViewPortHeight-22ab7283.js","./index-138a52ef.js","./Modal.module-651c4560.js","./Modal-86bce5c3.css","./Fab-d86fe1ea.js","./Fab-a434d836.css","./play-c4e5016b.js","./Connections-ddae4f70.css"],import.meta.url)),t4=ti(()=>Kt(()=>import("./Config-c412a416.js"),["./Config-c412a416.js","./logs-2efc7736.js","./Select-a2c574c2.js","./Select-3de40504.css","./Toggle-7a52109a.js","./Toggle-4f572f6c.css","./Input-157c292d.js","./Input-505b5fdb.css","./useMutation-75c97bd7.js","./Config-cf41b8ef.css"],import.meta.url)),n4=ti(()=>Kt(()=>import("./Logs-b414e967.js"),["./Logs-b414e967.js","./index.esm-18eb5056.js","./logs-2efc7736.js","./debounce-c1ba2006.js","./useRemainingViewPortHeight-22ab7283.js","./Fab-d86fe1ea.js","./Fab-a434d836.css","./play-c4e5016b.js","./Logs-5e5ee0ad.css"],import.meta.url)),r4=ti(()=>Kt(()=>import("./Proxies-08f5dc31.js"),["./Proxies-08f5dc31.js","./Modal.module-651c4560.js","./Modal-86bce5c3.css","./ZapAnimated-e7ea61af.js","./ZapAnimated-6c3cdb8c.css","./Fab-d86fe1ea.js","./Fab-a434d836.css","./TextFilter-379059dd.js","./debounce-c1ba2006.js","./TextFilter-ced87fc6.css","./index-138a52ef.js","./Toggle-7a52109a.js","./Toggle-4f572f6c.css","./Select-a2c574c2.js","./Select-3de40504.css","./Proxies-40f80166.css"],import.meta.url)),o4=ti(()=>Kt(()=>import("./Rules-32591ffb.js"),["./Rules-32591ffb.js","./index.esm-18eb5056.js","./useMutation-75c97bd7.js","./TextFilter-379059dd.js","./debounce-c1ba2006.js","./TextFilter-ced87fc6.css","./index-138a52ef.js","./Fab-d86fe1ea.js","./Fab-a434d836.css","./useRemainingViewPortHeight-22ab7283.js","./Rules-e11cb70e.css"],import.meta.url));ti(()=>Kt(()=>import("./StyleGuide-65b412f2.js"),["./StyleGuide-65b412f2.js","./Toggle-7a52109a.js","./Toggle-4f572f6c.css","./Input-157c292d.js","./Input-505b5fdb.css","./ZapAnimated-e7ea61af.js","./ZapAnimated-6c3cdb8c.css","./StyleGuide-255b125c.css"],import.meta.url));const i4=[{path:"/",element:E.jsx(uN,{})},{path:"/connections",element:E.jsx(R$.Provider,{value:{hasProcessPath:!1},children:E.jsx(e4,{})})},{path:"/configs",element:E.jsx(t4,{})},{path:"/logs",element:E.jsx(n4,{})},{path:"/proxies",element:E.jsx(r4,{})},{path:"/rules",element:E.jsx(o4,{})},{path:"/about",element:E.jsx(Ok,{})},!1].filter(Boolean);function s4(){return a1(i4)}function a4(){return E.jsxs("div",{className:Yg.app,children:[E.jsx(z$,{}),E.jsx(AN,{}),E.jsx("div",{className:Yg.content,children:E.jsx(ox,{fallback:E.jsx(dN,{}),children:E.jsx(s4,{})})})]})}function l4(){return a1([{path:"/backend",element:E.jsx(k$,{})},{path:"*",element:E.jsx(a4,{})}])}function u4({children:e}){const[t]=_e(xk),n=Hr({pureBlackDark:t});return E.jsxs(E.Fragment,{children:[E.jsx(zO,{richColors:!0}),E.jsx("div",{className:n,children:e})]})}const c4=e=>{L1.invalidateQueries([$1.config])},f4=()=>E.jsx(G_,{children:E.jsx(JN,{initialState:dP,actions:pP,children:E.jsxs(PC,{client:L1,children:[E.jsx(Ak,{}),E.jsx(u4,{children:E.jsxs(r_,{FallbackComponent:j$,onReset:c4,children:[E.jsx(Tk,{}),E.jsx(ox,{fallback:E.jsx(T1,{height:"100vh"}),children:E.jsx(l4,{})})]})})]})})}),d4=!!(window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function p4(e){if("serviceWorker"in navigator){const t=new URL("",window.location.href);if(t.origin!==window.location.origin)return;window.addEventListener("load",()=>{const n=new URL("sw.js",t.href).href;d4?(h4(n,e),navigator.serviceWorker.ready.then(()=>{console.log("This web app is being served cache-first by a service worker")})):ix(n,e)})}}function ix(e,t){navigator.serviceWorker.register(e).then(n=>{n.onupdatefound=()=>{const r=n.installing;r!=null&&(r.onstatechange=()=>{r.state==="installed"&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(n)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(n)))})}}).catch(n=>{console.error("Error during service worker registration:",n)})}function h4(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then(n=>{const r=n.headers.get("content-type");n.status===404||r!=null&&r.indexOf("javascript")===-1?navigator.serviceWorker.ready.then(o=>{o.unregister().then(()=>{window.location.reload()})}):ix(e,t)}).catch(()=>{console.log("No internet connection found. App is running in offline mode.")})}g4();const sx=document.getElementById("app"),m4=_y(sx);function ha(e){const t=document.createElement("link");t.href=e,t.rel="preload",t.as="font",t.type="font/woff2",t.crossOrigin="",document.head.appendChild(t)}function g4(){ha(DS),ha(IS),ha(FS),ha(xv)}J2.setAppElement(sx);m4.render(E.jsx(p.StrictMode,{children:E.jsx(f4,{})}));setTimeout(()=>{Kt(()=>import("./index.modern-c58ff412.js"),[],import.meta.url).then(e=>{e&&e.polyfillCountryFlagEmojis("Twemoji Country Flags",xv)}).catch(()=>{})},1);p4();console.log("Checkout the repo: https://github.com/haishanh/yacd");console.log("Version:","0.3.8");console.log("Commit hash:","d37a1ff");export{O4 as $,x4 as A,Zl as B,C1 as C,wk as D,w4 as E,yt as F,y4 as G,N4 as H,PP as I,L4 as J,FL as K,j1 as L,R$ as M,Zk as N,Eo as O,Ce as P,I4 as Q,I as R,Cp as S,Uw as T,R4 as U,$4 as V,Ep as W,mk as X,gk as Y,vk as Z,yk as _,J2 as a,k4 as a0,T4 as a1,P4 as a2,bp as a3,Xo as a4,C4 as a5,eP as a6,_4 as a7,E1 as a8,vs as a9,ft as aa,Gy as ab,_s as ac,uf as ad,lC as ae,Ee as af,v4 as ag,OC as ah,NC as ai,te as aj,zi as ak,Bw as al,T1 as am,b4 as b,Hr as c,Vo as d,G$ as e,M1 as f,Qg as g,qg as h,Z$ as i,E as j,ln as k,U$ as l,Xd as m,_e as n,kC as o,ps as p,hk as q,p as r,O1 as s,D4 as t,Ts as u,xk as v,F4 as w,Wk as x,S4 as y,E4 as z}; diff --git a/clash/clash/dashboard/yacd/assets/index-c12c1521.js b/clash/clash/dashboard/yacd/assets/index-c12c1521.js new file mode 100644 index 0000000..157c98c --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/index-c12c1521.js @@ -0,0 +1,9 @@ +import{r as m,R as ui}from"./index-3b7e2f10.js";const at=m.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),Xt=m.createContext({}),Yt=m.createContext(null),Pe=typeof document<"u",xt=Pe?m.useLayoutEffect:m.useEffect,mn=m.createContext({strict:!1});function no(t,e,n,s){const{visualElement:i}=m.useContext(Xt),o=m.useContext(mn),r=m.useContext(Yt),a=m.useContext(at).reducedMotion,c=m.useRef();s=s||o.renderer,!c.current&&s&&(c.current=s(t,{visualState:e,parent:i,props:n,presenceContext:r,blockInitialAnimation:r?r.initial===!1:!1,reducedMotionConfig:a}));const u=c.current;m.useInsertionEffect(()=>{u&&u.update(n,r)});const l=m.useRef(!!window.HandoffAppearAnimations);return xt(()=>{u&&(u.render(),l.current&&u.animationState&&u.animationState.animateChanges())}),m.useEffect(()=>{u&&(u.updateFeatures(),!l.current&&u.animationState&&u.animationState.animateChanges(),window.HandoffAppearAnimations=void 0,l.current=!1)}),u}function bt(t){return typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function so(t,e,n){return m.useCallback(s=>{s&&t.mount&&t.mount(s),e&&(s?e.mount(s):e.unmount()),n&&(typeof n=="function"?n(s):bt(n)&&(n.current=s))},[e])}function Wt(t){return typeof t=="string"||Array.isArray(t)}function Te(t){return typeof t=="object"&&typeof t.start=="function"}const pn=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],gn=["initial",...pn];function be(t){return Te(t.animate)||gn.some(e=>Wt(t[e]))}function li(t){return!!(be(t)||t.variants)}function io(t,e){if(be(t)){const{initial:n,animate:s}=t;return{initial:n===!1||Wt(n)?n:void 0,animate:Wt(s)?s:void 0}}return t.inherit!==!1?e:{}}function ro(t){const{initial:e,animate:n}=io(t,m.useContext(Xt));return m.useMemo(()=>({initial:e,animate:n}),[qn(e),qn(n)])}function qn(t){return Array.isArray(t)?t.join(" "):t}const Zn={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Ht={};for(const t in Zn)Ht[t]={isEnabled:e=>Zn[t].some(n=>!!e[n])};function Ke(t){for(const e in t)Ht[e]={...Ht[e],...t[e]}}const Gt=m.createContext({}),fi=m.createContext({}),yn=Symbol.for("motionComponentSymbol");function hi({preloadedFeatures:t,createVisualElement:e,useRender:n,useVisualState:s,Component:i}){t&&Ke(t);function o(a,c){let u;const l={...m.useContext(at),...a,layoutId:oo(a)},{isStatic:f}=l,h=ro(a),d=s(a,f);if(!f&&Pe){h.visualElement=no(i,d,l,e);const p=m.useContext(fi),y=m.useContext(mn).strict;h.visualElement&&(u=h.visualElement.loadFeatures(l,y,t,p))}return m.createElement(Xt.Provider,{value:h},u&&h.visualElement?m.createElement(u,{visualElement:h.visualElement,...l}):null,n(i,a,so(d,h.visualElement,c),d,f,h.visualElement))}const r=m.forwardRef(o);return r[yn]=i,r}function oo({layoutId:t}){const e=m.useContext(Gt).id;return e&&t!==void 0?e+"-"+t:t}function di(t){function e(s,i={}){return hi(t(s,i))}if(typeof Proxy>"u")return e;const n=new Map;return new Proxy(e,{get:(s,i)=>(n.has(i)||n.set(i,e(i)),n.get(i))})}const ao=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function vn(t){return typeof t!="string"||t.includes("-")?!1:!!(ao.indexOf(t)>-1||/[A-Z]/.test(t))}const le={};function co(t){Object.assign(le,t)}const qt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],J=new Set(qt);function mi(t,{layout:e,layoutId:n}){return J.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!le[t]||t==="opacity")}const k=t=>!!(t&&t.getVelocity),uo={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},lo=qt.length;function fo(t,{enableHardwareAcceleration:e=!0,allowTransformNone:n=!0},s,i){let o="";for(let r=0;re=>typeof e=="string"&&e.startsWith(t),xn=pi("--"),_e=pi("var(--"),ho=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,mo=(t,e)=>e&&typeof t=="number"?e.transform(t):t,ct=(t,e,n)=>Math.min(Math.max(n,t),e),Pt={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},kt={...Pt,transform:t=>ct(0,1,t)},se={...Pt,default:1},Ot=t=>Math.round(t*1e5)/1e5,Se=/(-)?([\d]*\.?[\d])+/g,gi=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,po=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Zt(t){return typeof t=="string"}const Jt=t=>({test:e=>Zt(e)&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),st=Jt("deg"),Z=Jt("%"),S=Jt("px"),go=Jt("vh"),yo=Jt("vw"),Jn={...Z,parse:t=>Z.parse(t)/100,transform:t=>Z.transform(t*100)},Qn={...Pt,transform:Math.round},yi={borderWidth:S,borderTopWidth:S,borderRightWidth:S,borderBottomWidth:S,borderLeftWidth:S,borderRadius:S,radius:S,borderTopLeftRadius:S,borderTopRightRadius:S,borderBottomRightRadius:S,borderBottomLeftRadius:S,width:S,maxWidth:S,height:S,maxHeight:S,size:S,top:S,right:S,bottom:S,left:S,padding:S,paddingTop:S,paddingRight:S,paddingBottom:S,paddingLeft:S,margin:S,marginTop:S,marginRight:S,marginBottom:S,marginLeft:S,rotate:st,rotateX:st,rotateY:st,rotateZ:st,scale:se,scaleX:se,scaleY:se,scaleZ:se,skew:st,skewX:st,skewY:st,distance:S,translateX:S,translateY:S,translateZ:S,x:S,y:S,z:S,perspective:S,transformPerspective:S,opacity:kt,originX:Jn,originY:Jn,originZ:S,zIndex:Qn,fillOpacity:kt,strokeOpacity:kt,numOctaves:Qn};function Pn(t,e,n,s){const{style:i,vars:o,transform:r,transformOrigin:a}=t;let c=!1,u=!1,l=!0;for(const f in e){const h=e[f];if(xn(f)){o[f]=h;continue}const d=yi[f],p=mo(h,d);if(J.has(f)){if(c=!0,r[f]=p,!l)continue;h!==(d.default||0)&&(l=!1)}else f.startsWith("origin")?(u=!0,a[f]=p):i[f]=p}if(e.transform||(c||s?i.transform=fo(t.transform,n,l,s):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:h="50%",originZ:d=0}=a;i.transformOrigin=`${f} ${h} ${d}`}}const Tn=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function vi(t,e,n){for(const s in e)!k(e[s])&&!mi(s,n)&&(t[s]=e[s])}function vo({transformTemplate:t},e,n){return m.useMemo(()=>{const s=Tn();return Pn(s,e,{enableHardwareAcceleration:!n},t),Object.assign({},s.vars,s.style)},[e])}function xo(t,e,n){const s=t.style||{},i={};return vi(i,s,t),Object.assign(i,vo(t,e,n)),t.transformValues?t.transformValues(i):i}function Po(t,e,n){const s={},i=xo(t,e,n);return t.drag&&t.dragListener!==!1&&(s.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(s.tabIndex=0),s.style=i,s}const To=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function fe(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||To.has(t)}let xi=t=>!fe(t);function Pi(t){t&&(xi=e=>e.startsWith("on")?!fe(e):t(e))}try{Pi(require("@emotion/is-prop-valid").default)}catch{}function bo(t,e,n){const s={};for(const i in t)i==="values"&&typeof t.values=="object"||(xi(i)||n===!0&&fe(i)||!e&&!fe(i)||t.draggable&&i.startsWith("onDrag"))&&(s[i]=t[i]);return s}function ts(t,e,n){return typeof t=="string"?t:S.transform(e+n*t)}function So(t,e,n){const s=ts(e,t.x,t.width),i=ts(n,t.y,t.height);return`${s} ${i}`}const Ao={offset:"stroke-dashoffset",array:"stroke-dasharray"},Vo={offset:"strokeDashoffset",array:"strokeDasharray"};function Co(t,e,n=1,s=0,i=!0){t.pathLength=1;const o=i?Ao:Vo;t[o.offset]=S.transform(-s);const r=S.transform(e),a=S.transform(n);t[o.array]=`${r} ${a}`}function bn(t,{attrX:e,attrY:n,attrScale:s,originX:i,originY:o,pathLength:r,pathSpacing:a=1,pathOffset:c=0,...u},l,f,h){if(Pn(t,u,l,h),f){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:d,style:p,dimensions:y}=t;d.transform&&(y&&(p.transform=d.transform),delete d.transform),y&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=So(y,i!==void 0?i:.5,o!==void 0?o:.5)),e!==void 0&&(d.x=e),n!==void 0&&(d.y=n),s!==void 0&&(d.scale=s),r!==void 0&&Co(d,r,a,c,!1)}const Ti=()=>({...Tn(),attrs:{}}),Sn=t=>typeof t=="string"&&t.toLowerCase()==="svg";function wo(t,e,n,s){const i=m.useMemo(()=>{const o=Ti();return bn(o,e,{enableHardwareAcceleration:!1},Sn(s),t.transformTemplate),{...o.attrs,style:{...o.style}}},[e]);if(t.style){const o={};vi(o,t.style,t),i.style={...o,...i.style}}return i}function Mo(t=!1){return(n,s,i,{latestValues:o},r)=>{const c=(vn(n)?wo:Po)(s,o,r,n),l={...bo(s,typeof n=="string",t),...c,ref:i},{children:f}=s,h=m.useMemo(()=>k(f)?f.get():f,[f]);return m.createElement(n,{...l,children:h})}}const $t=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function bi(t,{style:e,vars:n},s,i){Object.assign(t.style,e,i&&i.getProjectionStyles(s));for(const o in n)t.style.setProperty(o,n[o])}const Si=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Ai(t,e,n,s){bi(t,e,void 0,s);for(const i in e.attrs)t.setAttribute(Si.has(i)?i:$t(i),e.attrs[i])}function An(t,e){const{style:n}=t,s={};for(const i in n)(k(n[i])||e.style&&k(e.style[i])||mi(i,t))&&(s[i]=n[i]);return s}function Vi(t,e){const n=An(t,e);for(const s in t)if(k(t[s])||k(e[s])){const i=qt.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;n[i]=t[s]}return n}function Vn(t,e,n,s={},i={}){return typeof e=="function"&&(e=e(n!==void 0?n:t.custom,s,i)),typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"&&(e=e(n!==void 0?n:t.custom,s,i)),e}function j(t){const e=m.useRef(null);return e.current===null&&(e.current=t()),e.current}const he=t=>Array.isArray(t),Do=t=>!!(t&&typeof t=="object"&&t.mix&&t.toValue),Eo=t=>he(t)?t[t.length-1]||0:t;function oe(t){const e=k(t)?t.get():t;return Do(e)?e.toValue():e}function Ro({scrapeMotionValuesFromProps:t,createRenderState:e,onMount:n},s,i,o){const r={latestValues:Lo(s,i,o,t),renderState:e()};return n&&(r.mount=a=>n(s,a,r)),r}const Cn=t=>(e,n)=>{const s=m.useContext(Xt),i=m.useContext(Yt),o=()=>Ro(t,e,s,i);return n?o():j(o)};function Lo(t,e,n,s){const i={},o=s(t,{});for(const h in o)i[h]=oe(o[h]);let{initial:r,animate:a}=t;const c=be(t),u=li(t);e&&u&&!c&&t.inherit!==!1&&(r===void 0&&(r=e.initial),a===void 0&&(a=e.animate));let l=n?n.initial===!1:!1;l=l||r===!1;const f=l?a:r;return f&&typeof f!="boolean"&&!Te(f)&&(Array.isArray(f)?f:[f]).forEach(d=>{const p=Vn(t,d);if(!p)return;const{transitionEnd:y,transition:x,...T}=p;for(const v in T){let g=T[v];if(Array.isArray(g)){const P=l?g.length-1:0;g=g[P]}g!==null&&(i[v]=g)}for(const v in y)i[v]=y[v]}),i}const L=t=>t;class es{constructor(){this.order=[],this.scheduled=new Set}add(e){if(!this.scheduled.has(e))return this.scheduled.add(e),this.order.push(e),!0}remove(e){const n=this.order.indexOf(e);n!==-1&&(this.order.splice(n,1),this.scheduled.delete(e))}clear(){this.order.length=0,this.scheduled.clear()}}function Bo(t){let e=new es,n=new es,s=0,i=!1,o=!1;const r=new WeakSet,a={schedule:(c,u=!1,l=!1)=>{const f=l&&i,h=f?e:n;return u&&r.add(c),h.add(c)&&f&&i&&(s=e.order.length),c},cancel:c=>{n.remove(c),r.delete(c)},process:c=>{if(i){o=!0;return}if(i=!0,[e,n]=[n,e],n.clear(),s=e.order.length,s)for(let u=0;u(f[h]=Bo(()=>n=!0),f),{}),r=f=>o[f].process(i),a=()=>{const f=performance.now();n=!1,i.delta=s?1e3/60:Math.max(Math.min(f-i.timestamp,Fo),1),i.timestamp=f,i.isProcessing=!0,Ft.forEach(r),i.isProcessing=!1,n&&e&&(s=!1,t(a))},c=()=>{n=!0,s=!0,i.isProcessing||t(a)};return{schedule:Ft.reduce((f,h)=>{const d=o[h];return f[h]=(p,y=!1,x=!1)=>(n||c(),d.schedule(p,y,x)),f},{}),cancel:f=>Ft.forEach(h=>o[h].cancel(f)),state:i,steps:o}}const{schedule:V,cancel:N,state:I,steps:Re}=Io(typeof requestAnimationFrame<"u"?requestAnimationFrame:L,!0),ko={useVisualState:Cn({scrapeMotionValuesFromProps:Vi,createRenderState:Ti,onMount:(t,e,{renderState:n,latestValues:s})=>{V.read(()=>{try{n.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}}),V.render(()=>{bn(n,s,{enableHardwareAcceleration:!1},Sn(e.tagName),t.transformTemplate),Ai(e,n)})}})},Oo={useVisualState:Cn({scrapeMotionValuesFromProps:An,createRenderState:Tn})};function wn(t,{forwardMotionProps:e=!1},n,s){return{...vn(t)?ko:Oo,preloadedFeatures:n,useRender:Mo(e),createVisualElement:s,Component:t}}function q(t,e,n,s={passive:!0}){return t.addEventListener(e,n,s),()=>t.removeEventListener(e,n)}const Ci=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1;function Ae(t,e="page"){return{point:{x:t[e+"X"],y:t[e+"Y"]}}}const jo=t=>e=>Ci(e)&&t(e,Ae(e));function tt(t,e,n,s){return q(t,e,jo(n),s)}const Uo=(t,e)=>n=>e(t(n)),ot=(...t)=>t.reduce(Uo);function wi(t){let e=null;return()=>{const n=()=>{e=null};return e===null?(e=t,n):!1}}const ns=wi("dragHorizontal"),ss=wi("dragVertical");function Mi(t){let e=!1;if(t==="y")e=ss();else if(t==="x")e=ns();else{const n=ns(),s=ss();n&&s?e=()=>{n(),s()}:(n&&n(),s&&s())}return e}function Di(){const t=Mi(!0);return t?(t(),!1):!0}class lt{constructor(e){this.isMounted=!1,this.node=e}update(){}}function is(t,e){const n="pointer"+(e?"enter":"leave"),s="onHover"+(e?"Start":"End"),i=(o,r)=>{if(o.type==="touch"||Di())return;const a=t.getProps();t.animationState&&a.whileHover&&t.animationState.setActive("whileHover",e),a[s]&&V.update(()=>a[s](o,r))};return tt(t.current,n,i,{passive:!t.getProps()[s]})}class No extends lt{mount(){this.unmount=ot(is(this.node,!0),is(this.node,!1))}unmount(){}}class zo extends lt{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ot(q(this.node.current,"focus",()=>this.onFocus()),q(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const Ei=(t,e)=>e?t===e?!0:Ei(t,e.parentElement):!1;function Le(t,e){if(!e)return;const n=new PointerEvent("pointer"+t);e(n,Ae(n))}class Wo extends lt{constructor(){super(...arguments),this.removeStartListeners=L,this.removeEndListeners=L,this.removeAccessibleListeners=L,this.startPointerPress=(e,n)=>{if(this.removeEndListeners(),this.isPressing)return;const s=this.node.getProps(),o=tt(window,"pointerup",(a,c)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:l}=this.node.getProps();V.update(()=>{Ei(this.node.current,a.target)?u&&u(a,c):l&&l(a,c)})},{passive:!(s.onTap||s.onPointerUp)}),r=tt(window,"pointercancel",(a,c)=>this.cancelPress(a,c),{passive:!(s.onTapCancel||s.onPointerCancel)});this.removeEndListeners=ot(o,r),this.startPress(e,n)},this.startAccessiblePress=()=>{const e=o=>{if(o.key!=="Enter"||this.isPressing)return;const r=a=>{a.key!=="Enter"||!this.checkPressEnd()||Le("up",(c,u)=>{const{onTap:l}=this.node.getProps();l&&V.update(()=>l(c,u))})};this.removeEndListeners(),this.removeEndListeners=q(this.node.current,"keyup",r),Le("down",(a,c)=>{this.startPress(a,c)})},n=q(this.node.current,"keydown",e),s=()=>{this.isPressing&&Le("cancel",(o,r)=>this.cancelPress(o,r))},i=q(this.node.current,"blur",s);this.removeAccessibleListeners=ot(n,i)}}startPress(e,n){this.isPressing=!0;const{onTapStart:s,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),s&&V.update(()=>s(e,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!Di()}cancelPress(e,n){if(!this.checkPressEnd())return;const{onTapCancel:s}=this.node.getProps();s&&V.update(()=>s(e,n))}mount(){const e=this.node.getProps(),n=tt(this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),s=q(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=ot(n,s)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const Xe=new WeakMap,Be=new WeakMap,Ho=t=>{const e=Xe.get(t.target);e&&e(t)},Go=t=>{t.forEach(Ho)};function $o({root:t,...e}){const n=t||document;Be.has(n)||Be.set(n,{});const s=Be.get(n),i=JSON.stringify(e);return s[i]||(s[i]=new IntersectionObserver(Go,{root:t,...e})),s[i]}function Ko(t,e,n){const s=$o(e);return Xe.set(t,n),s.observe(t),()=>{Xe.delete(t),s.unobserve(t)}}const _o={some:0,all:1};class Xo extends lt{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:o}=e,r={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:_o[i]},a=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:l,onViewportLeave:f}=this.node.getProps(),h=u?l:f;h&&h(c)};return Ko(this.node.current,r,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:n}=this.node;["amount","margin","root"].some(Yo(e,n))&&this.startObserver()}unmount(){}}function Yo({viewport:t={}},{viewport:e={}}={}){return n=>t[n]!==e[n]}const Ri={inView:{Feature:Xo},tap:{Feature:Wo},focus:{Feature:zo},hover:{Feature:No}};function Li(t,e){if(!Array.isArray(e))return!1;const n=e.length;if(n!==t.length)return!1;for(let s=0;se[s]=n.get()),e}function Zo(t){const e={};return t.values.forEach((n,s)=>e[s]=n.getVelocity()),e}function Ve(t,e,n){const s=t.getProps();return Vn(s,e,n!==void 0?n:s.custom,qo(t),Zo(t))}const Bi="framerAppearId",Jo="data-"+$t(Bi);let Fi=L,Ce=L;const et=t=>t*1e3,_=t=>t/1e3,de={current:!1},Ii=t=>Array.isArray(t)&&typeof t[0]=="number";function ki(t){return!!(!t||typeof t=="string"&&Oi[t]||Ii(t)||Array.isArray(t)&&t.every(ki))}const It=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,Oi={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:It([0,.65,.55,1]),circOut:It([.55,0,1,.45]),backIn:It([.31,.01,.66,-.59]),backOut:It([.33,1.53,.69,.99])};function ji(t){if(t)return Ii(t)?It(t):Array.isArray(t)?t.map(ji):Oi[t]}function Ye(t,e,n,{delay:s=0,duration:i,repeat:o=0,repeatType:r="loop",ease:a,times:c}={}){const u={[e]:n};c&&(u.offset=c);const l=ji(a);return Array.isArray(l)&&(u.easing=l),t.animate(u,{delay:s,duration:i,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:o+1,direction:r==="reverse"?"alternate":"normal"})}function Qo(t,{repeat:e,repeatType:n="loop"}){const s=e&&n!=="loop"&&e%2===1?0:t.length-1;return t[s]}const Ui=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,ta=1e-7,ea=12;function na(t,e,n,s,i){let o,r,a=0;do r=e+(n-e)/2,o=Ui(r,s,i)-t,o>0?n=r:e=r;while(Math.abs(o)>ta&&++ana(o,0,1,t,n);return o=>o===0||o===1?o:Ui(i(o),e,s)}const sa=Qt(.42,0,1,1),ia=Qt(0,0,.58,1),Ni=Qt(.42,0,.58,1),zi=t=>Array.isArray(t)&&typeof t[0]!="number",Wi=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,Hi=t=>e=>1-t(1-e),Gi=t=>1-Math.sin(Math.acos(t)),Mn=Hi(Gi),ra=Wi(Mn),$i=Qt(.33,1.53,.69,.99),Dn=Hi($i),oa=Wi(Dn),aa=t=>(t*=2)<1?.5*Dn(t):.5*(2-Math.pow(2,-10*(t-1))),ca={linear:L,easeIn:sa,easeInOut:Ni,easeOut:ia,circIn:Gi,circInOut:ra,circOut:Mn,backIn:Dn,backInOut:oa,backOut:$i,anticipate:aa},qe=t=>{if(Array.isArray(t)){Ce(t.length===4);const[e,n,s,i]=t;return Qt(e,n,s,i)}else if(typeof t=="string")return ca[t];return t},En=(t,e)=>n=>!!(Zt(n)&&po.test(n)&&n.startsWith(t)||e&&Object.prototype.hasOwnProperty.call(n,e)),Ki=(t,e,n)=>s=>{if(!Zt(s))return s;const[i,o,r,a]=s.match(Se);return{[t]:parseFloat(i),[e]:parseFloat(o),[n]:parseFloat(r),alpha:a!==void 0?parseFloat(a):1}},ua=t=>ct(0,255,t),Fe={...Pt,transform:t=>Math.round(ua(t))},pt={test:En("rgb","red"),parse:Ki("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+Fe.transform(t)+", "+Fe.transform(e)+", "+Fe.transform(n)+", "+Ot(kt.transform(s))+")"};function la(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const Ze={test:En("#"),parse:la,transform:pt.transform},St={test:En("hsl","hue"),parse:Ki("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+Z.transform(Ot(e))+", "+Z.transform(Ot(n))+", "+Ot(kt.transform(s))+")"},U={test:t=>pt.test(t)||Ze.test(t)||St.test(t),parse:t=>pt.test(t)?pt.parse(t):St.test(t)?St.parse(t):Ze.parse(t),transform:t=>Zt(t)?t:t.hasOwnProperty("red")?pt.transform(t):St.transform(t)},R=(t,e,n)=>-n*t+n*e+t;function Ie(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function fa({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,e/=100,n/=100;let i=0,o=0,r=0;if(!e)i=o=r=n;else{const a=n<.5?n*(1+e):n+e-n*e,c=2*n-a;i=Ie(c,a,t+1/3),o=Ie(c,a,t),r=Ie(c,a,t-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(r*255),alpha:s}}const ke=(t,e,n)=>{const s=t*t;return Math.sqrt(Math.max(0,n*(e*e-s)+s))},ha=[Ze,pt,St],da=t=>ha.find(e=>e.test(t));function rs(t){const e=da(t);let n=e.parse(t);return e===St&&(n=fa(n)),n}const _i=(t,e)=>{const n=rs(t),s=rs(e),i={...n};return o=>(i.red=ke(n.red,s.red,o),i.green=ke(n.green,s.green,o),i.blue=ke(n.blue,s.blue,o),i.alpha=R(n.alpha,s.alpha,o),pt.transform(i))};function ma(t){var e,n;return isNaN(t)&&Zt(t)&&(((e=t.match(Se))===null||e===void 0?void 0:e.length)||0)+(((n=t.match(gi))===null||n===void 0?void 0:n.length)||0)>0}const Xi={regex:ho,countKey:"Vars",token:"${v}",parse:L},Yi={regex:gi,countKey:"Colors",token:"${c}",parse:U.parse},qi={regex:Se,countKey:"Numbers",token:"${n}",parse:Pt.parse};function Oe(t,{regex:e,countKey:n,token:s,parse:i}){const o=t.tokenised.match(e);o&&(t["num"+n]=o.length,t.tokenised=t.tokenised.replace(e,s),t.values.push(...o.map(i)))}function me(t){const e=t.toString(),n={value:e,tokenised:e,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&Oe(n,Xi),Oe(n,Yi),Oe(n,qi),n}function Zi(t){return me(t).values}function Ji(t){const{values:e,numColors:n,numVars:s,tokenised:i}=me(t),o=e.length;return r=>{let a=i;for(let c=0;ctypeof t=="number"?0:t;function ga(t){const e=Zi(t);return Ji(t)(e.map(pa))}const ut={test:ma,parse:Zi,createTransformer:Ji,getAnimatableNone:ga},Qi=(t,e)=>n=>`${n>0?e:t}`;function tr(t,e){return typeof t=="number"?n=>R(t,e,n):U.test(t)?_i(t,e):t.startsWith("var(")?Qi(t,e):nr(t,e)}const er=(t,e)=>{const n=[...t],s=n.length,i=t.map((o,r)=>tr(o,e[r]));return o=>{for(let r=0;r{const n={...t,...e},s={};for(const i in n)t[i]!==void 0&&e[i]!==void 0&&(s[i]=tr(t[i],e[i]));return i=>{for(const o in s)n[o]=s[o](i);return n}},nr=(t,e)=>{const n=ut.createTransformer(e),s=me(t),i=me(e);return s.numVars===i.numVars&&s.numColors===i.numColors&&s.numNumbers>=i.numNumbers?ot(er(s.values,i.values),n):Qi(t,e)},yt=(t,e,n)=>{const s=e-t;return s===0?1:(n-t)/s},os=(t,e)=>n=>R(t,e,n);function va(t){return typeof t=="number"?os:typeof t=="string"?U.test(t)?_i:nr:Array.isArray(t)?er:typeof t=="object"?ya:os}function xa(t,e,n){const s=[],i=n||va(t[0]),o=t.length-1;for(let r=0;re[0];t[0]>t[o-1]&&(t=[...t].reverse(),e=[...e].reverse());const r=xa(e,s,i),a=r.length,c=u=>{let l=0;if(a>1)for(;lc(ct(t[0],t[o-1],u)):c}function sr(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=yt(0,e,s);t.push(R(n,1,i))}}function Rn(t){const e=[0];return sr(e,t.length-1),e}function Pa(t,e){return t.map(n=>n*e)}function Ta(t,e){return t.map(()=>e||Ni).splice(0,t.length-1)}function pe({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=zi(s)?s.map(qe):qe(s),o={done:!1,value:e[0]},r=Pa(n&&n.length===e.length?n:Rn(e),t),a=we(r,e,{ease:Array.isArray(i)?i:Ta(e,i)});return{calculatedDuration:t,next:c=>(o.value=a(c),o.done=c>=t,o)}}function Ln(t,e){return e?t*(1e3/e):0}const ba=5;function ir(t,e,n){const s=Math.max(e-ba,0);return Ln(n-t(s),e-s)}const je=.001,Sa=.01,as=10,Aa=.05,Va=1;function Ca({duration:t=800,bounce:e=.25,velocity:n=0,mass:s=1}){let i,o;Fi(t<=et(as));let r=1-e;r=ct(Aa,Va,r),t=ct(Sa,as,_(t)),r<1?(i=u=>{const l=u*r,f=l*t,h=l-n,d=Je(u,r),p=Math.exp(-f);return je-h/d*p},o=u=>{const f=u*r*t,h=f*n+n,d=Math.pow(r,2)*Math.pow(u,2)*t,p=Math.exp(-f),y=Je(Math.pow(u,2),r);return(-i(u)+je>0?-1:1)*((h-d)*p)/y}):(i=u=>{const l=Math.exp(-u*t),f=(u-n)*t+1;return-je+l*f},o=u=>{const l=Math.exp(-u*t),f=(n-u)*(t*t);return l*f});const a=5/t,c=Ma(i,o,a);if(t=et(t),isNaN(c))return{stiffness:100,damping:10,duration:t};{const u=Math.pow(c,2)*s;return{stiffness:u,damping:r*2*Math.sqrt(s*u),duration:t}}}const wa=12;function Ma(t,e,n){let s=n;for(let i=1;it[n]!==void 0)}function Ra(t){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...t};if(!cs(t,Ea)&&cs(t,Da)){const n=Ca(t);e={...e,...n,velocity:0,mass:1},e.isResolvedFromDuration=!0}return e}function Bn({keyframes:t,restDelta:e,restSpeed:n,...s}){const i=t[0],o=t[t.length-1],r={done:!1,value:i},{stiffness:a,damping:c,mass:u,velocity:l,duration:f,isResolvedFromDuration:h}=Ra(s),d=l?-_(l):0,p=c/(2*Math.sqrt(a*u)),y=o-i,x=_(Math.sqrt(a/u)),T=Math.abs(y)<5;n||(n=T?.01:2),e||(e=T?.005:.5);let v;if(p<1){const g=Je(x,p);v=P=>{const A=Math.exp(-p*x*P);return o-A*((d+p*x*y)/g*Math.sin(g*P)+y*Math.cos(g*P))}}else if(p===1)v=g=>o-Math.exp(-x*g)*(y+(d+x*y)*g);else{const g=x*Math.sqrt(p*p-1);v=P=>{const A=Math.exp(-p*x*P),D=Math.min(g*P,300);return o-A*((d+p*x*y)*Math.sinh(D)+g*y*Math.cosh(D))/g}}return{calculatedDuration:h&&f||null,next:g=>{const P=v(g);if(h)r.done=g>=f;else{let A=d;g!==0&&(p<1?A=ir(v,g,P):A=0);const D=Math.abs(A)<=n,C=Math.abs(o-P)<=e;r.done=D&&C}return r.value=r.done?o:P,r}}}function us({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:r,min:a,max:c,restDelta:u=.5,restSpeed:l}){const f=t[0],h={done:!1,value:f},d=b=>a!==void 0&&bc,p=b=>a===void 0?c:c===void 0||Math.abs(a-b)-y*Math.exp(-b/s),g=b=>T+v(b),P=b=>{const w=v(b),O=g(b);h.done=Math.abs(w)<=u,h.value=h.done?T:O};let A,D;const C=b=>{d(h.value)&&(A=b,D=Bn({keyframes:[h.value,p(h.value)],velocity:ir(g,b,h.value),damping:i,stiffness:o,restDelta:u,restSpeed:l}))};return C(0),{calculatedDuration:null,next:b=>{let w=!1;return!D&&A===void 0&&(w=!0,P(b),C(b)),A!==void 0&&b>A?D.next(b-A):(!w&&P(b),h)}}}const La=t=>{const e=({timestamp:n})=>t(n);return{start:()=>V.update(e,!0),stop:()=>N(e),now:()=>I.isProcessing?I.timestamp:performance.now()}},Qe=2e4;function tn(t){let e=0;const n=50;let s=t.next(e);for(;!s.done&&e=Qe?1/0:e}const Ba={decay:us,inertia:us,tween:pe,keyframes:pe,spring:Bn};function Kt({autoplay:t=!0,delay:e=0,driver:n=La,keyframes:s,type:i="keyframes",repeat:o=0,repeatDelay:r=0,repeatType:a="loop",onPlay:c,onStop:u,onComplete:l,onUpdate:f,...h}){let d=1,p=!1,y,x;const T=()=>{x=new Promise(E=>{y=E})};T();let v;const g=Ba[i]||pe;let P;g!==pe&&typeof s[0]!="number"&&(P=we([0,100],s,{clamp:!1}),s=[0,100]);const A=g({...h,keyframes:s});let D;a==="mirror"&&(D=g({...h,keyframes:[...s].reverse(),velocity:-(h.velocity||0)}));let C="idle",b=null,w=null,O=null;A.calculatedDuration===null&&o&&(A.calculatedDuration=tn(A));const{calculatedDuration:H}=A;let X=1/0,G=1/0;H!==null&&(X=H+r,G=X*(o+1)-r);let M=0;const B=E=>{if(w===null)return;d>0&&(w=Math.min(w,E)),d<0&&(w=Math.min(E-G/d,w)),b!==null?M=b:M=Math.round(E-w)*d;const nt=M-e*(d>=0?1:-1),ee=d>=0?nt<0:nt>G;M=Math.max(nt,0),C==="finished"&&b===null&&(M=G);let $n=M,Kn=A;if(o){const Ee=M/X;let ne=Math.floor(Ee),ft=Ee%1;!ft&&Ee>=1&&(ft=1),ft===1&&ne--,ne=Math.min(ne,o+1);const Xn=!!(ne%2);Xn&&(a==="reverse"?(ft=1-ft,r&&(ft-=r/X)):a==="mirror"&&(Kn=D));let Yn=ct(0,1,ft);M>G&&(Yn=a==="reverse"&&Xn?1:0),$n=Yn*X}const Et=ee?{done:!1,value:s[0]}:Kn.next($n);P&&(Et.value=P(Et.value));let{done:_n}=Et;!ee&&H!==null&&(_n=d>=0?M>=G:M<=0);const eo=b===null&&(C==="finished"||C==="running"&&_n);return f&&f(Et.value),eo&&te(),Et},$=()=>{v&&v.stop(),v=void 0},Q=()=>{C="idle",$(),y(),T(),w=O=null},te=()=>{C="finished",l&&l(),$(),y()},Mt=()=>{if(p)return;v||(v=n(B));const E=v.now();c&&c(),b!==null?w=E-b:(!w||C==="finished")&&(w=E),C==="finished"&&T(),O=w,b=null,C="running",v.start()};t&&Mt();const Dt={then(E,nt){return x.then(E,nt)},get time(){return _(M)},set time(E){E=et(E),M=E,b!==null||!v||d===0?b=E:w=v.now()-E/d},get duration(){const E=A.calculatedDuration===null?tn(A):A.calculatedDuration;return _(E)},get speed(){return d},set speed(E){E===d||!v||(d=E,Dt.time=_(M))},get state(){return C},play:Mt,pause:()=>{C="paused",b=M},stop:()=>{p=!0,C!=="idle"&&(C="idle",u&&u(),Q())},cancel:()=>{O!==null&&B(O),Q()},complete:()=>{C="finished"},sample:E=>(w=0,B(E))};return Dt}function rr(t){let e;return()=>(e===void 0&&(e=t()),e)}const Fa=rr(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),Ia=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),ie=10,ka=2e4,Oa=(t,e)=>e.type==="spring"||t==="backgroundColor"||!ki(e.ease);function ja(t,e,{onUpdate:n,onComplete:s,...i}){if(!(Fa()&&Ia.has(e)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let r=!1,a,c;const u=()=>{c=new Promise(v=>{a=v})};u();let{keyframes:l,duration:f=300,ease:h,times:d}=i;if(Oa(e,i)){const v=Kt({...i,repeat:0,delay:0});let g={done:!1,value:l[0]};const P=[];let A=0;for(;!g.done&&Ap.cancel(),x=()=>{V.update(y),a(),u()};return p.onfinish=()=>{t.set(Qo(l,i)),s&&s(),x()},{then(v,g){return c.then(v,g)},attachTimeline(v){return p.timeline=v,p.onfinish=null,L},get time(){return _(p.currentTime||0)},set time(v){p.currentTime=et(v)},get speed(){return p.playbackRate},set speed(v){p.playbackRate=v},get duration(){return _(f)},play:()=>{r||(p.play(),N(y))},pause:()=>p.pause(),stop:()=>{if(r=!0,p.playState==="idle")return;const{currentTime:v}=p;if(v){const g=Kt({...i,autoplay:!1});t.setWithVelocity(g.sample(v-ie).value,g.sample(v).value,ie)}x()},complete:()=>p.finish(),cancel:x}}function Ua({keyframes:t,delay:e,onUpdate:n,onComplete:s}){const i=()=>(n&&n(t[t.length-1]),s&&s(),{time:0,speed:1,duration:0,play:L,pause:L,stop:L,then:o=>(o(),Promise.resolve()),cancel:L,complete:L});return e?Kt({keyframes:[0,1],duration:0,delay:e,onComplete:i}):i()}const Na={type:"spring",stiffness:500,damping:25,restSpeed:10},za=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),Wa={type:"keyframes",duration:.8},Ha={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Ga=(t,{keyframes:e})=>e.length>2?Wa:J.has(t)?t.startsWith("scale")?za(e[1]):Na:Ha,en=(t,e)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(ut.test(e)||e==="0")&&!e.startsWith("url(")),$a=new Set(["brightness","contrast","saturate","opacity"]);function Ka(t){const[e,n]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[s]=n.match(Se)||[];if(!s)return t;const i=n.replace(s,"");let o=$a.has(e)?1:0;return s!==n&&(o*=100),e+"("+o+i+")"}const _a=/([a-z-]*)\(.*?\)/g,nn={...ut,getAnimatableNone:t=>{const e=t.match(_a);return e?e.map(Ka).join(" "):t}},Xa={...yi,color:U,backgroundColor:U,outlineColor:U,fill:U,stroke:U,borderColor:U,borderTopColor:U,borderRightColor:U,borderBottomColor:U,borderLeftColor:U,filter:nn,WebkitFilter:nn},Fn=t=>Xa[t];function or(t,e){let n=Fn(t);return n!==nn&&(n=ut),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const ar=t=>/^0[^.\s]+$/.test(t);function Ya(t){if(typeof t=="number")return t===0;if(t!==null)return t==="none"||t==="0"||ar(t)}function qa(t,e,n,s){const i=en(e,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const r=s.from!==void 0?s.from:t.get();let a;const c=[];for(let u=0;ui=>{const o=cr(s,t)||{},r=o.delay||s.delay||0;let{elapsed:a=0}=s;a=a-et(r);const c=qa(e,t,n,o),u=c[0],l=c[c.length-1],f=en(t,u),h=en(t,l);let d={keyframes:c,velocity:e.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{e.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Za(o)||(d={...d,...Ga(t,d)}),d.duration&&(d.duration=et(d.duration)),d.repeatDelay&&(d.repeatDelay=et(d.repeatDelay)),!f||!h||de.current||o.type===!1)return Ua(de.current?{...d,delay:0}:d);if(e.owner&&e.owner.current instanceof HTMLElement&&!e.owner.getProps().onUpdate){const p=ja(e,t,d);if(p)return p}return Kt(d)};function ge(t){return!!(k(t)&&t.add)}const ur=t=>/^\-?\d*\.?\d+$/.test(t);function Me(t,e){t.indexOf(e)===-1&&t.push(e)}function Ct(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function Ja([...t],e,n){const s=e<0?t.length+e:e;if(s>=0&&sCt(this.subscriptions,e)}notify(e,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](e,n,s);else for(let o=0;o!isNaN(parseFloat(t)),jt={current:void 0};class lr{constructor(e,n={}){this.version="10.16.4",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(s,i=!0)=>{this.prev=this.current,this.current=s;const{delta:o,timestamp:r}=I;this.lastUpdated!==r&&(this.timeDelta=o,this.lastUpdated=r,V.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>V.postRender(this.velocityCheck),this.velocityCheck=({timestamp:s})=>{s!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=Qa(this.current),this.owner=n.owner}onChange(e){return this.on("change",e)}on(e,n){this.events[e]||(this.events[e]=new kn);const s=this.events[e].add(n);return e==="change"?()=>{s(),V.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,n){this.passiveEffect=e,this.stopPassiveEffect=n}set(e,n=!0){!n||!this.passiveEffect?this.updateAndNotify(e,n):this.passiveEffect(e,this.updateAndNotify)}setWithVelocity(e,n,s){this.set(n),this.prev=e,this.timeDelta=s}jump(e){this.updateAndNotify(e),this.prev=e,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return jt.current&&jt.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?Ln(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=e(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function K(t,e){return new lr(t,e)}const fr=t=>e=>e.test(t),tc={test:t=>t==="auto",parse:t=>t},hr=[Pt,S,Z,st,yo,go,tc],Rt=t=>hr.find(fr(t)),ec=[...hr,U,ut],nc=t=>ec.find(fr(t));function sc(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,K(n))}function On(t,e){const n=Ve(t,e);let{transitionEnd:s={},transition:i={},...o}=n?t.makeTargetAnimatable(n,!1):{};o={...o,...s};for(const r in o){const a=Eo(o[r]);sc(t,r,a)}}function sn(t,e){[...e].reverse().forEach(s=>{const i=t.getVariant(s);i&&On(t,i),t.variantChildren&&t.variantChildren.forEach(o=>{sn(o,e)})})}function ic(t,e){if(Array.isArray(e))return sn(t,e);if(typeof e=="string")return sn(t,[e]);On(t,e)}function dr(t,e,n){var s,i;const o=Object.keys(e).filter(a=>!t.hasValue(a)),r=o.length;if(r)for(let a=0;ac.remove(f))),u.push(y)}return r&&Promise.all(u).then(()=>{r&&On(t,r)}),u}function rn(t,e,n={}){const s=Ve(t,e,n.custom);let{transition:i=t.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const o=s?()=>Promise.all(jn(t,s,n)):()=>Promise.resolve(),r=t.variantChildren&&t.variantChildren.size?(c=0)=>{const{delayChildren:u=0,staggerChildren:l,staggerDirection:f}=i;return ac(t,e,u+c,l,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[c,u]=a==="beforeChildren"?[o,r]:[r,o];return c().then(()=>u())}else return Promise.all([o(),r(n.delay)])}function ac(t,e,n=0,s=0,i=1,o){const r=[],a=(t.variantChildren.size-1)*s,c=i===1?(u=0)=>u*s:(u=0)=>a-u*s;return Array.from(t.variantChildren).sort(cc).forEach((u,l)=>{u.notify("AnimationStart",e),r.push(rn(u,e,{...o,delay:n+c(l)}).then(()=>u.notify("AnimationComplete",e)))}),Promise.all(r)}function cc(t,e){return t.sortNodePosition(e)}function Un(t,e,n={}){t.notify("AnimationStart",e);let s;if(Array.isArray(e)){const i=e.map(o=>rn(t,o,n));s=Promise.all(i)}else if(typeof e=="string")s=rn(t,e,n);else{const i=typeof e=="function"?Ve(t,e,n.custom):e;s=Promise.all(jn(t,i,n))}return s.then(()=>t.notify("AnimationComplete",e))}const uc=[...pn].reverse(),lc=pn.length;function fc(t){return e=>Promise.all(e.map(({animation:n,options:s})=>Un(t,n,s)))}function hc(t){let e=fc(t);const n=mc();let s=!0;const i=(c,u)=>{const l=Ve(t,u);if(l){const{transition:f,transitionEnd:h,...d}=l;c={...c,...d,...h}}return c};function o(c){e=c(t)}function r(c,u){const l=t.getProps(),f=t.getVariantContext(!0)||{},h=[],d=new Set;let p={},y=1/0;for(let T=0;Ty&&A;const O=Array.isArray(P)?P:[P];let H=O.reduce(i,{});D===!1&&(H={});const{prevResolvedValues:X={}}=g,G={...X,...H},M=B=>{w=!0,d.delete(B),g.needsAnimating[B]=!0};for(const B in G){const $=H[B],Q=X[B];p.hasOwnProperty(B)||($!==Q?he($)&&he(Q)?!Li($,Q)||b?M(B):g.protectedKeys[B]=!0:$!==void 0?M(B):d.add(B):$!==void 0&&d.has(B)?M(B):g.protectedKeys[B]=!0)}g.prevProp=P,g.prevResolvedValues=H,g.isActive&&(p={...p,...H}),s&&t.blockInitialAnimation&&(w=!1),w&&!C&&h.push(...O.map(B=>({animation:B,options:{type:v,...c}})))}if(d.size){const T={};d.forEach(v=>{const g=t.getBaseTarget(v);g!==void 0&&(T[v]=g)}),h.push({animation:T})}let x=!!h.length;return s&&l.initial===!1&&!t.manuallyAnimateOnMount&&(x=!1),s=!1,x?e(h):Promise.resolve()}function a(c,u,l){var f;if(n[c].isActive===u)return Promise.resolve();(f=t.variantChildren)===null||f===void 0||f.forEach(d=>{var p;return(p=d.animationState)===null||p===void 0?void 0:p.setActive(c,u)}),n[c].isActive=u;const h=r(l,c);for(const d in n)n[d].protectedKeys={};return h}return{animateChanges:r,setActive:a,setAnimateFunction:o,getState:()=>n}}function dc(t,e){return typeof e=="string"?e!==t:Array.isArray(e)?!Li(e,t):!1}function ht(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function mc(){return{animate:ht(!0),whileInView:ht(),whileHover:ht(),whileTap:ht(),whileDrag:ht(),whileFocus:ht(),exit:ht()}}class pc extends lt{constructor(e){super(e),e.animationState||(e.animationState=hc(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();this.unmount(),Te(e)&&(this.unmount=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:n}=this.node.prevProps||{};e!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let gc=0;class yc extends lt{constructor(){super(...arguments),this.id=gc++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:n,custom:s}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===i)return;const o=this.node.animationState.setActive("exit",!e,{custom:s??this.node.getProps().custom});n&&!e&&o.then(()=>n(this.id))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}const pr={animation:{Feature:pc},exit:{Feature:yc}},ls=(t,e)=>Math.abs(t-e);function vc(t,e){const n=ls(t.x,e.x),s=ls(t.y,e.y);return Math.sqrt(n**2+s**2)}class gr{constructor(e,n,{transformPagePoint:s}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=Ne(this.lastMoveEventInfo,this.history),l=this.startEvent!==null,f=vc(u.offset,{x:0,y:0})>=3;if(!l&&!f)return;const{point:h}=u,{timestamp:d}=I;this.history.push({...h,timestamp:d});const{onStart:p,onMove:y}=this.handlers;l||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),y&&y(this.lastMoveEvent,u)},this.handlePointerMove=(u,l)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=Ue(l,this.transformPagePoint),V.update(this.updatePoint,!0)},this.handlePointerUp=(u,l)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:h}=this.handlers,d=Ne(u.type==="pointercancel"?this.lastMoveEventInfo:Ue(l,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,d),h&&h(u,d)},!Ci(e))return;this.handlers=n,this.transformPagePoint=s;const i=Ae(e),o=Ue(i,this.transformPagePoint),{point:r}=o,{timestamp:a}=I;this.history=[{...r,timestamp:a}];const{onSessionStart:c}=n;c&&c(e,Ne(o,this.history)),this.removeListeners=ot(tt(window,"pointermove",this.handlePointerMove),tt(window,"pointerup",this.handlePointerUp),tt(window,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),N(this.updatePoint)}}function Ue(t,e){return e?{point:e(t.point)}:t}function fs(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Ne({point:t},e){return{point:t,delta:fs(t,yr(e)),offset:fs(t,xc(e)),velocity:Pc(e,.1)}}function xc(t){return t[0]}function yr(t){return t[t.length-1]}function Pc(t,e){if(t.length<2)return{x:0,y:0};let n=t.length-1,s=null;const i=yr(t);for(;n>=0&&(s=t[n],!(i.timestamp-s.timestamp>et(e)));)n--;if(!s)return{x:0,y:0};const o=_(i.timestamp-s.timestamp);if(o===0)return{x:0,y:0};const r={x:(i.x-s.x)/o,y:(i.y-s.y)/o};return r.x===1/0&&(r.x=0),r.y===1/0&&(r.y=0),r}function z(t){return t.max-t.min}function on(t,e=0,n=.01){return Math.abs(t-e)<=n}function hs(t,e,n,s=.5){t.origin=s,t.originPoint=R(e.min,e.max,t.origin),t.scale=z(n)/z(e),(on(t.scale,1,1e-4)||isNaN(t.scale))&&(t.scale=1),t.translate=R(n.min,n.max,t.origin)-t.originPoint,(on(t.translate)||isNaN(t.translate))&&(t.translate=0)}function Ut(t,e,n,s){hs(t.x,e.x,n.x,s?s.originX:void 0),hs(t.y,e.y,n.y,s?s.originY:void 0)}function ds(t,e,n){t.min=n.min+e.min,t.max=t.min+z(e)}function Tc(t,e,n){ds(t.x,e.x,n.x),ds(t.y,e.y,n.y)}function ms(t,e,n){t.min=e.min-n.min,t.max=t.min+z(e)}function Nt(t,e,n){ms(t.x,e.x,n.x),ms(t.y,e.y,n.y)}function bc(t,{min:e,max:n},s){return e!==void 0&&tn&&(t=s?R(n,t,s.max):Math.min(t,n)),t}function ps(t,e,n){return{min:e!==void 0?t.min+e:void 0,max:n!==void 0?t.max+n-(t.max-t.min):void 0}}function Sc(t,{top:e,left:n,bottom:s,right:i}){return{x:ps(t.x,n,i),y:ps(t.y,e,s)}}function gs(t,e){let n=e.min-t.min,s=e.max-t.max;return e.max-e.mins?n=yt(e.min,e.max-s,t.min):s>i&&(n=yt(t.min,t.max-i,e.min)),ct(0,1,n)}function Cc(t,e){const n={};return e.min!==void 0&&(n.min=e.min-t.min),e.max!==void 0&&(n.max=e.max-t.min),n}const an=.35;function wc(t=an){return t===!1?t=0:t===!0&&(t=an),{x:ys(t,"left","right"),y:ys(t,"top","bottom")}}function ys(t,e,n){return{min:vs(t,e),max:vs(t,n)}}function vs(t,e){return typeof t=="number"?t:t[e]||0}const xs=()=>({translate:0,scale:1,origin:0,originPoint:0}),At=()=>({x:xs(),y:xs()}),Ps=()=>({min:0,max:0}),F=()=>({x:Ps(),y:Ps()});function Y(t){return[t("x"),t("y")]}function vr({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}function Mc({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}function Dc(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function ze(t){return t===void 0||t===1}function cn({scale:t,scaleX:e,scaleY:n}){return!ze(t)||!ze(e)||!ze(n)}function dt(t){return cn(t)||xr(t)||t.z||t.rotate||t.rotateX||t.rotateY}function xr(t){return Ts(t.x)||Ts(t.y)}function Ts(t){return t&&t!=="0%"}function ye(t,e,n){const s=t-n,i=e*s;return n+i}function bs(t,e,n,s,i){return i!==void 0&&(t=ye(t,i,s)),ye(t,n,s)+e}function un(t,e=0,n=1,s,i){t.min=bs(t.min,e,n,s,i),t.max=bs(t.max,e,n,s,i)}function Pr(t,{x:e,y:n}){un(t.x,e.translate,e.scale,e.originPoint),un(t.y,n.translate,n.scale,n.originPoint)}function Ec(t,e,n,s=!1){const i=n.length;if(!i)return;e.x=e.y=1;let o,r;for(let a=0;a1.0000000000001||t<.999999999999?t:1}function rt(t,e){t.min=t.min+e,t.max=t.max+e}function As(t,e,[n,s,i]){const o=e[i]!==void 0?e[i]:.5,r=R(t.min,t.max,o);un(t,e[n],e[s],r,e.scale)}const Rc=["x","scaleX","originX"],Lc=["y","scaleY","originY"];function Vt(t,e){As(t.x,e,Rc),As(t.y,e,Lc)}function Tr(t,e){return vr(Dc(t.getBoundingClientRect(),e))}function Bc(t,e,n){const s=Tr(t,n),{scroll:i}=e;return i&&(rt(s.x,i.offset.x),rt(s.y,i.offset.y)),s}const Fc=new WeakMap;class Ic{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=F(),this.visualElement=e}start(e,{snapToCursor:n=!1}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=c=>{this.stopAnimation(),n&&this.snapToCursor(Ae(c,"page").point)},o=(c,u)=>{const{drag:l,dragPropagation:f,onDragStart:h}=this.getProps();if(l&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=Mi(l),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Y(p=>{let y=this.getAxisMotionValue(p).get()||0;if(Z.test(y)){const{projection:x}=this.visualElement;if(x&&x.layout){const T=x.layout.layoutBox[p];T&&(y=z(T)*(parseFloat(y)/100))}}this.originPoint[p]=y}),h&&V.update(()=>h(c,u),!1,!0);const{animationState:d}=this.visualElement;d&&d.setActive("whileDrag",!0)},r=(c,u)=>{const{dragPropagation:l,dragDirectionLock:f,onDirectionLock:h,onDrag:d}=this.getProps();if(!l&&!this.openGlobalLock)return;const{offset:p}=u;if(f&&this.currentDirection===null){this.currentDirection=kc(p),this.currentDirection!==null&&h&&h(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),d&&d(c,u)},a=(c,u)=>this.stop(c,u);this.panSession=new gr(e,{onSessionStart:i,onStart:o,onMove:r,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(e,n){const s=this.isDragging;if(this.cancel(),!s)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&V.update(()=>o(e,n))}cancel(){this.isDragging=!1;const{projection:e,animationState:n}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:s}=this.getProps();!s&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(e,n,s){const{drag:i}=this.getProps();if(!s||!re(e,i,this.currentDirection))return;const o=this.getAxisMotionValue(e);let r=this.originPoint[e]+s[e];this.constraints&&this.constraints[e]&&(r=bc(r,this.constraints[e],this.elastic[e])),o.set(r)}resolveConstraints(){const{dragConstraints:e,dragElastic:n}=this.getProps(),{layout:s}=this.visualElement.projection||{},i=this.constraints;e&&bt(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&s?this.constraints=Sc(s.layoutBox,e):this.constraints=!1,this.elastic=wc(n),i!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&Y(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Cc(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:n}=this.getProps();if(!e||!bt(e))return!1;const s=e.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=Bc(s,i.root,this.visualElement.getTransformPagePoint());let r=Ac(i.layout.layoutBox,o);if(n){const a=n(Mc(r));this.hasMutatedConstraints=!!a,a&&(r=vr(a))}return r}startAnimation(e){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:o,dragSnapToOrigin:r,onDragTransitionEnd:a}=this.getProps(),c=this.constraints||{},u=Y(l=>{if(!re(l,n,this.currentDirection))return;let f=c&&c[l]||{};r&&(f={min:0,max:0});const h=i?200:1e6,d=i?40:1e7,p={type:"inertia",velocity:s?e[l]:0,bounceStiffness:h,bounceDamping:d,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(l,p)});return Promise.all(u).then(a)}startAxisValueAnimation(e,n){const s=this.getAxisMotionValue(e);return s.start(In(e,s,0,n))}stopAnimation(){Y(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const n="_drag"+e.toUpperCase(),s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(e,(s.initial?s.initial[e]:void 0)||0)}snapToCursor(e){Y(n=>{const{drag:s}=this.getProps();if(!re(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:r,max:a}=i.layout.layoutBox[n];o.set(e[n]-R(r,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!bt(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Y(r=>{const a=this.getAxisMotionValue(r);if(a){const c=a.get();i[r]=Vc({min:c,max:c},this.constraints[r])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Y(r=>{if(!re(r,e,null))return;const a=this.getAxisMotionValue(r),{min:c,max:u}=this.constraints[r];a.set(R(c,u,i[r]))})}addListeners(){if(!this.visualElement.current)return;Fc.set(this.visualElement,this);const e=this.visualElement.current,n=tt(e,"pointerdown",c=>{const{drag:u,dragListener:l=!0}=this.getProps();u&&l&&this.start(c)}),s=()=>{const{dragConstraints:c}=this.getProps();bt(c)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),s();const r=q(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(Y(l=>{const f=this.getAxisMotionValue(l);f&&(this.originPoint[l]+=c[l].translate,f.set(f.get()+c[l].translate))}),this.visualElement.render())});return()=>{r(),n(),o(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:r=an,dragMomentum:a=!0}=e;return{...e,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:o,dragElastic:r,dragMomentum:a}}}function re(t,e,n){return(e===!0||e===t)&&(n===null||n===t)}function kc(t,e=10){let n=null;return Math.abs(t.y)>e?n="y":Math.abs(t.x)>e&&(n="x"),n}class Oc extends lt{constructor(e){super(e),this.removeGroupControls=L,this.removeListeners=L,this.controls=new Ic(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||L}unmount(){this.removeGroupControls(),this.removeListeners()}}const Vs=t=>(e,n)=>{t&&V.update(()=>t(e,n))};class jc extends lt{constructor(){super(...arguments),this.removePointerDownListener=L}onPointerDown(e){this.session=new gr(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:Vs(e),onStart:Vs(n),onMove:s,onEnd:(o,r)=>{delete this.session,i&&V.update(()=>i(o,r))}}}mount(){this.removePointerDownListener=tt(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function Uc(){const t=m.useContext(Yt);if(t===null)return[!0,null];const{isPresent:e,onExitComplete:n,register:s}=t,i=m.useId();return m.useEffect(()=>s(i),[]),!e&&n?[!1,()=>n&&n(i)]:[!0]}function lf(){return Nc(m.useContext(Yt))}function Nc(t){return t===null?!0:t.isPresent}const ae={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Cs(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const Lt={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(S.test(t))t=parseFloat(t);else return t;const n=Cs(t,e.target.x),s=Cs(t,e.target.y);return`${n}% ${s}%`}},zc={correct:(t,{treeScale:e,projectionDelta:n})=>{const s=t,i=ut.parse(t);if(i.length>5)return s;const o=ut.createTransformer(t),r=typeof i[0]!="number"?1:0,a=n.x.scale*e.x,c=n.y.scale*e.y;i[0+r]/=a,i[1+r]/=c;const u=R(a,c,.5);return typeof i[2+r]=="number"&&(i[2+r]/=u),typeof i[3+r]=="number"&&(i[3+r]/=u),o(i)}};class Wc extends ui.Component{componentDidMount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:o}=e;co(Hc),o&&(n.group&&n.group.add(o),s&&s.register&&i&&s.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),ae.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:n,visualElement:s,drag:i,isPresent:o}=this.props,r=s.projection;return r&&(r.isPresent=o,i||e.layoutDependency!==n||n===void 0?r.willUpdate():this.safeToRemove(),e.isPresent!==o&&(o?r.promote():r.relegate()||V.postRender(()=>{const a=r.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),queueMicrotask(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=e;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function br(t){const[e,n]=Uc(),s=m.useContext(Gt);return ui.createElement(Wc,{...t,layoutGroup:s,switchLayoutGroup:m.useContext(fi),isPresent:e,safeToRemove:n})}const Hc={borderRadius:{...Lt,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Lt,borderTopRightRadius:Lt,borderBottomLeftRadius:Lt,borderBottomRightRadius:Lt,boxShadow:zc},Sr=["TopLeft","TopRight","BottomLeft","BottomRight"],Gc=Sr.length,ws=t=>typeof t=="string"?parseFloat(t):t,Ms=t=>typeof t=="number"||S.test(t);function $c(t,e,n,s,i,o){i?(t.opacity=R(0,n.opacity!==void 0?n.opacity:1,Kc(s)),t.opacityExit=R(e.opacity!==void 0?e.opacity:1,0,_c(s))):o&&(t.opacity=R(e.opacity!==void 0?e.opacity:1,n.opacity!==void 0?n.opacity:1,s));for(let r=0;rse?1:n(yt(t,e,s))}function Es(t,e){t.min=e.min,t.max=e.max}function W(t,e){Es(t.x,e.x),Es(t.y,e.y)}function Rs(t,e,n,s,i){return t-=e,t=ye(t,1/n,s),i!==void 0&&(t=ye(t,1/i,s)),t}function Xc(t,e=0,n=1,s=.5,i,o=t,r=t){if(Z.test(e)&&(e=parseFloat(e),e=R(r.min,r.max,e/100)-r.min),typeof e!="number")return;let a=R(o.min,o.max,s);t===o&&(a-=e),t.min=Rs(t.min,e,n,a,i),t.max=Rs(t.max,e,n,a,i)}function Ls(t,e,[n,s,i],o,r){Xc(t,e[n],e[s],e[i],e.scale,o,r)}const Yc=["x","scaleX","originX"],qc=["y","scaleY","originY"];function Bs(t,e,n,s){Ls(t.x,e,Yc,n?n.x:void 0,s?s.x:void 0),Ls(t.y,e,qc,n?n.y:void 0,s?s.y:void 0)}function Fs(t){return t.translate===0&&t.scale===1}function Vr(t){return Fs(t.x)&&Fs(t.y)}function Zc(t,e){return t.x.min===e.x.min&&t.x.max===e.x.max&&t.y.min===e.y.min&&t.y.max===e.y.max}function Cr(t,e){return Math.round(t.x.min)===Math.round(e.x.min)&&Math.round(t.x.max)===Math.round(e.x.max)&&Math.round(t.y.min)===Math.round(e.y.min)&&Math.round(t.y.max)===Math.round(e.y.max)}function Is(t){return z(t.x)/z(t.y)}class Jc{constructor(){this.members=[]}add(e){Me(this.members,e),e.scheduleRender()}remove(e){if(Ct(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(e){const n=this.members.findIndex(i=>e===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){s=o;break}}return s?(this.promote(s),!0):!1}promote(e,n){const s=this.lead;if(e!==s&&(this.prevLead=s,this.lead=e,e.show(),s)){s.instance&&s.scheduleRender(),e.scheduleRender(),e.resumeFrom=s,n&&(e.resumeFrom.preserveOpacity=!0),s.snapshot&&(e.snapshot=s.snapshot,e.snapshot.latestValues=s.animationValues||s.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:i}=e.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:n,resumingFrom:s}=e;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function ks(t,e,n){let s="";const i=t.x.translate/e.x,o=t.y.translate/e.y;if((i||o)&&(s=`translate3d(${i}px, ${o}px, 0) `),(e.x!==1||e.y!==1)&&(s+=`scale(${1/e.x}, ${1/e.y}) `),n){const{rotate:c,rotateX:u,rotateY:l}=n;c&&(s+=`rotate(${c}deg) `),u&&(s+=`rotateX(${u}deg) `),l&&(s+=`rotateY(${l}deg) `)}const r=t.x.scale*e.x,a=t.y.scale*e.y;return(r!==1||a!==1)&&(s+=`scale(${r}, ${a})`),s||"none"}const Qc=(t,e)=>t.depth-e.depth;class tu{constructor(){this.children=[],this.isDirty=!1}add(e){Me(this.children,e),this.isDirty=!0}remove(e){Ct(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Qc),this.isDirty=!1,this.children.forEach(e)}}function eu(t,e){const n=performance.now(),s=({timestamp:i})=>{const o=i-n;o>=e&&(N(s),t(o-e))};return V.read(s,!0),()=>N(s)}function nu(t){window.MotionDebug&&window.MotionDebug.record(t)}function wr(t){return t instanceof SVGElement&&t.tagName!=="svg"}function Nn(t,e,n){const s=k(t)?t:K(t);return s.start(In("",s,e,n)),s.animation}const Os=["","X","Y","Z"],js=1e3;let su=0;const mt={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function Mr({attachResizeListener:t,defaultParent:e,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(r={},a=e==null?void 0:e()){this.id=su++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{mt.totalNodes=mt.resolvedTargetDeltas=mt.recalculatedProjection=0,this.nodes.forEach(ou),this.nodes.forEach(fu),this.nodes.forEach(hu),this.nodes.forEach(au),nu(mt)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=r,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;t(r,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=eu(h,250),ae.hasAnimatedSinceResize&&(ae.hasAnimatedSinceResize=!1,this.nodes.forEach(Ns))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&l&&(c||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:d,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const y=this.options.transition||l.getDefaultTransition()||yu,{onLayoutAnimationStart:x,onLayoutAnimationComplete:T}=l.getProps(),v=!this.targetLayout||!Cr(this.targetLayout,p)||d,g=!h&&d;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||h&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,g);const P={...cr(y,"layout"),onPlay:x,onComplete:T};(l.shouldReduceMotion||this.options.layoutRoot)&&(P.delay=0,P.type=!1),this.startAnimation(P)}else h||Ns(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const r=this.getStack();r&&r.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,N(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(du),this.animationId++)}getTransformTemplate(){const{visualElement:r}=this.options;return r&&r.getProps().transformTemplate}willUpdate(r=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let l=0;lthis.update()))}clearAllSnapshots(){this.nodes.forEach(cu),this.sharedNodes.forEach(mu)}scheduleUpdateProjection(){V.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){V.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c{const A=P/1e3;zs(f.x,r.x,A),zs(f.y,r.y,A),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nt(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),pu(this.relativeTarget,this.relativeTargetOrigin,h,A),g&&Zc(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=F()),W(g,this.relativeTarget)),y&&(this.animationValues=l,$c(l,u,this.latestValues,A,v,T)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=A},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(r){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(N(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=V.update(()=>{ae.hasAnimatedSinceResize=!0,this.currentAnimation=Nn(0,js,{...r,onUpdate:a=>{this.mixTargetDelta(a),r.onUpdate&&r.onUpdate(a)},onComplete:()=>{r.onComplete&&r.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const r=this.getStack();r&&r.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(js),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const r=this.getLead();let{targetWithTransforms:a,target:c,layout:u,latestValues:l}=r;if(!(!a||!c||!u)){if(this!==r&&this.layout&&u&&Dr(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||F();const f=z(this.layout.layoutBox.x);c.x.min=r.target.x.min,c.x.max=c.x.min+f;const h=z(this.layout.layoutBox.y);c.y.min=r.target.y.min,c.y.max=c.y.min+h}W(a,c),Vt(a,l),Ut(this.projectionDeltaWithTransform,this.layoutCorrected,a,l)}}registerSharedNode(r,a){this.sharedNodes.has(r)||this.sharedNodes.set(r,new Jc),this.sharedNodes.get(r).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const r=this.getStack();return r?r.lead===this:!0}getLead(){var r;const{layoutId:a}=this.options;return a?((r=this.getStack())===null||r===void 0?void 0:r.lead)||this:this}getPrevLead(){var r;const{layoutId:a}=this.options;return a?(r=this.getStack())===null||r===void 0?void 0:r.prevLead:void 0}getStack(){const{layoutId:r}=this.options;if(r)return this.root.sharedNodes.get(r)}promote({needsReset:r,transition:a,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),r&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const r=this.getStack();return r?r.relegate(this):!1}resetRotation(){const{visualElement:r}=this.options;if(!r)return;let a=!1;const{latestValues:c}=r;if((c.rotate||c.rotateX||c.rotateY||c.rotateZ)&&(a=!0),!a)return;const u={};for(let l=0;l{var a;return(a=r.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(Us),this.root.sharedNodes.clear()}}}function iu(t){t.updateLayout()}function ru(t){var e;const n=((e=t.resumeFrom)===null||e===void 0?void 0:e.snapshot)||t.snapshot;if(t.isLead()&&t.layout&&n&&t.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:i}=t.layout,{animationType:o}=t.options,r=n.source!==t.layout.source;o==="size"?Y(f=>{const h=r?n.measuredBox[f]:n.layoutBox[f],d=z(h);h.min=s[f].min,h.max=h.min+d}):Dr(o,n.layoutBox,s)&&Y(f=>{const h=r?n.measuredBox[f]:n.layoutBox[f],d=z(s[f]);h.max=h.min+d,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[f].max=t.relativeTarget[f].min+d)});const a=At();Ut(a,s,n.layoutBox);const c=At();r?Ut(c,t.applyTransform(i,!0),n.measuredBox):Ut(c,s,n.layoutBox);const u=!Vr(a);let l=!1;if(!t.resumeFrom){const f=t.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:d}=f;if(h&&d){const p=F();Nt(p,n.layoutBox,h.layoutBox);const y=F();Nt(y,s,d.layoutBox),Cr(p,y)||(l=!0),f.options.layoutRoot&&(t.relativeTarget=y,t.relativeTargetOrigin=p,t.relativeParent=f)}}}t.notifyListeners("didUpdate",{layout:s,snapshot:n,delta:c,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:l})}else if(t.isLead()){const{onExitComplete:s}=t.options;s&&s()}t.options.transition=void 0}function ou(t){mt.totalNodes++,t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function au(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function cu(t){t.clearSnapshot()}function Us(t){t.clearMeasurements()}function uu(t){t.isLayoutDirty=!1}function lu(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function Ns(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function fu(t){t.resolveTargetDelta()}function hu(t){t.calcProjection()}function du(t){t.resetRotation()}function mu(t){t.removeLeadSnapshot()}function zs(t,e,n){t.translate=R(e.translate,0,n),t.scale=R(e.scale,1,n),t.origin=e.origin,t.originPoint=e.originPoint}function Ws(t,e,n,s){t.min=R(e.min,n.min,s),t.max=R(e.max,n.max,s)}function pu(t,e,n,s){Ws(t.x,e.x,n.x,s),Ws(t.y,e.y,n.y,s)}function gu(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const yu={duration:.45,ease:[.4,0,.1,1]},Hs=t=>typeof navigator<"u"&&navigator.userAgent.toLowerCase().includes(t),Gs=Hs("applewebkit/")&&!Hs("chrome/")?Math.round:L;function $s(t){t.min=Gs(t.min),t.max=Gs(t.max)}function vu(t){$s(t.x),$s(t.y)}function Dr(t,e,n){return t==="position"||t==="preserve-aspect"&&!on(Is(e),Is(n),.2)}const xu=Mr({attachResizeListener:(t,e)=>q(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),gt={current:void 0},Er=Mr({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!gt.current){const t=new xu({});t.mount(window),t.setOptions({layoutScroll:!0}),gt.current=t}return gt.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),Rr={pan:{Feature:jc},drag:{Feature:Oc,ProjectionNode:Er,MeasureLayout:br}},Pu=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function Tu(t){const e=Pu.exec(t);if(!e)return[,];const[,n,s]=e;return[n,s]}function ln(t,e,n=1){const[s,i]=Tu(t);if(!s)return;const o=window.getComputedStyle(e).getPropertyValue(s);if(o){const r=o.trim();return ur(r)?parseFloat(r):r}else return _e(i)?ln(i,e,n+1):i}function bu(t,{...e},n){const s=t.current;if(!(s instanceof Element))return{target:e,transitionEnd:n};n&&(n={...n}),t.values.forEach(i=>{const o=i.get();if(!_e(o))return;const r=ln(o,s);r&&i.set(r)});for(const i in e){const o=e[i];if(!_e(o))continue;const r=ln(o,s);r&&(e[i]=r,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:e,transitionEnd:n}}const Su=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Lr=t=>Su.has(t),Au=t=>Object.keys(t).some(Lr),Ks=t=>t===Pt||t===S,_s=(t,e)=>parseFloat(t.split(", ")[e]),Xs=(t,e)=>(n,{transform:s})=>{if(s==="none"||!s)return 0;const i=s.match(/^matrix3d\((.+)\)$/);if(i)return _s(i[1],e);{const o=s.match(/^matrix\((.+)\)$/);return o?_s(o[1],t):0}},Vu=new Set(["x","y","z"]),Cu=qt.filter(t=>!Vu.has(t));function wu(t){const e=[];return Cu.forEach(n=>{const s=t.getValue(n);s!==void 0&&(e.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),e.length&&t.render(),e}const wt={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:Xs(4,13),y:Xs(5,14)};wt.translateX=wt.x;wt.translateY=wt.y;const Mu=(t,e,n)=>{const s=e.measureViewportBox(),i=e.current,o=getComputedStyle(i),{display:r}=o,a={};r==="none"&&e.setStaticValue("display",t.display||"block"),n.forEach(u=>{a[u]=wt[u](s,o)}),e.render();const c=e.measureViewportBox();return n.forEach(u=>{const l=e.getValue(u);l&&l.jump(a[u]),t[u]=wt[u](c,o)}),t},Du=(t,e,n={},s={})=>{e={...e},s={...s};const i=Object.keys(e).filter(Lr);let o=[],r=!1;const a=[];if(i.forEach(c=>{const u=t.getValue(c);if(!t.hasValue(c))return;let l=n[c],f=Rt(l);const h=e[c];let d;if(he(h)){const p=h.length,y=h[0]===null?1:0;l=h[y],f=Rt(l);for(let x=y;x=0?window.pageYOffset:null,u=Mu(e,t,a);return o.length&&o.forEach(([l,f])=>{t.getValue(l).set(f)}),t.render(),Pe&&c!==null&&window.scrollTo({top:c}),{target:u,transitionEnd:s}}else return{target:e,transitionEnd:s}};function Eu(t,e,n,s){return Au(e)?Du(t,e,n,s):{target:e,transitionEnd:s}}const Ru=(t,e,n,s)=>{const i=bu(t,e,s);return e=i.target,s=i.transitionEnd,Eu(t,e,n,s)},ve={current:null},zn={current:!1};function Br(){if(zn.current=!0,!!Pe)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>ve.current=t.matches;t.addListener(e),e()}else ve.current=!1}function Lu(t,e,n){const{willChange:s}=e;for(const i in e){const o=e[i],r=n[i];if(k(o))t.addValue(i,o),ge(s)&&s.add(i);else if(k(r))t.addValue(i,K(o,{owner:t})),ge(s)&&s.remove(i);else if(r!==o)if(t.hasValue(i)){const a=t.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=t.getStaticValue(i);t.addValue(i,K(a!==void 0?a:o,{owner:t}))}}for(const i in n)e[i]===void 0&&t.removeValue(i);return e}const _t=new WeakMap,Fr=Object.keys(Ht),Bu=Fr.length,Ys=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Fu=gn.length;class Ir{constructor({parent:e,props:n,presenceContext:s,reducedMotionConfig:i,visualState:o},r={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>V.render(this.render,!1,!0);const{latestValues:a,renderState:c}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=c,this.parent=e,this.props=n,this.presenceContext=s,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.options=r,this.isControllingVariants=be(n),this.isVariantNode=li(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:u,...l}=this.scrapeMotionValuesFromProps(n,{});for(const f in l){const h=l[f];a[f]!==void 0&&k(h)&&(h.set(a[f],!1),ge(u)&&u.add(f))}}scrapeMotionValuesFromProps(e,n){return{}}mount(e){this.current=e,_t.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),zn.current||Br(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:ve.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){_t.delete(this.current),this.projection&&this.projection.unmount(),N(this.notifyUpdate),N(this.render),this.valueSubscriptions.forEach(e=>e()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features)this.features[e].unmount();this.current=null}bindToMotionValue(e,n){const s=J.has(e),i=n.on("change",r=>{this.latestValues[e]=r,this.props.onUpdate&&V.update(this.notifyUpdate,!1,!0),s&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,()=>{i(),o()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}loadFeatures({children:e,...n},s,i,o){let r,a;for(let c=0;cthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:h,layoutRoot:d})}return a}updateFeatures(){for(const e in this.features){const n=this.features[e];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):F()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}makeTargetAnimatable(e,n=!0){return this.makeTargetAnimatableFromInstance(e,this.props,n)}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;sn.variantChildren.delete(e)}addValue(e,n){n!==this.values.get(e)&&(this.removeValue(e),this.bindToMotionValue(e,n)),this.values.set(e,n),this.latestValues[e]=n.get()}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let s=this.values.get(e);return s===void 0&&n!==void 0&&(s=K(n,{owner:this}),this.addValue(e,s)),s}readValue(e){var n;return this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:(n=this.getBaseTargetFromProps(this.props,e))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,e,this.options)}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){var n;const{initial:s}=this.props,i=typeof s=="string"||typeof s=="object"?(n=Vn(this.props,s))===null||n===void 0?void 0:n[e]:void 0;if(s&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,e);return o!==void 0&&!k(o)?o:this.initialValues[e]!==void 0&&i===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new kn),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}}class kr extends Ir{sortInstanceNodePosition(e,n){return e.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(e,n){return e.style?e.style[n]:void 0}removeValueFromRenderState(e,{vars:n,style:s}){delete n[e],delete s[e]}makeTargetAnimatableFromInstance({transition:e,transitionEnd:n,...s},{transformValues:i},o){let r=mr(s,e||{},this);if(i&&(n&&(n=i(n)),s&&(s=i(s)),r&&(r=i(r))),o){dr(this,s,r);const a=Ru(this,s,r,n);n=a.transitionEnd,s=a.target}return{transition:e,transitionEnd:n,...s}}}function Iu(t){return window.getComputedStyle(t)}class Or extends kr{readValueFromInstance(e,n){if(J.has(n)){const s=Fn(n);return s&&s.default||0}else{const s=Iu(e),i=(xn(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(e,{transformPagePoint:n}){return Tr(e,n)}build(e,n,s,i){Pn(e,n,s,i.transformTemplate)}scrapeMotionValuesFromProps(e,n){return An(e,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;k(e)&&(this.childSubscription=e.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(e,n,s,i){bi(e,n,s,i)}}class jr extends kr{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,n){return e[n]}readValueFromInstance(e,n){if(J.has(n)){const s=Fn(n);return s&&s.default||0}return n=Si.has(n)?n:$t(n),e.getAttribute(n)}measureInstanceViewportBox(){return F()}scrapeMotionValuesFromProps(e,n){return Vi(e,n)}build(e,n,s,i){bn(e,n,s,this.isSVGTag,i.transformTemplate)}renderInstance(e,n,s,i){Ai(e,n,s,i)}mount(e){this.isSVGTag=Sn(e.tagName),super.mount(e)}}const Wn=(t,e)=>vn(t)?new jr(e,{enableHardwareAcceleration:!1}):new Or(e,{enableHardwareAcceleration:!0}),Ur={layout:{ProjectionNode:Er,MeasureLayout:br}},Nr={...pr,...Ri,...Rr,...Ur},zr=di((t,e)=>wn(t,e,Nr,Wn));function hf(t){return hi(wn(t,{forwardMotionProps:!1},Nr,Wn))}const df=di(wn);function Wr(){const t=m.useRef(!1);return xt(()=>(t.current=!0,()=>{t.current=!1}),[]),t}function Hn(){const t=Wr(),[e,n]=m.useState(0),s=m.useCallback(()=>{t.current&&n(e+1)},[e]);return[m.useCallback(()=>V.postRender(s),[s]),e]}class ku extends m.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Ou({children:t,isPresent:e}){const n=m.useId(),s=m.useRef(null),i=m.useRef({width:0,height:0,top:0,left:0});return m.useInsertionEffect(()=>{const{width:o,height:r,top:a,left:c}=i.current;if(e||!s.current||!o||!r)return;s.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + [data-motion-pop-id="${n}"] { + position: absolute !important; + width: ${o}px !important; + height: ${r}px !important; + top: ${a}px !important; + left: ${c}px !important; + } + `),()=>{document.head.removeChild(u)}},[e]),m.createElement(ku,{isPresent:e,childRef:s,sizeRef:i},m.cloneElement(t,{ref:s}))}const We=({children:t,initial:e,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:o,mode:r})=>{const a=j(ju),c=m.useId(),u=m.useMemo(()=>({id:c,initial:e,isPresent:n,custom:i,onExitComplete:l=>{a.set(l,!0);for(const f of a.values())if(!f)return;s&&s()},register:l=>(a.set(l,!1),()=>a.delete(l))}),o?void 0:[n]);return m.useMemo(()=>{a.forEach((l,f)=>a.set(f,!1))},[n]),m.useEffect(()=>{!n&&!a.size&&s&&s()},[n]),r==="popLayout"&&(t=m.createElement(Ou,{isPresent:n},t)),m.createElement(Yt.Provider,{value:u},t)};function ju(){return new Map}function Hr(t){return m.useEffect(()=>()=>t(),[])}const Tt=t=>t.key||"";function Uu(t,e){t.forEach(n=>{const s=Tt(n);e.set(s,n)})}function Nu(t){const e=[];return m.Children.forEach(t,n=>{m.isValidElement(n)&&e.push(n)}),e}const mf=({children:t,custom:e,initial:n=!0,onExitComplete:s,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:r="sync"})=>{const a=m.useContext(Gt).forceRender||Hn()[0],c=Wr(),u=Nu(t);let l=u;const f=m.useRef(new Map).current,h=m.useRef(l),d=m.useRef(new Map).current,p=m.useRef(!0);if(xt(()=>{p.current=!1,Uu(u,d),h.current=l}),Hr(()=>{p.current=!0,d.clear(),f.clear()}),p.current)return m.createElement(m.Fragment,null,l.map(v=>m.createElement(We,{key:Tt(v),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:r},v)));l=[...l];const y=h.current.map(Tt),x=u.map(Tt),T=y.length;for(let v=0;v{if(x.indexOf(g)!==-1)return;const P=d.get(g);if(!P)return;const A=y.indexOf(g);let D=v;if(!D){const C=()=>{d.delete(g),f.delete(g);const b=h.current.findIndex(w=>w.key===g);if(h.current.splice(b,1),!f.size){if(h.current=u,c.current===!1)return;a(),s&&s()}};D=m.createElement(We,{key:Tt(P),isPresent:!1,onExitComplete:C,custom:e,presenceAffectsLayout:o,mode:r},P),f.set(g,D)}l.splice(A,0,D)}),l=l.map(v=>{const g=v.key;return f.has(g)?v:m.createElement(We,{key:Tt(v),isPresent:!0,presenceAffectsLayout:o,mode:r},v)}),m.createElement(m.Fragment,null,f.size?l:l.map(v=>m.cloneElement(v)))};function pf({children:t,isValidProp:e,...n}){e&&Pi(e),n={...m.useContext(at),...n},n.isStatic=j(()=>n.isStatic);const s=m.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return m.createElement(at.Provider,{value:s},t)}function gf({children:t,features:e,strict:n=!1}){const[,s]=m.useState(!He(e)),i=m.useRef(void 0);if(!He(e)){const{renderer:o,...r}=e;i.current=o,Ke(r)}return m.useEffect(()=>{He(e)&&e().then(({renderer:o,...r})=>{Ke(r),i.current=o,s(!0)})},[]),m.createElement(mn.Provider,{value:{renderer:i.current,strict:n}},t)}function He(t){return typeof t=="function"}const zu=m.createContext(null),Wu=t=>!t.isLayoutDirty&&t.willUpdate(!1);function qs(){const t=new Set,e=new WeakMap,n=()=>t.forEach(Wu);return{add:s=>{t.add(s),e.set(s,s.addEventListener("willUpdate",n))},remove:s=>{t.delete(s);const i=e.get(s);i&&(i(),e.delete(s)),n()},dirty:n}}const Gr=t=>t===!0,Hu=t=>Gr(t===!0)||t==="id",Gu=({children:t,id:e,inherit:n=!0})=>{const s=m.useContext(Gt),i=m.useContext(zu),[o,r]=Hn(),a=m.useRef(null),c=s.id||i;a.current===null&&(Hu(n)&&c&&(e=e?c+"-"+e:c),a.current={id:e,group:Gr(n)&&s.group||qs()});const u=m.useMemo(()=>({...a.current,forceRender:o}),[r]);return m.createElement(Gt.Provider,{value:u},t)},$r=m.createContext(null);function $u(t,e,n,s){if(!s)return t;const i=t.findIndex(l=>l.value===e);if(i===-1)return t;const o=s>0?1:-1,r=t[i+o];if(!r)return t;const a=t[i],c=r.layout,u=R(c.min,c.max,.5);return o===1&&a.layout.max+n>u||o===-1&&a.layout.min+nzr(e)),c=[],u=m.useRef(!1),l={axis:n,registerItem:(f,h)=>{h&&c.findIndex(d=>f===d.value)===-1&&(c.push({value:f,layout:h[n]}),c.sort(Yu))},updateOrder:(f,h,d)=>{if(u.current)return;const p=$u(c,f,h,d);c!==p&&(u.current=!0,s(p.map(Xu).filter(y=>i.indexOf(y)!==-1)))}};return m.useEffect(()=>{u.current=!1}),m.createElement(a,{...o,ref:r,ignoreStrict:!0},m.createElement($r.Provider,{value:l},t))}const _u=m.forwardRef(Ku);function Xu(t){return t.value}function Yu(t,e){return t.layout.min-e.layout.min}function vt(t){const e=j(()=>K(t)),{isStatic:n}=m.useContext(at);if(n){const[,s]=m.useState(t);m.useEffect(()=>e.on("change",s),[])}return e}const qu=t=>typeof t=="object"&&t.mix,Zu=t=>qu(t)?t.mix:void 0;function Ju(...t){const e=!Array.isArray(t[0]),n=e?0:-1,s=t[0+n],i=t[1+n],o=t[2+n],r=t[3+n],a=we(i,o,{mixer:Zu(o[0]),...r});return e?a(s):a}function Gn(t,e){const n=vt(e()),s=()=>n.set(e());return s(),xt(()=>{const i=()=>V.update(s,!1,!0),o=t.map(r=>r.on("change",i));return()=>{o.forEach(r=>r()),N(s)}}),n}function Qu(t){jt.current=[],t();const e=Gn(jt.current,t);return jt.current=void 0,e}function fn(t,e,n,s){if(typeof t=="function")return Qu(t);const i=typeof e=="function"?e:Ju(e,n,s);return Array.isArray(t)?Zs(t,i):Zs([t],([o])=>i(o))}function Zs(t,e){const n=j(()=>[]);return Gn(t,()=>{n.length=0;const s=t.length;for(let i=0;izr(s)),u=m.useContext($r),l={x:Js(e.x),y:Js(e.y)},f=fn([l.x,l.y],([x,T])=>x||T?1:"unset"),h=m.useRef(null),{axis:d,registerItem:p,updateOrder:y}=u;return m.useEffect(()=>{p(n,h.current)},[u]),m.createElement(c,{drag:d,...r,dragSnapToOrigin:!0,style:{...e,x:l.x,y:l.y,zIndex:f},layout:o,onDrag:(x,T)=>{const{velocity:v}=T;v[d]&&y(n,l[d].get(),v[d]),i&&i(x,T)},onLayoutMeasure:x=>{h.current=x},ref:a,ignoreStrict:!0},t)}const el=m.forwardRef(tl),yf={Group:_u,Item:el},nl={renderer:Wn,...pr,...Ri},vf={...nl,...Rr,...Ur};function xf(t,...e){const n=t.length;function s(){let i="";for(let o=0;o{s.current&&s.current.stop()};return m.useInsertionEffect(()=>i.attach((r,a)=>{if(n)return a(r);if(o(),s.current=Kt({keyframes:[i.get(),r],velocity:i.getVelocity(),type:"spring",restDelta:.001,restSpeed:.01,...e,onUpdate:a}),!I.isProcessing){const c=performance.now()-I.timestamp;c<30&&(s.current.time=_(c))}return i.get()},o),[JSON.stringify(e)]),xt(()=>{if(k(t))return t.on("change",r=>i.set(parseFloat(r)))},[i]),i}function sl(t,e,n){m.useInsertionEffect(()=>t.on(e,n),[t,e,n])}function Tf(t){const e=vt(t.getVelocity());return sl(t,"velocityChange",n=>{e.set(n)}),e}function De(t,e,n){var s;if(typeof t=="string"){let i=document;e&&(Ce(!!e.current),i=e.current),n?((s=n[t])!==null&&s!==void 0||(n[t]=i.querySelectorAll(t)),t=n[t]):t=i.querySelectorAll(t)}else t instanceof Element&&(t=[t]);return Array.from(t||[])}const ce=new WeakMap;let it;function il(t,e){if(e){const{inlineSize:n,blockSize:s}=e[0];return{width:n,height:s}}else return t instanceof SVGElement&&"getBBox"in t?t.getBBox():{width:t.offsetWidth,height:t.offsetHeight}}function rl({target:t,contentRect:e,borderBoxSize:n}){var s;(s=ce.get(t))===null||s===void 0||s.forEach(i=>{i({target:t,contentSize:e,get size(){return il(t,n)}})})}function ol(t){t.forEach(rl)}function al(){typeof ResizeObserver>"u"||(it=new ResizeObserver(ol))}function cl(t,e){it||al();const n=De(t);return n.forEach(s=>{let i=ce.get(s);i||(i=new Set,ce.set(s,i)),i.add(e),it==null||it.observe(s)}),()=>{n.forEach(s=>{const i=ce.get(s);i==null||i.delete(e),i!=null&&i.size||it==null||it.unobserve(s)})}}const ue=new Set;let zt;function ul(){zt=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};ue.forEach(n=>n(e))},window.addEventListener("resize",zt)}function ll(t){return ue.add(t),zt||ul(),()=>{ue.delete(t),!ue.size&&zt&&(zt=void 0)}}function fl(t,e){return typeof t=="function"?ll(t):cl(t,e)}const hl=50,Qs=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),dl=()=>({time:0,x:Qs(),y:Qs()}),ml={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function ti(t,e,n,s){const i=n[e],{length:o,position:r}=ml[e],a=i.current,c=n.time;i.current=t["scroll"+r],i.scrollLength=t["scroll"+o]-t["client"+o],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=yt(0,i.scrollLength,i.current);const u=s-c;i.velocity=u>hl?0:Ln(i.current-a,u)}function pl(t,e,n){ti(t,"x",e,n),ti(t,"y",e,n),e.time=n}function gl(t,e){const n={x:0,y:0};let s=t;for(;s&&s!==e;)if(s instanceof HTMLElement)n.x+=s.offsetLeft,n.y+=s.offsetTop,s=s.offsetParent;else if(s.tagName==="svg"){const i=s.getBoundingClientRect();s=s.parentElement;const o=s.getBoundingClientRect();n.x+=i.left-o.left,n.y+=i.top-o.top}else if(s instanceof SVGGraphicsElement){const{x:i,y:o}=s.getBBox();n.x+=i,n.y+=o;let r=null,a=s.parentNode;for(;!r;)a.tagName==="svg"&&(r=a),a=s.parentNode;s=r}else break;return n}const yl={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},hn={start:0,center:.5,end:1};function ei(t,e,n=0){let s=0;if(hn[t]!==void 0&&(t=hn[t]),typeof t=="string"){const i=parseFloat(t);t.endsWith("px")?s=i:t.endsWith("%")?t=i/100:t.endsWith("vw")?s=i/100*document.documentElement.clientWidth:t.endsWith("vh")?s=i/100*document.documentElement.clientHeight:t=i}return typeof t=="number"&&(s=e*t),n+s}const vl=[0,0];function xl(t,e,n,s){let i=Array.isArray(t)?t:vl,o=0,r=0;return typeof t=="number"?i=[t,t]:typeof t=="string"&&(t=t.trim(),t.includes(" ")?i=t.split(" "):i=[t,hn[t]?t:"0"]),o=ei(i[0],n,s),r=ei(i[1],e),o-r}const Pl={x:0,y:0};function Tl(t){return"getBBox"in t&&t.tagName!=="svg"?t.getBBox():{width:t.clientWidth,height:t.clientHeight}}function bl(t,e,n){let{offset:s=yl.All}=n;const{target:i=t,axis:o="y"}=n,r=o==="y"?"height":"width",a=i!==t?gl(i,t):Pl,c=i===t?{width:t.scrollWidth,height:t.scrollHeight}:Tl(i),u={width:t.clientWidth,height:t.clientHeight};e[o].offset.length=0;let l=!e[o].interpolate;const f=s.length;for(let h=0;hSl(t,s.target,n),update:i=>{pl(t,n,i),(s.offset||s.target)&&bl(t,n,s)},notify:()=>e(n)}}const Bt=new WeakMap,ni=new WeakMap,Ge=new WeakMap,si=t=>t===document.documentElement?window:t;function Kr(t,{container:e=document.documentElement,...n}={}){let s=Ge.get(e);s||(s=new Set,Ge.set(e,s));const i=dl(),o=Al(e,t,i,n);if(s.add(o),!Bt.has(e)){const a=()=>{for(const h of s)h.measure()},c=()=>{for(const h of s)h.update(I.timestamp)},u=()=>{for(const h of s)h.notify()},l=()=>{V.read(a,!1,!0),V.update(c,!1,!0),V.update(u,!1,!0)};Bt.set(e,l);const f=si(e);window.addEventListener("resize",l,{passive:!0}),e!==document.documentElement&&ni.set(e,fl(e,l)),f.addEventListener("scroll",l,{passive:!0})}const r=Bt.get(e);return V.read(r,!1,!0),()=>{var a;N(r);const c=Ge.get(e);if(!c||(c.delete(o),c.size))return;const u=Bt.get(e);Bt.delete(e),u&&(si(e).removeEventListener("scroll",u),(a=ni.get(e))===null||a===void 0||a(),window.removeEventListener("resize",u))}}function ii(t,e){Fi(!!(!e||e.current))}const Vl=()=>({scrollX:K(0),scrollY:K(0),scrollXProgress:K(0),scrollYProgress:K(0)});function _r({container:t,target:e,layoutEffect:n=!0,...s}={}){const i=j(Vl);return(n?xt:m.useEffect)(()=>(ii("target",e),ii("container",t),Kr(({x:r,y:a})=>{i.scrollX.set(r.current),i.scrollXProgress.set(r.progress),i.scrollY.set(a.current),i.scrollYProgress.set(a.progress)},{...s,container:(t==null?void 0:t.current)||void 0,target:(e==null?void 0:e.current)||void 0})),[t,e,JSON.stringify(s.offset)]),i}function bf(t){return _r({container:t})}function Sf(){return _r()}function Cl(t){const e=m.useRef(0),{isStatic:n}=m.useContext(at);m.useEffect(()=>{if(n)return;const s=({timestamp:i,delta:o})=>{e.current||(e.current=i),t(i-e.current,o)};return V.update(s,!0),()=>N(s)},[t])}function Af(){const t=vt(0);return Cl(e=>t.set(e)),t}class wl extends lr{constructor(){super(...arguments),this.members=[],this.transforms=new Set}add(e){let n;J.has(e)?(this.transforms.add(e),n="transform"):!e.startsWith("origin")&&!xn(e)&&e!=="willChange"&&(n=$t(e)),n&&(Me(this.members,n),this.update())}remove(e){J.has(e)?(this.transforms.delete(e),this.transforms.size||Ct(this.members,"transform")):Ct(this.members,$t(e)),this.update()}update(){this.set(this.members.length?this.members.join(", "):"auto")}}function Vf(){return j(()=>new wl("auto"))}function Ml(){!zn.current&&Br();const[t]=m.useState(ve.current);return t}function Cf(){const t=Ml(),{reducedMotion:e}=m.useContext(at);return e==="never"?!1:e==="always"?!0:t}function Dl(t){t.values.forEach(e=>e.stop())}function El(){const t=new Set,e={subscribe(n){return t.add(n),()=>void t.delete(n)},start(n,s){const i=[];return t.forEach(o=>{i.push(Un(o,n,{transitionOverride:s}))}),Promise.all(i)},set(n){return t.forEach(s=>{ic(s,n)})},stop(){t.forEach(n=>{Dl(n)})},mount(){return()=>{e.stop()}}};return e}function Xr(t,e){let n;const s=()=>{const{currentTime:i}=e,r=(i===null?0:i.value)/100;n!==r&&t(r),n=r};return V.update(s,!0),()=>N(s)}const Yr=rr(()=>window.ScrollTimeline!==void 0);class qr{constructor(e){this.animations=e.filter(Boolean)}then(e,n){return Promise.all(this.animations).then(e).catch(n)}getAll(e){return this.animations[0][e]}setAll(e,n){for(let s=0;s{if(Yr()&&s.attachTimeline)s.attachTimeline(e);else return s.pause(),Xr(i=>{s.time=s.duration*i},e)});return()=>{n.forEach((s,i)=>{s&&s(),this.animations[i].stop()})}}get time(){return this.getAll("time")}set time(e){this.setAll("time",e)}get speed(){return this.getAll("speed")}set speed(e){this.setAll("speed",e)}get duration(){let e=0;for(let n=0;nn[e]())}play(){this.runAll("play")}pause(){this.runAll("pause")}stop(){this.runAll("stop")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function Rl(t){return typeof t=="object"&&!Array.isArray(t)}function Ll(t){const e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=wr(t)?new jr(e,{enableHardwareAcceleration:!1}):new Or(e,{enableHardwareAcceleration:!0});n.mount(t),_t.set(t,n)}function Bl(t,e=100){const n=Bn({keyframes:[0,e],...t}),s=Math.min(tn(n),Qe);return{type:"keyframes",ease:i=>n.next(s*i).value/e,duration:_(s)}}function ri(t,e,n,s){var i;return typeof e=="number"?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):e==="<"?n:(i=s.get(e))!==null&&i!==void 0?i:t}const Zr=(t,e,n)=>{const s=e-t;return((n-t)%s+s)%s+t};function Fl(t,e){return zi(t)?t[Zr(0,t.length,e)]:t}function Il(t,e,n){for(let s=0;se&&i.at{const b=Nl(g),{delay:w=0,times:O=Rn(b),type:H="keyframes",...X}=P;let{ease:G=e.ease||"easeOut",duration:M}=P;const B=typeof w=="function"?w(D,C):w,$=b.length;if($<=2&&H==="spring"){let Dt=100;if($===2&&Hl(b)){const ee=b[1]-b[0];Dt=Math.abs(ee)}const E={...X};M!==void 0&&(E.duration=et(M));const nt=Bl(E,Dt);G=nt.ease,M=nt.duration}M??(M=i);const Q=l+B,te=Q+M;O.length===1&&O[0]===0&&(O[1]=1);const Mt=O.length-b.length;Mt>0&&sr(O,Mt),b.length===1&&b.unshift(null),kl(A,b,G,O,Q,te),T=Math.max(B+M,T),f=Math.max(te,f)};if(k(p)){const g=oi(p,r);v(y,x,ai("default",g))}else{const g=De(p,s,a),P=g.length;for(let A=0;A{for(const p in h){const y=h[p];y.sort(Ol);const x=[],T=[],v=[];for(let P=0;Ptypeof t=="number",Hl=t=>t.every(Wl);function Jr(t,e,n,s){const i=De(t,s),o=i.length,r=[];for(let a=0;aArray.isArray(t)&&Array.isArray(t[0]);function $l(t,e,n){const s=[];return Ul(t,e,n).forEach(({keyframes:o,transition:r},a)=>{let c;k(a)?c=Nn(a,o.default,r.default):c=Jr(a,o,r),s.push(c)}),new qr(s)}const Qr=t=>{function e(n,s,i){let o;return Gl(n)?o=$l(n,s,t):Rl(s)?o=Jr(n,s,i,t):o=Nn(n,s,i),t&&t.animations.push(o),o}return e},wf=Qr();function Mf(){const t=j(()=>({current:null,animations:[]})),e=j(()=>Qr(t));return Hr(()=>{t.animations.forEach(n=>n.stop())}),[t,e]}function Kl(){const t=j(El);return xt(t.mount,[]),t}const Df=Kl;function Ef(...t){const e=m.useRef(0),[n,s]=m.useState(t[e.current]),i=m.useCallback(o=>{e.current=typeof o!="number"?Zr(0,t.length,e.current+1):o,s(t[e.current])},[t.length,...t]);return[n,i]}const _l={some:0,all:1};function Xl(t,e,{root:n,margin:s,amount:i="some"}={}){const o=De(t),r=new WeakMap,a=u=>{u.forEach(l=>{const f=r.get(l.target);if(l.isIntersecting!==!!f)if(l.isIntersecting){const h=e(l);typeof h=="function"?r.set(l.target,h):c.unobserve(l.target)}else f&&(f(l),r.delete(l.target))})},c=new IntersectionObserver(a,{root:n,rootMargin:s,threshold:typeof i=="number"?i:_l[i]});return o.forEach(u=>c.observe(u)),()=>c.disconnect()}function Rf(t,{root:e,margin:n,amount:s,once:i=!1}={}){const[o,r]=m.useState(!1);return m.useEffect(()=>{if(!t.current||i&&o)return;const a=()=>(r(!0),i?void 0:()=>r(!1)),c={root:e&&e.current||void 0,margin:n,amount:s};return Xl(t.current,a,c)},[e,t,n,i]),o}class Yl{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,n){this.componentControls.forEach(s=>{s.start(e.nativeEvent||e,n)})}}const ql=()=>new Yl;function Lf(){return j(ql)}function Bf(t,e,n,s){m.useEffect(()=>{const i=t.current;if(n&&i)return q(i,e,n,s)},[t,e,n,s])}function Zl(t){return t!==null&&typeof t=="object"&&yn in t}function Ff(t){if(Zl(t))return t[yn]}function Jl(){return Ql}function Ql(t){gt.current&&(gt.current.isUpdating=!1,gt.current.blockUpdate(),t&&t())}function If(){const[t,e]=Hn(),n=Jl(),s=m.useRef();return m.useEffect(()=>{V.postRender(()=>V.postRender(()=>{e===s.current&&(de.current=!1)}))},[e]),i=>{n(()=>{de.current=!0,t(),i(),s.current=e+1})}}function kf(){return m.useCallback(()=>{const e=gt.current;e&&e.resetTree()},[])}const to=(t,e)=>`${t}: ${e}`,xe=new Map;function tf(t,e,n,s){const i=to(t,J.has(e)?"transform":e),o=xe.get(i);if(!o)return 0;const{animation:r,startTime:a}=o,c=()=>{xe.delete(i);try{r.cancel()}catch{}};return a!==null?(s.render(c),performance.now()-a||0):(c(),0)}function Of(t,e,n,s,i){const o=t.dataset[Bi];if(!o)return;window.HandoffAppearAnimations=tf;const r=to(o,e),a=Ye(t,e,[n[0],n[0]],{duration:1e4,ease:"linear"});xe.set(r,{animation:a,startTime:null});const c=()=>{a.cancel();const u=Ye(t,e,n,s);document.timeline&&(u.startTime=document.timeline.currentTime),xe.set(r,{animation:u,startTime:performance.now()}),i&&i(u)};a.ready?a.ready.then(c).catch(L):c()}const dn=()=>({});class ef extends Ir{build(){}measureInstanceViewportBox(){return F()}resetTransform(){}restoreTransform(){}removeValueFromRenderState(){}renderInstance(){}scrapeMotionValuesFromProps(){return dn()}getBaseTargetFromProps(){}readValueFromInstance(e,n,s){return s.initialState[n]||0}sortInstanceNodePosition(){return 0}makeTargetAnimatableFromInstance({transition:e,transitionEnd:n,...s}){const i=mr(s,e||{},this);return dr(this,s,i),{transition:e,transitionEnd:n,...s}}}const nf=Cn({scrapeMotionValuesFromProps:dn,createRenderState:dn});function jf(t){const[e,n]=m.useState(t),s=nf({},!1),i=j(()=>new ef({props:{},visualState:s,presenceContext:null},{initialState:t}));m.useEffect(()=>(i.mount({}),()=>i.unmount()),[i]),m.useEffect(()=>{i.update({onUpdate:r=>{n({...r})}},null)},[n,i]);const o=j(()=>r=>Un(i,r));return[e,o]}const sf=1e5,ci=t=>t>.001?1/t:sf;function Uf(t){let e=vt(1),n=vt(1);const{visualElement:s}=m.useContext(Xt);t?(e=t.scaleX||e,n=t.scaleY||n):s&&(e=s.getValue("scaleX",1),n=s.getValue("scaleY",1));const i=fn(e,ci),o=fn(n,ci);return{scaleX:i,scaleY:o}}let rf=0;const Nf=({children:t})=>(m.useEffect(()=>{},[]),m.createElement(Gu,{id:j(()=>`asl-${rf++}`)},t));function of({source:t,axis:e="y"}){const n={value:0},s=Kr(i=>{n.value=i[e].progress*100},{container:t,axis:e});return{currentTime:n,cancel:s}}const $e=new Map;function af({source:t=document.documentElement,axis:e="y"}={}){$e.has(t)||$e.set(t,{});const n=$e.get(t);return n[e]||(n[e]=Yr()?new ScrollTimeline({source:t,axis:e}):of({source:t,axis:e})),n[e]}function zf(t,e){const n=af(e);return typeof t=="function"?Xr(t,n):t.attachTimeline(n)}function cf(t,e){if(t==="first")return 0;{const n=e-1;return t==="last"?n:n/2}}function Wf(t=.1,{startDelay:e=0,from:n=0,ease:s}={}){return(i,o)=>{const r=typeof n=="number"?n:cf(n,o),a=Math.abs(r-i);let c=t*a;if(s){const u=o*t;c=qe(s)(c/u)*u}return e+c}}const Hf=V,Gf=Ft.reduce((t,e)=>(t[e]=n=>N(n),t),{});export{mf as AnimatePresence,Nf as AnimateSharedLayout,zu as DeprecatedLayoutGroupContext,Yl as DragControls,tu as FlatTree,Gu as LayoutGroup,Gt as LayoutGroupContext,gf as LazyMotion,pf as MotionConfig,at as MotionConfigContext,Xt as MotionContext,lr as MotionValue,Yt as PresenceContext,yf as Reorder,fi as SwitchLayoutGroupContext,Ir as VisualElement,tt as addPointerEvent,jo as addPointerInfo,co as addScaleCorrector,wf as animate,Kt as animateValue,Un as animateVisualElement,El as animationControls,pr as animations,aa as anticipate,Dn as backIn,oa as backInOut,$i as backOut,fo as buildTransform,z as calcLength,N as cancelFrame,Gf as cancelSync,dr as checkTargetForNewValues,Gi as circIn,ra as circInOut,Mn as circOut,ct as clamp,U as color,ut as complex,F as createBox,hf as createDomMotionComponent,hi as createMotionComponent,Qr as createScopedAnimate,Qt as cubicBezier,eu as delay,ls as distance,vc as distance2D,nl as domAnimation,vf as domMax,sa as easeIn,Ni as easeInOut,ia as easeOut,bo as filterProps,V as frame,I as frameData,Xl as inView,we as interpolate,Ce as invariant,Pe as isBrowser,Di as isDragActive,Zl as isMotionComponent,k as isMotionValue,fe as isValidMotionProp,df as m,Cn as makeUseVisualState,Wi as mirrorEasing,R as mix,zr as motion,K as motionValue,Jo as optimizedAppearDataAttribute,ot as pipe,yt as progress,S as px,oe as resolveMotionValue,Hi as reverseEasing,zf as scroll,Kr as scrollInfo,Bn as spring,Wf as stagger,Of as startOptimizedAppearAnimation,Re as steps,Hf as sync,Ju as transform,Ff as unwrapMotionComponent,Mf as useAnimate,Df as useAnimation,Kl as useAnimationControls,Cl as useAnimationFrame,Ef as useCycle,jf as useDeprecatedAnimatedState,Uf as useDeprecatedInvertedScale,Bf as useDomEvent,Lf as useDragControls,bf as useElementScroll,Hn as useForceUpdate,Rf as useInView,Jl as useInstantLayoutTransition,If as useInstantTransition,lf as useIsPresent,xt as useIsomorphicLayoutEffect,xf as useMotionTemplate,vt as useMotionValue,sl as useMotionValueEvent,Uc as usePresence,Ml as useReducedMotion,Cf as useReducedMotionConfig,kf as useResetProjection,_r as useScroll,Pf as useSpring,Af as useTime,fn as useTransform,Hr as useUnmountEffect,Tf as useVelocity,Sf as useViewportScroll,Vf as useWillChange,_t as visualElementStore,Fi as warning,Zr as wrap}; diff --git a/clash/clash/dashboard/yacd/assets/index-d5e38ae4.css b/clash/clash/dashboard/yacd/assets/index-d5e38ae4.css new file mode 100644 index 0000000..5ed1d08 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/index-d5e38ae4.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./roboto-mono-latin-400-normal-7295944e.woff2) format("woff2"),url(./roboto-mono-latin-400-normal-d5d7d67f.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-0364d368.woff2) format("woff2"),url(./inter-latin-400-normal-e3982e96.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-latin-800-normal-a51ac27d.woff2) format("woff2"),url(./inter-latin-800-normal-02e00891.woff) format("woff")}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;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";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-screen{min-height:100vh}.max-w-3xl{max-width:48rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.p-4{padding:1rem}.text-left{text-align:left}.font-bold{font-weight:700}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.border-left,.border-top,.border-bottom{position:relative}.border-bottom:after,.border-top:before{position:absolute;content:"";height:1px;width:100%;transform:scaleY(.5) translateZ(0);left:0;right:0;background:#555}.border-left:before{position:absolute;content:"";height:100%;width:1px;transform:scaleX(.5) translateZ(0);top:0;bottom:0;background:#555}.border-top:before{top:0}.border-bottom:after{bottom:0}.border-left:before{left:0}*,*:before,*:after{box-sizing:border-box}:root{--font-mono: "Roboto Mono", Menlo, monospace;--font-normal: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Apple Color Emoji, Twemoji Country Flags, Segoe UI Emoji, Segoe UI Symbol, "PingFang SC", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--color-focus-blue: #1a73e8;--btn-bg: #387cec}body{font-family:var(--font-normal);-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}@media (prefers-color-scheme: dark){:root[data-theme=auto]{--color-background: #202020;--color-background2: rgba(32, 32, 32, .3);--color-bg-card: #2d2d2d;--card-hover-border-lightness: 30%;--color-text: #ddd;--color-text-secondary: #ccc;--color-text-highlight: #fff;--color-bg-sidebar: #2d2d30;--color-input-bg: #2d2d30;--color-input-border: #3f3f3f;--color-toggle-bg: #353535;--color-toggle-selected: #181818;--color-icon: #c7c7c7;--color-separator: #333;--color-btn-bg: #232323;--color-btn-fg: #bebebe;--color-bg-proxy: #303030;--color-row-odd: #333;--bg-log-info-tag: #454545;--bg-modal: #1f1f20;--bg-near-transparent: rgba(255, 255, 255, .1);--bg-tooltip: #111;--bc-tooltip: #555;--select-border-color: #040404;--select-bg-hover: url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23ffffff%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23ffffff%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);--color-proxy-dot-selected-ind-bo: transparent;--bg-toggle-track: #393939;color-scheme:dark}}@media (prefers-color-scheme: light){:root[data-theme=auto]{--color-background: #eee;--color-background2: rgba(240, 240, 240, .3);--color-bg-card: #fafafa;--card-hover-border-lightness: 80%;--color-text: #222;--color-text-secondary: #646464;--color-text-highlight: #040404;--color-bg-sidebar: #f8f8f8;--color-input-bg: #f0f0f0;--color-input-border: #c0c0c0;--color-toggle-bg: #ffffff;--color-toggle-selected: #d7d7d7;--color-icon: #5b5b5b;--color-separator: #ccc;--color-btn-bg: #f4f4f4;--color-btn-fg: #101010;--color-bg-proxy: #fafafa;--color-row-odd: #e1e1e1;--bg-log-info-tag: #888;--bg-modal: #fbfbfb;--bg-near-transparent: rgba(0, 0, 0, .1);--bg-tooltip: #f0f0f0;--bc-tooltip: #ccc;--select-border-color: #999999;--select-bg-hover: url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23222222%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23222222%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);--color-proxy-dot-selected-ind-bo: #888;--bg-toggle-track: #d0d0d0;color-scheme:light}}:root[data-theme=dark]{--color-background: #202020;--color-background2: rgba(32, 32, 32, .3);--color-bg-card: #2d2d2d;--card-hover-border-lightness: 30%;--color-text: #ddd;--color-text-secondary: #ccc;--color-text-highlight: #fff;--color-bg-sidebar: #2d2d30;--color-input-bg: #2d2d30;--color-input-border: #3f3f3f;--color-toggle-bg: #353535;--color-toggle-selected: #181818;--color-icon: #c7c7c7;--color-separator: #333;--color-btn-bg: #232323;--color-btn-fg: #bebebe;--color-bg-proxy: #303030;--color-row-odd: #333;--bg-log-info-tag: #454545;--bg-modal: #1f1f20;--bg-near-transparent: rgba(255, 255, 255, .1);--bg-tooltip: #111;--bc-tooltip: #555;--select-border-color: #040404;--select-bg-hover: url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23ffffff%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23ffffff%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);--color-proxy-dot-selected-ind-bo: transparent;--bg-toggle-track: #393939;color-scheme:dark}:root[data-theme=light]{--color-background: #eee;--color-background2: rgba(240, 240, 240, .3);--color-bg-card: #fafafa;--card-hover-border-lightness: 80%;--color-text: #222;--color-text-secondary: #646464;--color-text-highlight: #040404;--color-bg-sidebar: #f8f8f8;--color-input-bg: #f0f0f0;--color-input-border: #c0c0c0;--color-toggle-bg: #ffffff;--color-toggle-selected: #d7d7d7;--color-icon: #5b5b5b;--color-separator: #ccc;--color-btn-bg: #f4f4f4;--color-btn-fg: #101010;--color-bg-proxy: #fafafa;--color-row-odd: #e1e1e1;--bg-log-info-tag: #888;--bg-modal: #fbfbfb;--bg-near-transparent: rgba(0, 0, 0, .1);--bg-tooltip: #f0f0f0;--bc-tooltip: #ccc;--select-border-color: #999999;--select-bg-hover: url(data:image/svg+xml,%0A%20%20%20%20%3Csvg%20width%3D%228%22%20height%3D%2224%22%20viewBox%3D%220%200%208%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%207L7%2011H1L4%207Z%22%20fill%3D%22%23222222%22%20%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M4%2017L1%2013L7%2013L4%2017Z%22%20fill%3D%22%23222222%22%20%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A%20%20);--color-proxy-dot-selected-ind-bo: #888;--bg-toggle-track: #d0d0d0;color-scheme:light}:root[data-theme=dark] .pureBlackDark{--color-background: #000000;--color-input-bg: #111111;--color-background2: rgba(0, 0, 0, .3);--color-bg-card: #1c1c1c}@media (prefers-color-scheme: dark){:root[data-theme=auto] .pureBlackDark{--color-background: #000000;--color-input-bg: #111111;--color-background2: rgba(0, 0, 0, .3);--color-bg-card: #1c1c1c}}.flexCenter{display:flex;align-items:center;justify-content:center}.fabgrp{position:fixed;z-index:3;right:20px;bottom:20px}.visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;border:0;padding:0}:root{--reach-tooltip: 1}[data-reach-tooltip]{z-index:1;pointer-events:none;position:absolute;padding:.25em .5em;box-shadow:2px 2px 10px #0000001a;white-space:nowrap;font-size:85%;background:var(--bg-tooltip);color:var(--color-text);border:solid 1px var(--bc-tooltip);border-radius:4px}@media (min-width: 640px){.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}._root_14c4m_1{height:76px;display:flex;align-items:center}._h1_14c4m_7{padding:0 15px;font-size:1.7em;font-weight:700;text-align:left;margin:0}@media screen and (min-width: 30em){._h1_14c4m_7{padding:0 40px;font-size:2em}}._root_1lxjz_1{padding:6px 15px}@media screen and (min-width: 30em){._root_1lxjz_1{padding:10px 40px}}._root_1lxjz_1 p{margin:5px 0}._mono_1lxjz_13{font-family:var(--font-mono)}._link_1lxjz_17{color:var(--color-text-secondary);display:inline-flex;gap:5px;align-items:center}._link_1lxjz_17:hover{color:var(--color-text-highlight)}._loading_74j3j_1{width:100%;height:100%;display:flex;justify-content:center;align-items:center}._spinner_74j3j_9{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:_rotate_74j3j_1 1s steps(12,end) infinite;background:transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;background-size:100%}@keyframes _rotate_74j3j_1{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}._ul_1t9ux_1{position:relative;margin:0;padding:0;list-style:none;line-height:1.8;--width-max-content: 230px}._li_1t9ux_10{position:relative;margin:5px 0;padding:10px 0;border-radius:10px;display:grid;place-content:center;grid-template-columns:40px 1fr;column-gap:10px;border:1px solid var(--bg-near-transparent)}._li_1t9ux_10._isSelected_1t9ux_21{border-color:#387cec}._li_1t9ux_10 ._right_1t9ux_24{display:grid;column-gap:10px;grid-template-columns:1fr 40px;grid-auto-rows:30px}._li_1t9ux_10:hover{background-color:var(--bg-near-transparent)}._close_1t9ux_35{opacity:0;place-self:center;cursor:pointer}._li_1t9ux_10:hover ._close_1t9ux_35,._li_1t9ux_10:hover ._eye_1t9ux_42{opacity:1}._close_1t9ux_35:focus,._eye_1t9ux_42:focus{opacity:1}._eye_1t9ux_42{opacity:0;place-self:center;cursor:pointer}._url_1t9ux_57,._secret_1t9ux_58,._metaLabel_1t9ux_59{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._btn_1t9ux_65{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background-color:transparent;color:inherit;display:flex;align-items:center;padding:5px;border-radius:100px}._btn_1t9ux_65:focus{border-color:var(--color-focus-blue)}._btn_1t9ux_65:hover:enabled{background-color:var(--color-focus-blue);color:#fff}._btn_1t9ux_65:active:enabled{transform:scale(.97)}._btn_1t9ux_65:disabled{color:var(--color-text-secondary)}._url_1t9ux_57,._metaLabel_1t9ux_59{cursor:pointer}._url_1t9ux_57:hover,._metaLabel_1t9ux_59:hover{color:var(--color-text-highlight)}h2._sectionNameType_6tzvo_1{margin:0;font-size:1.3em;font-weight:700}@media screen and (min-width: 30em){h2._sectionNameType_6tzvo_1{font-size:1.5em}}h2._sectionNameType_6tzvo_1 span:nth-child(2){font-size:12px;color:#777;font-weight:400;margin:0 .3em}:root[data-theme=light]{--loading-dot-1-1: rgba(0, 0, 0, .1);--loading-dot-1-2: rgba(0, 0, 0, .5);--loading-dot-1-3: rgba(0, 0, 0, .3);--loading-dot-2-1: rgba(0, 0, 0, .3);--loading-dot-2-2: rgba(0, 0, 0, .1);--loading-dot-2-3: rgba(0, 0, 0, .5);--loading-dot-3-1: rgba(0, 0, 0, .5);--loading-dot-3-2: rgba(0, 0, 0, .3);--loading-dot-3-3: rgba(0, 0, 0, .1)}:root[data-theme=dark]{--loading-dot-1-1: rgba(255, 255, 255, .5);--loading-dot-1-2: rgba(255, 255, 255, .1);--loading-dot-1-3: rgba(255, 255, 255, .3);--loading-dot-2-1: rgba(255, 255, 255, .3);--loading-dot-2-2: rgba(255, 255, 255, .5);--loading-dot-2-3: rgba(255, 255, 255, .1);--loading-dot-3-1: rgba(255, 255, 255, .1);--loading-dot-3-2: rgba(255, 255, 255, .3);--loading-dot-3-3: rgba(255, 255, 255, .5)}._loadingDot_6tzvo_67,._loadingDot_6tzvo_67:before,._loadingDot_6tzvo_67:after{display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;font-size:0}._loadingDot_6tzvo_67{position:relative;background-color:var(--loading-dot-2-1);animation:_dot2_6tzvo_1 1s step-start infinite}._loadingDot_6tzvo_67:before{content:"";position:absolute;left:-12px;background-color:var(--loading-dot-1-1);animation:_dot1_6tzvo_1 1s step-start infinite}._loadingDot_6tzvo_67:after{content:"";position:absolute;right:-12px;background-color:var(--loading-dot-3-1);animation:_dot3_6tzvo_1 1s step-start infinite}@keyframes _dot1_6tzvo_1{0%,to{background-color:var(--loading-dot-1-1)}33%{background-color:var(--loading-dot-1-2)}66%{background-color:var(--loading-dot-1-3)}}@keyframes _dot2_6tzvo_1{0%,to{background-color:var(--loading-dot-2-1)}33%{background-color:var(--loading-dot-2-2)}66%{background-color:var(--loading-dot-2-3)}}@keyframes _dot3_6tzvo_1{0%,to{background-color:var(--loading-dot-3-1)}33%{background-color:var(--loading-dot-3-2)}66%{background-color:var(--loading-dot-3-3)}}._MenubarTrigger_z57wf_1{--sz: 40px;width:var(--sz);height:var(--sz);display:inline-flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--color-btn-fg);background:none;border:1px solid transparent;border-radius:20px}._MenubarTrigger_z57wf_1:hover{opacity:.6}._MenubarTrigger_z57wf_1:focus{border-color:var(--color-focus-blue)}._MenubarContent_z57wf_25{background:var(--bg-tooltip);color:var(--color-text);border:1px solid #555;padding:4px;border-radius:8px}._MenubarItem_z57wf_33{padding:5px 16px 5px 6px;border-radius:7px;cursor:pointer;display:flex;align-items:center;outline:none}._MenubarItem_z57wf_33[data-highlighted]{background:var(--color-focus-blue);color:#f7f7f7}._checkWrapper_z57wf_47{display:inline-flex;align-items:center;margin-right:2px;visibility:hidden}._checkWrapper_z57wf_47._active_z57wf_53{visibility:visible}._root_1hpu5_1{position:relative;padding:10px 0}._root_1hpu5_1 input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:transparent;background-image:none;border:none;border-radius:0;border-bottom:1px solid var(--color-input-border);box-sizing:border-box;color:inherit;display:inline-block;font-size:inherit;height:40px;outline:none;padding:0;width:100%}._root_1hpu5_1 input:focus{border-color:var(--color-focus-blue)}._root_1hpu5_1 label{position:absolute;left:0;bottom:22px;transition:transform .15s ease-in-out;transform-origin:0 0;font-size:.9em}._root_1hpu5_1 label._floatAbove_1hpu5_33{transform:scale(.9) translateY(-25px)}._root_1hpu5_1 input:focus+label{color:var(--color-focus-blue);transform:scale(.9) translateY(-25px)}._btn_lzu00_1{-webkit-appearance:none;outline:none;-webkit-user-select:none;user-select:none;position:relative;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--color-btn-fg);background:var(--color-btn-bg);border:1px solid #555;border-radius:100px;padding:10px 13px}._btn_lzu00_1:focus{border-color:var(--color-focus-blue)}._btn_lzu00_1:hover{background:#387cec;border:1px solid #387cec;color:#fff}._btn_lzu00_1:active{transform:scale(.97)}._btn_lzu00_1._circular_lzu00_27{padding:8px}._btn_lzu00_1._minimal_lzu00_30{border-color:transparent;background:none;padding:6px 12px}._btn_lzu00_1._minimal_lzu00_30:focus{border-color:var(--color-focus-blue)}._btn_lzu00_1._minimal_lzu00_30:hover{color:#fff;background:#387cec;border:1px solid #387cec}._btn_lzu00_1:disabled{opacity:.5}._btnStart_lzu00_48{margin-right:5px;display:inline-flex;align-items:center;justify-content:center}._loadingContainer_lzu00_55{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex}._path_r8pm3_1{stroke-dasharray:890;stroke-dashoffset:890;animation:_dash_r8pm3_1 3s ease-in-out forwards normal infinite}@keyframes _dash_r8pm3_1{0%{stroke-dashoffset:890}to{stroke-dashoffset:0}}._header_ydpbi_1{display:flex;justify-content:center;align-items:center;padding:15px}._header_ydpbi_1 ._icon_ydpbi_7{--stroke: var(--color-text-secondary);color:#20497e;opacity:.4;transition:opacity .4s}._header_ydpbi_1 ._icon_ydpbi_7:hover{opacity:1}._body_ydpbi_17{padding:15px 0 0}._hostnamePort_ydpbi_21{display:flex}._hostnamePort_ydpbi_21 div{flex:1 1 auto}._hostnamePort_ydpbi_21 div:nth-child(2){flex-grow:0;flex-basis:120px;margin-left:10px}._error_ydpbi_33{height:20px;font-size:.8em;color:#ff8b8b;margin-bottom:5px}._footer_ydpbi_40{padding:5px 0 10px;display:flex;justify-content:flex-end;align-items:center}._root_cybfa_1{position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden;padding:15px;background:var(--color-background);color:var(--color-text);text-align:center}._yacd_cybfa_14{color:#20497e;opacity:.4;display:flex;justify-content:center;align-items:center}._link_1lzxb_1{display:inline-flex;align-items:center;color:var(--color-text-secondary)}._link_1lzxb_1:hover,._link_1lzxb_1:active{color:#387cec}._link_1lzxb_1 svg{margin-right:5px}._root_4oasi_1{padding:6px 15px}@media screen and (min-width: 30em){._root_4oasi_1{padding:10px 40px}}._chart_4oasi_10{margin-top:15px}._TrafficNow_hzna1_1{color:var(--color-text);display:flex;align-items:center;flex-wrap:wrap;display:grid;grid-template-columns:repeat(auto-fit,180px);grid-gap:10px}._TrafficNow_hzna1_1 ._sec_hzna1_10{padding:10px;background-color:var(--color-bg-card);border-radius:10px;box-shadow:0 1px 5px #0000001a}._TrafficNow_hzna1_1 ._sec_hzna1_10 div:nth-child(1){color:var(--color-text-secondary);font-size:.7em}._TrafficNow_hzna1_1 ._sec_hzna1_10 div:nth-child(2){padding:10px 0 0;font-size:1.8em}._lo_pmly2_1{opacity:.5;width:100%;height:100%;display:flex;justify-content:center;align-items:center}._app_1s3k7_1{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:stretch;background:var(--color-background);color:var(--color-text)}@media (max-width: 768px){._app_1s3k7_1{flex-direction:column}}._content_1s3k7_18{flex-grow:1;overflow:auto}._root_r8ke8_1{display:flex;flex-direction:column;padding:8px}@media (max-width: 768px){._root_r8ke8_1{padding:0}}._logoPlaceholder_r8ke8_12{height:15px}@media (max-width: 768px){._logoPlaceholder_r8ke8_12{display:none}}._rows_r8ke8_21{flex:1}@media (max-width: 768px){._rows_r8ke8_21{display:flex;justify-content:space-between;overflow:auto}}._row_r8ke8_21{color:var(--color-text);text-decoration:none;border-radius:1000px;display:flex;align-items:center;padding:6px 16px}@media screen and (min-width: 30em){._row_r8ke8_21{padding:8px 20px}}@media (max-width: 768px){._row_r8ke8_21{border-radius:0;flex-direction:column}}._row_r8ke8_21 svg{color:var(--color-icon);width:22px;height:22px}@media screen and (min-width: 30em){._row_r8ke8_21 svg{width:24px;height:24px}}._rowActive_r8ke8_68{--bg: hsla(217deg, 83%, 57%, .2);--fg: hsl(217deg 83% 57%);color:var(--fg);background:var(--bg)}@media (max-width: 768px){._rowActive_r8ke8_68{background:none}}._label_r8ke8_80{padding-left:14px;font-size:.75em;white-space:nowrap}@media (max-width: 768px){._label_r8ke8_80{padding-left:0;padding-top:5px}}@media screen and (min-width: 30em){._label_r8ke8_80{font-size:1em}}._footer_r8ke8_97{display:flex;flex-direction:column;align-items:center}@media (max-width: 768px){._footer_r8ke8_97{display:none}}._iconWrapper_r8ke8_108{--sz: 40px;width:var(--sz);height:var(--sz);display:flex;justify-content:center;align-items:center;outline:none;padding:5px;color:var(--color-text);border-radius:100%;border:1px solid transparent}._iconWrapper_r8ke8_108:hover{opacity:.6}._iconWrapper_r8ke8_108:focus{border-color:var(--color-focus-blue)} diff --git a/clash/clash/dashboard/yacd/assets/index.068c89e5.js b/clash/clash/dashboard/yacd/assets/index.068c89e5.js deleted file mode 100644 index cbc90f5..0000000 --- a/clash/clash/dashboard/yacd/assets/index.068c89e5.js +++ /dev/null @@ -1 +0,0 @@ -var zi=Object.defineProperty;var Hr=Object.getOwnPropertySymbols;var ki=Object.prototype.hasOwnProperty,Gi=Object.prototype.propertyIsEnumerable;var zr=(t,e,r)=>e in t?zi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,kr=(t,e)=>{for(var r in e||(e={}))ki.call(e,r)&&zr(t,r,e[r]);if(Hr)for(var r of Hr(e))Gi.call(e,r)&&zr(t,r,e[r]);return t};import{r as m,R as to,j as Ki}from"./index.25cbb458.js";var Ue=function(t,e){return Ue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Ue(t,e)};function eo(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ue(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var g=function(){return g=Object.assign||function(e){for(var r,n=1,o=arguments.length;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),o,a=[],i;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)a.push(o.value)}catch(s){i={error:s}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return a}function K(t,e,r){if(r||arguments.length===2)for(var n=0,o=e.length,a;nperformance.now():()=>Date.now(),lo=typeof window!="undefined"?t=>window.requestAnimationFrame(t):t=>setTimeout(()=>t(aa()),uo);function sa(t){let e=[],r=[],n=0,o=!1,a=!1;const i=new WeakSet,s={schedule:(u,l=!1,c=!1)=>{const d=c&&o,v=d?e:r;return l&&i.add(u),v.indexOf(u)===-1&&(v.push(u),d&&o&&(n=e.length)),u},cancel:u=>{const l=r.indexOf(u);l!==-1&&r.splice(l,1),i.delete(u)},process:u=>{if(o){a=!0;return}if(o=!0,[e,r]=[r,e],r.length=0,n=e.length,n)for(let l=0;l(t[e]=sa(()=>zt=!0),t),{}),k=Xt.reduce((t,e)=>{const r=Te[e];return t[e]=(n,o=!1,a=!1)=>(zt||ca(),r.schedule(n,o,a)),t},{}),mt=Xt.reduce((t,e)=>(t[e]=Te[e].cancel,t),{}),Ee=Xt.reduce((t,e)=>(t[e]=()=>Te[e].process(Ct),t),{}),la=t=>Te[t].process(Ct),co=t=>{zt=!1,Ct.delta=He?uo:Math.max(Math.min(t-Ct.timestamp,ua),1),Ct.timestamp=t,ze=!0,Xt.forEach(la),ze=!1,zt&&(He=!1,lo(co))},ca=()=>{zt=!0,He=!0,ze||lo(co)},fe=()=>Ct,de=(t,e,r)=>Math.min(Math.max(r,t),e),Ae=.001,fa=.01,Kr=10,da=.05,va=1;function pa({duration:t=800,bounce:e=.25,velocity:r=0,mass:n=1}){let o,a;Xi(t<=Kr*1e3);let i=1-e;i=de(da,va,i),t=de(fa,Kr,t/1e3),i<1?(o=l=>{const c=l*i,d=c*t,v=c-r,f=ke(l,i),p=Math.exp(-d);return Ae-v/f*p},a=l=>{const d=l*i*t,v=d*r+r,f=Math.pow(i,2)*Math.pow(l,2)*t,p=Math.exp(-d),h=ke(Math.pow(l,2),i);return(-o(l)+Ae>0?-1:1)*((v-f)*p)/h}):(o=l=>{const c=Math.exp(-l*t),d=(l-r)*t+1;return-Ae+c*d},a=l=>{const c=Math.exp(-l*t),d=(r-l)*(t*t);return c*d});const s=5/t,u=ma(o,a,s);if(t=t*1e3,isNaN(u))return{stiffness:100,damping:10,duration:t};{const l=Math.pow(u,2)*n;return{stiffness:l,damping:i*2*Math.sqrt(n*l),duration:t}}}const ha=12;function ma(t,e,r){let n=r;for(let o=1;ot[r]!==void 0)}function xa(t){let e=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},t);if(!Yr(t,ya)&&Yr(t,ga)){const r=pa(t);e=Object.assign(Object.assign(Object.assign({},e),r),{velocity:0,mass:1}),e.isResolvedFromDuration=!0}return e}function lr(t){var{from:e=0,to:r=1,restSpeed:n=2,restDelta:o}=t,a=j(t,["from","to","restSpeed","restDelta"]);const i={done:!1,value:e};let{stiffness:s,damping:u,mass:l,velocity:c,duration:d,isResolvedFromDuration:v}=xa(a),f=Wr,p=Wr;function h(){const y=c?-(c/1e3):0,x=r-e,S=u/(2*Math.sqrt(s*l)),b=Math.sqrt(s/l)/1e3;if(o===void 0&&(o=Math.min(Math.abs(r-e)/100,.4)),S<1){const P=ke(b,S);f=V=>{const M=Math.exp(-S*b*V);return r-M*((y+S*b*x)/P*Math.sin(P*V)+x*Math.cos(P*V))},p=V=>{const M=Math.exp(-S*b*V);return S*b*M*(Math.sin(P*V)*(y+S*b*x)/P+x*Math.cos(P*V))-M*(Math.cos(P*V)*(y+S*b*x)-P*x*Math.sin(P*V))}}else if(S===1)f=P=>r-Math.exp(-b*P)*(x+(y+b*x)*P);else{const P=b*Math.sqrt(S*S-1);f=V=>{const M=Math.exp(-S*b*V),R=Math.min(P*V,300);return r-M*((y+S*b*x)*Math.sinh(R)+P*x*Math.cosh(R))/P}}}return h(),{next:y=>{const x=f(y);if(v)i.done=y>=d;else{const S=p(y)*1e3,b=Math.abs(S)<=n,P=Math.abs(r-x)<=o;i.done=b&&P}return i.value=i.done?r:x,i},flipTarget:()=>{c=-c,[e,r]=[r,e],h()}}}lr.needsInterpolation=(t,e)=>typeof t=="string"||typeof e=="string";const Wr=t=>0,kt=(t,e,r)=>{const n=e-t;return n===0?1:(r-t)/n},F=(t,e,r)=>-r*t+r*e+t,fo=(t,e)=>r=>Math.max(Math.min(r,e),t),It=t=>t%1?Number(t.toFixed(5)):t,Gt=/(-)?([\d]*\.?[\d])+/g,Ge=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,ba=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function $t(t){return typeof t=="string"}const yt={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Ft=Object.assign(Object.assign({},yt),{transform:fo(0,1)}),te=Object.assign(Object.assign({},yt),{default:1}),Zt=t=>({test:e=>$t(e)&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),at=Zt("deg"),tt=Zt("%"),w=Zt("px"),Sa=Zt("vh"),Pa=Zt("vw"),Xr=Object.assign(Object.assign({},tt),{parse:t=>tt.parse(t)/100,transform:t=>tt.transform(t*100)}),cr=(t,e)=>r=>Boolean($t(r)&&ba.test(r)&&r.startsWith(t)||e&&Object.prototype.hasOwnProperty.call(r,e)),vo=(t,e,r)=>n=>{if(!$t(n))return n;const[o,a,i,s]=n.match(Gt);return{[t]:parseFloat(o),[e]:parseFloat(a),[r]:parseFloat(i),alpha:s!==void 0?parseFloat(s):1}},pt={test:cr("hsl","hue"),parse:vo("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:r,alpha:n=1})=>"hsla("+Math.round(t)+", "+tt.transform(It(e))+", "+tt.transform(It(r))+", "+It(Ft.transform(n))+")"},Ta=fo(0,255),Me=Object.assign(Object.assign({},yt),{transform:t=>Math.round(Ta(t))}),ut={test:cr("rgb","red"),parse:vo("red","green","blue"),transform:({red:t,green:e,blue:r,alpha:n=1})=>"rgba("+Me.transform(t)+", "+Me.transform(e)+", "+Me.transform(r)+", "+It(Ft.transform(n))+")"};function Va(t){let e="",r="",n="",o="";return t.length>5?(e=t.substr(1,2),r=t.substr(3,2),n=t.substr(5,2),o=t.substr(7,2)):(e=t.substr(1,1),r=t.substr(2,1),n=t.substr(3,1),o=t.substr(4,1),e+=e,r+=r,n+=n,o+=o),{red:parseInt(e,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:o?parseInt(o,16)/255:1}}const Ke={test:cr("#"),parse:Va,transform:ut.transform},z={test:t=>ut.test(t)||Ke.test(t)||pt.test(t),parse:t=>ut.test(t)?ut.parse(t):pt.test(t)?pt.parse(t):Ke.parse(t),transform:t=>$t(t)?t:t.hasOwnProperty("red")?ut.transform(t):pt.transform(t)},po="${c}",ho="${n}";function Ca(t){var e,r,n,o;return isNaN(t)&&$t(t)&&((r=(e=t.match(Gt))===null||e===void 0?void 0:e.length)!==null&&r!==void 0?r:0)+((o=(n=t.match(Ge))===null||n===void 0?void 0:n.length)!==null&&o!==void 0?o:0)>0}function mo(t){typeof t=="number"&&(t=`${t}`);const e=[];let r=0;const n=t.match(Ge);n&&(r=n.length,t=t.replace(Ge,po),e.push(...n.map(z.parse)));const o=t.match(Gt);return o&&(t=t.replace(Gt,ho),e.push(...o.map(yt.parse))),{values:e,numColors:r,tokenised:t}}function go(t){return mo(t).values}function yo(t){const{values:e,numColors:r,tokenised:n}=mo(t),o=e.length;return a=>{let i=n;for(let s=0;stypeof t=="number"?0:t;function Ea(t){const e=go(t);return yo(t)(e.map(wa))}const nt={test:Ca,parse:go,createTransformer:yo,getAnimatableNone:Ea},Aa=new Set(["brightness","contrast","saturate","opacity"]);function Ma(t){let[e,r]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[n]=r.match(Gt)||[];if(!n)return t;const o=r.replace(n,"");let a=Aa.has(e)?1:0;return n!==r&&(a*=100),e+"("+a+o+")"}const Ra=/([a-z-]*)\(.*?\)/g,Ye=Object.assign(Object.assign({},nt),{getAnimatableNone:t=>{const e=t.match(Ra);return e?e.map(Ma).join(" "):t}});function Re(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function $r({hue:t,saturation:e,lightness:r,alpha:n}){t/=360,e/=100,r/=100;let o=0,a=0,i=0;if(!e)o=a=i=r;else{const s=r<.5?r*(1+e):r+e-r*e,u=2*r-s;o=Re(u,s,t+1/3),a=Re(u,s,t),i=Re(u,s,t-1/3)}return{red:Math.round(o*255),green:Math.round(a*255),blue:Math.round(i*255),alpha:n}}const La=(t,e,r)=>{const n=t*t,o=e*e;return Math.sqrt(Math.max(0,r*(o-n)+n))},Oa=[Ke,ut,pt],Zr=t=>Oa.find(e=>e.test(t)),xo=(t,e)=>{let r=Zr(t),n=Zr(e),o=r.parse(t),a=n.parse(e);r===pt&&(o=$r(o),r=ut),n===pt&&(a=$r(a),n=ut);const i=Object.assign({},o);return s=>{for(const u in i)u!=="alpha"&&(i[u]=La(o[u],a[u],s));return i.alpha=F(o.alpha,a.alpha,s),r.transform(i)}},We=t=>typeof t=="number",Da=(t,e)=>r=>e(t(r)),Ve=(...t)=>t.reduce(Da);function bo(t,e){return We(t)?r=>F(t,e,r):z.test(t)?xo(t,e):Po(t,e)}const So=(t,e)=>{const r=[...t],n=r.length,o=t.map((a,i)=>bo(a,e[i]));return a=>{for(let i=0;i{const r=Object.assign(Object.assign({},t),e),n={};for(const o in r)t[o]!==void 0&&e[o]!==void 0&&(n[o]=bo(t[o],e[o]));return o=>{for(const a in n)r[a]=n[a](o);return r}};function qr(t){const e=nt.parse(t),r=e.length;let n=0,o=0,a=0;for(let i=0;i{const r=nt.createTransformer(e),n=qr(t),o=qr(e);return n.numHSL===o.numHSL&&n.numRGB===o.numRGB&&n.numNumbers>=o.numNumbers?Ve(So(n.parsed,o.parsed),r):i=>`${i>0?e:t}`},Fa=(t,e)=>r=>F(t,e,r);function ja(t){if(typeof t=="number")return Fa;if(typeof t=="string")return z.test(t)?xo:Po;if(Array.isArray(t))return So;if(typeof t=="object")return Ia}function Ba(t,e,r){const n=[],o=r||ja(t[0]),a=t.length-1;for(let i=0;ir(kt(t,e,n))}function _a(t,e){const r=t.length,n=r-1;return o=>{let a=0,i=!1;if(o<=t[0]?i=!0:o>=t[n]&&(a=n-1,i=!0),!i){let u=1;for(;uo||u===n);u++);a=u-1}const s=kt(t[a],t[a+1],o);return e[a](s)}}function fr(t,e,{clamp:r=!0,ease:n,mixer:o}={}){const a=t.length;ce(a===e.length),ce(!n||!Array.isArray(n)||n.length===a-1),t[0]>t[a-1]&&(t=[].concat(t),e=[].concat(e),t.reverse(),e.reverse());const i=Ba(e,n,o),s=a===2?Ua(t,i):_a(t,i);return r?u=>s(de(t[0],t[a-1],u)):s}const Ce=t=>e=>1-t(1-e),dr=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,Na=t=>e=>Math.pow(e,t),To=t=>e=>e*e*((t+1)*e-t),Ha=t=>{const e=To(t);return r=>(r*=2)<1?.5*e(r):.5*(2-Math.pow(2,-10*(r-1)))},Vo=1.525,za=4/11,ka=8/11,Ga=9/10,vr=t=>t,pr=Na(2),Ka=Ce(pr),Co=dr(pr),wo=t=>1-Math.sin(Math.acos(t)),hr=Ce(wo),Ya=dr(hr),mr=To(Vo),Wa=Ce(mr),Xa=dr(mr),$a=Ha(Vo),Za=4356/361,qa=35442/1805,Ja=16061/1805,ve=t=>{if(t===1||t===0)return t;const e=t*t;return tt<.5?.5*(1-ve(1-t*2)):.5*ve(t*2-1)+.5;function es(t,e){return t.map(()=>e||Co).splice(0,t.length-1)}function rs(t){const e=t.length;return t.map((r,n)=>n!==0?n/(e-1):0)}function ns(t,e){return t.map(r=>r*e)}function ae({from:t=0,to:e=1,ease:r,offset:n,duration:o=300}){const a={done:!1,value:t},i=Array.isArray(e)?e:[t,e],s=ns(n&&n.length===i.length?n:rs(i),o);function u(){return fr(s,i,{ease:Array.isArray(r)?r:es(i,r)})}let l=u();return{next:c=>(a.value=l(c),a.done=c>=o,a),flipTarget:()=>{i.reverse(),l=u()}}}function os({velocity:t=0,from:e=0,power:r=.8,timeConstant:n=350,restDelta:o=.5,modifyTarget:a}){const i={done:!1,value:e};let s=r*t;const u=e+s,l=a===void 0?u:a(u);return l!==u&&(s=l-e),{next:c=>{const d=-s*Math.exp(-c/n);return i.done=!(d>o||d<-o),i.value=i.done?l:l+d,i},flipTarget:()=>{}}}const Jr={keyframes:ae,spring:lr,decay:os};function is(t){if(Array.isArray(t.to))return ae;if(Jr[t.type])return Jr[t.type];const e=new Set(Object.keys(t));return e.has("ease")||e.has("duration")&&!e.has("dampingRatio")?ae:e.has("dampingRatio")||e.has("stiffness")||e.has("mass")||e.has("damping")||e.has("restSpeed")||e.has("restDelta")?lr:ae}function Eo(t,e,r=0){return t-e-r}function as(t,e,r=0,n=!0){return n?Eo(e+-t,e,r):e-(t-e)+r}function ss(t,e,r,n){return n?t>=e+r:t<=-r}const us=t=>{const e=({delta:r})=>t(r);return{start:()=>k.update(e,!0),stop:()=>mt.update(e)}};function gr(t){var e,r,{from:n,autoplay:o=!0,driver:a=us,elapsed:i=0,repeat:s=0,repeatType:u="loop",repeatDelay:l=0,onPlay:c,onStop:d,onComplete:v,onRepeat:f,onUpdate:p}=t,h=j(t,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:y}=h,x,S=0,b=h.duration,P,V=!1,M=!0,R;const E=is(h);!((r=(e=E).needsInterpolation)===null||r===void 0)&&r.call(e,n,y)&&(R=fr([0,100],[n,y],{clamp:!1}),n=0,y=100);const A=E(Object.assign(Object.assign({},h),{from:n,to:y}));function I(){S++,u==="reverse"?(M=S%2===0,i=as(i,b,l,M)):(i=Eo(i,b,l),u==="mirror"&&A.flipTarget()),V=!1,f&&f()}function B(){x.stop(),v&&v()}function Y(W){if(M||(W=-W),i+=W,!V){const X=A.next(Math.max(0,i));P=X.value,R&&(P=R(P)),V=M?X.done:i<=0}p==null||p(P),V&&(S===0&&(b!=null||(b=i)),S{d==null||d(),x.stop()}}}function Ao(t,e){return e?t*(1e3/e):0}function ls({from:t=0,velocity:e=0,min:r,max:n,power:o=.8,timeConstant:a=750,bounceStiffness:i=500,bounceDamping:s=10,restDelta:u=1,modifyTarget:l,driver:c,onUpdate:d,onComplete:v,onStop:f}){let p;function h(b){return r!==void 0&&bn}function y(b){return r===void 0?n:n===void 0||Math.abs(r-b){var V;d==null||d(P),(V=b.onUpdate)===null||V===void 0||V.call(b,P)},onComplete:v,onStop:f}))}function S(b){x(Object.assign({type:"spring",stiffness:i,damping:s,restDelta:u},b))}if(h(t))S({from:t,velocity:e,to:y(t)});else{let b=o*e+t;typeof l!="undefined"&&(b=l(b));const P=y(b),V=P===r?-1:1;let M,R;const E=A=>{M=R,R=A,e=Ao(A-M,fe().delta),(V===1&&A>P||V===-1&&Ap==null?void 0:p.stop()}}const Xe=t=>t.hasOwnProperty("x")&&t.hasOwnProperty("y"),Qr=t=>Xe(t)&&t.hasOwnProperty("z"),ee=(t,e)=>Math.abs(t-e);function Mo(t,e){if(We(t)&&We(e))return ee(t,e);if(Xe(t)&&Xe(e)){const r=ee(t.x,e.x),n=ee(t.y,e.y),o=Qr(t)&&Qr(e)?ee(t.z,e.z):0;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2)+Math.pow(o,2))}}const cs=(t,e,r)=>{const n=e-t;return((r-t)%n+n)%n+t},Ro=(t,e)=>1-3*e+3*t,Lo=(t,e)=>3*e-6*t,Oo=t=>3*t,pe=(t,e,r)=>((Ro(e,r)*t+Lo(e,r))*t+Oo(e))*t,Do=(t,e,r)=>3*Ro(e,r)*t*t+2*Lo(e,r)*t+Oo(e),fs=1e-7,ds=10;function vs(t,e,r,n,o){let a,i,s=0;do i=e+(r-e)/2,a=pe(i,n,o)-t,a>0?r=i:e=i;while(Math.abs(a)>fs&&++s=hs?ms(i,d,t,r):v===0?d:vs(i,s,s+re,t,r)}return i=>i===0||i===1?i:pe(a(i),e,n)}function yr(t,e){t.indexOf(e)===-1&&t.push(e)}function xr(t,e){var r=t.indexOf(e);r>-1&&t.splice(r,1)}function ys(t,e,r){var n=L(t),o=n.slice(0),a=e<0?o.length+e:e;if(a>=0&&ae?1:r(kt(t,e,n))}}function cn(t,e){t.min=e.min,t.max=e.max}function J(t,e){cn(t.x,e.x),cn(t.y,e.y)}function Oe(t){return t===void 0||t===1}function Uo(t){var e=t.scale,r=t.scaleX,n=t.scaleY;return!Oe(e)||!Oe(r)||!Oe(n)}function st(t){return Uo(t)||fn(t.x)||fn(t.y)||t.z||t.rotate||t.rotateX||t.rotateY}function fn(t){return t&&t!=="0%"}function me(t,e,r){var n=t-r,o=e*n;return r+o}function dn(t,e,r,n,o){return o!==void 0&&(t=me(t,o,n)),me(t,r,n)+e}function Ze(t,e,r,n,o){e===void 0&&(e=0),r===void 0&&(r=1),t.min=dn(t.min,e,r,n,o),t.max=dn(t.max,e,r,n,o)}function _o(t,e){var r=e.x,n=e.y;Ze(t.x,r.translate,r.scale,r.originPoint),Ze(t.y,n.translate,n.scale,n.originPoint)}function Us(t,e,r,n){var o,a;n===void 0&&(n=!1);var i=r.length;if(!!i){e.x=e.y=1;for(var s,u,l=0;l=0;o--){var a=this.members[o];if(a.isPresent!==!1){n=a;break}}return n?(this.promote(n),!0):!1},t.prototype.promote=function(e,r){var n,o=this.lead;if(e!==o&&(this.prevLead=o,this.lead=e,e.show(),o)){o.instance&&o.scheduleRender(),e.scheduleRender(),e.resumeFrom=o,r&&(e.resumeFrom.preserveOpacity=!0),o.snapshot&&(e.snapshot=o.snapshot,e.snapshot.latestValues=o.animationValues||o.latestValues,e.snapshot.isShared=!0),!((n=e.root)===null||n===void 0)&&n.isUpdating&&(e.isLayoutDirty=!0);var a=e.options.crossfade;a===!1&&o.hide()}},t.prototype.exitAnimationComplete=function(){this.members.forEach(function(e){var r,n,o,a,i;(n=(r=e.options).onExitComplete)===null||n===void 0||n.call(r),(i=(o=e.resumingFrom)===null||o===void 0?void 0:(a=o.options).onExitComplete)===null||i===void 0||i.call(a)})},t.prototype.scheduleRender=function(){this.members.forEach(function(e){e.instance&&e.scheduleRender(!1)})},t.prototype.removeLeadSnapshot=function(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)},t}(),ge={};function Ys(t){Object.assign(ge,t)}var Ws="translate3d(0px, 0px, 0) scale(1, 1)";function Vn(t,e,r){var n=t.x.translate/e.x,o=t.y.translate/e.y,a="translate3d(".concat(n,"px, ").concat(o,"px, 0) ");if(r){var i=r.rotate,s=r.rotateX,u=r.rotateY;i&&(a+="rotate(".concat(i,"deg) ")),s&&(a+="rotateX(".concat(s,"deg) ")),u&&(a+="rotateY(".concat(u,"deg) "))}return a+="scale(".concat(t.x.scale,", ").concat(t.y.scale,")"),a===Ws?"none":a}function Q(t){return[t("x"),t("y")]}var qe=["","X","Y","Z"],Xs=["translate","scale","rotate","skew"],Yt=["transformPerspective","x","y","z"];Xs.forEach(function(t){return qe.forEach(function(e){return Yt.push(t+e)})});function $s(t,e){return Yt.indexOf(t)-Yt.indexOf(e)}var Zs=new Set(Yt);function qt(t){return Zs.has(t)}var qs=new Set(["originX","originY","originZ"]);function zo(t){return qs.has(t)}var Js=function(t,e){return t.depth-e.depth},Qs=function(){function t(){this.children=[],this.isDirty=!1}return t.prototype.add=function(e){yr(this.children,e),this.isDirty=!0},t.prototype.remove=function(e){xr(this.children,e),this.isDirty=!0},t.prototype.forEach=function(e){this.isDirty&&this.children.sort(Js),this.isDirty=!1,this.children.forEach(e)},t}();function ue(t){var e=$(t)?t.get():t;return ws(e)?e.toValue():e}var Cn=1e3,Nt={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function ko(t){var e=t.attachResizeListener,r=t.defaultParent,n=t.measureScroll,o=t.resetTransform;return function(){function a(i,s,u){var l=this;s===void 0&&(s={}),u===void 0&&(u=r==null?void 0:r()),this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=function(){l.isUpdating&&(l.isUpdating=!1,l.clearAllSnapshots())},this.updateProjection=function(){l.nodes.forEach(iu),l.nodes.forEach(au)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.id=i,this.latestValues=s,this.root=u?u.root||u:this,this.path=u?K(K([],L(u.path),!1),[u],!1):[],this.parent=u,this.depth=u?u.depth+1:0,i&&this.root.registerPotentialNode(i,this);for(var c=0;c=0;n--)if(Boolean(t.path[n].instance)){r=t.path[n];break}var o=r&&r!==t.root?r.instance:document,a=o.querySelector('[data-projection-id="'.concat(e,'"]'));a&&t.mount(a,!0)}function Mn(t){t.min=Math.round(t.min),t.max=Math.round(t.max)}function Rn(t){Mn(t.x),Mn(t.y)}var vu=1;function pu(){return _(function(){if(Nt.hasEverUpdated)return vu++})}var Wt=m.exports.createContext({}),Go=m.exports.createContext({});function hu(t,e,r,n){var o,a=e.layoutId,i=e.layout,s=e.drag,u=e.dragConstraints,l=e.layoutScroll,c=m.exports.useContext(Go);!n||!r||(r==null?void 0:r.projection)||(r.projection=new n(t,r.getLatestValues(),(o=r.parent)===null||o===void 0?void 0:o.projection),r.projection.setOptions({layoutId:a,layout:i,alwaysMeasureLayout:Boolean(s)||u&&Pt(u),visualElement:r,scheduleRender:function(){return r.scheduleRender()},animationType:typeof i=="string"?i:"both",initialPromotionConfig:c,layoutScroll:l}))}var mu=function(t){eo(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.getSnapshotBeforeUpdate=function(){return this.updateProps(),null},e.prototype.componentDidUpdate=function(){},e.prototype.updateProps=function(){var r=this.props,n=r.visualElement,o=r.props;n&&n.setProps(o)},e.prototype.render=function(){return this.props.children},e}(to.Component);function Ko(t){var e=t.preloadedFeatures,r=t.createVisualElement,n=t.projectionNodeConstructor,o=t.useRender,a=t.useVisualState,i=t.Component;e&&_e(e);function s(u,l){var c=gu(u);u=g(g({},u),{layoutId:c});var d=m.exports.useContext(ct),v=null,f=ia(u),p=d.isStatic?void 0:pu(),h=a(u,d.isStatic);return!d.isStatic&&Mt&&(f.visualElement=ta(i,h,g(g({},d),u),r),hu(p,u,f.visualElement,n||Ht.projectionNodeConstructor),v=Zi(u,f.visualElement,e)),m.exports.createElement(mu,{visualElement:f.visualElement,props:g(g({},d),u)},v,m.exports.createElement(be.Provider,{value:f},o(i,u,p,ea(h,f.visualElement,l),h,d.isStatic,f.visualElement)))}return m.exports.forwardRef(s)}function gu(t){var e,r=t.layoutId,n=(e=m.exports.useContext(Wt))===null||e===void 0?void 0:e.id;return n&&r!==void 0?n+"-"+r:r}function Yo(t){function e(n,o){return o===void 0&&(o={}),Ko(t(n,o))}if(typeof Proxy=="undefined")return e;var r=new Map;return new Proxy(e,{get:function(n,o){return r.has(o)||r.set(o,e(o)),r.get(o)}})}var yu=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function Vr(t){return typeof t!="string"||t.includes("-")?!1:!!(yu.indexOf(t)>-1||/[A-Z]/.test(t))}function Wo(t,e){var r=e.layout,n=e.layoutId;return qt(t)||zo(t)||(r||n!==void 0)&&(!!ge[t]||t==="opacity")}var xu={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function bu(t,e,r,n){var o=t.transform,a=t.transformKeys,i=e.enableHardwareAcceleration,s=i===void 0?!0:i,u=e.allowTransformNone,l=u===void 0?!0:u,c="";a.sort($s);for(var d=!1,v=a.length,f=0;fS&&B,et=Array.isArray(I)?I:[I],it=et.reduce(a,{});Y===!1&&(it={});var Rt=A.prevResolvedValues,xt=Rt===void 0?{}:Rt,Jt=g(g({},xt),it),bt=function(C){X=!0,y.delete(C),A.needsAnimating[C]=!0};for(var G in Jt){var O=it[G],T=xt[G];x.hasOwnProperty(G)||(O!==T?Kt(O)&&Kt(T)?!hi(O,T)||W?bt(G):A.protectedKeys[G]=!0:O!==void 0?bt(G):y.add(G):O!==void 0&&y.has(G)?bt(G):A.protectedKeys[G]=!0)}A.prevProp=I,A.prevResolvedValues=it,A.isActive&&(x=g(g({},x),it)),o&&t.blockInitialAnimation&&(X=!1),X&&!N&&h.push.apply(h,K([],L(et.map(function(C){return{animation:C,options:g({type:E},c)}})),!1))},P=0;P=3;if(!(!f&&!p)){var h=v.point,y=fe().timestamp;o.history.push(g(g({},h),{timestamp:y}));var x=o.handlers,S=x.onStart,b=x.onMove;f||(S&&S(o.lastMoveEvent,v),o.startEvent=o.lastMoveEvent),b&&b(o.lastMoveEvent,v)}}},this.handlePointerMove=function(v,f){if(o.lastMoveEvent=v,o.lastMoveEventInfo=Ie(f,o.transformPagePoint),oi(v)&&v.buttons===0){o.handlePointerUp(v,f);return}k.update(o.updatePoint,!0)},this.handlePointerUp=function(v,f){o.end();var p=o.handlers,h=p.onEnd,y=p.onSessionEnd,x=Fe(Ie(f,o.transformPagePoint),o.history);o.startEvent&&h&&h(v,x),y&&y(v,x)},!(ii(e)&&e.touches.length>1)){this.handlers=r,this.transformPagePoint=i;var s=Or(e),u=Ie(s,this.transformPagePoint),l=u.point,c=fe().timestamp;this.history=[g(g({},l),{timestamp:c})];var d=r.onSessionStart;d&&d(e,Fe(u,this.history)),this.removeListeners=Ve(wt(window,"pointermove",this.handlePointerMove),wt(window,"pointerup",this.handlePointerUp),wt(window,"pointercancel",this.handlePointerUp))}}return t.prototype.updateHandlers=function(e){this.handlers=e},t.prototype.end=function(){this.removeListeners&&this.removeListeners(),mt.update(this.updatePoint)},t}();function Ie(t,e){return e?{point:e(t.point)}:t}function Bn(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Fe(t,e){var r=t.point;return{point:r,delta:Bn(r,Ti(e)),offset:Bn(r,El(e)),velocity:Al(e,.1)}}function El(t){return t[0]}function Ti(t){return t[t.length-1]}function Al(t,e){if(t.length<2)return{x:0,y:0};for(var r=t.length-1,n=null,o=Ti(t);r>=0&&(n=t[r],!(o.timestamp-n.timestamp>he(e)));)r--;if(!n)return{x:0,y:0};var a=(o.timestamp-n.timestamp)/1e3;if(a===0)return{x:0,y:0};var i={x:(o.x-n.x)/a,y:(o.y-n.y)/a};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function Ml(t,e,r){var n=e.min,o=e.max;return n!==void 0&&to&&(t=r?F(o,t,r.max):Math.min(t,o)),t}function Un(t,e,r){return{min:e!==void 0?t.min+e:void 0,max:r!==void 0?t.max+r-(t.max-t.min):void 0}}function Rl(t,e){var r=e.top,n=e.left,o=e.bottom,a=e.right;return{x:Un(t.x,n,a),y:Un(t.y,r,o)}}function _n(t,e){var r,n=e.min-t.min,o=e.max-t.max;return e.max-e.minn?r=kt(e.min,e.max-n,t.min):n>o&&(r=kt(t.min,t.max-o,e.min)),de(0,1,r)}function Dl(t,e){var r={};return e.min!==void 0&&(r.min=e.min-t.min),e.max!==void 0&&(r.max=e.max-t.min),r}var rr=.35;function Il(t){return t===void 0&&(t=rr),t===!1?t=0:t===!0&&(t=rr),{x:Nn(t,"left","right"),y:Nn(t,"top","bottom")}}function Nn(t,e,r){return{min:Hn(t,e),max:Hn(t,r)}}function Hn(t,e){var r;return typeof t=="number"?t:(r=t[e])!==null&&r!==void 0?r:0}function Vi(t){var e=t.top,r=t.left,n=t.right,o=t.bottom;return{x:{min:r,max:n},y:{min:e,max:o}}}function Fl(t){var e=t.x,r=t.y;return{top:r.min,right:e.max,bottom:r.max,left:e.min}}function jl(t,e){if(!e)return t;var r=e({x:t.left,y:t.top}),n=e({x:t.right,y:t.bottom});return{top:r.y,left:r.x,bottom:n.y,right:n.x}}function Ci(t,e){return Vi(jl(t.getBoundingClientRect(),e))}function Bl(t,e,r){var n=Ci(t,r),o=e.scroll;return o&&(Tt(n.x,o.x),Tt(n.y,o.y)),n}var Ul=new WeakMap,_l=function(){function t(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=U(),this.visualElement=e}return t.prototype.start=function(e,r){var n=this,o=r===void 0?{}:r,a=o.snapToCursor,i=a===void 0?!1:a;if(this.visualElement.isPresent!==!1){var s=function(d){n.stopAnimation(),i&&n.snapToCursor(Or(d,"page").point)},u=function(d,v){var f,p=n.getProps(),h=p.drag,y=p.dragPropagation,x=p.onDragStart;h&&!y&&(n.openGlobalLock&&n.openGlobalLock(),n.openGlobalLock=li(h),!n.openGlobalLock)||(n.isDragging=!0,n.currentDirection=null,n.resolveConstraints(),n.visualElement.projection&&(n.visualElement.projection.isAnimationBlocked=!0,n.visualElement.projection.target=void 0),Q(function(S){var b,P,V=n.getAxisMotionValue(S).get()||0;if(tt.test(V)){var M=(P=(b=n.visualElement.projection)===null||b===void 0?void 0:b.layout)===null||P===void 0?void 0:P.actual[S];if(M){var R=ot(M);V=R*(parseFloat(V)/100)}}n.originPoint[S]=V}),x==null||x(d,v),(f=n.visualElement.animationState)===null||f===void 0||f.setActive(D.Drag,!0))},l=function(d,v){var f=n.getProps(),p=f.dragPropagation,h=f.dragDirectionLock,y=f.onDirectionLock,x=f.onDrag;if(!(!p&&!n.openGlobalLock)){var S=v.offset;if(h&&n.currentDirection===null){n.currentDirection=Nl(S),n.currentDirection!==null&&(y==null||y(n.currentDirection));return}n.updateAxis("x",v.point,S),n.updateAxis("y",v.point,S),n.visualElement.syncRender(),x==null||x(d,v)}},c=function(d,v){return n.stop(d,v)};this.panSession=new Pi(e,{onSessionStart:s,onStart:u,onMove:l,onSessionEnd:c},{transformPagePoint:this.visualElement.getTransformPagePoint()})}},t.prototype.stop=function(e,r){var n=this.isDragging;if(this.cancel(),!!n){var o=r.velocity;this.startAnimation(o);var a=this.getProps().onDragEnd;a==null||a(e,r)}},t.prototype.cancel=function(){var e,r;this.isDragging=!1,this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!1),(e=this.panSession)===null||e===void 0||e.end(),this.panSession=void 0;var n=this.getProps().dragPropagation;!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),(r=this.visualElement.animationState)===null||r===void 0||r.setActive(D.Drag,!1)},t.prototype.updateAxis=function(e,r,n){var o=this.getProps().drag;if(!(!n||!oe(e,o,this.currentDirection))){var a=this.getAxisMotionValue(e),i=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(i=Ml(i,this.constraints[e],this.elastic[e])),a.set(i)}},t.prototype.resolveConstraints=function(){var e=this,r=this.getProps(),n=r.dragConstraints,o=r.dragElastic,a=(this.visualElement.projection||{}).layout,i=this.constraints;n&&Pt(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&a?this.constraints=Rl(a.actual,n):this.constraints=!1,this.elastic=Il(o),i!==this.constraints&&a&&this.constraints&&!this.hasMutatedConstraints&&Q(function(s){e.getAxisMotionValue(s)&&(e.constraints[s]=Dl(a.actual[s],e.constraints[s]))})},t.prototype.resolveRefConstraints=function(){var e=this.getProps(),r=e.dragConstraints,n=e.onMeasureDragConstraints;if(!r||!Pt(r))return!1;var o=r.current,a=this.visualElement.projection;if(!a||!a.layout)return!1;var i=Bl(o,a.root,this.visualElement.getTransformPagePoint()),s=Ll(a.layout.actual,i);if(n){var u=n(Fl(s));this.hasMutatedConstraints=!!u,u&&(s=Vi(u))}return s},t.prototype.startAnimation=function(e){var r=this,n=this.getProps(),o=n.drag,a=n.dragMomentum,i=n.dragElastic,s=n.dragTransition,u=n.dragSnapToOrigin,l=n.onDragTransitionEnd,c=this.constraints||{},d=Q(function(v){var f;if(!!oe(v,o,r.currentDirection)){var p=(f=c==null?void 0:c[v])!==null&&f!==void 0?f:{};u&&(p={min:0,max:0});var h=i?200:1e6,y=i?40:1e7,x=g(g({type:"inertia",velocity:a?e[v]:0,bounceStiffness:h,bounceDamping:y,timeConstant:750,restDelta:1,restSpeed:10},s),p);return r.startAxisValueAnimation(v,x)}});return Promise.all(d).then(l)},t.prototype.startAxisValueAnimation=function(e,r){var n=this.getAxisMotionValue(e);return Tr(e,n,0,r)},t.prototype.stopAnimation=function(){var e=this;Q(function(r){return e.getAxisMotionValue(r).stop()})},t.prototype.getAxisMotionValue=function(e){var r,n,o="_drag"+e.toUpperCase(),a=this.visualElement.getProps()[o];return a||this.visualElement.getValue(e,(n=(r=this.visualElement.getProps().initial)===null||r===void 0?void 0:r[e])!==null&&n!==void 0?n:0)},t.prototype.snapToCursor=function(e){var r=this;Q(function(n){var o=r.getProps().drag;if(!!oe(n,o,r.currentDirection)){var a=r.visualElement.projection,i=r.getAxisMotionValue(n);if(a&&a.layout){var s=a.layout.actual[n],u=s.min,l=s.max;i.set(e[n]-F(u,l,.5))}}})},t.prototype.scalePositionWithinConstraints=function(){var e=this,r,n=this.getProps(),o=n.drag,a=n.dragConstraints,i=this.visualElement.projection;if(!(!Pt(a)||!i||!this.constraints)){this.stopAnimation();var s={x:0,y:0};Q(function(l){var c=e.getAxisMotionValue(l);if(c){var d=c.get();s[l]=Ol({min:d,max:d},e.constraints[l])}});var u=this.visualElement.getProps().transformTemplate;this.visualElement.getInstance().style.transform=u?u({},""):"none",(r=i.root)===null||r===void 0||r.updateScroll(),i.updateLayout(),this.resolveConstraints(),Q(function(l){if(!!oe(l,o,null)){var c=e.getAxisMotionValue(l),d=e.constraints[l],v=d.min,f=d.max;c.set(F(v,f,s[l]))}})}},t.prototype.addListeners=function(){var e=this,r;Ul.set(this.visualElement,this);var n=this.visualElement.getInstance(),o=wt(n,"pointerdown",function(l){var c=e.getProps(),d=c.drag,v=c.dragListener,f=v===void 0?!0:v;d&&f&&e.start(l)}),a=function(){var l=e.getProps().dragConstraints;Pt(l)&&(e.constraints=e.resolveRefConstraints())},i=this.visualElement.projection,s=i.addEventListener("measure",a);i&&!i.layout&&((r=i.root)===null||r===void 0||r.updateScroll(),i.updateLayout()),a();var u=ft(window,"resize",function(){return e.scalePositionWithinConstraints()});return i.addEventListener("didUpdate",function(l){var c=l.delta,d=l.hasLayoutChanged;e.isDragging&&d&&(Q(function(v){var f=e.getAxisMotionValue(v);!f||(e.originPoint[v]+=c[v].translate,f.set(f.get()+c[v].translate))}),e.visualElement.syncRender())}),function(){u(),o(),s()}},t.prototype.getProps=function(){var e=this.visualElement.getProps(),r=e.drag,n=r===void 0?!1:r,o=e.dragDirectionLock,a=o===void 0?!1:o,i=e.dragPropagation,s=i===void 0?!1:i,u=e.dragConstraints,l=u===void 0?!1:u,c=e.dragElastic,d=c===void 0?rr:c,v=e.dragMomentum,f=v===void 0?!0:v;return g(g({},e),{drag:n,dragDirectionLock:a,dragPropagation:s,dragConstraints:l,dragElastic:d,dragMomentum:f})},t}();function oe(t,e,r){return(e===!0||e===t)&&(r===null||r===t)}function Nl(t,e){e===void 0&&(e=10);var r=null;return Math.abs(t.y)>e?r="y":Math.abs(t.x)>e&&(r="x"),r}function Hl(t){var e=t.dragControls,r=t.visualElement,n=_(function(){return new _l(r)});m.exports.useEffect(function(){return e&&e.subscribe(n)},[n,e]),m.exports.useEffect(function(){return n.addListeners()},[n])}function zl(t){var e=t.onPan,r=t.onPanStart,n=t.onPanEnd,o=t.onPanSessionStart,a=t.visualElement,i=e||r||n||o,s=m.exports.useRef(null),u=m.exports.useContext(ct).transformPagePoint,l={onSessionStart:o,onStart:r,onMove:e,onEnd:function(d,v){s.current=null,n&&n(d,v)}};m.exports.useEffect(function(){s.current!==null&&s.current.updateHandlers(l)});function c(d){s.current=new Pi(d,l,{transformPagePoint:u})}xe(a,"pointerdown",i&&c),Dr(function(){return s.current&&s.current.end()})}var wi={pan:lt(zl),drag:lt(Hl)},ie=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","LayoutAnimationStart","SetAxisTarget","Unmount"];function kl(){var t=ie.map(function(){return new jt}),e={},r={clearAllListeners:function(){return t.forEach(function(n){return n.clear()})},updatePropListeners:function(n){ie.forEach(function(o){var a,i="on"+o,s=n[i];(a=e[o])===null||a===void 0||a.call(e),s&&(e[o]=r[i](s))})}};return t.forEach(function(n,o){r["on"+ie[o]]=function(a){return n.add(a)},r["notify"+ie[o]]=function(){for(var a=[],i=0;i=0?window.pageYOffset:null,l=Ql(e,t,s);return a.length&&a.forEach(function(c){var d=L(c,2),v=d[0],f=d[1];t.getValue(v).set(f)}),t.syncRender(),u!==null&&window.scrollTo({top:u}),{target:l,transitionEnd:n}}else return{target:e,transitionEnd:n}};function ec(t,e,r,n){return $l(e)?tc(t,e,r,n):{target:e,transitionEnd:n}}var rc=function(t,e,r,n){var o=Wl(t,e,n);return e=o.target,n=o.transitionEnd,ec(t,e,r,n)};function nc(t){return window.getComputedStyle(t)}var Li={treeType:"dom",readValueFromInstance:function(t,e){if(qt(e)){var r=br(e);return r&&r.default||0}else{var n=nc(t);return(Xo(e)?n.getPropertyValue(e):n[e])||0}},sortNodePosition:function(t,e){return t.compareDocumentPosition(e)&2?1:-1},getBaseTarget:function(t,e){var r;return(r=t.style)===null||r===void 0?void 0:r[e]},measureViewportBox:function(t,e){var r=e.transformPagePoint;return Ci(t,r)},resetTransform:function(t,e,r){var n=r.transformTemplate;e.style.transform=n?n({},""):"none",t.scheduleRender()},restoreTransform:function(t,e){t.style.transform=e.style.transform},removeValueFromRenderState:function(t,e){var r=e.vars,n=e.style;delete r[t],delete n[t]},makeTargetAnimatable:function(t,e,r,n){var o=r.transformValues;n===void 0&&(n=!0);var a=e.transition,i=e.transitionEnd,s=j(e,["transition","transitionEnd"]),u=xi(s,a||{},t);if(o&&(i&&(i=o(i)),s&&(s=o(s)),u&&(u=o(u))),n){yi(t,s,u);var l=rc(t,s,u,i);i=l.transitionEnd,s=l.target}return g({transition:a,transitionEnd:i},s)},scrapeMotionValuesFromProps:Ar,build:function(t,e,r,n,o){t.isVisible!==void 0&&(e.style.visibility=t.isVisible?"visible":"hidden"),Cr(e,r,n,o.transformTemplate)},render:ti},oc=Br(Li),ic=Br(g(g({},Li),{getBaseTarget:function(t,e){return t[e]},readValueFromInstance:function(t,e){var r;return qt(e)?((r=br(e))===null||r===void 0?void 0:r.default)||0:(e=ei.has(e)?e:Qo(e),t.getAttribute(e))},scrapeMotionValuesFromProps:ni,build:function(t,e,r,n,o){Er(e,r,n,o.transformTemplate)},render:ri})),Ur=function(t,e){return Vr(t)?ic(e,{enableHardwareAcceleration:!1}):oc(e,{enableHardwareAcceleration:!0})};function Wn(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}var Dt={correct:function(t,e){if(!e.target)return t;if(typeof t=="string")if(w.test(t))t=parseFloat(t);else return t;var r=Wn(t,e.target.x),n=Wn(t,e.target.y);return"".concat(r,"% ").concat(n,"%")}},Xn="_$css",ac={correct:function(t,e){var r=e.treeScale,n=e.projectionDelta,o=t,a=t.includes("var("),i=[];a&&(t=t.replace(Ai,function(h){return i.push(h),Xn}));var s=nt.parse(t);if(s.length>5)return o;var u=nt.createTransformer(t),l=typeof s[0]!="number"?1:0,c=n.x.scale*r.x,d=n.y.scale*r.y;s[0+l]/=c,s[1+l]/=d;var v=F(c,d,.5);typeof s[2+l]=="number"&&(s[2+l]/=v),typeof s[3+l]=="number"&&(s[3+l]/=v);var f=u(s);if(a){var p=0;f=f.replace(Xn,function(){var h=i[p];return p++,h})}return f}},sc=function(t){eo(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.componentDidMount=function(){var r=this,n=this.props,o=n.visualElement,a=n.layoutGroup,i=n.switchLayoutGroup,s=n.layoutId,u=o.projection;Ys(lc),u&&(a!=null&&a.group&&a.group.add(u),(i==null?void 0:i.register)&&s&&i.register(u),u.root.didUpdate(),u.addEventListener("animationComplete",function(){r.safeToRemove()}),u.setOptions(g(g({},u.options),{onExitComplete:function(){return r.safeToRemove()}}))),Nt.hasEverUpdated=!0},e.prototype.getSnapshotBeforeUpdate=function(r){var n=this,o=this.props,a=o.layoutDependency,i=o.visualElement,s=o.drag,u=o.isPresent,l=i.projection;return l&&(l.isPresent=u,s||r.layoutDependency!==a||a===void 0?l.willUpdate():this.safeToRemove(),r.isPresent!==u&&(u?l.promote():l.relegate()||k.postRender(function(){var c;!((c=l.getStack())===null||c===void 0)&&c.members.length||n.safeToRemove()}))),null},e.prototype.componentDidUpdate=function(){var r=this.props.visualElement.projection;r&&(r.root.didUpdate(),!r.currentAnimation&&r.isLead()&&this.safeToRemove())},e.prototype.componentWillUnmount=function(){var r=this.props,n=r.visualElement,o=r.layoutGroup,a=r.switchLayoutGroup,i=n.projection;i&&(i.scheduleCheckAfterUnmount(),o!=null&&o.group&&o.group.remove(i),a!=null&&a.deregister&&a.deregister(i))},e.prototype.safeToRemove=function(){var r=this.props.safeToRemove;r==null||r()},e.prototype.render=function(){return null},e}(to.Component);function uc(t){var e=L(pi(),2),r=e[0],n=e[1],o=m.exports.useContext(Wt);return Ki(sc,kr({},g({},t,{layoutGroup:o,switchLayoutGroup:m.exports.useContext(Go),isPresent:r,safeToRemove:n})))}var lc={borderRadius:g(g({},Dt),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:Dt,borderTopRightRadius:Dt,borderBottomLeftRadius:Dt,borderBottomRightRadius:Dt,boxShadow:ac},Oi={measureLayout:uc},cc=ko({attachResizeListener:function(t,e){return ft(t,"resize",e)},measureScroll:function(){return{x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}}}),ht={current:void 0},_r=ko({measureScroll:function(t){return{x:t.scrollLeft,y:t.scrollTop}},defaultParent:function(){if(!ht.current){var t=new cc(0,{});t.mount(window),t.setOptions({layoutScroll:!0}),ht.current=t}return ht.current},resetTransform:function(t,e){t.style.transform=e!=null?e:"none"}}),Di=g(g(g(g({},Si),di),wi),Oi),Ii=Yo(function(t,e){return Lr(t,e,Di,Ur,_r)});function Xc(t){return Ko(Lr(t,{forwardMotionProps:!1},Di,Ur,_r))}var $c=Yo(Lr);function Fi(){var t=m.exports.useRef(!1);return Et(function(){return t.current=!0,function(){t.current=!1}},[]),t}function Nr(){var t=Fi(),e=L(m.exports.useState(0),2),r=e[0],n=e[1],o=m.exports.useCallback(function(){t.current&&n(r+1)},[r]),a=m.exports.useCallback(function(){return k.postRender(o)},[o]);return[a,r]}var je=function(t){var e=t.children,r=t.initial,n=t.isPresent,o=t.onExitComplete,a=t.custom,i=t.presenceAffectsLayout,s=_(fc),u=vi(),l=m.exports.useMemo(function(){return{id:u,initial:r,isPresent:n,custom:a,onExitComplete:function(c){var d,v;s.set(c,!0);try{for(var f=Yi(s.values()),p=f.next();!p.done;p=f.next()){var h=p.value;if(!h)return}}catch(y){d={error:y}}finally{try{p&&!p.done&&(v=f.return)&&v.call(f)}finally{if(d)throw d.error}}o==null||o()},register:function(c){return s.set(c,!1),function(){return s.delete(c)}}}},i?void 0:[n]);return m.exports.useMemo(function(){s.forEach(function(c,d){return s.set(d,!1)})},[n]),m.exports.useEffect(function(){!n&&!s.size&&(o==null||o())},[n]),m.exports.createElement(At.Provider,{value:l},e)};function fc(){return new Map}var St=function(t){return t.key||""};function dc(t,e){t.forEach(function(r){var n=St(r);e.set(n,r)})}function vc(t){var e=[];return m.exports.Children.forEach(t,function(r){m.exports.isValidElement(r)&&e.push(r)}),e}var Zc=function(t){var e=t.children,r=t.custom,n=t.initial,o=n===void 0?!0:n,a=t.onExitComplete,i=t.exitBeforeEnter,s=t.presenceAffectsLayout,u=s===void 0?!0:s,l=L(Nr(),1),c=l[0],d=m.exports.useContext(Wt).forceRender;d&&(c=d);var v=Fi(),f=vc(e),p=f,h=new Set,y=m.exports.useRef(p),x=m.exports.useRef(new Map).current,S=m.exports.useRef(!0);if(Et(function(){S.current=!1,dc(f,x),y.current=p}),Dr(function(){S.current=!0,x.clear(),h.clear()}),S.current)return m.exports.createElement(m.exports.Fragment,null,p.map(function(E){return m.exports.createElement(je,{key:St(E),isPresent:!0,initial:o?void 0:!1,presenceAffectsLayout:u},E)}));p=K([],L(p),!1);for(var b=y.current.map(St),P=f.map(St),V=b.length,M=0;M1&&console.warn("You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour."),m.exports.createElement(m.exports.Fragment,null,h.size?p:p.map(function(E){return m.exports.cloneElement(E)}))},pc=m.exports.createContext(null),hc=function(t){return!t.isLayoutDirty&&t.willUpdate(!1)};function $n(){var t=new Set,e=new WeakMap,r=function(){return t.forEach(hc)};return{add:function(n){t.add(n),e.set(n,n.addEventListener("willUpdate",r))},remove:function(n){var o;t.delete(n),(o=e.get(n))===null||o===void 0||o(),e.delete(n),r()},dirty:r}}var ji=function(t){return t===!0},mc=function(t){return ji(t===!0)||t==="id"},gc=function(t){var e,r,n=t.children,o=t.id,a=t.inheritId,i=t.inherit,s=i===void 0?!0:i;a!==void 0&&(s=a);var u=m.exports.useContext(Wt),l=m.exports.useContext(pc),c=L(Nr(),2),d=c[0],v=c[1],f=m.exports.useRef(null),p=(e=u.id)!==null&&e!==void 0?e:l;f.current===null&&(mc(s)&&p&&(o=o?p+"-"+o:p),f.current={id:o,group:ji(s)&&(r=u==null?void 0:u.group)!==null&&r!==void 0?r:$n()});var h=m.exports.useMemo(function(){return g(g({},f.current),{forceRender:d})},[v]);return m.exports.createElement(Wt.Provider,{value:h},n)},yc=0,qc=function(t){var e=t.children;return m.exports.useEffect(function(){},[]),m.exports.createElement(gc,{id:_(function(){return"asl-".concat(yc++)})},e)};function Jc(t){var e=t.children,r=t.isValidProp,n=j(t,["children","isValidProp"]);r&&qo(r),n=g(g({},m.exports.useContext(ct)),n),n.isStatic=_(function(){return n.isStatic});var o=m.exports.useMemo(function(){return n},[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return m.exports.createElement(ct.Provider,{value:o},e)}function Qc(t){var e=t.children,r=t.features,n=t.strict,o=n===void 0?!1:n,a=L(m.exports.useState(!Be(r)),2),i=a[1],s=m.exports.useRef(void 0);if(!Be(r)){var u=r.renderer,l=j(r,["renderer"]);s.current=u,_e(l)}return m.exports.useEffect(function(){Be(r)&&r().then(function(c){var d=c.renderer,v=j(c,["renderer"]);_e(v),s.current=d,i(!0)})},[]),m.exports.createElement(ur.Provider,{value:{renderer:s.current,strict:o}},e)}function Be(t){return typeof t=="function"}var Bi=m.exports.createContext(null);function xc(t,e,r,n){if(!n)return t;var o=t.findIndex(function(c){return c.value===e});if(o===-1)return t;var a=n>0?1:-1,i=t[o+a];if(!i)return t;var s=t[o],u=i.layout,l=F(u.min,u.max,.5);return a===1&&s.layout.max+r>l||a===-1&&s.layout.min+r.001?1/t:Gc};function hf(t){var e=gt(1),r=gt(1),n=no();t?(e=t.scaleX||e,r=t.scaleY||r):n&&(e=n.getValue("scaleX",1),r=n.getValue("scaleY",1));var o=ir(e,Qn),a=ir(r,Qn);return{scaleX:o,scaleY:a}}export{Zc as AnimatePresence,qc as AnimateSharedLayout,D as AnimationType,pc as DeprecatedLayoutGroupContext,Uc as DragControls,Qs as FlatTree,gc as LayoutGroup,Wt as LayoutGroupContext,Qc as LazyMotion,Jc as MotionConfig,ct as MotionConfigContext,be as MotionContext,bs as MotionValue,At as PresenceContext,tf as Reorder,Go as SwitchLayoutGroupContext,wt as addPointerEvent,Ys as addScaleCorrector,Ds as animate,Fr as animateVisualElement,Bc as animationControls,Si as animations,ot as calcLength,yi as checkTargetForNewValues,U as createBox,Xc as createDomMotionComponent,Ko as createMotionComponent,Lc as domAnimation,ef as domMax,Eu as filterProps,Mt as isBrowser,ci as isDragActive,$ as isMotionValue,ye as isValidMotionProp,$c as m,Rr as makeUseVisualState,Ii as motion,q as motionValue,ue as resolveMotionValue,wc as transform,lf as useAnimation,jc as useAnimationFrame,cf as useCycle,pf as useDeprecatedAnimatedState,hf as useDeprecatedInvertedScale,Je as useDomEvent,ff as useDragControls,af as useElementScroll,Nr as useForceUpdate,Nc as useInstantLayoutTransition,df as useInstantTransition,Wc as useIsPresent,Et as useIsomorphicLayoutEffect,rf as useMotionTemplate,gt as useMotionValue,pi as usePresence,Ji as useReducedMotion,Qi as useReducedMotionConfig,vf as useResetProjection,nf as useSpring,uf as useTime,ir as useTransform,Dr as useUnmountEffect,of as useVelocity,sf as useViewportScroll,no as useVisualElementContext,Br as visualElement,ai as wrapHandler}; diff --git a/clash/clash/dashboard/yacd/assets/index.25cbb458.js b/clash/clash/dashboard/yacd/assets/index.25cbb458.js deleted file mode 100644 index aa75145..0000000 --- a/clash/clash/dashboard/yacd/assets/index.25cbb458.js +++ /dev/null @@ -1,85 +0,0 @@ -var dS=Object.defineProperty,pS=Object.defineProperties;var hS=Object.getOwnPropertyDescriptors;var Ea=Object.getOwnPropertySymbols;var Cp=Object.prototype.hasOwnProperty,Ep=Object.prototype.propertyIsEnumerable;var Rp=(e,t,n)=>t in e?dS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t)=>{for(var n in t||(t={}))Cp.call(t,n)&&Rp(e,n,t[n]);if(Ea)for(var n of Ea(t))Ep.call(t,n)&&Rp(e,n,t[n]);return e},ge=(e,t)=>pS(e,hS(t));var pr=(e,t)=>{var n={};for(var r in e)Cp.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ea)for(var r of Ea(e))t.indexOf(r)<0&&Ep.call(e,r)&&(n[r]=e[r]);return n};function zm(e,t){return t.forEach(function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach(function(r){if(r!=="default"&&!(r in e)){var o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:function(){return n[r]}})}})}),Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const vS=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerpolicy&&(i.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?i.credentials="include":o.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}};vS();const mS="modulepreload",Op={},gS="./",_n=function(t,n){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=`${gS}${r}`,r in Op)return;Op[r]=!0;const o=r.endsWith(".css"),i=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${i}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":mS,o||(a.as="script",a.crossOrigin=""),a.href=r,document.head.appendChild(a),o)return new Promise((s,l)=>{a.addEventListener("load",s),a.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())};function Bn(e){return Bn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bn(e)}function $t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function xp(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{};$t(this,e),this.init(t,n)}return Dt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||SS,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),o=0;o1?r-1:0),i=1;i-1?s.replace(/###/g,"."):s}function o(){return!e||typeof e=="string"}for(var i=typeof t!="string"?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return o()?{}:{obj:e,k:r(i.shift())}}function Np(e,t,n){var r=Nf(e,t,Object),o=r.obj,i=r.k;o[i]=n}function RS(e,t,n,r){var o=Nf(e,t,Object),i=o.obj,a=o.k;i[a]=i[a]||[],r&&(i[a]=i[a].concat(n)),r||i[a].push(n)}function Rs(e,t){var n=Nf(e,t),r=n.obj,o=n.k;if(!!r)return r[o]}function Ap(e,t,n){var r=Rs(e,n);return r!==void 0?r:Rs(t,n)}function Hm(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):Hm(e[r],t[r],n):e[r]=t[r]);return e}function qr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var CS={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function ES(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return CS[t]}):e}var wl=typeof window!="undefined"&&window.navigator&&typeof window.navigator.userAgentData=="undefined"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,OS=[" ",",","?","!",";"];function xS(e,t,n){t=t||"",n=n||"";var r=OS.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var o=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}function Mp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Oa(e){for(var t=1;t2&&arguments[2]!==void 0?arguments[2]:".";if(!!e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;ii+a;)a++,s=r.slice(i,i+a).join(n),l=o[s];if(l===void 0)return;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(i+a).join(n);return u?qm(l,u,n):void 0}o=o[r[i]]}return o}}var TS=function(e){yl(n,e);var t=kS(n);function n(r){var o,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return $t(this,n),o=t.call(this),wl&&Zn.call(Wn(o)),o.data=r||{},o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.options.ignoreJSONStructure===void 0&&(o.options.ignoreJSONStructure=!0),o}return Dt(n,[{key:"addNamespaces",value:function(o){this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}},{key:"removeNamespaces",value:function(o){var i=this.options.ns.indexOf(o);i>-1&&this.options.ns.splice(i,1)}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,c=[o,i];a&&typeof a!="string"&&(c=c.concat(a)),a&&typeof a=="string"&&(c=c.concat(l?a.split(l):a)),o.indexOf(".")>-1&&(c=o.split("."));var f=Rs(this.data,c);return f||!u||typeof a!="string"?f:qm(this.data&&this.data[o]&&this.data[o][i],a,l)}},{key:"addResource",value:function(o,i,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var c=[o,i];a&&(c=c.concat(u?a.split(u):a)),o.indexOf(".")>-1&&(c=o.split("."),s=i,i=c[1]),this.addNamespaces(i),Np(this.data,c,s),l.silent||this.emit("added",o,i,a,s)}},{key:"addResources",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(o,i,l,a[l],{silent:!0});s.silent||this.emit("added",o,i,a)}},{key:"addResourceBundle",value:function(o,i,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},c=[o,i];o.indexOf(".")>-1&&(c=o.split("."),s=a,a=i,i=c[1]),this.addNamespaces(i);var f=Rs(this.data,c)||{};s?Hm(f,a,l):f=Oa(Oa({},f),a),Np(this.data,c,f),u.silent||this.emit("added",o,i,a)}},{key:"removeResourceBundle",value:function(o,i){this.hasResourceBundle(o,i)&&delete this.data[o][i],this.removeNamespaces(i),this.emit("removed",o,i)}},{key:"hasResourceBundle",value:function(o,i){return this.getResource(o,i)!==void 0}},{key:"getResourceBundle",value:function(o,i){return i||(i=this.options.defaultNS),this.options.compatibilityAPI==="v1"?Oa(Oa({},{}),this.getResource(o,i)):this.getResource(o,i)}},{key:"getDataByLanguage",value:function(o){return this.data[o]}},{key:"hasLanguageSomeTranslations",value:function(o){var i=this.getDataByLanguage(o),a=i&&Object.keys(i)||[];return!!a.find(function(s){return i[s]&&Object.keys(i[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Zn),Qm={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,o,i){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,o,i))}),n}};function $p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};return $t(this,n),o=t.call(this),wl&&Zn.call(Wn(o)),bS(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,Wn(o)),o.options=i,o.options.keySeparator===void 0&&(o.options.keySeparator="."),o.logger=rn.create("translator"),o}return Dt(n,[{key:"changeLanguage",value:function(o){o&&(this.language=o)}},{key:"exists",value:function(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(o==null)return!1;var a=this.resolve(o,i);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(o,i){var a=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,l=i.ns||this.options.defaultNS||[],u=a&&o.indexOf(a)>-1,c=!this.options.userDefinedKeySeparator&&!i.keySeparator&&!this.options.userDefinedNsSeparator&&!i.nsSeparator&&!xS(o,a,s);if(u&&!c){var f=o.match(this.interpolator.nestingRegexp);if(f&&f.length>0)return{key:o,namespaces:l};var d=o.split(a);(a!==s||a===s&&this.options.ns.indexOf(d[0])>-1)&&(l=d.shift()),o=d.join(s)}return typeof l=="string"&&(l=[l]),{key:o,namespaces:l}}},{key:"translate",value:function(o,i,a){var s=this;if(Bn(i)!=="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),i||(i={}),o==null)return"";Array.isArray(o)||(o=[String(o)]);var l=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,u=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,c=this.extractFromKey(o[o.length-1],i),f=c.key,d=c.namespaces,h=d[d.length-1],m=i.lng||this.language,y=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(m&&m.toLowerCase()==="cimode"){if(y){var O=i.nsSeparator||this.options.nsSeparator;return l?(v.res="".concat(h).concat(O).concat(f),v):"".concat(h).concat(O).concat(f)}return l?(v.res=f,v):f}var v=this.resolve(o,i),p=v&&v.res,g=v&&v.usedKey||f,S=v&&v.exactUsedKey||f,x=Object.prototype.toString.apply(p),E=["[object Number]","[object Function]","[object RegExp]"],A=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,L=!this.i18nFormat||this.i18nFormat.handleAsObject,j=typeof p!="string"&&typeof p!="boolean"&&typeof p!="number";if(L&&p&&j&&E.indexOf(x)<0&&!(typeof A=="string"&&x==="[object Array]")){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var M=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,Ze(Ze({},i),{},{ns:d})):"key '".concat(f," (").concat(this.language,")' returned an object instead of string.");return l?(v.res=M,v):M}if(u){var Q=x==="[object Array]",te=Q?[]:{},X=Q?S:g;for(var w in p)if(Object.prototype.hasOwnProperty.call(p,w)){var T="".concat(X).concat(u).concat(w);te[w]=this.translate(T,Ze(Ze({},i),{joinArrays:!1,ns:d})),te[w]===T&&(te[w]=p[w])}p=te}}else if(L&&typeof A=="string"&&x==="[object Array]")p=p.join(A),p&&(p=this.extendTranslation(p,o,i,a));else{var z=!1,C=!1,k=i.count!==void 0&&typeof i.count!="string",N=n.hasDefaultValue(i),$=k?this.pluralResolver.getSuffix(m,i.count,i):"",F=i["defaultValue".concat($)]||i.defaultValue;!this.isValidLookup(p)&&N&&(z=!0,p=F),this.isValidLookup(p)||(C=!0,p=f);var b=i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,B=b&&C?void 0:p,V=N&&F!==p&&this.options.updateMissing;if(C||z||V){if(this.logger.log(V?"updateKey":"missingKey",m,h,f,V?F:p),u){var Z=this.resolve(f,Ze(Ze({},i),{},{keySeparator:!1}));Z&&Z.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var W=[],ne=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ne&&ne[0])for(var le=0;le1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,c,f;return typeof o=="string"&&(o=[o]),o.forEach(function(d){if(!i.isValidLookup(s)){var h=i.extractFromKey(d,a),m=h.key;l=m;var y=h.namespaces;i.options.fallbackNS&&(y=y.concat(i.options.fallbackNS));var O=a.count!==void 0&&typeof a.count!="string",v=O&&!a.ordinal&&a.count===0&&i.pluralResolver.shouldUseIntlApi(),p=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",g=a.lngs?a.lngs:i.languageUtils.toResolveHierarchy(a.lng||i.language,a.fallbackLng);y.forEach(function(S){i.isValidLookup(s)||(f=S,!Dp["".concat(g[0],"-").concat(S)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(f)&&(Dp["".concat(g[0],"-").concat(S)]=!0,i.logger.warn('key "'.concat(l,'" for languages "').concat(g.join(", "),`" won't get resolved as namespace "`).concat(f,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(function(x){if(!i.isValidLookup(s)){c=x;var E=[m];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(E,m,x,S,a);else{var A;O&&(A=i.pluralResolver.getSuffix(x,a.count,a));var L="_zero";if(O&&(E.push(m+A),v&&E.push(m+L)),p){var j="".concat(m).concat(i.options.contextSeparator).concat(a.context);E.push(j),O&&(E.push(j+A),v&&E.push(j+L))}}for(var M;M=E.pop();)i.isValidLookup(s)||(u=M,s=i.getResource(x,S,M,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:c,usedNS:f}}},{key:"isValidLookup",value:function(o){return o!==void 0&&!(!this.options.returnNull&&o===null)&&!(!this.options.returnEmptyString&&o==="")}},{key:"getResource",value:function(o,i,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(o,i,a,s):this.resourceStore.getResource(o,i,a,s)}}],[{key:"hasDefaultValue",value:function(o){var i="defaultValue";for(var a in o)if(Object.prototype.hasOwnProperty.call(o,a)&&i===a.substring(0,i.length)&&o[a]!==void 0)return!0;return!1}}]),n}(Zn);function fu(e){return e.charAt(0).toUpperCase()+e.slice(1)}var AS=function(){function e(t){$t(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=rn.create("languageUtils")}return Dt(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],o=n.split("-");return this.options.lowerCaseLng?o=o.map(function(i){return i.toLowerCase()}):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=fu(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=fu(o[1].toLowerCase())),r.indexOf(o[2].toLowerCase())>-1&&(o[2]=fu(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var o;return n.forEach(function(i){if(!o){var a=r.formatLanguageCode(i);(!r.options.supportedLngs||r.isSupportedCode(a))&&(o=a)}}),!o&&this.options.supportedLngs&&n.forEach(function(i){if(!o){var a=r.getLanguagePartFromCode(i);if(r.isSupportedCode(a))return o=a;o=r.options.supportedLngs.find(function(s){if(s.indexOf(a)===0)return s})}}),o||(o=this.getFallbackCodes(this.options.fallbackLng)[0]),o}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var o=n[r];return o||(o=n[this.getScriptPartFromCode(r)]),o||(o=n[this.formatLanguageCode(r)]),o||(o=n[this.getLanguagePartFromCode(r)]),o||(o=n.default),o||[]}},{key:"toResolveHierarchy",value:function(n,r){var o=this,i=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(u){!u||(o.isSupportedCode(u)?a.push(u):o.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),i.forEach(function(l){a.indexOf(l)<0&&s(o.formatLanguageCode(l))}),a}}]),e}(),MS=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],$S={1:function(t){return Number(t>1)},2:function(t){return Number(t!=1)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(t==1?0:t>=2&&t<=4?1:2)},7:function(t){return Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(t==1?0:t==2?1:t!=8&&t!=11?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(t==1?0:t==2?1:t<7?2:t<11?3:4)},11:function(t){return Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(t!==0)},14:function(t){return Number(t==1?0:t==2?1:t==3?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:t!==0?1:2)},17:function(t){return Number(t==1||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(t==0?0:t==1?1:2)},19:function(t){return Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(t==1?0:t==0||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)}},DS=["v1","v2","v3"],Fp={zero:0,one:1,two:2,few:3,many:4,other:5};function IS(){var e={};return MS.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:$S[t.fc]}})}),e}var FS=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};$t(this,e),this.languageUtils=t,this.options=n,this.logger=rn.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl=="undefined"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=IS()}return Dt(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,r);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,o).map(function(i){return"".concat(r).concat(i)})}},{key:"getSuffixes",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort(function(a,s){return Fp[a]-Fp[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):i.numbers.map(function(a){return r.getSuffix(n,a,o)}):[]}},{key:"getSuffix",value:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=this.getRule(n,o);return i?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.select(r)):this.getSuffixRetroCompatible(i,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var o=this,i=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[i];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return o.options.prepend&&a.toString()?o.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}},{key:"shouldUseIntlApi",value:function(){return!DS.includes(this.options.compatibilityJSON)}}]),e}();function Up(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};$t(this,e),this.logger=rn.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return Dt(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:ES,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?qr(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?qr(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?qr(r.nestingPrefix):r.nestingPrefixEscaped||qr("$t("),this.nestingSuffix=r.nestingSuffix?qr(r.nestingSuffix):r.nestingSuffixEscaped||qr(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(n,r,o,i){var a=this,s,l,u,c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function f(O){return O.replace(/\$/g,"$$$$")}var d=function(v){if(v.indexOf(a.formatSeparator)<0){var p=Ap(r,c,v);return a.alwaysFormat?a.format(p,void 0,o,Ft(Ft(Ft({},i),r),{},{interpolationkey:v})):p}var g=v.split(a.formatSeparator),S=g.shift().trim(),x=g.join(a.formatSeparator).trim();return a.format(Ap(r,c,S),x,o,Ft(Ft(Ft({},i),r),{},{interpolationkey:S}))};this.resetRegExp();var h=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,m=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,y=[{regex:this.regexpUnescape,safeValue:function(v){return f(v)}},{regex:this.regexp,safeValue:function(v){return a.escapeValue?f(a.escape(v)):f(v)}}];return y.forEach(function(O){for(u=0;s=O.regex.exec(n);){var v=s[1].trim();if(l=d(v),l===void 0)if(typeof h=="function"){var p=h(n,s,i);l=typeof p=="string"?p:""}else if(i&&i.hasOwnProperty(v))l="";else if(m){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(v," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=Lp(l));var g=O.safeValue(l);if(n=n.replace(s[0],g),m?(O.regex.lastIndex+=l.length,O.regex.lastIndex-=s[0].length):O.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var o=this,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l=Ft({},i);l.applyPostProcessor=!1,delete l.defaultValue;function u(h,m){var y=this.nestingOptionsSeparator;if(h.indexOf(y)<0)return h;var O=h.split(new RegExp("".concat(y,"[ ]*{"))),v="{".concat(O[1]);h=O[0],v=this.interpolate(v,l),v=v.replace(/'/g,'"');try{l=JSON.parse(v),m&&(l=Ft(Ft({},m),l))}catch(p){return this.logger.warn("failed parsing options string in nesting for key ".concat(h),p),"".concat(h).concat(y).concat(v)}return delete l.defaultValue,h}for(;a=this.nestingRegexp.exec(n);){var c=[],f=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var d=a[1].split(this.formatSeparator).map(function(h){return h.trim()});a[1]=d.shift(),c=d,f=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=Lp(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),f&&(s=c.reduce(function(h,m){return o.format(h,m,i.lng,Ft(Ft({},i),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function jp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);if(t==="currency"&&o.indexOf(":")<0)n.currency||(n.currency=o.trim());else if(t==="relativetime"&&o.indexOf(":")<0)n.range||(n.range=o.trim());else{var i=o.split(";");i.forEach(function(a){if(!!a){var s=a.split(":"),l=wS(s),u=l[0],c=l.slice(1),f=c.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=f),f==="false"&&(n[u.trim()]=!1),f==="true"&&(n[u.trim()]=!0),isNaN(f)||(n[u.trim()]=parseInt(f,10))}})}}return{formatName:t,formatOptions:n}}var zS=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};$t(this,e),this.logger=rn.create("formatter"),this.options=t,this.formats={number:function(r,o,i){return new Intl.NumberFormat(o,i).format(r)},currency:function(r,o,i){return new Intl.NumberFormat(o,Pn(Pn({},i),{},{style:"currency"})).format(r)},datetime:function(r,o,i){return new Intl.DateTimeFormat(o,Pn({},i)).format(r)},relativetime:function(r,o,i){return new Intl.RelativeTimeFormat(o,Pn({},i)).format(r,i.range||"day")},list:function(r,o,i){return new Intl.ListFormat(o,Pn({},i)).format(r)}},this.init(t)}return Dt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},o=r.interpolation;this.formatSeparator=o.formatSeparator?o.formatSeparator:o.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"format",value:function(n,r,o,i){var a=this,s=r.split(this.formatSeparator),l=s.reduce(function(u,c){var f=jS(c),d=f.formatName,h=f.formatOptions;if(a.formats[d]){var m=u;try{var y=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},O=y.locale||y.lng||i.locale||i.lng||o;m=a.formats[d](u,O,Pn(Pn(Pn({},h),i),y))}catch(v){a.logger.warn(v)}return m}else a.logger.warn("there was no format function for ".concat(d));return u},n);return l}}]),e}();function zp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Vp(e){for(var t=1;t3&&arguments[3]!==void 0?arguments[3]:{};return $t(this,n),a=t.call(this),wl&&Zn.call(Wn(a)),a.backend=r,a.store=o,a.services=i,a.languageUtils=i.languageUtils,a.options=s,a.logger=rn.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(i,s.backend,s),a}return Dt(n,[{key:"queueLoad",value:function(o,i,a,s){var l=this,u={},c={},f={},d={};return o.forEach(function(h){var m=!0;i.forEach(function(y){var O="".concat(h,"|").concat(y);!a.reload&&l.store.hasResourceBundle(h,y)?l.state[O]=2:l.state[O]<0||(l.state[O]===1?c[O]===void 0&&(c[O]=!0):(l.state[O]=1,m=!1,c[O]===void 0&&(c[O]=!0),u[O]===void 0&&(u[O]=!0),d[y]===void 0&&(d[y]=!0)))}),m||(f[h]=!0)}),(Object.keys(u).length||Object.keys(c).length)&&this.queue.push({pending:c,pendingCount:Object.keys(c).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(c),toLoadLanguages:Object.keys(f),toLoadNamespaces:Object.keys(d)}}},{key:"loaded",value:function(o,i,a){var s=o.split("|"),l=s[0],u=s[1];i&&this.emit("failedLoading",l,u,i),a&&this.store.addResourceBundle(l,u,a),this.state[o]=i?-1:2;var c={};this.queue.forEach(function(f){RS(f.loaded,[l],u),WS(f,o),i&&f.errors.push(i),f.pendingCount===0&&!f.done&&(Object.keys(f.loaded).forEach(function(d){c[d]||(c[d]={});var h=f.loaded[d];h.length&&h.forEach(function(m){c[d][m]===void 0&&(c[d][m]=!0)})}),f.done=!0,f.errors.length?f.callback(f.errors):f.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(function(f){return!f.done})}},{key:"read",value:function(o,i,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:350,c=arguments.length>5?arguments[5]:void 0;if(!o.length)return c(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:o,ns:i,fcName:a,tried:l,wait:u,callback:c});return}return this.readingCalls++,this.backend[a](o,i,function(f,d){if(f&&d&&l<5){setTimeout(function(){s.read.call(s,o,i,a,l+1,u*2,c)},u);return}if(s.readingCalls--,s.waitingReads.length>0){var h=s.waitingReads.shift();s.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}c(f,d)})}},{key:"prepareLoading",value:function(o,i){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof o=="string"&&(o=this.languageUtils.toResolveHierarchy(o)),typeof i=="string"&&(i=[i]);var u=this.queueLoad(o,i,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(c){a.loadOne(c)})}},{key:"load",value:function(o,i,a){this.prepareLoading(o,i,{},a)}},{key:"reload",value:function(o,i,a){this.prepareLoading(o,i,{reload:!0},a)}},{key:"loadOne",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=o.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(c,f){c&&i.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),c),!c&&f&&i.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),f),i.loaded(o,c,f)})}},{key:"saveMissing",value:function(o,i,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(i)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}a==null||a===""||(this.backend&&this.backend.create&&this.backend.create(o,i,a,s,null,Vp(Vp({},u),{},{isUpdate:l})),!(!o||!o[0])&&this.store.addResource(o[0],i,a,s))}}]),n}(Zn);function qS(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(Bn(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Bn(t[2])==="object"||Bn(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(o){n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,o){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Bp(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Wp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if($t(this,n),r=t.call(this),wl&&Zn.call(Wn(r)),r.options=Bp(o),r.services={},r.logger=rn,r.modules={external:[]},GS(Wn(r)),i&&!r.isInitialized&&!o.isClone){if(!r.options.initImmediate)return r.init(o,i),ta(r,Wn(r));setTimeout(function(){r.init(o,i)},0)}return r}return Dt(n,[{key:"init",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof i=="function"&&(a=i,i={}),!i.defaultNS&&i.ns&&(typeof i.ns=="string"?i.defaultNS=i.ns:i.ns.indexOf("translation")<0&&(i.defaultNS=i.ns[0]));var s=qS();this.options=Zt(Zt(Zt({},s),this.options),Bp(i)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Zt(Zt({},s.interpolation),this.options.interpolation)),i.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=i.keySeparator),i.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=i.nsSeparator);function l(v){return v?typeof v=="function"?new v:v:null}if(!this.options.isClone){this.modules.logger?rn.init(l(this.modules.logger),this.options):rn.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl!="undefined"&&(u=zS);var c=new AS(this.options);this.store=new TS(this.options.resources,this.options);var f=this.services;f.logger=rn,f.resourceStore=this.store,f.languageUtils=c,f.pluralResolver=new FS(c,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(f.formatter=l(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new US(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new HS(l(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(v){for(var p=arguments.length,g=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var h=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];h.forEach(function(v){o[v]=function(){var p;return(p=o.store)[v].apply(p,arguments)}});var m=["addResource","addResources","addResourceBundle","removeResourceBundle"];m.forEach(function(v){o[v]=function(){var p;return(p=o.store)[v].apply(p,arguments),o}});var y=Bo(),O=function(){var p=function(S,x){o.isInitialized&&!o.initializedStoreOnce&&o.logger.warn("init: i18next is already initialized. You should call init just once!"),o.isInitialized=!0,o.options.isClone||o.logger.log("initialized",o.options),o.emit("initialized",o.options),y.resolve(x),a(S,x)};if(o.languages&&o.options.compatibilityAPI!=="v1"&&!o.isInitialized)return p(null,o.t.bind(o));o.changeLanguage(o.options.lng,p)};return this.options.resources||!this.options.initImmediate?O():setTimeout(O,0),y}},{key:"loadResources",value:function(o){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xa,s=a,l=typeof o=="string"?o:this.language;if(typeof o=="function"&&(s=o),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],c=function(h){if(!!h){var m=i.services.languageUtils.toResolveHierarchy(h);m.forEach(function(y){u.indexOf(y)<0&&u.push(y)})}};if(l)c(l);else{var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.forEach(function(d){return c(d)})}this.options.preload&&this.options.preload.forEach(function(d){return c(d)}),this.services.backendConnector.load(u,this.options.ns,function(d){!d&&!i.resolvedLanguage&&i.language&&i.setResolvedLanguage(i.language),s(d)})}else s(null)}},{key:"reloadResources",value:function(o,i,a){var s=Bo();return o||(o=this.languages),i||(i=this.options.ns),a||(a=xa),this.services.backendConnector.reload(o,i,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(o){if(!o)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!o.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return o.type==="backend"&&(this.modules.backend=o),(o.type==="logger"||o.log&&o.warn&&o.error)&&(this.modules.logger=o),o.type==="languageDetector"&&(this.modules.languageDetector=o),o.type==="i18nFormat"&&(this.modules.i18nFormat=o),o.type==="postProcessor"&&Qm.addPostProcessor(o),o.type==="formatter"&&(this.modules.formatter=o),o.type==="3rdParty"&&this.modules.external.push(o),this}},{key:"setResolvedLanguage",value:function(o){if(!(!o||!this.languages)&&!(["cimode","dev"].indexOf(o)>-1))for(var i=0;i-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(o,i){var a=this;this.isLanguageChangingTo=o;var s=Bo();this.emit("languageChanging",o);var l=function(d){a.language=d,a.languages=a.services.languageUtils.toResolveHierarchy(d),a.resolvedLanguage=void 0,a.setResolvedLanguage(d)},u=function(d,h){h?(l(h),a.translator.changeLanguage(h),a.isLanguageChangingTo=void 0,a.emit("languageChanged",h),a.logger.log("languageChanged",h)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),i&&i(d,function(){return a.t.apply(a,arguments)})},c=function(d){!o&&!d&&a.services.languageDetector&&(d=[]);var h=typeof d=="string"?d:a.services.languageUtils.getBestMatchFromCodes(d);h&&(a.language||l(h),a.translator.language||a.translator.changeLanguage(h),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage(h)),a.loadResources(h,function(m){u(m,h)})};return!o&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!o&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(c):c(o),s}},{key:"getFixedT",value:function(o,i,a){var s=this,l=function u(c,f){var d;if(Bn(f)!=="object"){for(var h=arguments.length,m=new Array(h>2?h-2:0),y=2;y1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var c=function(h,m){var y=i.services.backendConnector.state["".concat(h,"|").concat(m)];return y===-1||y===2};if(a.precheck){var f=a.precheck(this,c);if(f!==void 0)return f}return!!(this.hasResourceBundle(s,o)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||c(s,o)&&(!l||c(u,o)))}},{key:"loadNamespaces",value:function(o,i){var a=this,s=Bo();return this.options.ns?(typeof o=="string"&&(o=[o]),o.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),i&&i(l)}),s):(i&&i(),Promise.resolve())}},{key:"loadLanguages",value:function(o,i){var a=Bo();typeof o=="string"&&(o=[o]);var s=this.options.preload||[],l=o.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),i&&i(u)}),a):(i&&i(),Promise.resolve())}},{key:"dir",value:function(o){if(o||(o=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!o)return"rtl";var i=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"];return i.indexOf(this.services.languageUtils.getLanguagePartFromCode(o))>-1||o.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var o=this,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xa,s=Zt(Zt(Zt({},this.options),i),{isClone:!0}),l=new n(s),u=["store","services","language"];return u.forEach(function(c){l[c]=o[c]}),l.services=Zt({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new Ip(l.services,l.options),l.translator.on("*",function(c){for(var f=arguments.length,d=new Array(f>1?f-1:0),h=1;h0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new Cs(e,t)});var nt=Cs.createInstance();nt.createInstance=Cs.createInstance;nt.createInstance;nt.init;nt.loadResources;nt.reloadResources;nt.use;nt.changeLanguage;nt.getFixedT;nt.t;nt.exists;nt.setDefaultNamespace;nt.hasLoadedNamespace;nt.loadNamespaces;nt.loadLanguages;var Km=[],XS=Km.forEach,YS=Km.slice;function JS(e){return XS.call(YS.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}var Hp=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,ZS=function(t,n,r){var o=r||{};o.path=o.path||"/";var i=encodeURIComponent(n),a=t+"="+i;if(o.maxAge>0){var s=o.maxAge-0;if(isNaN(s))throw new Error("maxAge should be a Number");a+="; Max-Age="+Math.floor(s)}if(o.domain){if(!Hp.test(o.domain))throw new TypeError("option domain is invalid");a+="; Domain="+o.domain}if(o.path){if(!Hp.test(o.path))throw new TypeError("option path is invalid");a+="; Path="+o.path}if(o.expires){if(typeof o.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires="+o.expires.toUTCString()}if(o.httpOnly&&(a+="; HttpOnly"),o.secure&&(a+="; Secure"),o.sameSite){var l=typeof o.sameSite=="string"?o.sameSite.toLowerCase():o.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},qp={create:function(t,n,r,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+r*60*1e3)),o&&(i.domain=o),document.cookie=ZS(t,encodeURIComponent(n),i)},read:function(t){for(var n=t+"=",r=document.cookie.split(";"),o=0;o-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var o=r.substring(1),i=o.split("&"),a=0;a0){var l=i[a].substring(0,s);l===t.lookupQuerystring&&(n=i[a].substring(s+1))}}}return n}},Wo=null,Qp=function(){if(Wo!==null)return Wo;try{Wo=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Wo=!1}return Wo},n_={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&Qp()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&Qp()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},Ho=null,Kp=function(){if(Ho!==null)return Ho;try{Ho=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Ho=!1}return Ho},r_={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&Kp()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&Kp()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},o_={name:"navigator",lookup:function(t){var n=[];if(typeof navigator!="undefined"){if(navigator.languages)for(var r=0;r0?n:void 0}},i_={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document!="undefined"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},a_={name:"path",lookup:function(t){var n;if(typeof window!="undefined"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},s_={name:"subdomain",lookup:function(t){var n;if(typeof window!="undefined"){var r=window.location.href.match(/(?:http[s]*\:\/\/)*(.*?)\.(?=[^\/]*\..{2,5})/gi);r instanceof Array&&(typeof t.lookupFromSubdomainIndex=="number"?n=r[t.lookupFromSubdomainIndex].replace("http://","").replace("https://","").replace(".",""):n=r[0].replace("http://","").replace("https://","").replace(".",""))}return n}};function l_(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var Gm=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};$t(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return Dt(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=JS(r,this.options||{},l_()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=o,this.addDetector(e_),this.addDetector(t_),this.addDetector(n_),this.addDetector(r_),this.addDetector(o_),this.addDetector(i_),this.addDetector(a_),this.addDetector(s_)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var o=[];return n.forEach(function(i){if(r.detectors[i]){var a=r.detectors[i].lookup(r.options);a&&typeof a=="string"&&(a=[a]),a&&(o=o.concat(a))}}),this.services.languageUtils.getBestMatchFromCodes?o:o.length>0?o[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var o=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(i){o.detectors[i]&&o.detectors[i].cacheUserLanguage(n,o.options)}))}}]),e}();Gm.type="languageDetector";function ac(e){return ac=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ac(e)}var Xm=[],u_=Xm.forEach,c_=Xm.slice;function sc(e){return u_.call(c_.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Ym(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest=="undefined"?"undefined":ac(XMLHttpRequest))==="object"}function f_(e){return!!e&&typeof e.then=="function"}function d_(e){return f_(e)?e:Promise.resolve(e)}var os=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function p_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Jm(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t}function h_(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Es={exports:{}},lc={exports:{}};(function(e,t){var n=typeof self!="undefined"?self:os,r=function(){function i(){this.fetch=!1,this.DOMException=n.DOMException}return i.prototype=n,new i}();(function(i){(function(a){var s={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};function l(w){return w&&DataView.prototype.isPrototypeOf(w)}if(s.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(w){return w&&u.indexOf(Object.prototype.toString.call(w))>-1};function f(w){if(typeof w!="string"&&(w=String(w)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(w))throw new TypeError("Invalid character in header field name");return w.toLowerCase()}function d(w){return typeof w!="string"&&(w=String(w)),w}function h(w){var T={next:function(){var z=w.shift();return{done:z===void 0,value:z}}};return s.iterable&&(T[Symbol.iterator]=function(){return T}),T}function m(w){this.map={},w instanceof m?w.forEach(function(T,z){this.append(z,T)},this):Array.isArray(w)?w.forEach(function(T){this.append(T[0],T[1])},this):w&&Object.getOwnPropertyNames(w).forEach(function(T){this.append(T,w[T])},this)}m.prototype.append=function(w,T){w=f(w),T=d(T);var z=this.map[w];this.map[w]=z?z+", "+T:T},m.prototype.delete=function(w){delete this.map[f(w)]},m.prototype.get=function(w){return w=f(w),this.has(w)?this.map[w]:null},m.prototype.has=function(w){return this.map.hasOwnProperty(f(w))},m.prototype.set=function(w,T){this.map[f(w)]=d(T)},m.prototype.forEach=function(w,T){for(var z in this.map)this.map.hasOwnProperty(z)&&w.call(T,this.map[z],z,this)},m.prototype.keys=function(){var w=[];return this.forEach(function(T,z){w.push(z)}),h(w)},m.prototype.values=function(){var w=[];return this.forEach(function(T){w.push(T)}),h(w)},m.prototype.entries=function(){var w=[];return this.forEach(function(T,z){w.push([z,T])}),h(w)},s.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function y(w){if(w.bodyUsed)return Promise.reject(new TypeError("Already read"));w.bodyUsed=!0}function O(w){return new Promise(function(T,z){w.onload=function(){T(w.result)},w.onerror=function(){z(w.error)}})}function v(w){var T=new FileReader,z=O(T);return T.readAsArrayBuffer(w),z}function p(w){var T=new FileReader,z=O(T);return T.readAsText(w),z}function g(w){for(var T=new Uint8Array(w),z=new Array(T.length),C=0;C-1?T:w}function L(w,T){T=T||{};var z=T.body;if(w instanceof L){if(w.bodyUsed)throw new TypeError("Already read");this.url=w.url,this.credentials=w.credentials,T.headers||(this.headers=new m(w.headers)),this.method=w.method,this.mode=w.mode,this.signal=w.signal,!z&&w._bodyInit!=null&&(z=w._bodyInit,w.bodyUsed=!0)}else this.url=String(w);if(this.credentials=T.credentials||this.credentials||"same-origin",(T.headers||!this.headers)&&(this.headers=new m(T.headers)),this.method=A(T.method||this.method||"GET"),this.mode=T.mode||this.mode||null,this.signal=T.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&z)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(z)}L.prototype.clone=function(){return new L(this,{body:this._bodyInit})};function j(w){var T=new FormData;return w.trim().split("&").forEach(function(z){if(z){var C=z.split("="),k=C.shift().replace(/\+/g," "),N=C.join("=").replace(/\+/g," ");T.append(decodeURIComponent(k),decodeURIComponent(N))}}),T}function M(w){var T=new m,z=w.replace(/\r?\n[\t ]+/g," ");return z.split(/\r?\n/).forEach(function(C){var k=C.split(":"),N=k.shift().trim();if(N){var $=k.join(":").trim();T.append(N,$)}}),T}x.call(L.prototype);function Q(w,T){T||(T={}),this.type="default",this.status=T.status===void 0?200:T.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in T?T.statusText:"OK",this.headers=new m(T.headers),this.url=T.url||"",this._initBody(w)}x.call(Q.prototype),Q.prototype.clone=function(){return new Q(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},Q.error=function(){var w=new Q(null,{status:0,statusText:""});return w.type="error",w};var te=[301,302,303,307,308];Q.redirect=function(w,T){if(te.indexOf(T)===-1)throw new RangeError("Invalid status code");return new Q(null,{status:T,headers:{location:w}})},a.DOMException=i.DOMException;try{new a.DOMException}catch{a.DOMException=function(T,z){this.message=T,this.name=z;var C=Error(T);this.stack=C.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function X(w,T){return new Promise(function(z,C){var k=new L(w,T);if(k.signal&&k.signal.aborted)return C(new a.DOMException("Aborted","AbortError"));var N=new XMLHttpRequest;function $(){N.abort()}N.onload=function(){var F={status:N.status,statusText:N.statusText,headers:M(N.getAllResponseHeaders()||"")};F.url="responseURL"in N?N.responseURL:F.headers.get("X-Request-URL");var b="response"in N?N.response:N.responseText;z(new Q(b,F))},N.onerror=function(){C(new TypeError("Network request failed"))},N.ontimeout=function(){C(new TypeError("Network request failed"))},N.onabort=function(){C(new a.DOMException("Aborted","AbortError"))},N.open(k.method,k.url,!0),k.credentials==="include"?N.withCredentials=!0:k.credentials==="omit"&&(N.withCredentials=!1),"responseType"in N&&s.blob&&(N.responseType="blob"),k.headers.forEach(function(F,b){N.setRequestHeader(b,F)}),k.signal&&(k.signal.addEventListener("abort",$),N.onreadystatechange=function(){N.readyState===4&&k.signal.removeEventListener("abort",$)}),N.send(typeof k._bodyInit=="undefined"?null:k._bodyInit)})}return X.polyfill=!0,i.fetch||(i.fetch=X,i.Headers=m,i.Request=L,i.Response=Q),a.Headers=m,a.Request=L,a.Response=Q,a.fetch=X,Object.defineProperty(a,"__esModule",{value:!0}),a})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=r;t=o.fetch,t.default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t})(lc,lc.exports);(function(e,t){var n;if(typeof fetch=="function"&&(typeof os!="undefined"&&os.fetch?n=os.fetch:typeof window!="undefined"&&window.fetch&&(n=window.fetch)),typeof h_!="undefined"&&(typeof window=="undefined"||typeof window.document=="undefined")){var r=n||lc.exports;r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Es,Es.exports);var Zm=Es.exports,Gp=zm({__proto__:null,default:Zm},[Es.exports]);function Os(e){return Os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Os(e)}var er;typeof fetch=="function"&&(typeof global!="undefined"&&global.fetch?er=global.fetch:typeof window!="undefined"&&window.fetch&&(er=window.fetch));var Li;Ym()&&(typeof global!="undefined"&&global.XMLHttpRequest?Li=global.XMLHttpRequest:typeof window!="undefined"&&window.XMLHttpRequest&&(Li=window.XMLHttpRequest));var xs;typeof ActiveXObject=="function"&&(typeof global!="undefined"&&global.ActiveXObject?xs=global.ActiveXObject:typeof window!="undefined"&&window.ActiveXObject&&(xs=window.ActiveXObject));!er&&Gp&&!Li&&!xs&&(er=Zm||Gp);typeof er!="function"&&(er=void 0);var uc=function(t,n){if(n&&Os(n)==="object"){var r="";for(var o in n)r+="&"+encodeURIComponent(o)+"="+encodeURIComponent(n[o]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},v_=function(t,n,r,o){t.queryStringParams&&(n=uc(n,t.queryStringParams));var i=sc({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(i["Content-Type"]="application/json"),er(n,sc({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:i},typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions)).then(function(a){if(!a.ok)return o(a.statusText||"Error",{status:a.status});a.text().then(function(s){o(null,{status:a.status,data:s})}).catch(o)}).catch(o)},m_=function(t,n,r,o){r&&Os(r)==="object"&&(r=uc("",r).slice(1)),t.queryStringParams&&(n=uc(n,t.queryStringParams));try{var i;Li?i=new Li:i=new xs("MSXML2.XMLHTTP.3.0"),i.open(r?"POST":"GET",n,1),t.crossDomain||i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.withCredentials=!!t.withCredentials,r&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.overrideMimeType&&i.overrideMimeType("application/json");var a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)i.setRequestHeader(s,a[s]);i.onreadystatechange=function(){i.readyState>3&&o(i.status>=400?i.statusText:null,{status:i.status,data:i.responseText})},i.send(r)}catch(l){console&&console.log(l)}},g_=function(t,n,r,o){if(typeof r=="function"&&(o=r,r=void 0),o=o||function(){},er)return v_(t,n,r,o);if(Ym()||typeof ActiveXObject=="function")return m_(t,n,r,o)};function y_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Xp(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};y_(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return w_(e,[{key:"init",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=sc(o,this.options||{},__()),this.allOptions=i,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,o){this._readAny(n,n,r,r,o)}},{key:"read",value:function(n,r,o){this._readAny([n],n,[r],r,o)}},{key:"_readAny",value:function(n,r,o,i,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,o)),l=d_(l),l.then(function(u){if(!u)return a(null,{});var c=s.services.interpolator.interpolate(u,{lng:n.join("+"),ns:o.join("+")});s.loadUrl(c,a,r,i)})}},{key:"loadUrl",value:function(n,r,o,i){var a=this;this.options.request(this.options,n,void 0,function(s,l){if(l&&(l.status>=500&&l.status<600||!l.status))return r("failed loading "+n+"; status code: "+l.status,!0);if(l&&l.status>=400&&l.status<500)return r("failed loading "+n+"; status code: "+l.status,!1);if(!l&&s&&s.message&&s.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+s.message,!0);if(s)return r(s,!1);var u,c;try{typeof l.data=="string"?u=a.options.parse(l.data,o,i):u=l.data}catch{c="failed parsing "+n+" to json"}if(c)return r(c,!1);r(null,u)})}},{key:"create",value:function(n,r,o,i,a){var s=this;if(!!this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,o,i),u=0,c=[],f=[];n.forEach(function(d){var h=s.options.addPath;typeof s.options.addPath=="function"&&(h=s.options.addPath(d,r));var m=s.services.interpolator.interpolate(h,{lng:d,ns:r});s.options.request(s.options,m,l,function(y,O){u+=1,c.push(y),f.push(O),u===n.length&&a&&a(c,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,o=r.backendConnector,i=r.languageUtils,a=r.logger,s=o.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],u=function(f){var d=i.toResolveHierarchy(f);d.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(f){o.read(c,f,"read",null,null,function(d,h){d&&a.warn("loading namespace ".concat(f," for language ").concat(c," failed"),d),!d&&h&&a.log("loaded namespace ".concat(f," for language ").concat(c),h),o.loaded("".concat(c,"|").concat(f),d,h)})})})}}}]),e}();eg.type="backend";var D={exports:{}},pe={};/** - * @license React - * 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. - */var na=Symbol.for("react.element"),b_=Symbol.for("react.portal"),R_=Symbol.for("react.fragment"),C_=Symbol.for("react.strict_mode"),E_=Symbol.for("react.profiler"),O_=Symbol.for("react.provider"),x_=Symbol.for("react.context"),k_=Symbol.for("react.forward_ref"),P_=Symbol.for("react.suspense"),T_=Symbol.for("react.memo"),L_=Symbol.for("react.lazy"),Yp=Symbol.iterator;function N_(e){return e===null||typeof e!="object"?null:(e=Yp&&e[Yp]||e["@@iterator"],typeof e=="function"?e:null)}var tg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ng=Object.assign,rg={};function Lo(e,t,n){this.props=e,this.context=t,this.refs=rg,this.updater=n||tg}Lo.prototype.isReactComponent={};Lo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Lo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function og(){}og.prototype=Lo.prototype;function Af(e,t,n){this.props=e,this.context=t,this.refs=rg,this.updater=n||tg}var Mf=Af.prototype=new og;Mf.constructor=Af;ng(Mf,Lo.prototype);Mf.isPureReactComponent=!0;var Jp=Array.isArray,ig=Object.prototype.hasOwnProperty,$f={current:null},ag={key:!0,ref:!0,__self:!0,__source:!0};function sg(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)ig.call(t,r)&&!ag.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(10&&arguments[0]!==void 0?arguments[0]:{};cc=th(th({},cc),e)}function U_(){return cc}var j_=function(){function e(){$t(this,e),this.usedNamespaces={}}return Dt(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(o){r.usedNamespaces[o]||(r.usedNamespaces[o]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function z_(e){lg=e}function V_(){return lg}var B_={type:"3rdParty",init:function(t){F_(t.options.react),z_(t)}};function W_(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],o=t.options?t.options.fallbackLng:!1,i=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var a=function(l,u){var c=t.services.backendConnector.state["".concat(l,"|").concat(u)];return c===-1||c===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!o||a(i,e)))}function q_(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return fc("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(i,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!a(i.isLanguageChangingTo,e))return!1}}):H_(e,t,n)}function Q_(e,t){var n=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r=[],o=!0,i=!1,a,s;try{for(n=n.call(e);!(o=(a=n.next()).done)&&(r.push(a.value),!(t&&r.length===t));o=!0);}catch(l){i=!0,s=l}finally{try{!o&&n.return!=null&&n.return()}finally{if(i)throw s}}return r}}function K_(e,t){return Vm(e)||Q_(e,t)||Bm(e,t)||Wm()}function oh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function pu(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=D.exports.useContext(I_)||{},o=r.i18n,i=r.defaultNS,a=n||o||V_();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new j_),!a){fc("You will need to pass in an i18next instance by using initReactI18next");var s=function(A){return Array.isArray(A)?A[A.length-1]:A},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&fc("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=pu(pu(pu({},U_()),a.options.react),t),c=u.useSuspense,f=u.keyPrefix,d=e||i||a.options&&a.options.defaultNS;d=typeof d=="string"?[d]:d||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(d);var h=(a.isInitialized||a.initializedStoreOnce)&&d.every(function(E){return q_(E,a,u)});function m(){return a.getFixedT(null,u.nsMode==="fallback"?d:d[0],f)}var y=D.exports.useState(m),O=K_(y,2),v=O[0],p=O[1],g=D.exports.useRef(!0);D.exports.useEffect(function(){var E=u.bindI18n,A=u.bindI18nStore;g.current=!0,!h&&!c&&rh(a,d,function(){g.current&&p(m)});function L(){g.current&&p(m)}return E&&a&&a.on(E,L),A&&a&&a.store.on(A,L),function(){g.current=!1,E&&a&&E.split(" ").forEach(function(j){return a.off(j,L)}),A&&a&&A.split(" ").forEach(function(j){return a.store.off(j,L)})}},[a,d.join()]);var S=D.exports.useRef(!0);D.exports.useEffect(function(){g.current&&!S.current&&p(m),S.current=!1},[a]);var x=[v,a,h];if(x.t=v,x.i18n=a,x.ready=h,h||!h&&!c)return x;throw new Promise(function(E){rh(a,d,function(){E()})})}const ih={zh:_n(()=>import("./zh.9b79b7bf.js"),[]),en:_n(()=>import("./en.fb34eaf7.js"),[])};nt.use(eg).use(B_).use(Gm).init({debug:!1,backend:{loadPath:"/__{{lng}}/{{ns}}.json",request:function(e,t,n,r){let o;switch(t){case"/__zh/translation.json":case"/__zh-CN/translation.json":o=ih.zh;break;case"/__en/translation.json":default:o=ih.en;break}o&&o.then(i=>{r(null,{status:200,data:i.data})})}},supportedLngs:["en","zh"],fallbackLng:"en",interpolation:{escapeValue:!1}});var oa={exports:{}},_t={},ug={exports:{}},cg={};/** - * @license React - * 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. - */(function(e){function t(k,N){var $=k.length;k.push(N);e:for(;0<$;){var F=$-1>>>1,b=k[F];if(0>>1;Fo(Z,$))Wo(ne,Z)?(k[F]=ne,k[W]=$,F=W):(k[F]=Z,k[V]=$,F=V);else if(Wo(ne,$))k[F]=ne,k[W]=$,F=W;else break e}}return N}function o(k,N){var $=k.sortIndex-N.sortIndex;return $!==0?$:k.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,f=null,d=3,h=!1,m=!1,y=!1,O=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate!="undefined"?setImmediate:null;typeof navigator!="undefined"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(k){for(var N=n(u);N!==null;){if(N.callback===null)r(u);else if(N.startTime<=k)r(u),N.sortIndex=N.expirationTime,t(l,N);else break;N=n(u)}}function S(k){if(y=!1,g(k),!m)if(n(l)!==null)m=!0,z(x);else{var N=n(u);N!==null&&C(S,N.startTime-k)}}function x(k,N){m=!1,y&&(y=!1,v(L),L=-1),h=!0;var $=d;try{for(g(N),f=n(l);f!==null&&(!(f.expirationTime>N)||k&&!Q());){var F=f.callback;if(typeof F=="function"){f.callback=null,d=f.priorityLevel;var b=F(f.expirationTime<=N);N=e.unstable_now(),typeof b=="function"?f.callback=b:f===n(l)&&r(l),g(N)}else r(l);f=n(l)}if(f!==null)var B=!0;else{var V=n(u);V!==null&&C(S,V.startTime-N),B=!1}return B}finally{f=null,d=$,h=!1}}var E=!1,A=null,L=-1,j=5,M=-1;function Q(){return!(e.unstable_now()-Mk||125F?(k.sortIndex=$,t(u,k),n(l)===null&&k===n(u)&&(y?(v(L),L=-1):y=!0,C(S,$-F))):(k.sortIndex=b,t(l,k),m||h||(m=!0,z(x))),k},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(k){var N=d;return function(){var $=d;d=N;try{return k.apply(this,arguments)}finally{d=$}}}})(cg);ug.exports=cg;/** - * @license React - * 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. - */var fg=D.exports,yt=ug.exports;function U(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nt}return!1}function ot(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var qe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){qe[e]=new ot(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];qe[t]=new ot(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){qe[e]=new ot(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){qe[e]=new ot(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){qe[e]=new ot(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){qe[e]=new ot(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){qe[e]=new ot(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){qe[e]=new ot(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){qe[e]=new ot(e,5,!1,e.toLowerCase(),null,!1,!1)});var If=/[\-:]([a-z])/g;function Ff(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(If,Ff);qe[t]=new ot(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(If,Ff);qe[t]=new ot(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(If,Ff);qe[t]=new ot(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){qe[e]=new ot(e,1,!1,e.toLowerCase(),null,!1,!1)});qe.xlinkHref=new ot("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){qe[e]=new ot(e,1,!1,e.toLowerCase(),null,!0,!0)});function Uf(e,t,n,r){var o=qe.hasOwnProperty(t)?qe[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var l=` -`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{vu=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?si(e):""}function Z_(e){switch(e.tag){case 5:return si(e.type);case 16:return si("Lazy");case 13:return si("Suspense");case 19:return si("SuspenseList");case 0:case 2:case 15:return e=mu(e.type,!1),e;case 11:return e=mu(e.type.render,!1),e;case 1:return e=mu(e.type,!0),e;default:return""}}function mc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Yr:return"Fragment";case Xr:return"Portal";case pc:return"Profiler";case jf:return"StrictMode";case hc:return"Suspense";case vc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case hg:return(e.displayName||"Context")+".Consumer";case pg:return(e._context.displayName||"Context")+".Provider";case zf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Vf:return t=e.displayName||null,t!==null?t:mc(e.type)||"Memo";case An:t=e._payload,e=e._init;try{return mc(e(t))}catch{}}return null}function eb(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return mc(t);case 8:return t===jf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function tr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function mg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function tb(e){var t=mg(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n!="undefined"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ta(e){e._valueTracker||(e._valueTracker=tb(e))}function gg(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=mg(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ks(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch{return e.body}}function gc(e,t){var n=t.checked;return Ae({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function uh(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=tr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function yg(e,t){t=t.checked,t!=null&&Uf(e,"checked",t,!1)}function yc(e,t){yg(e,t);var n=tr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?wc(e,t.type,n):t.hasOwnProperty("defaultValue")&&wc(e,t.type,tr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ch(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function wc(e,t,n){(t!=="number"||ks(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var li=Array.isArray;function co(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=La.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ai(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var hi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},nb=["Webkit","ms","Moz","O"];Object.keys(hi).forEach(function(e){nb.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),hi[t]=hi[e]})});function bg(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||hi.hasOwnProperty(e)&&hi[e]?(""+t).trim():t+"px"}function Rg(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=bg(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var rb=Ae({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function bc(e,t){if(t){if(rb[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(U(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(U(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(U(61))}if(t.style!=null&&typeof t.style!="object")throw Error(U(62))}}function Rc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Cc=null;function Bf(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ec=null,fo=null,po=null;function ph(e){if(e=sa(e)){if(typeof Ec!="function")throw Error(U(280));var t=e.stateNode;t&&(t=Cl(t),Ec(e.stateNode,e.type,t))}}function Cg(e){fo?po?po.push(e):po=[e]:fo=e}function Eg(){if(fo){var e=fo,t=po;if(po=fo=null,ph(e),t)for(e=0;e>>=0,e===0?32:31-(hb(e)/vb|0)|0}var Na=64,Aa=4194304;function ui(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ns(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=ui(s):(i&=a,i!==0&&(r=ui(i)))}else a=n&~o,a!==0?r=ui(a):i!==0&&(r=ui(i));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ia(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Kt(t),e[t]=n}function wb(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=mi),bh=String.fromCharCode(32),Rh=!1;function Hg(e,t){switch(e){case"keyup":return Qb.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jr=!1;function Gb(e,t){switch(e){case"compositionend":return qg(t);case"keypress":return t.which!==32?null:(Rh=!0,bh);case"textInput":return e=t.data,e===bh&&Rh?null:e;default:return null}}function Xb(e,t){if(Jr)return e==="compositionend"||!Yf&&Hg(e,t)?(e=Bg(),ls=Kf=jn=null,Jr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=xh(n)}}function Xg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Xg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Yg(){for(var e=window,t=ks();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ks(e.document)}return t}function Jf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function i2(e){var t=Yg(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Xg(n.ownerDocument.documentElement,n)){if(r!==null&&Jf(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=kh(n,i);var a=kh(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Zr=null,Lc=null,yi=null,Nc=!1;function Ph(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nc||Zr==null||Zr!==ks(r)||(r=Zr,"selectionStart"in r&&Jf(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),yi&&Ui(yi,r)||(yi=r,r=$s(Lc,"onSelect"),0no||(e.current=Fc[no],Fc[no]=null,no--)}function Ce(e,t){no++,Fc[no]=e.current,e.current=t}var nr={},Je=lr(nr),ct=lr(!1),Pr=nr;function wo(e,t){var n=e.type.contextTypes;if(!n)return nr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ft(e){return e=e.childContextTypes,e!=null}function Is(){Oe(ct),Oe(Je)}function Dh(e,t,n){if(Je.current!==nr)throw Error(U(168));Ce(Je,t),Ce(ct,n)}function ay(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(U(108,eb(e)||"Unknown",o));return Ae({},n,r)}function Fs(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||nr,Pr=Je.current,Ce(Je,e),Ce(ct,ct.current),!0}function Ih(e,t,n){var r=e.stateNode;if(!r)throw Error(U(169));n?(e=ay(e,t,Pr),r.__reactInternalMemoizedMergedChildContext=e,Oe(ct),Oe(Je),Ce(Je,e)):Oe(ct),Ce(ct,n)}var hn=null,El=!1,Tu=!1;function sy(e){hn===null?hn=[e]:hn.push(e)}function g2(e){El=!0,sy(e)}function ur(){if(!Tu&&hn!==null){Tu=!0;var e=0,t=we;try{var n=hn;for(we=1;e>=a,o-=a,gn=1<<32-Kt(t)+o|n<L?(j=A,A=null):j=A.sibling;var M=d(v,A,g[L],S);if(M===null){A===null&&(A=j);break}e&&A&&M.alternate===null&&t(v,A),p=i(M,p,L),E===null?x=M:E.sibling=M,E=M,A=j}if(L===g.length)return n(v,A),ke&&gr(v,L),x;if(A===null){for(;LL?(j=A,A=null):j=A.sibling;var Q=d(v,A,M.value,S);if(Q===null){A===null&&(A=j);break}e&&A&&Q.alternate===null&&t(v,A),p=i(Q,p,L),E===null?x=Q:E.sibling=Q,E=Q,A=j}if(M.done)return n(v,A),ke&&gr(v,L),x;if(A===null){for(;!M.done;L++,M=g.next())M=f(v,M.value,S),M!==null&&(p=i(M,p,L),E===null?x=M:E.sibling=M,E=M);return ke&&gr(v,L),x}for(A=r(v,A);!M.done;L++,M=g.next())M=h(A,v,L,M.value,S),M!==null&&(e&&M.alternate!==null&&A.delete(M.key===null?L:M.key),p=i(M,p,L),E===null?x=M:E.sibling=M,E=M);return e&&A.forEach(function(te){return t(v,te)}),ke&&gr(v,L),x}function O(v,p,g,S){if(typeof g=="object"&&g!==null&&g.type===Yr&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Pa:e:{for(var x=g.key,E=p;E!==null;){if(E.key===x){if(x=g.type,x===Yr){if(E.tag===7){n(v,E.sibling),p=o(E,g.props.children),p.return=v,v=p;break e}}else if(E.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===An&&Wh(x)===E.type){n(v,E.sibling),p=o(E,g.props),p.ref=Jo(v,E,g),p.return=v,v=p;break e}n(v,E);break}else t(v,E);E=E.sibling}g.type===Yr?(p=xr(g.props.children,v.mode,S,g.key),p.return=v,v=p):(S=vs(g.type,g.key,g.props,null,v.mode,S),S.ref=Jo(v,p,g),S.return=v,v=S)}return a(v);case Xr:e:{for(E=g.key;p!==null;){if(p.key===E)if(p.tag===4&&p.stateNode.containerInfo===g.containerInfo&&p.stateNode.implementation===g.implementation){n(v,p.sibling),p=o(p,g.children||[]),p.return=v,v=p;break e}else{n(v,p);break}else t(v,p);p=p.sibling}p=Iu(g,v.mode,S),p.return=v,v=p}return a(v);case An:return E=g._init,O(v,p,E(g._payload),S)}if(li(g))return m(v,p,g,S);if(qo(g))return y(v,p,g,S);Ua(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,p!==null&&p.tag===6?(n(v,p.sibling),p=o(p,g),p.return=v,v=p):(n(v,p),p=Du(g,v.mode,S),p.return=v,v=p),a(v)):n(v,p)}return O}var _o=py(!0),hy=py(!1),la={},an=lr(la),Bi=lr(la),Wi=lr(la);function Rr(e){if(e===la)throw Error(U(174));return e}function ad(e,t){switch(Ce(Wi,t),Ce(Bi,e),Ce(an,la),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_c(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=_c(t,e)}Oe(an),Ce(an,t)}function bo(){Oe(an),Oe(Bi),Oe(Wi)}function vy(e){Rr(Wi.current);var t=Rr(an.current),n=_c(t,e.type);t!==n&&(Ce(Bi,e),Ce(an,n))}function sd(e){Bi.current===e&&(Oe(an),Oe(Bi))}var Le=lr(0);function Ws(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Lu=[];function ld(){for(var e=0;en?n:4,e(!0);var r=Nu.transition;Nu.transition={};try{e(!1),t()}finally{we=n,Nu.transition=r}}function Ty(){return Mt().memoizedState}function _2(e,t,n){var r=Xn(e);n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ly(e)?Ny(t,n):(Ay(e,t,n),n=tt(),e=Nt(e,r,n),e!==null&&My(e,t,r))}function b2(e,t,n){var r=Xn(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ly(e))Ny(t,o);else{Ay(e,t,o);var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,Xt(s,a))return}catch{}finally{}n=tt(),e=Nt(e,r,n),e!==null&&My(e,t,r)}}function Ly(e){var t=e.alternate;return e===Ne||t!==null&&t===Ne}function Ny(e,t){wi=Hs=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ay(e,t,n){Yy(e)?(e=t.interleaved,e===null?(n.next=n,Qt===null?Qt=[t]:Qt.push(t)):(n.next=e.next,e.next=n),t.interleaved=n):(e=t.pending,e===null?n.next=n:(n.next=e.next,e.next=n),t.pending=n)}function My(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Hf(e,n)}}var qs={readContext:At,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useInsertionEffect:Qe,useLayoutEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useMutableSource:Qe,useSyncExternalStore:Qe,useId:Qe,unstable_isNewReconciler:!1},R2={readContext:At,useCallback:function(e,t){return tn().memoizedState=[e,t===void 0?null:t],e},useContext:At,useEffect:qh,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ds(4194308,4,Ey.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ds(4194308,4,e,t)},useInsertionEffect:function(e,t){return ds(4,2,e,t)},useMemo:function(e,t){var n=tn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=tn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=_2.bind(null,Ne,e),[r.memoizedState,e]},useRef:function(e){var t=tn();return e={current:e},t.memoizedState=e},useState:Hh,useDebugValue:pd,useDeferredValue:function(e){return tn().memoizedState=e},useTransition:function(){var e=Hh(!1),t=e[0];return e=S2.bind(null,e[1]),tn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Ne,o=tn();if(ke){if(n===void 0)throw Error(U(407));n=n()}else{if(n=t(),ze===null)throw Error(U(349));(Lr&30)!==0||yy(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,qh(Sy.bind(null,r,i,e),[e]),r.flags|=2048,Qi(9,wy.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=tn(),t=ze.identifierPrefix;if(ke){var n=yn,r=gn;n=(r&~(1<<32-Kt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Hi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[nn]=t,e[Vi]=r,Iy(e,t,!1,!1),t.stateNode=e;e:{switch(a=Rc(n,r),n){case"dialog":Ee("cancel",e),Ee("close",e),o=r;break;case"iframe":case"object":case"embed":Ee("load",e),o=r;break;case"video":case"audio":for(o=0;oRo&&(t.flags|=128,r=!0,Zo(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ws(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Zo(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!ke)return Ke(t),null}else 2*De()-i.renderingStartTime>Ro&&n!==1073741824&&(t.flags|=128,r=!0,Zo(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=De(),t.sibling=null,n=Le.current,Ce(Le,r?n&1|2:n&1),t):(Ke(t),null);case 22:case 23:return wd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(mt&1073741824)!==0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),null;case 24:return null;case 25:return null}throw Error(U(156,t.tag))}var k2=On.ReactCurrentOwner,ut=!1;function et(e,t,n,r){t.child=e===null?hy(t,null,n,r):_o(t,e.child,n,r)}function Xh(e,t,n,r,o){n=n.render;var i=t.ref;return vo(t,o),r=cd(e,t,n,r,i,o),n=fd(),e!==null&&!ut?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Cn(e,t,o)):(ke&&n&&rd(t),t.flags|=1,et(e,t,r,o),t.child)}function Yh(e,t,n,r,o){if(e===null){var i=n.type;return typeof i=="function"&&!_d(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,jy(e,t,i,r,o)):(e=vs(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,(e.lanes&o)===0){var a=i.memoizedProps;if(n=n.compare,n=n!==null?n:Ui,n(a,r)&&e.ref===t.ref)return Cn(e,t,o)}return t.flags|=1,e=rr(i,r),e.ref=t.ref,e.return=t,t.child=e}function jy(e,t,n,r,o){if(e!==null){var i=e.memoizedProps;if(Ui(i,r)&&e.ref===t.ref)if(ut=!1,t.pendingProps=r=i,(e.lanes&o)!==0)(e.flags&131072)!==0&&(ut=!0);else return t.lanes=e.lanes,Cn(e,t,o)}return qc(e,t,n,r,o)}function zy(e,t,n){var r=t.pendingProps,o=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ce(so,mt),mt|=n;else if((n&1073741824)!==0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,Ce(so,mt),mt|=r;else return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ce(so,mt),mt|=e,null;else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,Ce(so,mt),mt|=r;return et(e,t,o,n),t.child}function Vy(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function qc(e,t,n,r,o){var i=ft(n)?Pr:Je.current;return i=wo(t,i),vo(t,o),n=cd(e,t,n,r,i,o),r=fd(),e!==null&&!ut?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Cn(e,t,o)):(ke&&r&&rd(t),t.flags|=1,et(e,t,n,o),t.child)}function Jh(e,t,n,r,o){if(ft(n)){var i=!0;Fs(t)}else i=!1;if(vo(t,o),t.stateNode===null)e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),cy(t,n,r),zc(t,n,r,o),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,u=n.contextType;typeof u=="object"&&u!==null?u=At(u):(u=ft(n)?Pr:Je.current,u=wo(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof a.getSnapshotBeforeUpdate=="function";f||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==u)&&zh(t,a,r,u),Mn=!1;var d=t.memoizedState;a.state=d,zs(t,r,a,o),l=t.memoizedState,s!==r||d!==l||ct.current||Mn?(typeof c=="function"&&(jc(t,n,c,r),l=t.memoizedState),(s=Mn||jh(t,n,s,r,d,l,u))?(f||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=u,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,ly(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:zt(t.type,s),a.props=u,f=t.pendingProps,d=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=At(l):(l=ft(n)?Pr:Je.current,l=wo(t,l));var h=n.getDerivedStateFromProps;(c=typeof h=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==f||d!==l)&&zh(t,a,r,l),Mn=!1,d=t.memoizedState,a.state=d,zs(t,r,a,o);var m=t.memoizedState;s!==f||d!==m||ct.current||Mn?(typeof h=="function"&&(jc(t,n,h,r),m=t.memoizedState),(u=Mn||jh(t,n,u,r,d,m,l)||!1)?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,m,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,m,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=l,r=u):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return Qc(e,t,n,r,i,o)}function Qc(e,t,n,r,o,i){Vy(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return o&&Ih(t,n,!1),Cn(e,t,i);r=t.stateNode,k2.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=_o(t,e.child,null,i),t.child=_o(t,null,s,i)):et(e,t,s,i),t.memoizedState=r.state,o&&Ih(t,n,!0),t.child}function By(e){var t=e.stateNode;t.pendingContext?Dh(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Dh(e,t.context,!1),ad(e,t.containerInfo)}function Zh(e,t,n,r,o){return So(),id(o),t.flags|=256,et(e,t,n,r),t.child}var ja={dehydrated:null,treeContext:null,retryLane:0};function za(e){return{baseLanes:e,cachePool:null,transitions:null}}function ev(e,t){return{baseLanes:e.baseLanes|t,cachePool:null,transitions:e.transitions}}function Wy(e,t,n){var r=t.pendingProps,o=Le.current,i=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),Ce(Le,o&1),e===null)return Bc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},(r&1)===0&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Ys(o,r,0,null),e=xr(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=za(n),t.memoizedState=ja,e):Kc(t,o));if(o=e.memoizedState,o!==null){if(s=o.dehydrated,s!==null){if(a)return t.flags&256?(t.flags&=-257,Va(e,t,n,Error(U(422)))):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Ys({mode:"visible",children:r.children},o,0,null),i=xr(i,o,n,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,(t.mode&1)!==0&&_o(t,e.child,null,n),t.child.memoizedState=za(n),t.memoizedState=ja,i);if((t.mode&1)===0)t=Va(e,t,n,null);else if(s.data==="$!")t=Va(e,t,n,Error(U(419)));else if(r=(n&e.childLanes)!==0,ut||r){if(r=ze,r!==null){switch(n&-n){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}r=(i&(r.suspendedLanes|n))!==0?0:i,r!==0&&r!==o.retryLane&&(o.retryLane=r,Nt(e,r,-1))}Sd(),t=Va(e,t,n,Error(U(421)))}else s.data==="$?"?(t.flags|=128,t.child=e.child,t=j2.bind(null,e),s._reactRetry=t,t=null):(n=o.treeContext,lt=mn(s.nextSibling),gt=t,ke=!0,Ht=null,n!==null&&(xt[kt++]=gn,xt[kt++]=yn,xt[kt++]=Tr,gn=n.id,yn=n.overflow,Tr=t),t=Kc(t,t.pendingProps.children),t.flags|=4096);return t}return i?(r=nv(e,t,r.children,r.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=o===null?za(n):ev(o,n),i.childLanes=e.childLanes&~n,t.memoizedState=ja,r):(n=tv(e,t,r.children,n),t.memoizedState=null,n)}return i?(r=nv(e,t,r.children,r.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=o===null?za(n):ev(o,n),i.childLanes=e.childLanes&~n,t.memoizedState=ja,r):(n=tv(e,t,r.children,n),t.memoizedState=null,n)}function Kc(e,t){return t=Ys({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function tv(e,t,n,r){var o=e.child;return e=o.sibling,n=rr(o,{mode:"visible",children:n}),(t.mode&1)===0&&(n.lanes=r),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n}function nv(e,t,n,r,o){var i=t.mode;e=e.child;var a=e.sibling,s={mode:"hidden",children:n};return(i&1)===0&&t.child!==e?(n=t.child,n.childLanes=0,n.pendingProps=s,t.deletions=null):(n=rr(e,s),n.subtreeFlags=e.subtreeFlags&14680064),a!==null?r=rr(a,r):(r=xr(r,i,o,null),r.flags|=2),r.return=t,n.return=t,n.sibling=r,t.child=n,r}function Va(e,t,n,r){return r!==null&&id(r),_o(t,e.child,null,n),e=Kc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function rv(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Uc(e.return,t,n)}function $u(e,t,n,r,o){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o)}function Hy(e,t,n){var r=t.pendingProps,o=r.revealOrder,i=r.tail;if(et(e,t,r.children,n),r=Le.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&rv(e,n,t);else if(e.tag===19)rv(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ce(Le,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Ws(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),$u(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ws(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}$u(t,!0,n,null,i);break;case"together":$u(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Cn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Nr|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(U(153));if(t.child!==null){for(e=t.child,n=rr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=rr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function P2(e,t,n){switch(t.tag){case 3:By(t),So();break;case 5:vy(t);break;case 1:ft(t.type)&&Fs(t);break;case 4:ad(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Ce(Us,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Ce(Le,Le.current&1),t.flags|=128,null):(n&t.child.childLanes)!==0?Wy(e,t,n):(Ce(Le,Le.current&1),e=Cn(e,t,n),e!==null?e.sibling:null);Ce(Le,Le.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Hy(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Ce(Le,Le.current),r)break;return null;case 22:case 23:return t.lanes=0,zy(e,t,n)}return Cn(e,t,n)}function T2(e,t){switch(od(t),t.tag){case 1:return ft(t.type)&&Is(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return bo(),Oe(ct),Oe(Je),ld(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return sd(t),null;case 13:if(Oe(Le),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(U(340));So()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Oe(Le),null;case 4:return bo(),null;case 10:return td(t.type._context),null;case 22:case 23:return wd(),null;case 24:return null;default:return null}}var Ba=!1,Ye=!1,L2=typeof WeakSet=="function"?WeakSet:Set,K=null;function ao(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Me(e,t,r)}else n.current=null}function Gc(e,t,n){try{n()}catch(r){Me(e,t,r)}}var ov=!1;function N2(e,t){if(Ac=As,e=Yg(),Jf(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var h;f!==n||o!==0&&f.nodeType!==3||(s=a+o),f!==i||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(h=f.firstChild)!==null;)d=f,f=h;for(;;){if(f===e)break t;if(d===n&&++u===o&&(s=a),d===i&&++c===r&&(l=a),(h=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=h}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Mc={focusedElem:e,selectionRange:n},As=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var m=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,O=m.memoizedState,v=t.stateNode,p=v.getSnapshotBeforeUpdate(t.elementType===t.type?y:zt(t.type,y),O);v.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var g=t.stateNode.containerInfo;if(g.nodeType===1)g.textContent="";else if(g.nodeType===9){var S=g.body;S!=null&&(S.textContent="")}break;case 5:case 6:case 4:case 17:break;default:throw Error(U(163))}}catch(x){Me(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return m=ov,ov=!1,m}function Si(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&Gc(t,n,i)}o=o.next}while(o!==r)}}function kl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Xc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function qy(e){var t=e.alternate;t!==null&&(e.alternate=null,qy(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[nn],delete t[Vi],delete t[Ic],delete t[v2],delete t[m2])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Qy(e){return e.tag===5||e.tag===3||e.tag===4}function iv(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qy(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ds));else if(r!==4&&(e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Jc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}var We=null,Wt=!1;function Tn(e,t,n){for(n=n.child;n!==null;)Ky(e,t,n),n=n.sibling}function Ky(e,t,n){if(on&&typeof on.onCommitFiberUnmount=="function")try{on.onCommitFiberUnmount(Sl,n)}catch{}switch(n.tag){case 5:Ye||ao(n,t);case 6:var r=We,o=Wt;We=null,Tn(e,t,n),We=r,Wt=o,We!==null&&(Wt?(e=We,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):We.removeChild(n.stateNode));break;case 18:We!==null&&(Wt?(e=We,n=n.stateNode,e.nodeType===8?Pu(e.parentNode,n):e.nodeType===1&&Pu(e,n),Ii(e)):Pu(We,n.stateNode));break;case 4:r=We,o=Wt,We=n.stateNode.containerInfo,Wt=!0,Tn(e,t,n),We=r,Wt=o;break;case 0:case 11:case 14:case 15:if(!Ye&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&((i&2)!==0||(i&4)!==0)&&Gc(n,t,a),o=o.next}while(o!==r)}Tn(e,t,n);break;case 1:if(!Ye&&(ao(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Me(n,t,s)}Tn(e,t,n);break;case 21:Tn(e,t,n);break;case 22:n.mode&1?(Ye=(r=Ye)||n.memoizedState!==null,Tn(e,t,n),Ye=r):Tn(e,t,n);break;default:Tn(e,t,n)}}function av(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new L2),t.forEach(function(r){var o=z2.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ut(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=De()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*M2(r/1960))-r,10e?16:e,zn===null)var r=!1;else{if(e=zn,zn=null,Gs=0,(he&6)!==0)throw Error(U(331));var o=he;for(he|=4,K=e.current;K!==null;){var i=K,a=i.child;if((K.flags&16)!==0){var s=i.deletions;if(s!==null){for(var l=0;lDe()-gd?Or(e,0):md|=n),dt(e,t)}function r0(e,t){t===0&&((e.mode&1)===0?t=1:(t=Aa,Aa<<=1,(Aa&130023424)===0&&(Aa=4194304)));var n=tt();e=Tl(e,t),e!==null&&(ia(e,t,n),dt(e,n))}function j2(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),r0(e,n)}function z2(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(U(314))}r!==null&&r.delete(t),r0(e,n)}var o0;o0=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ct.current)ut=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return ut=!1,P2(e,t,n);ut=(e.flags&131072)!==0}else ut=!1,ke&&(t.flags&1048576)!==0&&fy(t,Bs,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps;var o=wo(t,Je.current);vo(t,n),o=cd(null,t,r,e,o,n);var i=fd();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ft(r)?(i=!0,Fs(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,nd(t),o.updater=Ol,t.stateNode=o,o._reactInternals=t,zc(t,r,e,n),t=Qc(null,t,r,!0,i,n)):(t.tag=0,ke&&i&&rd(t),et(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=B2(r),e=zt(r,e),o){case 0:t=qc(null,t,r,e,n);break e;case 1:t=Jh(null,t,r,e,n);break e;case 11:t=Xh(null,t,r,e,n);break e;case 14:t=Yh(null,t,r,zt(r.type,e),n);break e}throw Error(U(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),qc(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Jh(e,t,r,o,n);case 3:e:{if(By(t),e===null)throw Error(U(387));r=t.pendingProps,i=t.memoizedState,o=i.element,ly(e,t),zs(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Error(U(423)),t=Zh(e,t,r,n,o);break e}else if(r!==o){o=Error(U(424)),t=Zh(e,t,r,n,o);break e}else for(lt=mn(t.stateNode.containerInfo.firstChild),gt=t,ke=!0,Ht=null,n=hy(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(So(),r===o){t=Cn(e,t,n);break e}et(e,t,r,n)}t=t.child}return t;case 5:return vy(t),e===null&&Bc(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,$c(r,o)?a=null:i!==null&&$c(r,i)&&(t.flags|=32),Vy(e,t),et(e,t,a,n),t.child;case 6:return e===null&&Bc(t),null;case 13:return Wy(e,t,n);case 4:return ad(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=_o(t,null,r,n):et(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),Xh(e,t,r,o,n);case 7:return et(e,t,t.pendingProps,n),t.child;case 8:return et(e,t,t.pendingProps.children,n),t.child;case 12:return et(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,Ce(Us,r._currentValue),r._currentValue=a,i!==null)if(Xt(i.value,a)){if(i.children===o.children&&!ct.current){t=Cn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Sn(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),Uc(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(U(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Uc(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}et(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,vo(t,n),o=At(o),r=r(o),t.flags|=1,et(e,t,r,n),t.child;case 14:return r=t.type,o=zt(r,t.pendingProps),o=zt(r.type,o),Yh(e,t,r,o,n);case 15:return jy(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:zt(r,o),e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ft(r)?(e=!0,Fs(t)):e=!1,vo(t,n),cy(t,r,o),zc(t,r,o,n),Qc(null,t,r,!0,e,n);case 19:return Hy(e,t,n);case 22:return zy(e,t,n)}throw Error(U(156,t.tag))};function i0(e,t){return Ng(e,t)}function V2(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pt(e,t,n,r){return new V2(e,t,n,r)}function _d(e){return e=e.prototype,!(!e||!e.isReactComponent)}function B2(e){if(typeof e=="function")return _d(e)?1:0;if(e!=null){if(e=e.$$typeof,e===zf)return 11;if(e===Vf)return 14}return 2}function rr(e,t){var n=e.alternate;return n===null?(n=Pt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function vs(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")_d(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case Yr:return xr(n.children,o,i,t);case jf:a=8,o|=8;break;case pc:return e=Pt(12,n,t,o|2),e.elementType=pc,e.lanes=i,e;case hc:return e=Pt(13,n,t,o),e.elementType=hc,e.lanes=i,e;case vc:return e=Pt(19,n,t,o),e.elementType=vc,e.lanes=i,e;case vg:return Ys(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case pg:a=10;break e;case hg:a=9;break e;case zf:a=11;break e;case Vf:a=14;break e;case An:a=16,r=null;break e}throw Error(U(130,e==null?e:typeof e,""))}return t=Pt(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function xr(e,t,n,r){return e=Pt(7,e,r,t),e.lanes=n,e}function Ys(e,t,n,r){return e=Pt(22,e,r,t),e.elementType=vg,e.lanes=n,e.stateNode={},e}function Du(e,t,n){return e=Pt(6,e,null,t),e.lanes=n,e}function Iu(e,t,n){return t=Pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function W2(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yu(0),this.expirationTimes=yu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function bd(e,t,n,r,o,i,a,s,l){return e=new W2(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Pt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},nd(i),e}function H2(e,t,n){var r=3=0)&&i(l,!c)}function s(l){var u=[].slice.call(l.querySelectorAll("*"),0).reduce(function(c,f){return c.concat(f.shadowRoot?s(f.shadowRoot):[f])},[]);return u.filter(a)}e.exports=t.default})(Zs,Zs.exports);Object.defineProperty(Yt,"__esModule",{value:!0});Yt.resetState=oR;Yt.log=iR;Yt.handleBlur=Gi;Yt.handleFocus=Xi;Yt.markForFocusLater=aR;Yt.returnFocus=sR;Yt.popWithoutFocus=lR;Yt.setupScopedFocus=uR;Yt.teardownScopedFocus=cR;var tR=Zs.exports,nR=rR(tR);function rR(e){return e&&e.__esModule?e:{default:e}}var Co=[],lo=null,af=!1;function oR(){Co=[]}function iR(){}function Gi(){af=!0}function Xi(){if(af){if(af=!1,!lo)return;setTimeout(function(){if(!lo.contains(document.activeElement)){var e=(0,nR.default)(lo)[0]||lo;e.focus()}},0)}}function aR(){Co.push(document.activeElement)}function sR(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=null;try{Co.length!==0&&(t=Co.pop(),t.focus({preventScroll:e}));return}catch{console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}}function lR(){Co.length>0&&Co.pop()}function uR(e){lo=e,window.addEventListener?(window.addEventListener("blur",Gi,!1),document.addEventListener("focus",Xi,!0)):(window.attachEvent("onBlur",Gi),document.attachEvent("onFocus",Xi))}function cR(){lo=null,window.addEventListener?(window.removeEventListener("blur",Gi),document.removeEventListener("focus",Xi)):(window.detachEvent("onBlur",Gi),document.detachEvent("onFocus",Xi))}var sf={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var n=Zs.exports,r=o(n);function o(s){return s&&s.__esModule?s:{default:s}}function i(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;return s.activeElement.shadowRoot?i(s.activeElement.shadowRoot):s.activeElement}function a(s,l){var u=(0,r.default)(s);if(!u.length){l.preventDefault();return}var c=void 0,f=l.shiftKey,d=u[0],h=u[u.length-1],m=i();if(s===m){if(!f)return;c=h}if(h===m&&!f&&(c=d),d===m&&f&&(c=h),c){l.preventDefault(),c.focus();return}var y=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent),O=y!=null&&y[1]!="Chrome"&&/\biPod\b|\biPad\b/g.exec(navigator.userAgent)==null;if(!!O){var v=u.indexOf(m);if(v>-1&&(v+=f?-1:1),c=u[v],typeof c=="undefined"){l.preventDefault(),c=f?h:d,c.focus();return}l.preventDefault(),c.focus()}}e.exports=t.default})(sf,sf.exports);var Jt={},fR=function(){},dR=fR,Gt={},h0={exports:{}};/*! - Copyright (c) 2015 Jed Watson. - Based on code that is Copyright 2013-2015, Facebook, Inc. - All rights reserved. -*/(function(e){(function(){var t=!!(typeof window!="undefined"&&window.document&&window.document.createElement),n={canUseDOM:t,canUseWorkers:typeof Worker!="undefined",canUseEventListeners:t&&!!(window.addEventListener||window.attachEvent),canUseViewport:t&&!!window.screen};e.exports?e.exports=n:window.ExecutionEnvironment=n})()})(h0);Object.defineProperty(Gt,"__esModule",{value:!0});Gt.canUseDOM=Gt.SafeNodeList=Gt.SafeHTMLCollection=void 0;var pR=h0.exports,hR=vR(pR);function vR(e){return e&&e.__esModule?e:{default:e}}var Dl=hR.default,mR=Dl.canUseDOM?window.HTMLElement:{};Gt.SafeHTMLCollection=Dl.canUseDOM?window.HTMLCollection:{};Gt.SafeNodeList=Dl.canUseDOM?window.NodeList:{};Gt.canUseDOM=Dl.canUseDOM;Gt.default=mR;Object.defineProperty(Jt,"__esModule",{value:!0});Jt.resetState=_R;Jt.log=bR;Jt.assertNodeList=v0;Jt.setElement=RR;Jt.validateElement=Od;Jt.hide=CR;Jt.show=ER;Jt.documentNotReadyOrSSRTesting=OR;var gR=dR,yR=SR(gR),wR=Gt;function SR(e){return e&&e.__esModule?e:{default:e}}var Ot=null;function _R(){Ot&&(Ot.removeAttribute?Ot.removeAttribute("aria-hidden"):Ot.length!=null?Ot.forEach(function(e){return e.removeAttribute("aria-hidden")}):document.querySelectorAll(Ot).forEach(function(e){return e.removeAttribute("aria-hidden")})),Ot=null}function bR(){}function v0(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function RR(e){var t=e;if(typeof t=="string"&&wR.canUseDOM){var n=document.querySelectorAll(t);v0(n,t),t=n}return Ot=t||Ot,Ot}function Od(e){var t=e||Ot;return t?Array.isArray(t)||t instanceof HTMLCollection||t instanceof NodeList?t:[t]:((0,yR.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(" ")),[])}function CR(e){var t=!0,n=!1,r=void 0;try{for(var o=Od(e)[Symbol.iterator](),i;!(t=(i=o.next()).done);t=!0){var a=i.value;a.setAttribute("aria-hidden","true")}}catch(s){n=!0,r=s}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}function ER(e){var t=!0,n=!1,r=void 0;try{for(var o=Od(e)[Symbol.iterator](),i;!(t=(i=o.next()).done);t=!0){var a=i.value;a.removeAttribute("aria-hidden")}}catch(s){n=!0,r=s}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}function OR(){Ot=null}var Mo={};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.resetState=xR;Mo.log=kR;var Ri={},Ci={};function hv(e,t){e.classList.remove(t)}function xR(){var e=document.getElementsByTagName("html")[0];for(var t in Ri)hv(e,Ri[t]);var n=document.body;for(var r in Ci)hv(n,Ci[r]);Ri={},Ci={}}function kR(){}var PR=function(t,n){return t[n]||(t[n]=0),t[n]+=1,n},TR=function(t,n){return t[n]&&(t[n]-=1),n},LR=function(t,n,r){r.forEach(function(o){PR(n,o),t.add(o)})},NR=function(t,n,r){r.forEach(function(o){TR(n,o),n[o]===0&&t.remove(o)})};Mo.add=function(t,n){return LR(t.classList,t.nodeName.toLowerCase()=="html"?Ri:Ci,n.split(" "))};Mo.remove=function(t,n){return NR(t.classList,t.nodeName.toLowerCase()=="html"?Ri:Ci,n.split(" "))};var $o={};Object.defineProperty($o,"__esModule",{value:!0});$o.log=MR;$o.resetState=$R;function AR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var m0=function e(){var t=this;AR(this,e),this.register=function(n){t.openInstances.indexOf(n)===-1&&(t.openInstances.push(n),t.emit("register"))},this.deregister=function(n){var r=t.openInstances.indexOf(n);r!==-1&&(t.openInstances.splice(r,1),t.emit("deregister"))},this.subscribe=function(n){t.subscribers.push(n)},this.emit=function(n){t.subscribers.forEach(function(r){return r(n,t.openInstances.slice())})},this.openInstances=[],this.subscribers=[]},el=new m0;function MR(){console.log("portalOpenInstances ----------"),console.log(el.openInstances.length),el.openInstances.forEach(function(e){return console.log(e)}),console.log("end portalOpenInstances ----------")}function $R(){el=new m0}$o.default=el;var xd={};Object.defineProperty(xd,"__esModule",{value:!0});xd.resetState=UR;xd.log=jR;var DR=$o,IR=FR(DR);function FR(e){return e&&e.__esModule?e:{default:e}}var Ge=void 0,Vt=void 0,kr=[];function UR(){for(var e=[Ge,Vt],t=0;t0?(document.body.firstChild!==Ge&&document.body.insertBefore(Ge,document.body.firstChild),document.body.lastChild!==Vt&&document.body.appendChild(Vt)):(Ge.parentElement&&Ge.parentElement.removeChild(Ge),Vt.parentElement&&Vt.parentElement.removeChild(Vt))}IR.default.subscribe(zR);(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(w){for(var T=1;T0&&(te-=1,te===0&&h.show(N)),C.props.shouldFocusAfterRender&&(C.props.shouldReturnFocusAfterClose?(u.returnFocus(C.props.preventScroll),u.teardownScopedFocus()):u.popWithoutFocus()),C.props.onAfterClose&&C.props.onAfterClose(),g.default.deregister(C)},C.open=function(){C.beforeOpen(),C.state.afterOpen&&C.state.beforeClose?(clearTimeout(C.closeTimer),C.setState({beforeClose:!1})):(C.props.shouldFocusAfterRender&&(u.setupScopedFocus(C.node),u.markForFocusLater()),C.setState({isOpen:!0},function(){C.openAnimationFrame=requestAnimationFrame(function(){C.setState({afterOpen:!0}),C.props.isOpen&&C.props.onAfterOpen&&C.props.onAfterOpen({overlayEl:C.overlay,contentEl:C.content})})}))},C.close=function(){C.props.closeTimeoutMS>0?C.closeWithTimeout():C.closeWithoutTimeout()},C.focusContent=function(){return C.content&&!C.contentHasFocus()&&C.content.focus({preventScroll:!0})},C.closeWithTimeout=function(){var k=Date.now()+C.props.closeTimeoutMS;C.setState({beforeClose:!0,closesAt:k},function(){C.closeTimer=setTimeout(C.closeWithoutTimeout,C.state.closesAt-Date.now())})},C.closeWithoutTimeout=function(){C.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},C.afterClose)},C.handleKeyDown=function(k){k.keyCode===M&&(0,f.default)(C.content,k),C.props.shouldCloseOnEsc&&k.keyCode===Q&&(k.stopPropagation(),C.requestClose(k))},C.handleOverlayOnClick=function(k){C.shouldClose===null&&(C.shouldClose=!0),C.shouldClose&&C.props.shouldCloseOnOverlayClick&&(C.ownerHandlesClose()?C.requestClose(k):C.focusContent()),C.shouldClose=null},C.handleContentOnMouseUp=function(){C.shouldClose=!1},C.handleOverlayOnMouseDown=function(k){!C.props.shouldCloseOnOverlayClick&&k.target==C.overlay&&k.preventDefault()},C.handleContentOnClick=function(){C.shouldClose=!1},C.handleContentOnMouseDown=function(){C.shouldClose=!1},C.requestClose=function(k){return C.ownerHandlesClose()&&C.props.onRequestClose(k)},C.ownerHandlesClose=function(){return C.props.onRequestClose},C.shouldBeClosed=function(){return!C.state.isOpen&&!C.state.beforeClose},C.contentHasFocus=function(){return document.activeElement===C.content||C.content.contains(document.activeElement)},C.buildClassName=function(k,N){var $=(typeof N=="undefined"?"undefined":r(N))==="object"?N:{base:j[k],afterOpen:j[k]+"--after-open",beforeClose:j[k]+"--before-close"},F=$.base;return C.state.afterOpen&&(F=F+" "+$.afterOpen),C.state.beforeClose&&(F=F+" "+$.beforeClose),typeof N=="string"&&N?F+" "+N:F},C.attributesFromObject=function(k,N){return Object.keys(N).reduce(function($,F){return $[k+"-"+F]=N[F],$},{})},C.state={afterOpen:!1,beforeClose:!1},C.shouldClose=null,C.moveFromContentToOverlay=null,C}return o(T,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(C,k){this.props.isOpen&&!C.isOpen?this.open():!this.props.isOpen&&C.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!k.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer),cancelAnimationFrame(this.openAnimationFrame)}},{key:"beforeOpen",value:function(){var C=this.props,k=C.appElement,N=C.ariaHideApp,$=C.htmlOpenClassName,F=C.bodyOpenClassName;F&&y.add(document.body,F),$&&y.add(document.getElementsByTagName("html")[0],$),N&&(te+=1,h.hide(k)),g.default.register(this)}},{key:"render",value:function(){var C=this.props,k=C.id,N=C.className,$=C.overlayClassName,F=C.defaultStyles,b=C.children,B=N?{}:F.content,V=$?{}:F.overlay;if(this.shouldBeClosed())return null;var Z={ref:this.setOverlayRef,className:this.buildClassName("overlay",$),style:n({},V,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},W=n({id:k,ref:this.setContentRef,style:n({},B,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",n({modal:!0},this.props.aria)),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),ne=this.props.contentElement(W,b);return this.props.overlayElement(Z,ne)}}]),T}(i.Component);X.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},X.propTypes={isOpen:s.default.bool.isRequired,defaultStyles:s.default.shape({content:s.default.object,overlay:s.default.object}),style:s.default.shape({content:s.default.object,overlay:s.default.object}),className:s.default.oneOfType([s.default.string,s.default.object]),overlayClassName:s.default.oneOfType([s.default.string,s.default.object]),bodyOpenClassName:s.default.string,htmlOpenClassName:s.default.string,ariaHideApp:s.default.bool,appElement:s.default.oneOfType([s.default.instanceOf(v.default),s.default.instanceOf(O.SafeHTMLCollection),s.default.instanceOf(O.SafeNodeList),s.default.arrayOf(s.default.instanceOf(v.default))]),onAfterOpen:s.default.func,onAfterClose:s.default.func,onRequestClose:s.default.func,closeTimeoutMS:s.default.number,shouldFocusAfterRender:s.default.bool,shouldCloseOnOverlayClick:s.default.bool,shouldReturnFocusAfterClose:s.default.bool,preventScroll:s.default.bool,role:s.default.string,contentLabel:s.default.string,aria:s.default.object,data:s.default.object,children:s.default.node,shouldCloseOnEsc:s.default.bool,overlayRef:s.default.func,contentRef:s.default.func,id:s.default.string,overlayElement:s.default.func,contentElement:s.default.func,testId:s.default.string},t.default=X,e.exports=t.default})(of,of.exports);function g0(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);e!=null&&this.setState(e)}function y0(e){function t(n){var r=this.constructor.getDerivedStateFromProps(e,n);return r!=null?r:null}this.setState(t.bind(this))}function w0(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}g0.__suppressDeprecationWarning=!0;y0.__suppressDeprecationWarning=!0;w0.__suppressDeprecationWarning=!0;function VR(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if(typeof e.getDerivedStateFromProps!="function"&&typeof t.getSnapshotBeforeUpdate!="function")return e;var n=null,r=null,o=null;if(typeof t.componentWillMount=="function"?n="componentWillMount":typeof t.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof t.componentWillReceiveProps=="function"?r="componentWillReceiveProps":typeof t.UNSAFE_componentWillReceiveProps=="function"&&(r="UNSAFE_componentWillReceiveProps"),typeof t.componentWillUpdate=="function"?o="componentWillUpdate":typeof t.UNSAFE_componentWillUpdate=="function"&&(o="UNSAFE_componentWillUpdate"),n!==null||r!==null||o!==null){var i=e.displayName||e.name,a=typeof e.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. - -`+i+" uses "+a+" but also contains the following legacy lifecycles:"+(n!==null?` - `+n:"")+(r!==null?` - `+r:"")+(o!==null?` - `+o:"")+` - -The above lifecycles should be removed. Learn more about this warning here: -https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof e.getDerivedStateFromProps=="function"&&(t.componentWillMount=g0,t.componentWillReceiveProps=y0),typeof t.getSnapshotBeforeUpdate=="function"){if(typeof t.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=w0;var s=t.componentDidUpdate;t.componentDidUpdate=function(u,c,f){var d=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:f;s.call(this,u,c,d)}}return e}var BR=Object.freeze(Object.defineProperty({__proto__:null,polyfill:VR},Symbol.toStringTag,{value:"Module"})),WR=Jm(BR);Object.defineProperty(Mr,"__esModule",{value:!0});Mr.bodyOpenClassName=Mr.portalClassName=void 0;var mv=Object.assign||function(e){for(var t=1;t0},t.onSubscribe=function(){},t.onUnsubscribe=function(){},e}();function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&e!==1/0}function ol(e){return Array.isArray(e)?e:[e]}function b0(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ms(e,t,n){return pa(e)?typeof t=="function"?de({},n,{queryKey:e,queryFn:t}):de({},t,{queryKey:e}):e}function M$(e,t,n){return pa(e)?typeof t=="function"?de({},n,{mutationKey:e,mutationFn:t}):de({},t,{mutationKey:e}):typeof e=="function"?de({},t,{mutationFn:e}):de({},e)}function $n(e,t,n){return pa(e)?[de({},t,{queryKey:e}),n]:[e||{},t]}function oC(e,t){if(e===!0&&t===!0||e==null&&t==null)return"all";if(e===!1&&t===!1)return"none";var n=e!=null?e:!t;return n?"active":"inactive"}function bv(e,t){var n=e.active,r=e.exact,o=e.fetching,i=e.inactive,a=e.predicate,s=e.queryKey,l=e.stale;if(pa(s)){if(r){if(t.queryHash!==kd(s,t.options))return!1}else if(!il(t.queryKey,s))return!1}var u=oC(n,i);if(u==="none")return!1;if(u!=="all"){var c=t.isActive();if(u==="active"&&!c||u==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||typeof o=="boolean"&&t.isFetching()!==o||a&&!a(t))}function Rv(e,t){var n=e.exact,r=e.fetching,o=e.predicate,i=e.mutationKey;if(pa(i)){if(!t.options.mutationKey)return!1;if(n){if(Cr(t.options.mutationKey)!==Cr(i))return!1}else if(!il(t.options.mutationKey,i))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||o&&!o(t))}function kd(e,t){var n=(t==null?void 0:t.queryKeyHashFn)||Cr;return n(e)}function Cr(e){var t=ol(e);return iC(t)}function iC(e){return JSON.stringify(e,function(t,n){return uf(n)?Object.keys(n).sort().reduce(function(r,o){return r[o]=n[o],r},{}):n})}function il(e,t){return R0(ol(e),ol(t))}function R0(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(function(n){return!R0(e[n],t[n])}):!1}function al(e,t){if(e===t)return e;var n=Array.isArray(e)&&Array.isArray(t);if(n||uf(e)&&uf(t)){for(var r=n?e.length:Object.keys(e).length,o=n?t:Object.keys(t),i=o.length,a=n?[]:{},s=0,l=0;l0?this.queries.filter(function(l){return bv(s,l)}):this.queries},n.notify=function(o){var i=this;$e.batch(function(){i.listeners.forEach(function(a){a(o)})})},n.onFocus=function(){var o=this;$e.batch(function(){o.queries.forEach(function(i){i.onFocus()})})},n.onOnline=function(){var o=this;$e.batch(function(){o.queries.forEach(function(i){i.onOnline()})})},t}(da),hC=function(){function e(n){this.options=de({},n.defaultOptions,n.options),this.mutationId=n.mutationId,this.mutationCache=n.mutationCache,this.observers=[],this.state=n.state||vC(),this.meta=n.meta}var t=e.prototype;return t.setState=function(r){this.dispatch({type:"setState",state:r})},t.addObserver=function(r){this.observers.indexOf(r)===-1&&this.observers.push(r)},t.removeObserver=function(r){this.observers=this.observers.filter(function(o){return o!==r})},t.cancel=function(){return this.retryer?(this.retryer.cancel(),this.retryer.promise.then(Xe).catch(Xe)):Promise.resolve()},t.continue=function(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()},t.execute=function(){var r=this,o,i=this.state.status==="loading",a=Promise.resolve();return i||(this.dispatch({type:"loading",variables:this.options.variables}),a=a.then(function(){r.mutationCache.config.onMutate==null||r.mutationCache.config.onMutate(r.state.variables,r)}).then(function(){return r.options.onMutate==null?void 0:r.options.onMutate(r.state.variables)}).then(function(s){s!==r.state.context&&r.dispatch({type:"loading",context:s,variables:r.state.variables})})),a.then(function(){return r.executeMutation()}).then(function(s){o=s,r.mutationCache.config.onSuccess==null||r.mutationCache.config.onSuccess(o,r.state.variables,r.state.context,r)}).then(function(){return r.options.onSuccess==null?void 0:r.options.onSuccess(o,r.state.variables,r.state.context)}).then(function(){return r.options.onSettled==null?void 0:r.options.onSettled(o,null,r.state.variables,r.state.context)}).then(function(){return r.dispatch({type:"success",data:o}),o}).catch(function(s){return r.mutationCache.config.onError==null||r.mutationCache.config.onError(s,r.state.variables,r.state.context,r),ll().error(s),Promise.resolve().then(function(){return r.options.onError==null?void 0:r.options.onError(s,r.state.variables,r.state.context)}).then(function(){return r.options.onSettled==null?void 0:r.options.onSettled(void 0,s,r.state.variables,r.state.context)}).then(function(){throw r.dispatch({type:"error",error:s}),s})})},t.executeMutation=function(){var r=this,o;return this.retryer=new O0({fn:function(){return r.options.mutationFn?r.options.mutationFn(r.state.variables):Promise.reject("No mutationFn found")},onFail:function(){r.dispatch({type:"failed"})},onPause:function(){r.dispatch({type:"pause"})},onContinue:function(){r.dispatch({type:"continue"})},retry:(o=this.options.retry)!=null?o:0,retryDelay:this.options.retryDelay}),this.retryer.promise},t.dispatch=function(r){var o=this;this.state=mC(this.state,r),$e.batch(function(){o.observers.forEach(function(i){i.onMutationUpdate(r)}),o.mutationCache.notify(o)})},e}();function vC(){return{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0}}function mC(e,t){switch(t.type){case"failed":return de({},e,{failureCount:e.failureCount+1});case"pause":return de({},e,{isPaused:!0});case"continue":return de({},e,{isPaused:!1});case"loading":return de({},e,{context:t.context,data:void 0,error:null,isPaused:!1,status:"loading",variables:t.variables});case"success":return de({},e,{data:t.data,error:null,status:"success",isPaused:!1});case"error":return de({},e,{data:void 0,error:t.error,failureCount:e.failureCount+1,isPaused:!1,status:"error"});case"setState":return de({},e,t.state);default:return e}}var gC=function(e){fa(t,e);function t(r){var o;return o=e.call(this)||this,o.config=r||{},o.mutations=[],o.mutationId=0,o}var n=t.prototype;return n.build=function(o,i,a){var s=new hC({mutationCache:this,mutationId:++this.mutationId,options:o.defaultMutationOptions(i),state:a,defaultOptions:i.mutationKey?o.getMutationDefaults(i.mutationKey):void 0,meta:i.meta});return this.add(s),s},n.add=function(o){this.mutations.push(o),this.notify(o)},n.remove=function(o){this.mutations=this.mutations.filter(function(i){return i!==o}),o.cancel(),this.notify(o)},n.clear=function(){var o=this;$e.batch(function(){o.mutations.forEach(function(i){o.remove(i)})})},n.getAll=function(){return this.mutations},n.find=function(o){return typeof o.exact=="undefined"&&(o.exact=!0),this.mutations.find(function(i){return Rv(o,i)})},n.findAll=function(o){return this.mutations.filter(function(i){return Rv(o,i)})},n.notify=function(o){var i=this;$e.batch(function(){i.listeners.forEach(function(a){a(o)})})},n.onFocus=function(){this.resumePausedMutations()},n.onOnline=function(){this.resumePausedMutations()},n.resumePausedMutations=function(){var o=this.mutations.filter(function(i){return i.state.isPaused});return $e.batch(function(){return o.reduce(function(i,a){return i.then(function(){return a.continue().catch(Xe)})},Promise.resolve())})},t}(da);function yC(){return{onFetch:function(t){t.fetchFn=function(){var n,r,o,i,a,s,l=(n=t.fetchOptions)==null||(r=n.meta)==null?void 0:r.refetchPage,u=(o=t.fetchOptions)==null||(i=o.meta)==null?void 0:i.fetchMore,c=u==null?void 0:u.pageParam,f=(u==null?void 0:u.direction)==="forward",d=(u==null?void 0:u.direction)==="backward",h=((a=t.state.data)==null?void 0:a.pages)||[],m=((s=t.state.data)==null?void 0:s.pageParams)||[],y=C0(),O=y==null?void 0:y.signal,v=m,p=!1,g=t.options.queryFn||function(){return Promise.reject("Missing queryFn")},S=function(w,T,z,C){return v=C?[T].concat(v):[].concat(v,[T]),C?[z].concat(w):[].concat(w,[z])},x=function(w,T,z,C){if(p)return Promise.reject("Cancelled");if(typeof z=="undefined"&&!T&&w.length)return Promise.resolve(w);var k={queryKey:t.queryKey,signal:O,pageParam:z,meta:t.meta},N=g(k),$=Promise.resolve(N).then(function(b){return S(w,z,b,C)});if(sl(N)){var F=$;F.cancel=N.cancel}return $},E;if(!h.length)E=x([]);else if(f){var A=typeof c!="undefined",L=A?c:Ov(t.options,h);E=x(h,A,L)}else if(d){var j=typeof c!="undefined",M=j?c:wC(t.options,h);E=x(h,j,M,!0)}else(function(){v=[];var X=typeof t.options.getNextPageParam=="undefined",w=l&&h[0]?l(h[0],0,h):!0;E=w?x([],X,m[0]):Promise.resolve(S([],m[0],h[0]));for(var T=function(k){E=E.then(function(N){var $=l&&h[k]?l(h[k],k,h):!0;if($){var F=X?m[k]:Ov(t.options,N);return x(N,X,F)}return Promise.resolve(S(N,m[k],h[k]))})},z=1;z0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>d.dataUpdateCount||m.errorUpdateCount>d.errorUpdateCount,isFetching:p,isRefetching:p&&g!=="loading",isLoadingError:g==="error"&&m.dataUpdatedAt===0,isPlaceholderData:x,isPreviousData:S,isRefetchError:g==="error"&&m.dataUpdatedAt!==0,isStale:Pd(o,i),refetch:this.refetch,remove:this.remove};return Q},n.shouldNotifyListeners=function(o,i){if(!i)return!0;var a=this.options,s=a.notifyOnChangeProps,l=a.notifyOnChangePropsExclusions;if(!s&&!l||s==="tracked"&&!this.trackedProps.length)return!0;var u=s==="tracked"?this.trackedProps:s;return Object.keys(o).some(function(c){var f=c,d=o[f]!==i[f],h=u==null?void 0:u.some(function(y){return y===c}),m=l==null?void 0:l.some(function(y){return y===c});return d&&!m&&(!u||h)})},n.updateResult=function(o){var i=this.currentResult;if(this.currentResult=this.createResult(this.currentQuery,this.options),this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,!aC(this.currentResult,i)){var a={cache:!0};(o==null?void 0:o.listeners)!==!1&&this.shouldNotifyListeners(this.currentResult,i)&&(a.listeners=!0),this.notify(de({},a,o))}},n.updateQuery=function(){var o=this.client.getQueryCache().build(this.client,this.options);if(o!==this.currentQuery){var i=this.currentQuery;this.currentQuery=o,this.currentQueryInitialState=o.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(i==null||i.removeObserver(this),o.addObserver(this))}},n.onQueryUpdate=function(o){var i={};o.type==="success"?i.onSuccess=!0:o.type==="error"&&!ys(o.error)&&(i.onError=!0),this.updateResult(i),this.hasListeners()&&this.updateTimers()},n.notify=function(o){var i=this;$e.batch(function(){o.onSuccess?(i.options.onSuccess==null||i.options.onSuccess(i.currentResult.data),i.options.onSettled==null||i.options.onSettled(i.currentResult.data,null)):o.onError&&(i.options.onError==null||i.options.onError(i.currentResult.error),i.options.onSettled==null||i.options.onSettled(void 0,i.currentResult.error)),o.listeners&&i.listeners.forEach(function(a){a(i.currentResult)}),o.cache&&i.client.getQueryCache().notify({query:i.currentQuery,type:"observerResultsUpdated"})})},t}(da);function bC(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function xv(e,t){return bC(e,t)||e.state.dataUpdatedAt>0&&cf(e,t,t.refetchOnMount)}function cf(e,t,n){if(t.enabled!==!1){var r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Pd(e,t)}return!1}function kv(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&Pd(e,n)}function Pd(e,t){return e.isStaleByTime(t.staleTime)}var RC=c0.unstable_batchedUpdates;$e.setBatchNotifyFunction(RC);var CC=console;dC(CC);var Pv=ee.createContext(void 0),P0=ee.createContext(!1);function T0(e){return e&&typeof window!="undefined"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=Pv),window.ReactQueryClientContext):Pv}var EC=function(){var t=ee.useContext(T0(ee.useContext(P0)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},OC=function(t){var n=t.client,r=t.contextSharing,o=r===void 0?!1:r,i=t.children;ee.useEffect(function(){return n.mount(),function(){n.unmount()}},[n]);var a=T0(o);return ee.createElement(P0.Provider,{value:o},ee.createElement(a.Provider,{value:n},i))};function xC(){var e=!1;return{clearReset:function(){e=!1},reset:function(){e=!0},isReset:function(){return e}}}var kC=ee.createContext(xC()),PC=function(){return ee.useContext(kC)};function TC(e,t,n){return typeof t=="function"?t.apply(void 0,n):typeof t=="boolean"?t:!!e}function LC(e,t){var n=ee.useRef(!1),r=ee.useState(0),o=r[1],i=EC(),a=PC(),s=i.defaultQueryObserverOptions(e);s.optimisticResults=!0,s.onError&&(s.onError=$e.batchCalls(s.onError)),s.onSuccess&&(s.onSuccess=$e.batchCalls(s.onSuccess)),s.onSettled&&(s.onSettled=$e.batchCalls(s.onSettled)),s.suspense&&(typeof s.staleTime!="number"&&(s.staleTime=1e3),s.cacheTime===0&&(s.cacheTime=1)),(s.suspense||s.useErrorBoundary)&&(a.isReset()||(s.retryOnMount=!1));var l=ee.useState(function(){return new t(i,s)}),u=l[0],c=u.getOptimisticResult(s);if(ee.useEffect(function(){n.current=!0,a.clearReset();var f=u.subscribe($e.batchCalls(function(){n.current&&o(function(d){return d+1})}));return u.updateResult(),function(){n.current=!1,f()}},[a,u]),ee.useEffect(function(){u.setOptions(s,{listeners:!1})},[s,u]),s.suspense&&c.isLoading)throw u.fetchOptimistic(s).then(function(f){var d=f.data;s.onSuccess==null||s.onSuccess(d),s.onSettled==null||s.onSettled(d,null)}).catch(function(f){a.clearReset(),s.onError==null||s.onError(f),s.onSettled==null||s.onSettled(void 0,f)});if(c.isError&&!a.isReset()&&!c.isFetching&&TC(s.suspense,s.useErrorBoundary,[c.error,u.getCurrentQuery()]))throw c.error;return s.notifyOnChangeProps==="tracked"&&(c=u.trackResult(c,s)),c}function NC(e,t,n){var r=ms(e,t,n);return LC(r,_C)}var Er;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Er||(Er={}));var Tv=function(e){return e},Lv="beforeunload",AC="hashchange",MC="popstate";function $C(e){e===void 0&&(e={});var t=e,n=t.window,r=n===void 0?document.defaultView:n,o=r.history;function i(){var L=or(r.location.hash.substr(1)),j=L.pathname,M=j===void 0?"/":j,Q=L.search,te=Q===void 0?"":Q,X=L.hash,w=X===void 0?"":X,T=o.state||{};return[T.idx,Tv({pathname:M,search:te,hash:w,state:T.usr||null,key:T.key||"default"})]}var a=null;function s(){if(a)h.call(a),a=null;else{var L=Er.Pop,j=i(),M=j[0],Q=j[1];if(h.length){if(M!=null){var te=c-M;te&&(a={action:L,location:Q,retry:function(){E(te*-1)}},E(te))}}else g(L)}}r.addEventListener(MC,s),r.addEventListener(AC,function(){var L=i(),j=L[1];Oi(j)!==Oi(f)&&s()});var l=Er.Pop,u=i(),c=u[0],f=u[1],d=Av(),h=Av();c==null&&(c=0,o.replaceState(de({},o.state,{idx:c}),""));function m(){var L=document.querySelector("base"),j="";if(L&&L.getAttribute("href")){var M=r.location.href,Q=M.indexOf("#");j=Q===-1?M:M.slice(0,Q)}return j}function y(L){return m()+"#"+(typeof L=="string"?L:Oi(L))}function O(L,j){return j===void 0&&(j=null),Tv(de({pathname:f.pathname,hash:"",search:""},typeof L=="string"?or(L):L,{state:j,key:DC()}))}function v(L,j){return[{usr:L.state,key:L.key,idx:j},y(L)]}function p(L,j,M){return!h.length||(h.call({action:L,location:j,retry:M}),!1)}function g(L){l=L;var j=i();c=j[0],f=j[1],d.call({action:l,location:f})}function S(L,j){var M=Er.Push,Q=O(L,j);function te(){S(L,j)}if(p(M,Q,te)){var X=v(Q,c+1),w=X[0],T=X[1];try{o.pushState(w,"",T)}catch{r.location.assign(T)}g(M)}}function x(L,j){var M=Er.Replace,Q=O(L,j);function te(){x(L,j)}if(p(M,Q,te)){var X=v(Q,c),w=X[0],T=X[1];o.replaceState(w,"",T),g(M)}}function E(L){o.go(L)}var A={get action(){return l},get location(){return f},createHref:y,push:S,replace:x,go:E,back:function(){E(-1)},forward:function(){E(1)},listen:function(j){return d.push(j)},block:function(j){var M=h.push(j);return h.length===1&&r.addEventListener(Lv,Nv),function(){M(),h.length||r.removeEventListener(Lv,Nv)}}};return A}function Nv(e){e.preventDefault(),e.returnValue=""}function Av(){var e=[];return{get length(){return e.length},push:function(n){return e.push(n),function(){e=e.filter(function(r){return r!==n})}},call:function(n){e.forEach(function(r){return r&&r(n)})}}}function DC(){return Math.random().toString(36).substr(2,8)}function Oi(e){var t=e.pathname,n=t===void 0?"/":t,r=e.search,o=r===void 0?"":r,i=e.hash,a=i===void 0?"":i;return o&&o!=="?"&&(n+=o.charAt(0)==="?"?o:"?"+o),a&&a!=="#"&&(n+=a.charAt(0)==="#"?a:"#"+a),n}function or(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}/** - * React Router v6.3.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */const Td=D.exports.createContext(null),Ld=D.exports.createContext(null),Il=D.exports.createContext({outlet:null,matches:[]});function ir(e,t){if(!e)throw new Error(t)}function IC(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?or(t):t,o=A0(r.pathname||"/",n);if(o==null)return null;let i=L0(e);FC(i);let a=null;for(let s=0;a==null&&s{let a={relativePath:o.path||"",caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};a.relativePath.startsWith("/")&&(a.relativePath.startsWith(r)||ir(!1),a.relativePath=a.relativePath.slice(r.length));let s=Yn([r,a.relativePath]),l=n.concat(a);o.children&&o.children.length>0&&(o.index===!0&&ir(!1),L0(o.children,t,l,s)),!(o.path==null&&!o.index)&&t.push({path:s,score:HC(s,o.index),routesMeta:l})}),t}function FC(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:qC(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const UC=/^:\w+$/,jC=3,zC=2,VC=1,BC=10,WC=-2,Mv=e=>e==="*";function HC(e,t){let n=e.split("/"),r=n.length;return n.some(Mv)&&(r+=WC),t&&(r+=zC),n.filter(o=>!Mv(o)).reduce((o,i)=>o+(UC.test(i)?jC:i===""?VC:BC),r)}function qC(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function QC(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{if(c==="*"){let d=s[f]||"";a=i.slice(0,i.length-d.length).replace(/(.)\/+$/,"$1")}return u[c]=XC(s[f]||""),u},{}),pathname:i,pathnameBase:a,pattern:e}}function GC(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0);let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,(a,s)=>(r.push(s),"([^\\/]+)"));return e.endsWith("*")?(r.push("*"),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o+=n?"\\/*$":"(?:(?=[.~-]|%[0-9A-F]{2})|\\b|\\/|$)",[new RegExp(o,t?void 0:"i"),r]}function XC(e,t){try{return decodeURIComponent(e)}catch{return e}}function YC(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?or(e):e;return{pathname:n?n.startsWith("/")?n:JC(n,t):t,search:eE(r),hash:tE(o)}}function JC(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function N0(e,t,n){let r=typeof e=="string"?or(e):e,o=e===""||r.pathname===""?"/":r.pathname,i;if(o==null)i=n;else{let s=t.length-1;if(o.startsWith("..")){let l=o.split("/");for(;l[0]==="..";)l.shift(),s-=1;r.pathname=l.join("/")}i=s>=0?t[s]:"/"}let a=YC(r,i);return o&&o!=="/"&&o.endsWith("/")&&!a.pathname.endsWith("/")&&(a.pathname+="/"),a}function ZC(e){return e===""||e.pathname===""?"/":typeof e=="string"?or(e).pathname:e.pathname}function A0(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=e.charAt(t.length);return n&&n!=="/"?null:e.slice(t.length)||"/"}const Yn=e=>e.join("/").replace(/\/\/+/g,"/"),M0=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),eE=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,tE=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function nE(e){ha()||ir(!1);let{basename:t,navigator:n}=D.exports.useContext(Td),{hash:r,pathname:o,search:i}=$0(e),a=o;if(t!=="/"){let s=ZC(e),l=s!=null&&s.endsWith("/");a=o==="/"?t+(l?"/":""):Yn([t,o])}return n.createHref({pathname:a,search:i,hash:r})}function ha(){return D.exports.useContext(Ld)!=null}function va(){return ha()||ir(!1),D.exports.useContext(Ld).location}function rE(){ha()||ir(!1);let{basename:e,navigator:t}=D.exports.useContext(Td),{matches:n}=D.exports.useContext(Il),{pathname:r}=va(),o=JSON.stringify(n.map(s=>s.pathnameBase)),i=D.exports.useRef(!1);return D.exports.useEffect(()=>{i.current=!0}),D.exports.useCallback(function(s,l){if(l===void 0&&(l={}),!i.current)return;if(typeof s=="number"){t.go(s);return}let u=N0(s,JSON.parse(o),r);e!=="/"&&(u.pathname=Yn([e,u.pathname])),(l.replace?t.replace:t.push)(u,l.state)},[e,t,o,r])}function $0(e){let{matches:t}=D.exports.useContext(Il),{pathname:n}=va(),r=JSON.stringify(t.map(o=>o.pathnameBase));return D.exports.useMemo(()=>N0(e,JSON.parse(r),n),[e,r,n])}function D0(e,t){ha()||ir(!1);let{matches:n}=D.exports.useContext(Il),r=n[n.length-1],o=r?r.params:{};r&&r.pathname;let i=r?r.pathnameBase:"/";r&&r.route;let a=va(),s;if(t){var l;let d=typeof t=="string"?or(t):t;i==="/"||((l=d.pathname)==null?void 0:l.startsWith(i))||ir(!1),s=d}else s=a;let u=s.pathname||"/",c=i==="/"?u:u.slice(i.length)||"/",f=IC(e,{pathname:c});return oE(f&&f.map(d=>Object.assign({},d,{params:Object.assign({},o,d.params),pathname:Yn([i,d.pathname]),pathnameBase:d.pathnameBase==="/"?i:Yn([i,d.pathnameBase])})),n)}function oE(e,t){return t===void 0&&(t=[]),e==null?null:e.reduceRight((n,r,o)=>D.exports.createElement(Il.Provider,{children:r.route.element!==void 0?r.route.element:n,value:{outlet:n,matches:t.concat(e.slice(0,o+1))}}),null)}function iE(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Er.Pop,navigator:i,static:a=!1}=e;ha()&&ir(!1);let s=M0(t),l=D.exports.useMemo(()=>({basename:s,navigator:i,static:a}),[s,i,a]);typeof r=="string"&&(r=or(r));let{pathname:u="/",search:c="",hash:f="",state:d=null,key:h="default"}=r,m=D.exports.useMemo(()=>{let y=A0(u,s);return y==null?null:{pathname:y,search:c,hash:f,state:d,key:h}},[s,u,c,f,d,h]);return m==null?null:D.exports.createElement(Td.Provider,{value:l},D.exports.createElement(Ld.Provider,{children:n,value:{location:m,navigationType:o}}))}/** - * React Router DOM v6.3.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function ff(){return ff=Object.assign||function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}const sE=["onClick","reloadDocument","replace","state","target","to"];function lE(e){let{basename:t,children:n,window:r}=e,o=D.exports.useRef();o.current==null&&(o.current=$C({window:r}));let i=o.current,[a,s]=D.exports.useState({action:i.action,location:i.location});return D.exports.useLayoutEffect(()=>i.listen(s),[i]),D.exports.createElement(iE,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:i})}function uE(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}const I0=D.exports.forwardRef(function(t,n){let{onClick:r,reloadDocument:o,replace:i=!1,state:a,target:s,to:l}=t,u=aE(t,sE),c=nE(l),f=cE(l,{replace:i,state:a,target:s});function d(h){r&&r(h),!h.defaultPrevented&&!o&&f(h)}return D.exports.createElement("a",ff({},u,{href:c,onClick:d,ref:n,target:s}))});function cE(e,t){let{target:n,replace:r,state:o}=t===void 0?{}:t,i=rE(),a=va(),s=$0(e);return D.exports.useCallback(l=>{if(l.button===0&&(!n||n==="_self")&&!uE(l)){l.preventDefault();let u=!!r||Oi(a)===Oi(s);i(e,{replace:u,state:o})}},[a,i,s,r,o,n,e])}function fE(e){const t=new Error(e);if(t.stack===void 0)try{throw t}catch{}return t}var dE=fE,ce=dE;function pE(e){return!!e&&typeof e.then=="function"}var Pe=pE;function hE(e,t){if(e!=null)return e;throw ce(t!=null?t:"Got unexpected null or undefined")}var Te=hE;function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class Fl{getValue(){throw ce("BaseLoadable")}toPromise(){throw ce("BaseLoadable")}valueMaybe(){throw ce("BaseLoadable")}valueOrThrow(){throw ce(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw ce("BaseLoadable")}promiseOrThrow(){throw ce(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw ce("BaseLoadable")}errorOrThrow(){throw ce(`Loadable expected error, but in "${this.state}" state`)}is(t){return t.state===this.state&&t.contents===this.contents}map(t){throw ce("BaseLoadable")}}class vE extends Fl{constructor(t){super(),se(this,"state","hasValue"),se(this,"contents",void 0),this.contents=t}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(t){try{const n=t(this.contents);return Pe(n)?$r(n):Eo(n)?n:ma(n)}catch(n){return Pe(n)?$r(n.next(()=>this.map(t))):Ul(n)}}}class mE extends Fl{constructor(t){super(),se(this,"state","hasError"),se(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(t){return this}}class F0 extends Fl{constructor(t){super(),se(this,"state","loading"),se(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(t){return $r(this.contents.then(n=>{const r=t(n);if(Eo(r)){const o=r;switch(o.state){case"hasValue":return o.contents;case"hasError":throw o.contents;case"loading":return o.contents}}return r}).catch(n=>{if(Pe(n))return n.then(()=>this.map(t).contents);throw n}))}}function ma(e){return Object.freeze(new vE(e))}function Ul(e){return Object.freeze(new mE(e))}function $r(e){return Object.freeze(new F0(e))}function U0(){return Object.freeze(new F0(new Promise(()=>{})))}function gE(e){return e.every(t=>t.state==="hasValue")?ma(e.map(t=>t.contents)):e.some(t=>t.state==="hasError")?Ul(Te(e.find(t=>t.state==="hasError"),"Invalid loadable passed to loadableAll").contents):$r(Promise.all(e.map(t=>t.contents)))}function j0(e){const n=(Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(o=>e[o])).map(o=>Eo(o)?o:Pe(o)?$r(o):ma(o)),r=gE(n);return Array.isArray(e)?r:r.map(o=>Object.getOwnPropertyNames(e).reduce((i,a,s)=>ge(J({},i),{[a]:o[s]}),{}))}function Eo(e){return e instanceof Fl}const yE={of:e=>Pe(e)?$r(e):Eo(e)?e:ma(e),error:e=>Ul(e),loading:()=>U0(),all:j0,isLoadable:Eo};var Vr={loadableWithValue:ma,loadableWithError:Ul,loadableWithPromise:$r,loadableLoading:U0,loadableAll:j0,isLoadable:Eo,RecoilLoadable:yE},wE=Vr.loadableWithValue,SE=Vr.loadableWithError,_E=Vr.loadableWithPromise,bE=Vr.loadableLoading,RE=Vr.loadableAll,CE=Vr.isLoadable,EE=Vr.RecoilLoadable,ga=Object.freeze({__proto__:null,loadableWithValue:wE,loadableWithError:SE,loadableWithPromise:_E,loadableLoading:bE,loadableAll:RE,isLoadable:CE,RecoilLoadable:EE});const jl=new Map().set("recoil_hamt_2020",!0).set("recoil_sync_external_store",!0).set("recoil_suppress_rerender_in_callback",!0).set("recoil_memory_managament_2020",!0);function zl(e){var t;return(t=jl.get(e))!==null&&t!==void 0?t:!1}zl.setPass=e=>{jl.set(e,!0)};zl.setFail=e=>{jl.set(e,!1)};zl.clear=()=>{jl.clear()};var _e=zl,Fu,Uu,ju;const OE=(Fu=ee.createMutableSource)!==null&&Fu!==void 0?Fu:ee.unstable_createMutableSource,z0=(Uu=ee.useMutableSource)!==null&&Uu!==void 0?Uu:ee.unstable_useMutableSource,V0=(ju=ee.useSyncExternalStore)!==null&&ju!==void 0?ju:ee.unstable_useSyncExternalStore;function xE(){return _e("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:_e("recoil_sync_external_store")&&V0!=null?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:_e("recoil_mutable_source")&&z0!=null&&typeof window!="undefined"&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?_e("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:_e("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}}function kE(){return!1}var ya={createMutableSource:OE,useMutableSource:z0,useSyncExternalStore:V0,reactMode:xE,isFastRefreshEnabled:kE};class Nd{constructor(t){se(this,"key",void 0),this.key=t}toJSON(){return{key:this.key}}}class B0 extends Nd{}class W0 extends Nd{}function PE(e){return e instanceof B0||e instanceof W0}var Vl={AbstractRecoilValue:Nd,RecoilState:B0,RecoilValueReadOnly:W0,isRecoilValue:PE},TE=Vl.AbstractRecoilValue,LE=Vl.RecoilState,NE=Vl.RecoilValueReadOnly,AE=Vl.isRecoilValue,Oo=Object.freeze({__proto__:null,AbstractRecoilValue:TE,RecoilState:LE,RecoilValueReadOnly:NE,isRecoilValue:AE});function ME(e,t){return function*(){let n=0;for(const r of e)yield t(r,n++)}()}var Bl=ME;function $E(e,t,{error:n}={}){return null}var DE=$E,Ad=DE;class H0{}const IE=new H0,Dr=new Map,Md=new Map;function FE(e){return Bl(e,t=>Te(Md.get(t)))}function UE(e){if(Dr.has(e.key)){const n=`Duplicate atom key "${e.key}". This is a FATAL ERROR in - production. But it is safe to ignore this warning if it occurred because of - hot module replacement.`;console.warn(n)}Dr.set(e.key,e);const t=e.set==null?new Oo.RecoilValueReadOnly(e.key):new Oo.RecoilState(e.key);return Md.set(e.key,t),t}class q0 extends Error{}function jE(e){const t=Dr.get(e);if(t==null)throw new q0(`Missing definition for RecoilValue: "${e}""`);return t}function zE(e){return Dr.get(e)}const ul=new Map;function VE(e){var t;if(!_e("recoil_memory_managament_2020"))return;const n=Dr.get(e);if(n!=null&&(t=n.shouldDeleteConfigOnRelease)!==null&&t!==void 0&&t.call(n)){var r;Dr.delete(e),(r=Q0(e))===null||r===void 0||r(),ul.delete(e)}}function BE(e,t){!_e("recoil_memory_managament_2020")||(t===void 0?ul.delete(e):ul.set(e,t))}function Q0(e){return ul.get(e)}var ht={nodes:Dr,recoilValues:Md,registerNode:UE,getNode:jE,getNodeMaybe:zE,deleteNodeConfigIfPossible:VE,setConfigDeletionHandler:BE,getConfigDeletionHandler:Q0,recoilValuesForKeys:FE,NodeMissingError:q0,DefaultValue:H0,DEFAULT_VALUE:IE};function WE(e,t){t()}var HE={enqueueExecution:WE};function qE(e,t){return t={exports:{}},e(t,t.exports),t.exports}var QE=qE(function(e){var t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},n={},r=5,o=Math.pow(2,r),i=o-1,a=o/2,s=o/4,l={},u=function(_){return function(){return _}},c=n.hash=function(P){var _=typeof P=="undefined"?"undefined":t(P);if(_==="number")return P;_!=="string"&&(P+="");for(var I=0,H=0,q=P.length;H>1&1431655765,_=(_&858993459)+(_>>2&858993459),_=_+(_>>4)&252645135,_+=_>>8,_+=_>>16,_&127},d=function(_,I){return I>>>_&i},h=function(_){return 1<<_},m=function(_,I){return f(_&I-1)},y=function(_,I,H,q){var G=q;if(!_){var ie=q.length;G=new Array(ie);for(var re=0;re=I;)q[ie--]=q[ie];return q[I]=H,q}for(var re=0,oe=0,fe=new Array(G+1);re>>=1;return ie[I]=H,Q(_,oe+1,ie)},w=function(_,I,H,q){for(var G=new Array(I-1),ie=0,re=0,oe=0,fe=q.length;oe1?j(_,this.hash,fe):fe[0]}var xe=q();return xe===l?this:(++re.value,T(_,H,this.hash,this,G,L(_,G,ie,xe)))},$=function(_,I,H,q,G,ie,re){var oe=this.mask,fe=this.children,xe=d(H,G),at=h(xe),Ve=m(oe,at),Et=oe&at,It=Et?fe[Ve]:E,Hr=It._modify(_,I,H+r,q,G,ie,re);if(It===Hr)return this;var Ca=C(_,this),zo=oe,Vo=void 0;if(Et&&A(Hr)){if(zo&=~at,!zo)return E;if(fe.length<=2&&te(fe[Ve^1]))return fe[Ve^1];Vo=O(Ca,Ve,fe)}else if(!Et&&!A(Hr)){if(fe.length>=a)return X(_,xe,Hr,oe,fe);zo|=at,Vo=v(Ca,Ve,Hr,fe)}else Vo=y(Ca,Ve,Hr,fe);return Ca?(this.mask=zo,this.children=Vo,this):M(_,zo,Vo)},F=function(_,I,H,q,G,ie,re){var oe=this.size,fe=this.children,xe=d(H,G),at=fe[xe],Ve=(at||E)._modify(_,I,H+r,q,G,ie,re);if(at===Ve)return this;var Et=C(_,this),It=void 0;if(A(at)&&!A(Ve))++oe,It=y(Et,xe,Ve,fe);else if(!A(at)&&A(Ve)){if(--oe,oe<=s)return w(_,oe,xe,fe);It=y(Et,xe,E,fe)}else It=y(Et,xe,Ve,fe);return Et?(this.size=oe,this.children=It,this):Q(_,oe,It)};E._modify=function(P,_,I,H,q,G,ie){var re=H();return re===l?E:(++ie.value,L(P,q,G,re))};function b(P,_,I,H,q){this._editable=P,this._edit=_,this._config=I,this._root=H,this._size=q}b.prototype.setTree=function(P,_){return this._editable?(this._root=P,this._size=_,this):P===this._root?this:new b(this._editable,this._edit,this._config,P,_)};var B=n.tryGetHash=function(P,_,I,H){for(var q=H._root,G=0,ie=H._config.keyEq;;)switch(q.type){case p:return ie(I,q.key)?q.value:P;case g:{if(_===q.hash)for(var re=q.children,oe=0,fe=re.length;oe{n.set(o,t(r,o))}),n}var cl=ZE;function eO(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}}function tO(e){return{nodeDeps:cl(e.nodeDeps,t=>new Set(t)),nodeToNodeSubscriptions:cl(e.nodeToNodeSubscriptions,t=>new Set(t))}}function zu(e,t,n,r){const{nodeDeps:o,nodeToNodeSubscriptions:i}=n,a=o.get(e);if(a&&r&&a!==r.nodeDeps.get(e))return;o.set(e,t);const s=a==null?t:xi(t,a);for(const l of s)i.has(l)||i.set(l,new Set),Te(i.get(l)).add(e);if(a){const l=xi(a,t);for(const u of l){if(!i.has(u))return;const c=Te(i.get(u));c.delete(e),c.size===0&&i.delete(u)}}}function nO(e,t,n,r){var o,i,a,s;const l=n.getState();r===l.currentTree.version||r===((o=l.nextTree)===null||o===void 0?void 0:o.version)||((i=l.previousTree)===null||i===void 0||i.version);const u=n.getGraph(r);if(zu(e,t,u),r===((a=l.previousTree)===null||a===void 0?void 0:a.version)){const f=n.getGraph(l.currentTree.version);zu(e,t,f,u)}if(r===((s=l.previousTree)===null||s===void 0?void 0:s.version)||r===l.currentTree.version){var c;const f=(c=l.nextTree)===null||c===void 0?void 0:c.version;if(f!==void 0){const d=n.getGraph(f);zu(e,t,d,u)}}}var wa={cloneGraph:tO,graph:eO,saveDepsToStore:nO};let rO=0;const oO=()=>rO++;let iO=0;const aO=()=>iO++;let sO=0;const lO=()=>sO++;var Wl={getNextTreeStateVersion:oO,getNextStoreID:aO,getNextComponentID:lO};const{persistentMap:$v}=YE,{graph:uO}=wa,{getNextTreeStateVersion:K0}=Wl;function G0(){const e=K0();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:$v(),nonvalidatedAtoms:$v()}}function cO(){const e=G0();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(e.version,uO()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}}var X0={makeEmptyTreeState:G0,makeEmptyStoreState:cO,getNextTreeStateVersion:K0};class Y0{}function fO(){return new Y0}var Hl={RetentionZone:Y0,retentionZone:fO};function dO(e,t){const n=new Set(e);return n.add(t),n}function pO(e,t){const n=new Set(e);return n.delete(t),n}function hO(e,t,n){const r=new Map(e);return r.set(t,n),r}function vO(e,t,n){const r=new Map(e);return r.set(t,n(r.get(t))),r}function mO(e,t){const n=new Map(e);return n.delete(t),n}function gO(e,t){const n=new Map(e);return t.forEach(r=>n.delete(r)),n}var J0={setByAddingToSet:dO,setByDeletingFromSet:pO,mapBySettingInMap:hO,mapByUpdatingInMap:vO,mapByDeletingFromMap:mO,mapByDeletingMultipleFromMap:gO};function*yO(e,t){let n=0;for(const r of e)t(r,n++)&&(yield r)}var Id=yO;function wO(e,t){return new Proxy(e,{get:(r,o)=>(!(o in r)&&o in t&&(r[o]=t[o]()),r[o]),ownKeys:r=>Object.keys(r)})}var Z0=wO;const{getNode:Sa,getNodeMaybe:SO,recoilValuesForKeys:Dv}=ht,{RetentionZone:Iv}=Hl,{setByAddingToSet:_O}=J0,bO=Object.freeze(new Set);class RO extends Error{}function CO(e,t,n){if(!_e("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:r}=e.getState().retention;function o(i){let a=r.get(i);a||r.set(i,a=new Set),a.add(t)}if(n instanceof Iv)o(n);else if(Array.isArray(n))for(const i of n)o(i);return()=>{if(!_e("recoil_memory_managament_2020"))return;const{retention:i}=e.getState();function a(s){const l=i.nodesRetainedByZone.get(s);l==null||l.delete(t),l&&l.size===0&&i.nodesRetainedByZone.delete(s)}if(n instanceof Iv)a(n);else if(Array.isArray(n))for(const s of n)a(s)}}function Fd(e,t,n,r){const o=e.getState();if(o.nodeCleanupFunctions.has(n))return;const i=Sa(n),a=CO(e,n,i.retainedBy),s=i.init(e,t,r);o.nodeCleanupFunctions.set(n,()=>{s(),a()})}function EO(e,t,n){Fd(e,e.getState().currentTree,t,n)}function OO(e,t){var n;const r=e.getState();(n=r.nodeCleanupFunctions.get(t))===null||n===void 0||n(),r.nodeCleanupFunctions.delete(t)}function xO(e,t,n){return Fd(e,t,n,"get"),Sa(n).get(e,t)}function e1(e,t,n){return Sa(n).peek(e,t)}function kO(e,t,n){var r;const o=SO(t);return o==null||(r=o.invalidate)===null||r===void 0||r.call(o,e),ge(J({},e),{atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:_O(e.dirtyAtoms,t)})}function PO(e,t,n,r){const o=Sa(n);if(o.set==null)throw new RO(`Attempt to set read-only RecoilValue: ${n}`);const i=o.set;return Fd(e,t,n,"set"),i(e,t,r)}function TO(e,t,n){const r=e.getState(),o=e.getGraph(t.version),i=Sa(n).nodeType;return Z0({type:i},{loadable:()=>e1(e,t,n),isActive:()=>r.knownAtoms.has(n)||r.knownSelectors.has(n),isSet:()=>i==="selector"?!1:t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var a;return Dv((a=o.nodeDeps.get(n))!==null&&a!==void 0?a:[])},subscribers:()=>{var a,s;return{nodes:Dv(Id(t1(e,t,new Set([n])),l=>l!==n)),components:Bl((a=(s=r.nodeToComponentSubscriptions.get(n))===null||s===void 0?void 0:s.values())!==null&&a!==void 0?a:[],([l])=>({name:l}))}}})}function t1(e,t,n){const r=new Set,o=Array.from(n),i=e.getGraph(t.version);for(let s=o.pop();s;s=o.pop()){var a;r.add(s);const l=(a=i.nodeToNodeSubscriptions.get(s))!==null&&a!==void 0?a:bO;for(const u of l)r.has(u)||o.push(u)}return r}var cr={getNodeLoadable:xO,peekNodeLoadable:e1,setNodeValue:PO,initializeNode:EO,cleanUpNode:OO,setUnvalidatedAtomValue_DEPRECATED:kO,peekNodeInfo:TO,getDownstreamNodes:t1};let n1=null;function LO(e){n1=e}function NO(){var e;(e=n1)===null||e===void 0||e()}var r1={setInvalidateMemoizedSnapshot:LO,invalidateMemoizedSnapshot:NO};const{getDownstreamNodes:AO,getNodeLoadable:o1,setNodeValue:MO}=cr,{getNextComponentID:$O}=Wl,{getNode:DO,getNodeMaybe:i1}=ht,{DefaultValue:Ud}=ht,{reactMode:IO}=ya,{AbstractRecoilValue:FO,RecoilState:UO,RecoilValueReadOnly:jO,isRecoilValue:zO}=Oo,{invalidateMemoizedSnapshot:VO}=r1;function BO(e,{key:t},n=e.getState().currentTree){var r,o;const i=e.getState();n.version===i.currentTree.version||n.version===((r=i.nextTree)===null||r===void 0?void 0:r.version)||(n.version,(o=i.previousTree)===null||o===void 0||o.version);const a=o1(e,n,t);return a.state==="loading"&&a.contents.catch(()=>{}),a}function WO(e,t){const n=e.clone();return t.forEach((r,o)=>{r.state==="hasValue"&&r.contents instanceof Ud?n.delete(o):n.set(o,r)}),n}function HO(e,t,{key:n},r){if(typeof r=="function"){const o=o1(e,t,n);if(o.state==="loading"){const i=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw ce(i)}else if(o.state==="hasError")throw o.contents;return r(o.contents)}else return r}function qO(e,t,n){if(n.type==="set"){const{recoilValue:o,valueOrUpdater:i}=n,a=HO(e,t,o,i),s=MO(e,t,o.key,a);for(const[l,u]of s.entries())df(t,l,u)}else if(n.type==="setLoadable"){const{recoilValue:{key:o},loadable:i}=n;df(t,o,i)}else if(n.type==="markModified"){const{recoilValue:{key:o}}=n;t.dirtyAtoms.add(o)}else if(n.type==="setUnvalidated"){var r;const{recoilValue:{key:o},unvalidatedValue:i}=n,a=i1(o);a==null||(r=a.invalidate)===null||r===void 0||r.call(a,t),t.atomValues.delete(o),t.nonvalidatedAtoms.set(o,i),t.dirtyAtoms.add(o)}else Ad(`Unknown action ${n.type}`)}function df(e,t,n){n.state==="hasValue"&&n.contents instanceof Ud?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function a1(e,t){e.replaceState(n=>{const r=s1(n);for(const o of t)qO(e,r,o);return l1(e,r),VO(),r})}function ql(e,t){if(ki.length){const n=ki[ki.length-1];let r=n.get(e);r||n.set(e,r=[]),r.push(t)}else a1(e,[t])}const ki=[];function QO(){const e=new Map;return ki.push(e),()=>{for(const[t,n]of e)a1(t,n);ki.pop()}}function s1(e){return ge(J({},e),{atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)})}function l1(e,t){const n=AO(e,t,t.dirtyAtoms);for(const i of n){var r,o;(r=i1(i))===null||r===void 0||(o=r.invalidate)===null||o===void 0||o.call(r,t)}}function u1(e,t,n){ql(e,{type:"set",recoilValue:t,valueOrUpdater:n})}function KO(e,t,n){if(n instanceof Ud)return u1(e,t,n);ql(e,{type:"setLoadable",recoilValue:t,loadable:n})}function GO(e,t){ql(e,{type:"markModified",recoilValue:t})}function XO(e,t,n){ql(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})}function YO(e,{key:t},n,r=null){const o=$O(),i=e.getState();i.nodeToComponentSubscriptions.has(t)||i.nodeToComponentSubscriptions.set(t,new Map),Te(i.nodeToComponentSubscriptions.get(t)).set(o,[r!=null?r:"",n]);const a=IO();if(a.early&&(a.mode==="LEGACY"||a.mode==="MUTABLE_SOURCE")){const s=e.getState().nextTree;s&&s.dirtyAtoms.has(t)&&n(s)}return{release:()=>{const s=e.getState(),l=s.nodeToComponentSubscriptions.get(t);l===void 0||!l.has(o)||(l.delete(o),l.size===0&&s.nodeToComponentSubscriptions.delete(t))}}}function JO(e,t){var n;const{currentTree:r}=e.getState(),o=DO(t.key);(n=o.clearCache)===null||n===void 0||n.call(o,e,r)}var cn={RecoilValueReadOnly:jO,AbstractRecoilValue:FO,RecoilState:UO,getRecoilValueAsLoadable:BO,setRecoilValue:u1,setRecoilValueLoadable:KO,markRecoilValueModified:GO,setUnvalidatedRecoilValue:XO,subscribeToRecoilValue:YO,isRecoilValue:zO,applyAtomValueWrites:WO,batchStart:QO,writeLoadableToTreeState:df,invalidateDownstreams:l1,copyTreeState:s1,refreshRecoilValue:JO};function ZO(e,t,n){const r=e.entries();let o=r.next();for(;!o.done;){const i=o.value;if(t.call(n,i[1],i[0],e))return!0;o=r.next()}return!1}var ex=ZO;const{cleanUpNode:tx}=cr,{deleteNodeConfigIfPossible:nx,getNode:c1}=ht,{RetentionZone:f1}=Hl,rx=12e4,d1=new Set;function p1(e,t){const n=e.getState(),r=n.currentTree;if(n.nextTree)return;const o=new Set;for(const a of t)if(a instanceof f1)for(const s of sx(n,a))o.add(s);else o.add(a);const i=ox(e,o);for(const a of i)ax(e,r,a)}function ox(e,t){const n=e.getState(),r=n.currentTree,o=e.getGraph(r.version),i=new Set,a=new Set;return s(t),i;function s(l){const u=new Set,c=ix(e,r,l,i,a);for(const m of c){var f;if(c1(m).retainedBy==="recoilRoot"){a.add(m);continue}if(((f=n.retention.referenceCounts.get(m))!==null&&f!==void 0?f:0)>0){a.add(m);continue}if(h1(m).some(O=>n.retention.referenceCounts.get(O))){a.add(m);continue}const y=o.nodeToNodeSubscriptions.get(m);if(y&&ex(y,O=>a.has(O))){a.add(m);continue}i.add(m),u.add(m)}const d=new Set;for(const m of u)for(const y of(h=o.nodeDeps.get(m))!==null&&h!==void 0?h:d1){var h;i.has(y)||d.add(y)}d.size&&s(d)}}function ix(e,t,n,r,o){const i=e.getGraph(t.version),a=[],s=new Set;for(;n.size>0;)l(Te(n.values().next().value));return a;function l(u){if(r.has(u)||o.has(u)){n.delete(u);return}if(s.has(u))return;const c=i.nodeToNodeSubscriptions.get(u);if(c)for(const f of c)l(f);s.add(u),n.delete(u),a.push(u)}}function ax(e,t,n){if(!_e("recoil_memory_managament_2020"))return;tx(e,n);const r=e.getState();r.knownAtoms.delete(n),r.knownSelectors.delete(n),r.nodeTransactionSubscriptions.delete(n),r.retention.referenceCounts.delete(n);const o=h1(n);for(const l of o){var i;(i=r.retention.nodesRetainedByZone.get(l))===null||i===void 0||i.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const a=r.graphsByVersion.get(t.version);if(a){const l=a.nodeDeps.get(n);if(l!==void 0){a.nodeDeps.delete(n);for(const u of l){var s;(s=a.nodeToNodeSubscriptions.get(u))===null||s===void 0||s.delete(n)}}a.nodeToNodeSubscriptions.delete(n)}nx(n)}function sx(e,t){var n;return(n=e.retention.nodesRetainedByZone.get(t))!==null&&n!==void 0?n:d1}function h1(e){const t=c1(e).retainedBy;return t===void 0||t==="components"||t==="recoilRoot"?[]:t instanceof f1?[t]:t}function lx(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):p1(e,new Set([t]))}function ux(e,t,n){var r;if(!_e("recoil_memory_managament_2020"))return;const o=e.getState().retention.referenceCounts,i=((r=o.get(t))!==null&&r!==void 0?r:0)+n;i===0?v1(e,t):o.set(t,i)}function v1(e,t){if(!_e("recoil_memory_managament_2020"))return;e.getState().retention.referenceCounts.delete(t),lx(e,t)}function cx(e){if(!_e("recoil_memory_managament_2020"))return;const t=e.getState();p1(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()}function fx(e){return e===void 0?"recoilRoot":e}var Br={SUSPENSE_TIMEOUT_MS:rx,updateRetainCount:ux,updateRetainCountToZero:v1,releaseScheduledRetainablesNow:cx,retainedByOptionWithDefault:fx};const{unstable_batchedUpdates:dx}=c0;var px={unstable_batchedUpdates:dx};const{unstable_batchedUpdates:hx}=px;var vx={unstable_batchedUpdates:hx};const{batchStart:mx}=cn,{unstable_batchedUpdates:gx}=vx;let jd=gx;const yx=e=>{jd=e},wx=()=>jd,Sx=e=>{jd(()=>{let t=()=>{};try{t=mx(),e()}finally{t()}})};var Ql={getBatcher:wx,setBatcher:yx,batchUpdates:Sx};function*_x(e){for(const t of e)for(const n of t)yield n}var m1=_x;const g1=typeof Window=="undefined"||typeof window=="undefined",bx=e=>!g1&&(e===window||e instanceof Window),Rx=typeof navigator!="undefined"&&navigator.product==="ReactNative";var zd={isSSR:g1,isReactNative:Rx,isWindow:bx};function Cx(e,t){let n;return(...o)=>{n||(n={});const i=t(...o);return Object.hasOwnProperty.call(n,i)||(n[i]=e(...o)),n[i]}}function Ex(e,t){let n,r;return(...i)=>{const a=t(...i);return n===a||(n=a,r=e(...i)),r}}function Ox(e,t){let n,r;return[(...a)=>{const s=t(...a);return n===s||(n=s,r=e(...a)),r},()=>{n=null}]}var xx={memoizeWithArgsHash:Cx,memoizeOneWithArgsHash:Ex,memoizeOneWithArgsHashAndInvalidation:Ox};const{batchUpdates:pf}=Ql,{initializeNode:kx,peekNodeInfo:Px}=cr,{graph:Tx}=wa,{getNextStoreID:Lx}=Wl,{DEFAULT_VALUE:Nx,recoilValues:Fv,recoilValuesForKeys:Uv}=ht,{AbstractRecoilValue:Ax,getRecoilValueAsLoadable:Mx,setRecoilValue:jv,setUnvalidatedRecoilValue:$x}=cn,{updateRetainCount:ws}=Br,{setInvalidateMemoizedSnapshot:Dx}=r1,{getNextTreeStateVersion:Ix,makeEmptyStoreState:Fx}=X0,{isSSR:Ux}=zd,{memoizeOneWithArgsHashAndInvalidation:jx}=xx;class Kl{constructor(t,n){se(this,"_store",void 0),se(this,"_refCount",1),se(this,"getLoadable",r=>(this.checkRefCount_INTERNAL(),Mx(this._store,r))),se(this,"getPromise",r=>(this.checkRefCount_INTERNAL(),this.getLoadable(r).toPromise())),se(this,"getNodes_UNSTABLE",r=>{if(this.checkRefCount_INTERNAL(),(r==null?void 0:r.isModified)===!0){if((r==null?void 0:r.isInitialized)===!1)return[];const a=this._store.getState().currentTree;return Uv(a.dirtyAtoms)}const o=this._store.getState().knownAtoms,i=this._store.getState().knownSelectors;return(r==null?void 0:r.isInitialized)==null?Fv.values():r.isInitialized===!0?Uv(m1([o,i])):Id(Fv.values(),({key:a})=>!o.has(a)&&!i.has(a))}),se(this,"getInfo_UNSTABLE",({key:r})=>(this.checkRefCount_INTERNAL(),Px(this._store,this._store.getState().currentTree,r))),se(this,"map",r=>{this.checkRefCount_INTERNAL();const o=new hf(this,pf);return r(o),o}),se(this,"asyncMap",async r=>{this.checkRefCount_INTERNAL();const o=new hf(this,pf);return o.retain(),await r(o),o.autoRelease_INTERNAL(),o}),this._store={storeID:Lx(),parentStoreID:n,getState:()=>t,replaceState:r=>{t.currentTree=r(t.currentTree)},getGraph:r=>{const o=t.graphsByVersion;if(o.has(r))return Te(o.get(r));const i=Tx();return o.set(r,i),i},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw ce("Cannot subscribe to Snapshots")}};for(const r of this._store.getState().knownAtoms)kx(this._store,r,"get"),ws(this._store,r,1);this.autoRelease_INTERNAL()}retain(){this._refCount<=0,this._refCount++;let t=!1;return()=>{t||(t=!0,this._release())}}autoRelease_INTERNAL(){Ux||window.setTimeout(()=>this._release(),0)}_release(){if(this._refCount--,this._refCount===0){if(this._store.getState().nodeCleanupFunctions.forEach(t=>t()),this._store.getState().nodeCleanupFunctions.clear(),!_e("recoil_memory_managament_2020"))return}else this._refCount<0}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){_e("recoil_memory_managament_2020")&&this._refCount<=0}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function y1(e,t,n=!1){const r=e.getState(),o=n?Ix():t.version;return{currentTree:{version:n?o:t.version,stateID:n?o:t.stateID,transactionMetadata:J({},t.transactionMetadata),dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,nextTree:null,previousTree:null,knownAtoms:new Set(r.knownAtoms),knownSelectors:new Set(r.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(o,e.getGraph(t.version)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(Bl(r.nodeCleanupFunctions.entries(),([i])=>[i,()=>{}]))}}function zx(e){const t=new Kl(Fx());return e!=null?t.map(e):t}const[zv,w1]=jx((e,t)=>{var n;const r=e.getState(),o=t==="latest"?(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree:Te(r.previousTree);return new Kl(y1(e,o),e.storeID)},(e,t)=>{var n,r;return String(t)+String(e.storeID)+String((n=e.getState().nextTree)===null||n===void 0?void 0:n.version)+String(e.getState().currentTree.version)+String((r=e.getState().previousTree)===null||r===void 0?void 0:r.version)});Dx(w1);function Vx(e,t="latest"){const n=zv(e,t);return n.isRetained()?n:(w1(),zv(e,t))}class hf extends Kl{constructor(t,n){super(y1(t.getStore_INTERNAL(),t.getStore_INTERNAL().getState().currentTree,!0),t.getStoreID()),se(this,"_batch",void 0),se(this,"set",(r,o)=>{this.checkRefCount_INTERNAL();const i=this.getStore_INTERNAL();this._batch(()=>{ws(i,r.key,1),jv(this.getStore_INTERNAL(),r,o)})}),se(this,"reset",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();this._batch(()=>{ws(o,r.key,1),jv(this.getStore_INTERNAL(),r,Nx)})}),se(this,"setUnvalidatedAtomValues_DEPRECATED",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();pf(()=>{for(const[i,a]of r.entries())ws(o,i,1),$x(o,new Ax(i),a)})}),this._batch=n}}var Gl={Snapshot:Kl,MutableSnapshot:hf,freshSnapshot:zx,cloneSnapshot:Vx},Bx=Gl.Snapshot,Wx=Gl.MutableSnapshot,Hx=Gl.freshSnapshot,qx=Gl.cloneSnapshot,Xl=Object.freeze({__proto__:null,Snapshot:Bx,MutableSnapshot:Wx,freshSnapshot:Hx,cloneSnapshot:qx});function Qx(...e){const t=new Set;for(const n of e)for(const r of n)t.add(r);return t}var Kx=Qx;const{useRef:Gx}=ee;function Xx(e){const t=Gx(e);return t.current===e&&typeof e=="function"&&(t.current=e()),t}var Vv=Xx;const{getNextTreeStateVersion:Yx,makeEmptyStoreState:S1}=X0,{cleanUpNode:Jx,getDownstreamNodes:Zx,initializeNode:ek,setNodeValue:tk,setUnvalidatedAtomValue_DEPRECATED:nk}=cr,{graph:rk}=wa,{cloneGraph:ok}=wa,{getNextStoreID:_1}=Wl,{createMutableSource:Vu,reactMode:b1}=ya,{applyAtomValueWrites:ik}=cn,{releaseScheduledRetainablesNow:R1}=Br,{freshSnapshot:ak}=Xl,{useCallback:sk,useContext:C1,useEffect:vf,useMemo:lk,useRef:uk,useState:ck}=ee;function ti(){throw ce("This component must be used inside a component.")}const E1=Object.freeze({storeID:_1(),getState:ti,replaceState:ti,getGraph:ti,subscribeToTransactions:ti,addTransactionMetadata:ti});let mf=!1;function Bv(e){if(mf)throw ce("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(t.nextTree===null){_e("recoil_memory_managament_2020")&&_e("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&R1(e);const n=t.currentTree.version,r=Yx();t.nextTree=ge(J({},t.currentTree),{version:r,stateID:r,dirtyAtoms:new Set,transactionMetadata:{}}),t.graphsByVersion.set(r,ok(Te(t.graphsByVersion.get(n))))}}const O1=ee.createContext({current:E1}),Yl=()=>C1(O1),x1=ee.createContext(null);function fk(){return C1(x1)}function Vd(e,t,n){const r=Zx(e,n,n.dirtyAtoms);for(const o of r){const i=t.nodeToComponentSubscriptions.get(o);if(i)for(const[a,[s,l]]of i)l(n)}}function k1(e){const t=e.getState(),n=t.currentTree,r=n.dirtyAtoms;if(r.size){for(const[o,i]of t.nodeTransactionSubscriptions)if(r.has(o))for(const[a,s]of i)s(e);for(const[o,i]of t.transactionSubscriptions)i(e);(!b1().early||t.suspendedComponentResolvers.size>0)&&(Vd(e,t,n),t.suspendedComponentResolvers.forEach(o=>o()),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach(o=>o(n)),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function dk(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(n==null)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,k1(e),t.previousTree!=null?t.graphsByVersion.delete(t.previousTree.version):Ad("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,_e("recoil_memory_managament_2020")&&n==null&&R1(e)}finally{t.commitDepth--}}function pk({setNotifyBatcherOfChange:e}){const t=Yl(),[,n]=ck([]);return e(()=>n({})),vf(()=>(e(()=>n({})),()=>{e(()=>{})}),[e]),vf(()=>{HE.enqueueExecution("Batcher",()=>{dk(t.current)})}),null}function hk(e,t){const n=S1();return t({set:(r,o)=>{const i=n.currentTree,a=tk(e,i,r.key,o),s=new Set(a.keys()),l=i.nonvalidatedAtoms.clone();for(const u of s)l.delete(u);n.currentTree=ge(J({},i),{dirtyAtoms:Kx(i.dirtyAtoms,s),atomValues:ik(i.atomValues,a),nonvalidatedAtoms:l})},setUnvalidatedAtomValues:r=>{r.forEach((o,i)=>{n.currentTree=nk(n.currentTree,i,o)})}}),n}function vk(e){const t=ak(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach(r=>r()),n.nodeCleanupFunctions.clear(),n}let Wv=0;function mk({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:r}){let o;const i=h=>{const m=o.current.graphsByVersion;if(m.has(h))return Te(m.get(h));const y=rk();return m.set(h,y),y},a=(h,m)=>{if(m==null){const{transactionSubscriptions:y}=f.current.getState(),O=Wv++;return y.set(O,h),{release:()=>{y.delete(O)}}}else{const{nodeTransactionSubscriptions:y}=f.current.getState();y.has(m)||y.set(m,new Map);const O=Wv++;return Te(y.get(m)).set(O,h),{release:()=>{const v=y.get(m);v&&(v.delete(O),v.size===0&&y.delete(m))}}}},s=h=>{Bv(f.current);for(const m of Object.keys(h))Te(f.current.getState().nextTree).transactionMetadata[m]=h[m]},l=h=>{Bv(f.current);const m=Te(o.current.nextTree);let y;try{mf=!0,y=h(m)}finally{mf=!1}y!==m&&(o.current.nextTree=y,b1().early&&Vd(f.current,o.current,y),Te(u.current)())},u=uk(null),c=sk(h=>{u.current=h},[u]),f=Vv(()=>n!=null?n:{storeID:_1(),getState:()=>o.current,replaceState:l,getGraph:i,subscribeToTransactions:a,addTransactionMetadata:s});n!=null&&(f.current=n),o=Vv(()=>e!=null?hk(f.current,e):t!=null?vk(t):S1());const d=lk(()=>Vu==null?void 0:Vu(o,()=>o.current.currentTree.version),[o]);return vf(()=>{const h=f.current;for(const m of new Set(h.getState().knownAtoms))ek(h,m,"get");return()=>{for(const m of h.getState().knownAtoms)Jx(h,m)}},[f]),ee.createElement(O1.Provider,{value:f},ee.createElement(x1.Provider,{value:d},ee.createElement(pk,{setNotifyBatcherOfChange:c}),r))}function gk(e){const o=e,{override:t}=o,n=pr(o,["override"]),r=Yl();return t===!1&&r.current!==E1?e.children:ee.createElement(mk,n)}function yk(){return Yl().current.storeID}var xn={RecoilRoot:gk,useStoreRef:Yl,useRecoilMutableSource:fk,useRecoilStoreID:yk,notifyComponents_FOR_TESTING:Vd,sendEndOfBatchNotifications_FOR_TESTING:k1};function wk(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n{t.current=e}),t.current}var P1=Rk;const{useStoreRef:Ck}=xn,{SUSPENSE_TIMEOUT_MS:Ek}=Br,{updateRetainCount:ni}=Br,{RetentionZone:Ok}=Hl,{useEffect:xk,useRef:kk}=ee,{isSSR:Hv}=zd;function Pk(e){if(!!_e("recoil_memory_managament_2020"))return Tk(e)}function Tk(e){const n=(Array.isArray(e)?e:[e]).map(a=>a instanceof Ok?a:a.key),r=Ck();xk(()=>{if(!_e("recoil_memory_managament_2020"))return;const a=r.current;if(o.current&&!Hv)window.clearTimeout(o.current),o.current=null;else for(const s of n)ni(a,s,1);return()=>{for(const s of n)ni(a,s,-1)}},[r,...n]);const o=kk(),i=P1(n);if(!Hv&&(i===void 0||!Sk(i,n))){const a=r.current;for(const s of n)ni(a,s,1);if(i)for(const s of i)ni(a,s,-1);o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{o.current=null;for(const s of n)ni(a,s,-1)},Ek)}}var Bd=Pk;function Lk(){return""}var _a=Lk;const{batchUpdates:Nk}=Ql,{DEFAULT_VALUE:T1}=ht,{reactMode:Do,useMutableSource:Ak,useSyncExternalStore:Mk}=ya,{useRecoilMutableSource:$k,useStoreRef:fn}=xn,{AbstractRecoilValue:gf,getRecoilValueAsLoadable:ba,setRecoilValue:fl,setUnvalidatedRecoilValue:Dk,subscribeToRecoilValue:xo}=cn,{useCallback:pt,useEffect:ko,useMemo:L1,useRef:Pi,useState:Wd}=ee,{setByAddingToSet:Ik}=J0;function Hd(e,t,n){if(e.state==="hasValue")return e.contents;throw e.state==="loading"?new Promise(o=>{n.current.getState().suspendedComponentResolvers.add(o)}):e.state==="hasError"?e.contents:ce(`Invalid value of loadable atom "${t.key}"`)}function Fk(){const e=_a(),t=fn(),[,n]=Wd([]),r=Pi(new Set);r.current=new Set;const o=Pi(new Set),i=Pi(new Map),a=pt(l=>{const u=i.current.get(l);u&&(u.release(),i.current.delete(l))},[i]),s=pt((l,u)=>{i.current.has(u)&&n([])},[]);return ko(()=>{const l=t.current;xi(r.current,o.current).forEach(u=>{if(i.current.has(u))return;const c=xo(l,new gf(u),d=>s(d,u),e);i.current.set(u,c),l.getState().nextTree?l.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{s(l.getState(),u)}):s(l.getState(),u)}),xi(o.current,r.current).forEach(u=>{a(u)}),o.current=r.current}),ko(()=>{const l=i.current;return xi(r.current,new Set(l.keys())).forEach(u=>{const c=xo(t.current,new gf(u),f=>s(f,u),e);l.set(u,c)}),()=>l.forEach((u,c)=>a(c))},[e,t,a,s]),L1(()=>{function l(m){return y=>{fl(t.current,m,y)}}function u(m){return()=>fl(t.current,m,T1)}function c(m){var y;r.current.has(m.key)||(r.current=Ik(r.current,m.key));const O=t.current.getState();return ba(t.current,m,Do().early&&(y=O.nextTree)!==null&&y!==void 0?y:O.currentTree)}function f(m){const y=c(m);return Hd(y,m,t)}function d(m){return[f(m),l(m)]}function h(m){return[c(m),l(m)]}return{getRecoilValue:f,getRecoilValueLoadable:c,getRecoilState:d,getRecoilStateLoadable:h,getSetRecoilState:l,getResetRecoilState:u}},[r,t])}const Uk={current:0};function jk(e){const t=fn(),n=_a(),r=pt(()=>{var s;const l=t.current,u=l.getState(),c=Do().early&&(s=u.nextTree)!==null&&s!==void 0?s:u.currentTree;return{loadable:ba(l,e,c),key:e.key}},[t,e]),o=pt(s=>{let l;return()=>{var u,c;const f=s();return(u=l)!==null&&u!==void 0&&u.loadable.is(f.loadable)&&((c=l)===null||c===void 0?void 0:c.key)===f.key?l:(l=f,f)}},[]),i=L1(()=>o(r),[r,o]),a=pt(s=>{const l=t.current;return xo(l,e,s,n).release},[t,e,n]);return Mk(a,i,i).loadable}function zk(e){const t=fn(),n=pt(()=>{var u;const c=t.current,f=c.getState(),d=Do().early&&(u=f.nextTree)!==null&&u!==void 0?u:f.currentTree;return ba(c,e,d)},[t,e]),r=pt(()=>n(),[n]),o=_a(),i=pt((u,c)=>{const f=t.current;return xo(f,e,()=>{if(!_e("recoil_suppress_rerender_in_callback"))return c();const h=n();l.current.is(h)||c(),l.current=h},o).release},[t,e,o,n]),a=$k();if(a==null)throw ce("Recoil hooks must be used in components contained within a component.");const s=Ak(a,r,i),l=Pi(s);return ko(()=>{l.current=s}),s}function N1(e){const t=fn(),n=_a(),r=pt(()=>{var l;const u=t.current,c=u.getState(),f=Do().early&&(l=c.nextTree)!==null&&l!==void 0?l:c.currentTree;return ba(u,e,f)},[t,e]),o=pt(()=>({loadable:r(),key:e.key}),[r,e.key]),i=pt(l=>{const u=o();return l.loadable.is(u.loadable)&&l.key===u.key?l:u},[o]);ko(()=>{const l=xo(t.current,e,u=>{s(i)},n);return s(i),l.release},[n,e,t,i]);const[a,s]=Wd(o);return a.key!==e.key?o().loadable:a.loadable}function Vk(e){const t=fn(),[,n]=Wd([]),r=_a(),o=pt(()=>{var s;const l=t.current,u=l.getState(),c=Do().early&&(s=u.nextTree)!==null&&s!==void 0?s:u.currentTree;return ba(l,e,c)},[t,e]),i=o(),a=Pi(i);return ko(()=>{a.current=i}),ko(()=>{const s=t.current,l=s.getState(),u=xo(s,e,f=>{var d;if(!_e("recoil_suppress_rerender_in_callback"))return n([]);const h=o();(d=a.current)!==null&&d!==void 0&&d.is(h)||n(h),a.current=h},r);if(l.nextTree)s.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{a.current=null,n([])});else{var c;if(!_e("recoil_suppress_rerender_in_callback"))return n([]);const f=o();(c=a.current)!==null&&c!==void 0&&c.is(f)||n(f),a.current=f}return u.release},[r,o,e,t]),i}function qd(e){return _e("recoil_memory_managament_2020")&&Bd(e),{TRANSITION_SUPPORT:N1,SYNC_EXTERNAL_STORE:jk,MUTABLE_SOURCE:zk,LEGACY:Vk}[Do().mode](e)}function A1(e){const t=fn(),n=qd(e);return Hd(n,e,t)}function Jl(e){const t=fn();return pt(n=>{fl(t.current,e,n)},[t,e])}function Bk(e){const t=fn();return pt(()=>{fl(t.current,e,T1)},[t,e])}function Wk(e){return[A1(e),Jl(e)]}function Hk(e){return[qd(e),Jl(e)]}function qk(){const e=fn();return(t,n={})=>{Nk(()=>{e.current.addTransactionMetadata(n),t.forEach((r,o)=>Dk(e.current,new gf(o),r))})}}function M1(e){return _e("recoil_memory_managament_2020")&&Bd(e),N1(e)}function $1(e){const t=fn(),n=M1(e);return Hd(n,e,t)}function Qk(e){return[$1(e),Jl(e)]}var Kk={recoilComponentGetRecoilValueCount_FOR_TESTING:Uk,useRecoilInterface:Fk,useRecoilState:Wk,useRecoilStateLoadable:Hk,useRecoilValue:A1,useRecoilValueLoadable:qd,useResetRecoilState:Bk,useSetRecoilState:Jl,useSetUnvalidatedAtomValues:qk,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:M1,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:$1,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:Qk};function Gk(e,t){const n=new Map;for(const[r,o]of e)t(o,r)&&n.set(r,o);return n}var Xk=Gk;function Yk(e,t){const n=new Set;for(const r of e)t(r)&&n.add(r);return n}var Jk=Yk;function Zk(...e){const t=new Map;for(let n=0;nt.current.subscribeToTransactions(e).release,[e,t])}function Kv(e){const t=e.atomValues.toMap(),n=cl(Xk(t,(r,o)=>{const a=D1(o).persistence_UNSTABLE;return a!=null&&a.type!=="none"&&r.state==="hasValue"}),r=>r.contents);return eP(e.nonvalidatedAtoms.toMap(),n)}function lP(e){eu(Zl(t=>{let n=t.getState().previousTree;const r=t.getState().currentTree;n||(n=t.getState().currentTree);const o=Kv(r),i=Kv(n),a=cl(rP,l=>{var u,c,f,d;return{persistence_UNSTABLE:{type:(u=(c=l.persistence_UNSTABLE)===null||c===void 0?void 0:c.type)!==null&&u!==void 0?u:"none",backButton:(f=(d=l.persistence_UNSTABLE)===null||d===void 0?void 0:d.backButton)!==null&&f!==void 0?f:!1}}}),s=Jk(r.dirtyAtoms,l=>o.has(l)||i.has(l));e({atomValues:o,previousAtomValues:i,atomInfo:a,modifiedAtoms:s,transactionMetadata:J({},r.transactionMetadata)})},[e]))}function uP(e){eu(Zl(t=>{const n=dl(t,"latest"),r=dl(t,"previous");e({snapshot:n,previousSnapshot:r})},[e]))}function cP(){const e=Qd(),[t,n]=sP(()=>dl(e.current)),r=P1(t),o=qv(),i=qv();if(eu(Zl(s=>n(dl(s)),[])),I1(()=>{const s=t.retain();if(o.current&&!Qv){var l;window.clearTimeout(o.current),o.current=null,(l=i.current)===null||l===void 0||l.call(i),i.current=null}return s},[t]),r!==t&&!Qv){if(o.current){var a;window.clearTimeout(o.current),o.current=null,(a=i.current)===null||a===void 0||a.call(i),i.current=null}i.current=t.retain(),o.current=window.setTimeout(()=>{var s;o.current=null,(s=i.current)===null||s===void 0||s.call(i),i.current=null},aP)}return t}function F1(e,t){var n;const r=e.getState(),o=(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree,i=t.getStore_INTERNAL().getState().currentTree;tP(()=>{const a=new Set;for(const u of[o.atomValues.keys(),i.atomValues.keys()])for(const c of u){var s,l;((s=o.atomValues.get(c))===null||s===void 0?void 0:s.contents)!==((l=i.atomValues.get(c))===null||l===void 0?void 0:l.contents)&&D1(c).shouldRestoreFromSnapshots&&a.add(c)}a.forEach(u=>{iP(e,new oP(u),i.atomValues.has(u)?Te(i.atomValues.get(u)):nP)}),e.replaceState(u=>ge(J({},u),{stateID:t.getID()}))})}function fP(){const e=Qd();return Zl(t=>F1(e.current,t),[e])}var U1={useRecoilSnapshot:cP,gotoSnapshot:F1,useGotoRecoilSnapshot:fP,useRecoilTransactionObserver:uP,useTransactionObservation_DEPRECATED:lP,useTransactionSubscription_DEPRECATED:eu};const{peekNodeInfo:dP}=cr,{useStoreRef:pP}=xn;function hP(){const e=pP();return({key:t})=>dP(e.current,e.current.getState().currentTree,t)}var vP=hP;const{reactMode:mP}=ya,{RecoilRoot:gP,useStoreRef:yP}=xn,{useMemo:wP}=ee;function SP(){mP().mode==="MUTABLE_SOURCE"&&console.warn("Warning: There are known issues using useRecoilBridgeAcrossReactRoots() in recoil_mutable_source rendering mode. Please consider upgrading to recoil_sync_external_store mode.");const e=yP().current;return wP(()=>{function t({children:n}){return ee.createElement(gP,{store_INTERNAL:e},n)}return t},[e])}var _P=SP;const{loadableWithValue:bP}=ga,{initializeNode:RP}=cr,{DEFAULT_VALUE:CP,getNode:EP}=ht,{copyTreeState:OP,getRecoilValueAsLoadable:xP,invalidateDownstreams:kP,writeLoadableToTreeState:PP}=cn;function Gv(e){return EP(e.key).nodeType==="atom"}class TP{constructor(t,n){se(this,"_store",void 0),se(this,"_treeState",void 0),se(this,"_changes",void 0),se(this,"get",r=>{if(this._changes.has(r.key))return this._changes.get(r.key);if(!Gv(r))throw ce("Reading selectors within atomicUpdate is not supported");const o=xP(this._store,r,this._treeState);if(o.state==="hasValue")return o.contents;throw o.state==="hasError"?o.contents:ce(`Expected Recoil atom ${r.key} to have a value, but it is in a loading state.`)}),se(this,"set",(r,o)=>{if(!Gv(r))throw ce("Setting selectors within atomicUpdate is not supported");if(typeof o=="function"){const i=this.get(r);this._changes.set(r.key,o(i))}else RP(this._store,r.key,"set"),this._changes.set(r.key,o)}),se(this,"reset",r=>{this.set(r,CP)}),this._store=t,this._treeState=n,this._changes=new Map}newTreeState_INTERNAL(){if(this._changes.size===0)return this._treeState;const t=OP(this._treeState);for(const[n,r]of this._changes)PP(t,n,bP(r));return kP(this._store,t),t}}function LP(e){return t=>{e.replaceState(n=>{const r=new TP(e,n);return t(r),r.newTreeState_INTERNAL()})}}var NP={atomicUpdater:LP},AP=NP.atomicUpdater,j1=Object.freeze({__proto__:null,atomicUpdater:AP});function MP(e,t){if(!e)throw new Error(t)}var $P=MP,fi=$P;const{atomicUpdater:DP}=j1,{batchUpdates:IP}=Ql,{DEFAULT_VALUE:FP}=ht,{useStoreRef:UP}=xn,{refreshRecoilValue:jP,setRecoilValue:Xv}=cn,{cloneSnapshot:zP}=Xl,{gotoSnapshot:VP}=U1,{useCallback:BP}=ee;class z1{}const WP=new z1;function V1(e,t,n,r){let o=WP,i;if(IP(()=>{const s="useRecoilCallback() expects a function that returns a function: it accepts a function of the type (RecoilInterface) => (Args) => ReturnType and returns a callback function (Args) => ReturnType, where RecoilInterface is an object {snapshot, set, ...} and Args and ReturnType are the argument and return types of the callback you want to create. Please see the docs at recoiljs.org for details.";if(typeof t!="function")throw ce(s);const l=Z0(ge(J({},r!=null?r:{}),{set:(c,f)=>Xv(e,c,f),reset:c=>Xv(e,c,FP),refresh:c=>jP(e,c),gotoSnapshot:c=>VP(e,c),transact_UNSTABLE:c=>DP(e)(c)}),{snapshot:()=>{const c=zP(e);return i=c.retain(),c}}),u=t(l);if(typeof u!="function")throw ce(s);o=u(...n)}),o instanceof z1&&fi(!1),Pe(o))o.finally(()=>{var s;(s=i)===null||s===void 0||s()});else{var a;(a=i)===null||a===void 0||a()}return o}function HP(e,t){const n=UP();return BP((...r)=>V1(n.current,e,r),t!=null?[...t,n]:void 0)}var B1={recoilCallback:V1,useRecoilCallback:HP};const{useStoreRef:qP}=xn,{refreshRecoilValue:QP}=cn,{useCallback:KP}=ee;function GP(e){const t=qP();return KP(()=>{const n=t.current;QP(n,e)},[e,t])}var XP=GP;const{atomicUpdater:YP}=j1,{useStoreRef:JP}=xn,{useMemo:ZP}=ee;function eT(e,t){const n=JP();return ZP(()=>(...r)=>{YP(n.current)(i=>{e(i)(...r)})},t!=null?[...t,n]:void 0)}var tT=eT;class nT{constructor(t){se(this,"value",void 0),this.value=t}}var rT={WrappedValue:nT},oT=rT.WrappedValue,W1=Object.freeze({__proto__:null,WrappedValue:oT});const{isFastRefreshEnabled:iT}=ya;class Yv extends Error{}class aT{constructor(t){var n,r,o;se(this,"_name",void 0),se(this,"_numLeafs",void 0),se(this,"_root",void 0),se(this,"_onHit",void 0),se(this,"_onSet",void 0),se(this,"_mapNodeValue",void 0),this._name=t==null?void 0:t.name,this._numLeafs=0,this._root=null,this._onHit=(n=t==null?void 0:t.onHit)!==null&&n!==void 0?n:()=>{},this._onSet=(r=t==null?void 0:t.onSet)!==null&&r!==void 0?r:()=>{},this._mapNodeValue=(o=t==null?void 0:t.mapNodeValue)!==null&&o!==void 0?o:i=>i}size(){return this._numLeafs}root(){return this._root}get(t,n){var r;return(r=this.getLeafNode(t,n))===null||r===void 0?void 0:r.value}getLeafNode(t,n){if(this._root==null)return;let r=this._root;for(;r;){if(n==null||n.onNodeVisit(r),r.type==="leaf")return this._onHit(r),r;const o=this._mapNodeValue(t(r.nodeKey));r=r.branches.get(o)}}set(t,n,r){const o=()=>{var i,a,s,l;let u,c;for(const[O,v]of t){var f,d,h;const p=this._root;if((p==null?void 0:p.type)==="leaf")throw this.invalidCacheError();const g=u;if(u=g?g.branches.get(c):p,u=(f=u)!==null&&f!==void 0?f:{type:"branch",nodeKey:O,parent:g,branches:new Map,branchKey:c},u.type!=="branch"||u.nodeKey!==O)throw this.invalidCacheError();g==null||g.branches.set(c,u),r==null||(d=r.onNodeVisit)===null||d===void 0||d.call(r,u),c=this._mapNodeValue(v),this._root=(h=this._root)!==null&&h!==void 0?h:u}const m=u?(i=u)===null||i===void 0?void 0:i.branches.get(c):this._root;if(m!=null&&(m.type!=="leaf"||m.branchKey!==c))throw this.invalidCacheError();const y={type:"leaf",value:n,parent:u,branchKey:c};(a=u)===null||a===void 0||a.branches.set(c,y),this._root=(s=this._root)!==null&&s!==void 0?s:y,this._numLeafs++,this._onSet(y),r==null||(l=r.onNodeVisit)===null||l===void 0||l.call(r,y)};try{o()}catch(i){if(i instanceof Yv)this.clear(),o();else throw i}}delete(t){const n=this.root();if(!n)return!1;if(t===n)return this._root=null,this._numLeafs=0,!0;let r=t.parent,o=t.branchKey;for(;r;){var i;if(r.branches.delete(o),r===n)return r.branches.size===0?(this._root=null,this._numLeafs=0):this._numLeafs--,!0;if(r.branches.size>0)break;o=(i=r)===null||i===void 0?void 0:i.branchKey,r=r.parent}for(;r!==n;r=r.parent)if(r==null)return!1;return this._numLeafs--,!0}clear(){this._numLeafs=0,this._root=null}invalidCacheError(){const t=iT()?"Possible Fast Refresh module reload detected. This may also be caused by an selector returning inconsistent values. Resetting cache.":"Invalid cache values. This happens when selectors do not return consistent values for the same input dependency values. That may also be caused when using Fast Refresh to change a selector implementation. Resetting cache.";throw Ad(t+(this._name!=null?` - ${this._name}`:"")),new Yv}}var sT={TreeCache:aT},lT=sT.TreeCache,H1=Object.freeze({__proto__:null,TreeCache:lT});class uT{constructor(t){var n;se(this,"_maxSize",void 0),se(this,"_size",void 0),se(this,"_head",void 0),se(this,"_tail",void 0),se(this,"_map",void 0),se(this,"_keyMapper",void 0),this._maxSize=t.maxSize,this._size=0,this._head=null,this._tail=null,this._map=new Map,this._keyMapper=(n=t.mapKey)!==null&&n!==void 0?n:r=>r}head(){return this._head}tail(){return this._tail}size(){return this._size}maxSize(){return this._maxSize}has(t){return this._map.has(this._keyMapper(t))}get(t){const n=this._keyMapper(t),r=this._map.get(n);if(!!r)return this.set(t,r.value),r.value}set(t,n){const r=this._keyMapper(t);this._map.get(r)&&this.delete(t);const i=this.head(),a={key:t,right:i,left:null,value:n};i?i.left=a:this._tail=a,this._map.set(r,a),this._head=a,this._size++,this._maybeDeleteLRU()}_maybeDeleteLRU(){this.size()>this.maxSize()&&this.deleteLru()}deleteLru(){const t=this.tail();t&&this.delete(t.key)}delete(t){const n=this._keyMapper(t);if(!this._size||!this._map.has(n))return;const r=Te(this._map.get(n)),o=r.right,i=r.left;o&&(o.left=r.left),i&&(i.right=r.right),r===this.head()&&(this._head=o),r===this.tail()&&(this._tail=i),this._map.delete(n),this._size--}clear(){this._size=0,this._head=null,this._tail=null,this._map=new Map}}var cT={LRUCache:uT},fT=cT.LRUCache,q1=Object.freeze({__proto__:null,LRUCache:fT});const{LRUCache:dT}=q1,{TreeCache:pT}=H1;function hT({name:e,maxSize:t,mapNodeValue:n=r=>r}){const r=new dT({maxSize:t}),o=new pT({name:e,mapNodeValue:n,onHit:i=>{r.set(i,!0)},onSet:i=>{const a=r.tail();r.set(i,!0),a&&o.size()>t&&o.delete(a.key)}});return o}var Jv=hT;function jt(e,t,n){if(typeof e=="string"&&!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((t==null?void 0:t.allowFunctions)!==!0)throw ce("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(e===null)return"null";if(typeof e!="object"){var r;return(r=JSON.stringify(e))!==null&&r!==void 0?r:""}if(Pe(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map((o,i)=>jt(o,t,i.toString()))}]`;if(typeof e.toJSON=="function")return jt(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[i,a]of e)o[typeof i=="string"?i:jt(i,t)]=a;return jt(o,t,n)}return e instanceof Set?jt(Array.from(e).sort((o,i)=>jt(o,t).localeCompare(jt(i,t))),t,n):Symbol!==void 0&&e[Symbol.iterator]!=null&&typeof e[Symbol.iterator]=="function"?jt(Array.from(e),t,n):`{${Object.keys(e).filter(o=>e[o]!==void 0).sort().map(o=>`${jt(o,t)}:${jt(e[o],t,o)}`).join(",")}}`}function vT(e,t={allowFunctions:!1}){return jt(e,t)}var tu=vT;const{TreeCache:mT}=H1,Qa={equality:"reference",eviction:"keep-all",maxSize:1/0};function gT({equality:e=Qa.equality,eviction:t=Qa.eviction,maxSize:n=Qa.maxSize}=Qa,r){const o=yT(e);return wT(t,n,o,r)}function yT(e){switch(e){case"reference":return t=>t;case"value":return t=>tu(t)}throw ce(`Unrecognized equality policy ${e}`)}function wT(e,t,n,r){switch(e){case"keep-all":return new mT({name:r,mapNodeValue:n});case"lru":return Jv({name:r,maxSize:Te(t),mapNodeValue:n});case"most-recent":return Jv({name:r,maxSize:1,mapNodeValue:n})}throw ce(`Unrecognized eviction policy ${e}`)}var ST=gT;function _T(e){return()=>null}var bT={startPerfBlock:_T};const{isLoadable:RT,loadableWithError:Ka,loadableWithPromise:CT,loadableWithValue:Bu}=ga,{WrappedValue:Q1}=W1,{getNodeLoadable:Ga,peekNodeLoadable:ET,setNodeValue:OT}=cr,{saveDepsToStore:xT}=wa,{DEFAULT_VALUE:kT,getConfigDeletionHandler:PT,getNode:TT,registerNode:Zv}=ht,{isRecoilValue:LT}=Oo,{markRecoilValueModified:em}=cn,{retainedByOptionWithDefault:NT}=Br,{recoilCallback:AT}=B1,{startPerfBlock:MT}=bT;class K1{}const ri=new K1,oi=[],Xa=new Map,$T=(()=>{let e=0;return()=>e++})();function G1(e){let t=null;const{key:n,get:r,cachePolicy_UNSTABLE:o}=e,i=e.set!=null?e.set:void 0,a=new Set,s=ST(o!=null?o:{equality:"reference",eviction:"keep-all"},n),l=NT(e.retainedBy_UNSTABLE),u=new Map;let c=0;function f(){return!_e("recoil_memory_managament_2020")||c>0}function d(b){return b.getState().knownSelectors.add(n),c++,()=>{c--}}function h(){return PT(n)!==void 0&&!f()}function m(b,B,V,Z,W){z(B,Z,W),y(b,V)}function y(b,B){w(b,B)&&X(b),v(B,!0)}function O(b,B){w(b,B)&&(Te(M(b)).stateVersions.clear(),v(B,!1))}function v(b,B){const V=Xa.get(b);if(V!=null){for(const Z of V)em(Z,Te(t));B&&Xa.delete(b)}}function p(b,B){let V=Xa.get(B);V==null&&Xa.set(B,V=new Set),V.add(b)}function g(b,B,V,Z,W,ne){return B.then(le=>{if(!f())throw X(b),ri;const Y=Bu(le);return m(b,V,W,Y,Z),le}).catch(le=>{if(!f())throw X(b),ri;if(Pe(le))return S(b,le,V,Z,W,ne);const Y=Ka(le);throw m(b,V,W,Y,Z),le})}function S(b,B,V,Z,W,ne){return B.then(le=>{if(!f())throw X(b),ri;ne.loadingDepKey!=null&&ne.loadingDepPromise===B?V.atomValues.set(ne.loadingDepKey,Bu(le)):b.getState().knownSelectors.forEach(ve=>{V.atomValues.delete(ve)});const Y=A(b,V);if(Y&&Y.state!=="loading"){if((w(b,W)||M(b)==null)&&y(b,W),Y.state==="hasValue")return Y.contents;throw Y.contents}if(!w(b,W)){const ve=j(b,V);if(ve!=null)return ve.loadingLoadable.contents}const[Se,be]=E(b,V,W);if(Se.state!=="loading"&&m(b,V,W,Se,be),Se.state==="hasError")throw Se.contents;return Se.contents}).catch(le=>{if(le instanceof K1)throw ri;if(!f())throw X(b),ri;const Y=Ka(le);throw m(b,V,W,Y,Z),le})}function x(b,B,V,Z){var W,ne,le,Y;if(w(b,Z)||B.version===((W=b.getState())===null||W===void 0||(ne=W.currentTree)===null||ne===void 0?void 0:ne.version)||B.version===((le=b.getState())===null||le===void 0||(Y=le.nextTree)===null||Y===void 0?void 0:Y.version)){var Se,be,ve;xT(n,V,b,(Se=(be=b.getState())===null||be===void 0||(ve=be.nextTree)===null||ve===void 0?void 0:ve.version)!==null&&Se!==void 0?Se:b.getState().currentTree.version)}for(const Re of V)a.add(Re)}function E(b,B,V){const Z=MT(n);let W=!0,ne=!0;const le=()=>{Z(),ne=!1};let Y,Se=!1,be;const ve={loadingDepKey:null,loadingDepPromise:null},Re=new Map;function it({key:Ct}){const vt=Ga(b,B,Ct);switch(Re.set(Ct,vt),W||(x(b,B,new Set(Re.keys()),V),O(b,V)),vt.state){case"hasValue":return vt.contents;case"hasError":throw vt.contents;case"loading":throw ve.loadingDepKey=Ct,ve.loadingDepPromise=vt.contents,vt.contents}throw ce("Invalid Loadable state")}const dr=Ct=>(...vt)=>{if(ne)throw ce("Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.");return t==null&&fi(!1),AT(b,Ct,vt,{node:t})};try{Y=r({get:it,getCallback:dr}),Y=LT(Y)?it(Y):Y,RT(Y)&&(Y.state==="hasError"&&(Se=!0),Y=Y.contents),Pe(Y)?Y=g(b,Y,B,Re,V,ve).finally(le):le(),Y=Y instanceof Q1?Y.value:Y}catch(Ct){Y=Ct,Pe(Y)?Y=S(b,Y,B,Re,V,ve).finally(le):(Se=!0,le())}return Se?be=Ka(Y):Pe(Y)?be=CT(Y):be=Bu(Y),W=!1,te(b,V,Re),x(b,B,new Set(Re.keys()),V),[be,Re]}function A(b,B){let V=B.atomValues.get(n);if(V!=null)return V;const Z=new Set;try{V=s.get(ne=>(typeof ne!="string"&&fi(!1),Ga(b,B,ne).contents),{onNodeVisit:ne=>{ne.type==="branch"&&ne.nodeKey!==n&&Z.add(ne.nodeKey)}})}catch(ne){throw ce(`Problem with cache lookup for selector "${n}": ${ne.message}`)}if(V){var W;B.atomValues.set(n,V),x(b,B,Z,(W=M(b))===null||W===void 0?void 0:W.executionID)}return V}function L(b,B){const V=A(b,B);if(V!=null)return X(b),V;const Z=j(b,B);if(Z!=null){var W;return((W=Z.loadingLoadable)===null||W===void 0?void 0:W.state)==="loading"&&p(b,Z.executionID),Z.loadingLoadable}const ne=$T(),[le,Y]=E(b,B,ne);return le.state==="loading"?(Q(b,ne,le,Y,B),p(b,ne)):(X(b),z(B,le,Y)),le}function j(b,B){const V=m1([u.has(b)?[Te(u.get(b))]:[],Bl(Id(u,([W])=>W!==b),([,W])=>W)]);function Z(W){for(const[ne,le]of W)if(!Ga(b,B,ne).is(le))return!0;return!1}for(const W of V){if(W.stateVersions.get(B.version)||!Z(W.depValuesDiscoveredSoFarDuringAsyncWork))return W.stateVersions.set(B.version,!0),W;W.stateVersions.set(B.version,!1)}}function M(b){return u.get(b)}function Q(b,B,V,Z,W){u.set(b,{depValuesDiscoveredSoFarDuringAsyncWork:Z,executionID:B,loadingLoadable:V,stateVersions:new Map([[W.version,!0]])})}function te(b,B,V){if(w(b,B)){const Z=M(b);Z!=null&&(Z.depValuesDiscoveredSoFarDuringAsyncWork=V)}}function X(b){u.delete(b)}function w(b,B){var V;return B===((V=M(b))===null||V===void 0?void 0:V.executionID)}function T(b){return Array.from(b.entries()).map(([B,V])=>[B,V.contents])}function z(b,B,V){b.atomValues.set(n,B);try{s.set(T(V),B)}catch(Z){throw ce(`Problem with setting cache for selector "${n}": ${Z.message}`)}}function C(b){if(oi.includes(n)){const B=`Recoil selector has circular dependencies: ${oi.slice(oi.indexOf(n)).join(" \u2192 ")}`;return Ka(ce(B))}oi.push(n);try{return b()}finally{oi.pop()}}function k(b,B){const V=B.atomValues.get(n);return V!=null?V:s.get(Z=>{var W;return typeof Z!="string"&&fi(!1),(W=ET(b,B,Z))===null||W===void 0?void 0:W.contents})}function N(b,B){return C(()=>L(b,B))}function $(b){b.atomValues.delete(n)}function F(b,B){t==null&&fi(!1);for(const Z of a){var V;const W=TT(Z);(V=W.clearCache)===null||V===void 0||V.call(W,b,B)}a.clear(),$(B),s.clear(),em(b,t)}return i!=null?t=Zv({key:n,nodeType:"selector",peek:k,get:N,set:(B,V,Z)=>{let W=!1;const ne=new Map;function le({key:ve}){if(W)throw ce("Recoil: Async selector sets are not currently supported.");const Re=Ga(B,V,ve);if(Re.state==="hasValue")return Re.contents;if(Re.state==="loading"){const it=`Getting value of asynchronous atom or selector "${ve}" in a pending state while setting selector "${n}" is not yet supported.`;throw ce(it)}else throw Re.contents}function Y(ve,Re){if(W)throw ce("Recoil: Async selector sets are not currently supported.");const it=typeof Re=="function"?Re(le(ve)):Re;OT(B,V,ve.key,it).forEach((Ct,vt)=>ne.set(vt,Ct))}function Se(ve){Y(ve,kT)}const be=i({set:Y,get:le,reset:Se},Z);if(be!==void 0)throw Pe(be)?ce("Recoil: Async selector sets are not currently supported."):ce("Recoil: selector set should be a void function.");return W=!0,ne},init:d,invalidate:$,clearCache:F,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l}):t=Zv({key:n,nodeType:"selector",peek:k,get:N,init:d,invalidate:$,clearCache:F,shouldDeleteConfigOnRelease:h,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}G1.value=e=>new Q1(e);var Po=G1;const{isLoadable:DT,loadableWithError:Wu,loadableWithPromise:Hu,loadableWithValue:Kr}=ga,{WrappedValue:X1}=W1,{peekNodeInfo:IT}=cr,{DEFAULT_VALUE:_r,DefaultValue:Dn,getConfigDeletionHandler:Y1,registerNode:FT,setConfigDeletionHandler:UT}=ht,{isRecoilValue:jT}=Oo,{getRecoilValueAsLoadable:zT,markRecoilValueModified:VT,setRecoilValue:tm,setRecoilValueLoadable:BT}=cn,{retainedByOptionWithDefault:WT}=Br,ii=e=>e instanceof X1?e.value:e;function HT(e){const{key:t,persistence_UNSTABLE:n}=e,r=WT(e.retainedBy_UNSTABLE);let o=0;function i(p){return Hu(p.then(g=>(a=Kr(g),g)).catch(g=>{throw a=Wu(g),g}))}let a=Pe(e.default)?i(e.default):DT(e.default)?e.default.state==="loading"?i(e.default.contents):e.default:Kr(ii(e.default));a.contents;let s;const l=new Map;function u(p){return p}function c(p,g){const S=g.then(x=>{var E,A;return((A=((E=p.getState().nextTree)!==null&&E!==void 0?E:p.getState().currentTree).atomValues.get(t))===null||A===void 0?void 0:A.contents)===S&&tm(p,v,x),x}).catch(x=>{var E,A;throw((A=((E=p.getState().nextTree)!==null&&E!==void 0?E:p.getState().currentTree).atomValues.get(t))===null||A===void 0?void 0:A.contents)===S&&BT(p,v,Wu(x)),x});return S}function f(p,g,S){var x;o++;const E=()=>{var M;o--,(M=l.get(p))===null||M===void 0||M.forEach(Q=>Q()),l.delete(p)};if(p.getState().knownAtoms.add(t),a.state==="loading"){const M=()=>{var Q;((Q=p.getState().nextTree)!==null&&Q!==void 0?Q:p.getState().currentTree).atomValues.has(t)||VT(p,v)};a.contents.finally(M)}const A=(x=e.effects)!==null&&x!==void 0?x:e.effects_UNSTABLE;if(A!=null){let w=function($){if(Q&&$.key===t){const F=M;return F instanceof Dn?d(p,g):Pe(F)?Hu(F.then(b=>b instanceof Dn?a.toPromise():b)):Kr(F)}return zT(p,$)},T=function($){return w($).toPromise()},z=function($){var F;const b=IT(p,(F=p.getState().nextTree)!==null&&F!==void 0?F:p.getState().currentTree,$.key);return Q&&$.key===t&&!(M instanceof Dn)?ge(J({},b),{isSet:!0,loadable:w($)}):b},M=_r,Q=!0,te=!1,X=null;const C=$=>F=>{if(Q){const b=w(v),B=b.state==="hasValue"?b.contents:_r;M=typeof F=="function"?F(B):F,Pe(M)&&(M=M.then(V=>(X={effect:$,value:V},V)))}else{if(Pe(F))throw ce("Setting atoms to async values is not implemented.");typeof F!="function"&&(X={effect:$,value:ii(F)}),tm(p,v,typeof F=="function"?b=>{const B=ii(F(b));return X={effect:$,value:B},B}:ii(F))}},k=$=>()=>C($)(_r),N=$=>F=>{var b;const{release:B}=p.subscribeToTransactions(V=>{var Z;let{currentTree:W,previousTree:ne}=V.getState();ne||(ne=W);const le=(Z=W.atomValues.get(t))!==null&&Z!==void 0?Z:a;if(le.state==="hasValue"){var Y,Se,be,ve;const Re=le.contents,it=(Y=ne.atomValues.get(t))!==null&&Y!==void 0?Y:a,dr=it.state==="hasValue"?it.contents:_r;((Se=X)===null||Se===void 0?void 0:Se.effect)!==$||((be=X)===null||be===void 0?void 0:be.value)!==Re?F(Re,dr,!W.atomValues.has(t)):((ve=X)===null||ve===void 0?void 0:ve.effect)===$&&(X=null)}},t);l.set(p,[...(b=l.get(p))!==null&&b!==void 0?b:[],B])};for(const $ of A)try{const F=$({node:v,storeID:p.storeID,parentStoreID_UNSTABLE:p.parentStoreID,trigger:S,setSelf:C($),resetSelf:k($),onSet:N($),getPromise:T,getLoadable:w,getInfo_UNSTABLE:z});if(F!=null){var L;l.set(p,[...(L=l.get(p))!==null&&L!==void 0?L:[],F])}}catch(F){M=F,te=!0}if(Q=!1,!(M instanceof Dn)){var j;const $=te?Wu(M):Pe(M)?Hu(c(p,M)):Kr(ii(M));$.contents,g.atomValues.set(t,$),(j=p.getState().nextTree)===null||j===void 0||j.atomValues.set(t,$)}}return E}function d(p,g){var S,x;return(S=(x=g.atomValues.get(t))!==null&&x!==void 0?x:s)!==null&&S!==void 0?S:a}function h(p,g){if(g.atomValues.has(t))return Te(g.atomValues.get(t));if(g.nonvalidatedAtoms.has(t)){if(s!=null)return s;if(n==null)return a;const S=g.nonvalidatedAtoms.get(t),x=n.validator(S,_r);return s=x instanceof Dn?a:Kr(x),s}else return a}function m(){s=void 0}function y(p,g,S){if(g.atomValues.has(t)){const x=Te(g.atomValues.get(t));if(x.state==="hasValue"&&S===x.contents)return new Map}else if(!g.nonvalidatedAtoms.has(t)&&S instanceof Dn)return new Map;return s=void 0,new Map().set(t,Kr(S))}function O(){return Y1(t)!==void 0&&o<=0}const v=FT({key:t,nodeType:"atom",peek:d,get:h,set:y,init:f,invalidate:m,shouldDeleteConfigOnRelease:O,dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0,retainedBy:r});return v}function Kd(e){const t=pr(e,[]),n="default"in e?e.default:new Promise(()=>{});return jT(n)?qT(ge(J({},t),{default:n})):HT(ge(J({},t),{default:n}))}function qT(e){const t=Kd(ge(J({},e),{default:_r,persistence_UNSTABLE:e.persistence_UNSTABLE===void 0?void 0:ge(J({},e.persistence_UNSTABLE),{validator:r=>r instanceof Dn?r:Te(e.persistence_UNSTABLE).validator(r,_r)}),effects:e.effects,effects_UNSTABLE:e.effects_UNSTABLE})),n=Po({key:`${e.key}__withFallback`,get:({get:r})=>{const o=r(t);return o instanceof Dn?e.default:o},set:({set:r},o)=>r(t,o),dangerouslyAllowMutability:e.dangerouslyAllowMutability});return UT(n.key,Y1(e.key)),n}Kd.value=e=>new X1(e);var J1=Kd;class QT{constructor(t){var n;se(this,"_map",void 0),se(this,"_keyMapper",void 0),this._map=new Map,this._keyMapper=(n=t==null?void 0:t.mapKey)!==null&&n!==void 0?n:r=>r}size(){return this._map.size}has(t){return this._map.has(this._keyMapper(t))}get(t){return this._map.get(this._keyMapper(t))}set(t,n){this._map.set(this._keyMapper(t),n)}delete(t){this._map.delete(this._keyMapper(t))}clear(){this._map.clear()}}var KT={MapCache:QT},GT=KT.MapCache,XT=Object.freeze({__proto__:null,MapCache:GT});const{LRUCache:nm}=q1,{MapCache:YT}=XT,Ya={equality:"reference",eviction:"none",maxSize:1/0};function JT({equality:e=Ya.equality,eviction:t=Ya.eviction,maxSize:n=Ya.maxSize}=Ya){const r=ZT(e);return eL(t,n,r)}function ZT(e){switch(e){case"reference":return t=>t;case"value":return t=>tu(t)}throw ce(`Unrecognized equality policy ${e}`)}function eL(e,t,n){switch(e){case"keep-all":return new YT({mapKey:n});case"lru":return new nm({mapKey:n,maxSize:Te(t)});case"most-recent":return new nm({mapKey:n,maxSize:1})}throw ce(`Unrecognized eviction policy ${e}`)}var Z1=JT;const{setConfigDeletionHandler:tL}=ht;function nL(e){var t,n;const r=Z1({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var i,a;const s=r.get(o);if(s!=null)return s;const d=e,{cachePolicyForParams_UNSTABLE:l}=d,u=pr(d,["cachePolicyForParams_UNSTABLE"]),c="default"in e?e.default:new Promise(()=>{}),f=J1(ge(J({},u),{key:`${e.key}__${(i=tu(o))!==null&&i!==void 0?i:"void"}`,default:typeof c=="function"?c(o):c,retainedBy_UNSTABLE:typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE,effects:typeof e.effects=="function"?e.effects(o):typeof e.effects_UNSTABLE=="function"?e.effects_UNSTABLE(o):(a=e.effects)!==null&&a!==void 0?a:e.effects_UNSTABLE}));return r.set(o,f),tL(f.key,()=>{r.delete(o)}),f}}var rL=nL;const{setConfigDeletionHandler:oL}=ht;let iL=0;function aL(e){var t,n;const r=Z1({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var i;let a;try{a=r.get(o)}catch(d){throw ce(`Problem with cache lookup for selector ${e.key}: ${d.message}`)}if(a!=null)return a;const s=`${e.key}__selectorFamily/${(i=tu(o,{allowFunctions:!0}))!==null&&i!==void 0?i:"void"}/${iL++}`,l=d=>e.get(o)(d),u=e.cachePolicy_UNSTABLE,c=typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE;let f;if(e.set!=null){const d=e.set;f=Po({key:s,get:l,set:(m,y)=>d(o)(m,y),cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:c})}else f=Po({key:s,get:l,cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:c});return r.set(o,f),oL(f.key,()=>{r.delete(o)}),f}}var fr=aL;const sL=fr({key:"__constant",get:e=>()=>e,cachePolicyForParams_UNSTABLE:{equality:"reference"}});function lL(e){return sL(e)}var uL=lL;const cL=fr({key:"__error",get:e=>()=>{throw ce(e)},cachePolicyForParams_UNSTABLE:{equality:"reference"}});function fL(e){return cL(e)}var dL=fL;function pL(e){return e}var hL=pL;const{loadableWithError:ew,loadableWithPromise:tw,loadableWithValue:nw}=ga;function nu(e,t){const n=Array(t.length).fill(void 0),r=Array(t.length).fill(void 0);for(const[o,i]of t.entries())try{n[o]=e(i)}catch(a){r[o]=a}return[n,r]}function vL(e){return e!=null&&!Pe(e)}function ru(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(t=>e[t])}function yf(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce((n,r,o)=>ge(J({},n),{[r]:t[o]}),{})}function go(e,t,n){const r=n.map((o,i)=>o==null?nw(t[i]):Pe(o)?tw(o):ew(o));return yf(e,r)}function mL(e,t){return t.map((n,r)=>n===void 0?e[r]:n)}const gL=fr({key:"__waitForNone",get:e=>({get:t})=>{const n=ru(e),[r,o]=nu(t,n);return go(e,r,o)},dangerouslyAllowMutability:!0}),yL=fr({key:"__waitForAny",get:e=>({get:t})=>{const n=ru(e),[r,o]=nu(t,n);return o.some(i=>!Pe(i))?go(e,r,o):new Promise(i=>{for(const[a,s]of o.entries())Pe(s)&&s.then(l=>{r[a]=l,o[a]=void 0,i(go(e,r,o))}).catch(l=>{o[a]=l,i(go(e,r,o))})})},dangerouslyAllowMutability:!0}),wL=fr({key:"__waitForAll",get:e=>({get:t})=>{const n=ru(e),[r,o]=nu(t,n);if(o.every(a=>a==null))return yf(e,r);const i=o.find(vL);if(i!=null)throw i;return Promise.all(o).then(a=>yf(e,mL(r,a)))},dangerouslyAllowMutability:!0}),SL=fr({key:"__waitForAllSettled",get:e=>({get:t})=>{const n=ru(e),[r,o]=nu(t,n);return o.every(i=>!Pe(i))?go(e,r,o):Promise.all(o.map((i,a)=>Pe(i)?i.then(s=>{r[a]=s,o[a]=void 0}).catch(s=>{r[a]=void 0,o[a]=s}):null)).then(()=>go(e,r,o))},dangerouslyAllowMutability:!0}),_L=fr({key:"__noWait",get:e=>({get:t})=>{try{return Po.value(nw(t(e)))}catch(n){return Po.value(Pe(n)?tw(n):ew(n))}},dangerouslyAllowMutability:!0});var bL={waitForNone:gL,waitForAny:yL,waitForAll:wL,waitForAllSettled:SL,noWait:_L};const{RecoilLoadable:RL}=ga,{DefaultValue:CL}=ht,{RecoilRoot:EL,useRecoilStoreID:OL}=xn,{isRecoilValue:xL}=Oo,{retentionZone:kL}=Hl,{freshSnapshot:PL}=Xl,{useRecoilState:TL,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:LL,useRecoilStateLoadable:NL,useRecoilValue:AL,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:ML,useRecoilValueLoadable:$L,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:DL,useResetRecoilState:IL,useSetRecoilState:FL}=Kk,{useGotoRecoilSnapshot:UL,useRecoilSnapshot:jL,useRecoilTransactionObserver:zL}=U1,{useRecoilCallback:VL}=B1,{noWait:BL,waitForAll:WL,waitForAllSettled:HL,waitForAny:qL,waitForNone:QL}=bL;var Gd={DefaultValue:CL,isRecoilValue:xL,RecoilLoadable:RL,RecoilRoot:EL,useRecoilStoreID:OL,useRecoilBridgeAcrossReactRoots_UNSTABLE:_P,atom:J1,selector:Po,atomFamily:rL,selectorFamily:fr,constSelector:uL,errorSelector:dL,readOnlySelector:hL,noWait:BL,waitForNone:QL,waitForAny:qL,waitForAll:WL,waitForAllSettled:HL,useRecoilValue:AL,useRecoilValueLoadable:$L,useRecoilState:TL,useRecoilStateLoadable:NL,useSetRecoilState:FL,useResetRecoilState:IL,useGetRecoilValueInfo_UNSTABLE:vP,useRecoilRefresher_UNSTABLE:XP,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:DL,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:ML,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:LL,useRecoilCallback:VL,useRecoilTransaction_UNSTABLE:tT,useGotoRecoilSnapshot:UL,useRecoilSnapshot:jL,useRecoilTransactionObserver_UNSTABLE:zL,snapshot_UNSTABLE:PL,useRetain:Bd,retentionZone:kL},KL=Gd.RecoilRoot,GL=Gd.atom,$$=Gd.useRecoilState,ou={exports:{}},iu={};/** - * @license React - * react-jsx-runtime.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. - */var XL=D.exports,YL=Symbol.for("react.element"),JL=Symbol.for("react.fragment"),ZL=Object.prototype.hasOwnProperty,eN=XL.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,tN={key:!0,ref:!0,__self:!0,__source:!0};function rw(e,t,n){var r,o={},i=null,a=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)ZL.call(t,r)&&!tN.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:YL,type:e,key:i,ref:a,props:o,_owner:eN.current}}iu.Fragment=JL;iu.jsx=rw;iu.jsxs=rw;ou.exports=iu;const R=ou.exports.jsx,ue=ou.exports.jsxs,En=ou.exports.Fragment;var nN=Object.freeze(Object.defineProperty({__proto__:null,jsx:R,jsxs:ue,Fragment:En},Symbol.toStringTag,{value:"Module"}));function rN(e,t){if(e==null)return{};var n=oN(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function oN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Xd=D.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=rN(e,["color","size"]);return ue("svg",ge(J({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:[R("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),R("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}))});Xd.propTypes={color:Fe.string,size:Fe.oneOfType([Fe.string,Fe.number])};Xd.displayName="EyeOff";var iN=Xd;function aN(e,t){if(e==null)return{};var n=sN(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function sN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Yd=D.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=aN(e,["color","size"]);return ue("svg",ge(J({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:[R("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),R("circle",{cx:"12",cy:"12",r:"3"})]}))});Yd.propTypes={color:Fe.string,size:Fe.oneOfType([Fe.string,Fe.number])};Yd.displayName="Eye";var lN=Yd;function uN(e,t){if(e==null)return{};var n=cN(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function cN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Jd=D.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=uN(e,["color","size"]);return R("svg",ge(J({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:R("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"})}))});Jd.propTypes={color:Fe.string,size:Fe.oneOfType([Fe.string,Fe.number])};Jd.displayName="GitHub";var fN=Jd;function dN(e,t){if(e==null)return{};var n=pN(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function pN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Zd=D.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=dN(e,["color","size"]);return ue("svg",ge(J({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:[R("circle",{cx:"12",cy:"12",r:"10"}),R("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),R("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]}))});Zd.propTypes={color:Fe.string,size:Fe.oneOfType([Fe.string,Fe.number])};Zd.displayName="Info";var hN=Zd;function vN(e,t){if(e==null)return{};var n=mN(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function mN(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var ep=D.exports.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,o=e.size,i=o===void 0?24:o,a=vN(e,["color","size"]);return ue("svg",ge(J({ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),{children:[R("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),R("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}))});ep.propTypes={color:Fe.string,size:Fe.oneOfType([Fe.string,Fe.number])};ep.displayName="X";var gN=ep;function yN(e,t){let n;return(...r)=>{n&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}function ow(e){return e.replace(/\/$/,"")}function D$(e,t){let n=String(e);for(;n.length1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:tp(e)?2:np(e)?3:0}function wf(e,t){return Io(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function EN(e,t){return Io(e)===2?e.get(t):e[t]}function lw(e,t,n){var r=Io(e);r===2?e.set(t,n):r===3?(e.delete(t),e.add(n)):e[t]=n}function ON(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function tp(e){return TN&&e instanceof Map}function np(e){return LN&&e instanceof Set}function Sr(e){return e.o||e.t}function rp(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=AN(e);delete t[wt];for(var n=sp(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=xN),Object.freeze(e),t&&Yi(e,function(n,r){return op(r,!0)},!0)),e}function xN(){qt(2)}function ip(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function sn(e){var t=MN[e];return t||qt(18,e),t}function om(){return Ji}function qu(e,t){t&&(sn("Patches"),e.u=[],e.s=[],e.v=t)}function pl(e){Sf(e),e.p.forEach(kN),e.p=null}function Sf(e){e===Ji&&(Ji=e.l)}function im(e){return Ji={p:[],l:Ji,h:e,m:!0,_:0}}function kN(e){var t=e[wt];t.i===0||t.i===1?t.j():t.O=!0}function Qu(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||sn("ES5").S(t,e,r),r?(n[wt].P&&(pl(t),qt(4)),Ir(e)&&(e=hl(t,e),t.l||vl(t,e)),t.u&&sn("Patches").M(n[wt].t,e,t.u,t.s)):e=hl(t,n,[]),pl(t),t.u&&t.v(t.u,t.s),e!==uw?e:void 0}function hl(e,t,n){if(ip(t))return t;var r=t[wt];if(!r)return Yi(t,function(i,a){return am(e,r,t,i,a,n)},!0),t;if(r.A!==e)return t;if(!r.P)return vl(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var o=r.i===4||r.i===5?r.o=rp(r.k):r.o;Yi(r.i===3?new Set(o):o,function(i,a){return am(e,r,o,i,a,n)}),vl(e,o,!1),n&&e.u&&sn("Patches").R(r,n,e.u,e.s)}return r.o}function am(e,t,n,r,o,i){if(To(o)){var a=hl(e,o,i&&t&&t.i!==3&&!wf(t.D,r)?i.concat(r):void 0);if(lw(n,r,a),!To(a))return;e.m=!1}if(Ir(o)&&!ip(o)){if(!e.h.F&&e._<1)return;hl(e,o),t&&t.A.l||vl(e,o)}}function vl(e,t,n){n===void 0&&(n=!1),e.h.F&&e.m&&op(t,n)}function Ku(e,t){var n=e[wt];return(n?Sr(n):e)[t]}function sm(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function _f(e){e.P||(e.P=!0,e.l&&_f(e.l))}function Gu(e){e.o||(e.o=rp(e.t))}function bf(e,t,n){var r=tp(t)?sn("MapSet").N(t,n):np(t)?sn("MapSet").T(t,n):e.g?function(o,i){var a=Array.isArray(o),s={i:a?1:0,A:i?i.A:om(),P:!1,I:!1,D:{},l:i,t:o,k:null,o:null,j:null,C:!1},l=s,u=Rf;a&&(l=[s],u=di);var c=Proxy.revocable(l,u),f=c.revoke,d=c.proxy;return s.k=d,s.j=f,d}(t,n):sn("ES5").J(t,n);return(n?n.A:om()).p.push(r),r}function PN(e){return To(e)||qt(22,e),function t(n){if(!Ir(n))return n;var r,o=n[wt],i=Io(n);if(o){if(!o.P&&(o.i<4||!sn("ES5").K(o)))return o.t;o.I=!0,r=lm(n,i),o.I=!1}else r=lm(n,i);return Yi(r,function(a,s){o&&EN(o.t,a)===s||lw(r,a,t(s))}),i===3?new Set(r):r}(e)}function lm(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return rp(e)}var um,Ji,ap=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",TN=typeof Map!="undefined",LN=typeof Set!="undefined",cm=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",uw=ap?Symbol.for("immer-nothing"):((um={})["immer-nothing"]=!0,um),fm=ap?Symbol.for("immer-draftable"):"__$immer_draftable",wt=ap?Symbol.for("immer-state"):"__$immer_state",NN=""+Object.prototype.constructor,sp=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,AN=Object.getOwnPropertyDescriptors||function(e){var t={};return sp(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},MN={},Rf={get:function(e,t){if(t===wt)return e;var n=Sr(e);if(!wf(n,t))return function(o,i,a){var s,l=sm(i,a);return l?"value"in l?l.value:(s=l.get)===null||s===void 0?void 0:s.call(o.k):void 0}(e,n,t);var r=n[t];return e.I||!Ir(r)?r:r===Ku(e.t,t)?(Gu(e),e.o[t]=bf(e.A.h,r,e)):r},has:function(e,t){return t in Sr(e)},ownKeys:function(e){return Reflect.ownKeys(Sr(e))},set:function(e,t,n){var r=sm(Sr(e),t);if(r!=null&&r.set)return r.set.call(e.k,n),!0;if(!e.P){var o=Ku(Sr(e),t),i=o==null?void 0:o[wt];if(i&&i.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(ON(n,o)&&(n!==void 0||wf(e.t,t)))return!0;Gu(e),_f(e)}return e.o[t]===n&&typeof n!="number"&&(n!==void 0||t in e.o)||(e.o[t]=n,e.D[t]=!0,!0)},deleteProperty:function(e,t){return Ku(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,Gu(e),_f(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=Sr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty:function(){qt(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){qt(12)}},di={};Yi(Rf,function(e,t){di[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),di.deleteProperty=function(e,t){return di.set.call(this,e,t,void 0)},di.set=function(e,t,n){return Rf.set.call(this,e[0],t,n,e[0])};var $N=function(){function e(n){var r=this;this.g=cm,this.F=!0,this.produce=function(o,i,a){if(typeof o=="function"&&typeof i!="function"){var s=i;i=o;var l=r;return function(y){var O=this;y===void 0&&(y=s);for(var v=arguments.length,p=Array(v>1?v-1:0),g=1;g1?c-1:0),d=1;d=0;o--){var i=r[o];if(i.path.length===0&&i.op==="replace"){n=i.value;break}}o>-1&&(r=r.slice(o+1));var a=sn("Patches").$;return To(n)?a(n,r):this.produce(n,function(s){return a(s,r)})},e}(),St=new $N,DN=St.produce;St.produceWithPatches.bind(St);var IN=St.setAutoFreeze.bind(St);St.setUseProxies.bind(St);St.applyPatches.bind(St);St.createDraft.bind(St);St.finishDraft.bind(St);IN(!1);const{createContext:lp,memo:FN,useMemo:UN,useRef:jN,useEffect:zN,useCallback:dm,useContext:Cf,useState:VN}=ee,cw=lp(null),fw=lp(null),dw=lp(null);function BN(){return Cf(dw)}function WN({initialState:e,actions:t={},children:n}){const r=jN(e),[o,i]=VN(e),a=dm(()=>r.current,[]);zN(()=>{},[a]);const s=dm((u,c)=>{if(typeof u=="function")return u(s,a);const f=DN(a(),c);f!==r.current&&(r.current=f,i(f))},[a]),l=UN(()=>pw(t,s),[t,s]);return R(cw.Provider,{value:o,children:R(fw.Provider,{value:s,children:R(dw.Provider,{value:l,children:n})})})}function kn(e){return t=>{const n=FN(t);function r(o){const i=Cf(cw),a=Cf(fw),s=e(i,o),l=J(J({dispatch:a},o),s);return R(n,J({},l))}return r}}function HN(e,t){return function(...n){return t(e.apply(this,n))}}function pw(e,t){const n={};for(const r in e){const o=e[r];typeof o=="function"?n[r]=HN(o,t):typeof o=="object"&&(n[r]=pw(o,t))}return n}const hw="yacd.haishan.me";function qN(){try{const e=localStorage.getItem(hw);return e?JSON.parse(e):void 0}catch{return}}function Wr(e){try{const t=JSON.stringify(e);localStorage.setItem(hw,t)}catch{}}const vw="/configs";async function mw(e){const{url:t,init:n}=Rt(e);return await fetch(t+vw,n)}function QN(e){return"socks-port"in e&&(e["socket-port"]=e["socks-port"]),e}async function KN(e,t){const{url:n,init:r}=Rt(e),o=JSON.stringify(QN(t));return await fetch(n+vw,ge(J({},r),{body:o,method:"PATCH"}))}const gw="/traffic",GN=new TextDecoder("utf-8"),Ja=150,Zi={labels:Array(Ja).fill(0),up:Array(Ja),down:Array(Ja),size:Ja,subscribers:[],appendData(e){this.up.shift(),this.down.shift(),this.labels.shift();const t=Date.now();this.up.push(e.up),this.down.push(e.down),this.labels.push(t),this.subscribers.forEach(n=>n(e))},subscribe(e){return this.subscribers.push(e),()=>{const t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}}};let uo=!1,Za="";function Ef(e){Zi.appendData(JSON.parse(e))}function yw(e){return e.read().then(({done:t,value:n})=>{Za+=GN.decode(n,{stream:!t});const o=Za.split(` -`),i=o[o.length-1];for(let a=0;a{if(r.ok){const o=r.body.getReader();yw(o)}else uo=!1},r=>{console.log("fetch /traffic error",r),uo=!1}),Zi}function pm(e){return t=>{t(`openModal:${e}`,n=>{n.modals[e]=!0})}}function YN(e){return t=>{t(`closeModal:${e}`,n=>{n.modals[e]=!1})}}const JN={apiConfig:!1},F$=e=>e.configs.configs,ZN=e=>e.configs.haveFetchedConfig,U$=e=>e.configs.configs["log-level"];function ww(e){return async(t,n)=>{let r;try{r=await mw(e)}catch{t(pm("apiConfig"));return}if(!r.ok){console.log("Error fetch configs",r.statusText),t(pm("apiConfig"));return}const o=await r.json();t("store/configs#fetchConfigs",a=>{a.configs.configs=o}),ZN(n())?up(e):t(eA())}}function eA(){return e=>{e("store/configs#markHaveFetchedConfig",t=>{t.configs.haveFetchedConfig=!0})}}function j$(e,t){return async n=>{KN(e,t).then(r=>{r.ok===!1&&console.log("Error update configs",r.statusText)},r=>{throw console.log("Error update configs",r),r}).then(()=>{n(ww(e))}),n("storeConfigsOptimisticUpdateConfigs",r=>{r.configs.configs=J(J({},r.configs.configs),t)})}}const tA={configs:{port:7890,"socks-port":7891,"redir-port":0,"allow-lan":!1,mode:"Rule","log-level":"uninit"},haveFetchedConfig:!1},Fo=e=>{const t=e.app.selectedClashAPIConfigIndex;return e.app.clashAPIConfigs[t]},Sw=e=>e.app.selectedClashAPIConfigIndex,cp=e=>e.app.clashAPIConfigs,fp=e=>e.app.theme,nA=e=>e.app.selectedChartStyleIndex,rA=e=>e.app.latencyTestUrl,z$=e=>e.app.collapsibleIsOpen,V$=e=>e.app.proxySortBy,B$=e=>e.app.hideUnavailableProxies,oA=e=>e.app.autoCloseOldConns,W$=e=>e.app.logStreamingPaused,iA=yN(Wr,600);function dp(e,{baseURL:t,secret:n}){const r=cp(e());for(let o=0;o{if(dp(r,{baseURL:e,secret:t}))return;const i={baseURL:e,secret:t,addedAt:Date.now()};n("addClashAPIConfig",a=>{a.app.clashAPIConfigs.push(i)}),Wr(r().app)}}function sA({baseURL:e,secret:t}){return async(n,r)=>{const o=dp(r,{baseURL:e,secret:t});n("removeClashAPIConfig",i=>{i.app.clashAPIConfigs.splice(o,1)}),Wr(r().app)}}function lA({baseURL:e,secret:t}){return async(n,r)=>{const o=dp(r,{baseURL:e,secret:t});Sw(r())!==o&&n("selectClashAPIConfig",a=>{a.app.selectedClashAPIConfigIndex=o}),Wr(r().app);try{window.location.reload()}catch{}}}const Xu=document.querySelector("html");function _w(e="dark"){e==="auto"?Xu.setAttribute("data-theme","auto"):e==="dark"?Xu.setAttribute("data-theme","dark"):Xu.setAttribute("data-theme","light")}function uA(e="auto"){return(t,n)=>{fp(n())!==e&&(_w(e),t("storeSwitchTheme",o=>{o.app.theme=e}),Wr(n().app))}}function cA(e){return(t,n)=>{t("appSelectChartStyleIndex",r=>{r.app.selectedChartStyleIndex=Number(e)}),Wr(n().app)}}function hm(e,t){return(n,r)=>{n("appUpdateAppConfig",o=>{o.app[e]=t}),Wr(r().app)}}function fA(e,t,n){return(r,o)=>{r("updateCollapsibleIsOpen",i=>{i.app.collapsibleIsOpen[`${e}:${t}`]=n}),iA(o().app)}}var Um,jm;const dA={baseURL:(jm=(Um=document.getElementById("app"))==null?void 0:Um.getAttribute("data-base-url"))!=null?jm:"http://127.0.0.1:9090",secret:"",addedAt:0},pA={selectedClashAPIConfigIndex:0,clashAPIConfigs:[dA],latencyTestUrl:"http://www.gstatic.com/generate_204",selectedChartStyleIndex:0,theme:"dark",collapsibleIsOpen:{},proxySortBy:"Natural",hideUnavailableProxies:!1,autoCloseOldConns:!1,logStreamingPaused:!1};function hA(){const{search:e}=window.location,t={};if(typeof e!="string"||e==="")return t;const n=e.replace(/^\?/,"").split("&");for(let r=0;r_N("/version",e.apiConfig));return ue(En,{children:[R(sw,{title:"About"}),t&&t.version?R(vm,{name:"Clash",version:t.version,link:"https://github.com/Dreamacro/clash"}):null,R(vm,{name:"Yacd",version:"0.3.5",link:"https://github.com/haishanh/yacd"})]})}const SA=e=>({apiConfig:Fo(e)}),_A=kn(SA)(wA),bA="_loading_74j3j_1",RA="_spinner_74j3j_9",CA="_rotate_74j3j_1";var mm={loading:bA,spinner:RA,rotate:CA};const bw=({height:e})=>{const t=e?{height:e}:{};return R("div",{className:mm.loading,style:t,children:R("div",{className:mm.spinner})})},EA=e=>({apiConfig:Fo(e),apiConfigs:cp(e)});function OA({apiConfig:e,apiConfigs:t}){return D.exports.useEffect(()=>{let n="yacd";if(t.length>1)try{n=`${new URL(e.baseURL).host} - yacd`}catch{}document.title=n}),R(En,{})}const xA=kn(EA)(OA),kA=new k0,PA=new SC({queryCache:kA,defaultOptions:{queries:{suspense:!0}}});var ml="NOT_FOUND";function TA(e){var t;return{get:function(r){return t&&e(t.key,r)?t.value:ml},put:function(r,o){t={key:r,value:o}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}function LA(e,t){var n=[];function r(s){var l=n.findIndex(function(c){return t(s,c.key)});if(l>-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return ml}function o(s,l){r(s)===ml&&(n.unshift({key:s,value:l}),n.length>e&&n.pop())}function i(){return n}function a(){n=[]}return{get:r,put:o,getEntries:i,clear:a}}var NA=function(t,n){return t===n};function AA(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var o=n.length,i=0;i1?t-1:0),r=1;re.logs.logs,Cw=e=>e.logs.tail,FA=e=>e.logs.searchText,H$=IA(Rw,Cw,FA,(e,t,n)=>{const r=[];for(let o=t;o>=0;o--)r.push(e[o]);if(e.length===Of)for(let o=Of-1;o>t;o--)r.push(e[o]);return n===""?r:r.filter(o=>o.payload.toLowerCase().indexOf(n)>=0)});function q$(e){return t=>{t("logsUpdateSearchText",n=>{n.logs.searchText=e.toLowerCase()})}}function Q$(e){return(t,n)=>{const r=n(),o=Rw(r),i=Cw(r),a=i>=Of-1?0:i+1;o[a]=e,t("logsAppendLog",s=>{s.logs.tail=a})}}const UA={searchText:"",logs:[],tail:-1},au="/connections",Ss=[];function jA(e){let t;try{t=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}Ss.forEach(n=>n(t))}let Ju;function zA(e,t){if(Ju===1&&t)return gm(t);Ju=1;const n=aw(e,au),r=new WebSocket(n);if(r.addEventListener("error",()=>Ju=3),r.addEventListener("message",o=>jA(o.data)),t)return gm(t)}function gm(e){return Ss.push(e),function(){const n=Ss.indexOf(e);Ss.splice(n,1)}}async function K$(e){const{url:t,init:n}=Rt(e);return await fetch(t+au,ge(J({},n),{method:"DELETE"}))}async function VA(e){const{url:t,init:n}=Rt(e);return await fetch(t+au,J({},n))}async function BA(e,t){const{url:n,init:r}=Rt(e),o=`${n}${au}/${t}`;return await fetch(o,ge(J({},r),{method:"DELETE"}))}const pp="/proxies";async function WA(e){const{url:t,init:n}=Rt(e);return await(await fetch(t+pp,n)).json()}async function HA(e,t,n){const r={name:n},{url:o,init:i}=Rt(e),a=`${o}${pp}/${t}`;return await fetch(a,ge(J({},i),{method:"PUT",body:JSON.stringify(r)}))}async function qA(e,t,n="http://www.gstatic.com/generate_204"){const{url:r,init:o}=Rt(e),i=`timeout=5000&url=${encodeURIComponent(n)}`,a=`${r}${pp}/${encodeURIComponent(t)}/delay?${i}`;return await fetch(a,o)}async function QA(e){const{url:t,init:n}=Rt(e),r=await fetch(t+"/providers/proxies",n);return r.status===404?{providers:{}}:await r.json()}async function Ew(e,t){const{url:n,init:r}=Rt(e),o=ge(J({},r),{method:"PUT"});return await fetch(n+"/providers/proxies/"+t,o)}async function KA(e,t){const{url:n,init:r}=Rt(e),o=ge(J({},r),{method:"GET"});return await fetch(n+"/providers/proxies/"+t+"/healthcheck",o)}const GA={proxies:{},delay:{},groupNames:[],showModalClosePrevConns:!1},Ow=()=>null,XA=["Direct","Fallback","Reject","Selector","URLTest","LoadBalance","Unknown"],YA=e=>e.proxies.proxies,xw=e=>e.proxies.delay,G$=e=>e.proxies.groupNames,JA=e=>e.proxies.proxyProviders||[],kw=e=>e.proxies.dangleProxyNames,X$=e=>e.proxies.showModalClosePrevConns;function Uo(e){return async(t,n)=>{const[r,o]=await Promise.all([WA(e),QA(e)]),{providers:i,proxies:a}=aM(o.providers),s=J(J({},a),r.proxies),[l,u]=iM(s),c=xw(n()),f=J({},c);for(let h=0;h{h.proxies.proxies=s,h.proxies.groupNames=l,h.proxies.delay=f,h.proxies.proxyProviders=i,h.proxies.dangleProxyNames=d})}}function Y$(e,t){return async n=>{try{await Ew(e,t)}catch{}n(Uo(e))}}function J$(e,t){return async n=>{for(let r=0;r{await Pw(e,t),await n(Uo(e))}}async function ZA(e,t,n){const r=await VA(e);r.ok||console.log("unable to fetch all connections",r.statusText);const i=(await r.json()).connections,a=[];for(const s of i)s.chains.indexOf(t)>-1&&s.chains.indexOf(n)<0&&a.push(s.id);await Promise.all(a.map(s=>BA(e,s).catch(Ow)))}function eM(e,t,n){const r=[n,t];let o,i=n;for(;(o=e[i])&&o.now;)r.unshift(o.now),i=o.now;return r}async function tM(e,t,n,r,o){try{if((await HA(n,r,o)).ok===!1)throw new Error("failed to switch proxy: res.statusText")}catch(a){throw console.log(a,"failed to swith proxy"),a}if(e(Uo(n)),oA(t())){const a=YA(t());Lw(n,a,{groupName:r,itemName:o})}}function Tw(){return e=>{e("closeModalClosePrevConns",t=>{t.proxies.showModalClosePrevConns=!1})}}function Lw(e,t,n){const r=eM(t,n.groupName,n.itemName);ZA(e,n.groupName,r[0])}function nM(e){return async(t,n)=>{var a;const r=n(),o=(a=r.proxies.switchProxyCtx)==null?void 0:a.to;if(!o){t(Tw());return}const i=r.proxies.proxies;Lw(e,i,o),t("closePrevConnsAndTheModal",s=>{s.proxies.showModalClosePrevConns=!1,s.proxies.switchProxyCtx=void 0})}}function eD(e,t,n){return async(r,o)=>{tM(r,o,e,t,n).catch(Ow),r("store/proxies#switchProxy",i=>{const a=i.proxies.proxies;a[t]&&a[t].now&&(a[t].now=n)})}}function rM(e,t){return async(n,r)=>{const o=rA(r()),i=await qA(e,t,o);let a="";i.ok===!1&&(a=i.statusText);const{delay:s}=await i.json(),l=xw(r()),u=ge(J({},l),{[t]:{error:a,number:s}});n("requestDelayForProxyOnce",c=>{c.proxies.delay=u})}}function Nw(e,t){return async n=>{await n(rM(e,t))}}function oM(e,t){return async(n,r)=>{const o=kw(r()),i=t.filter(a=>o.indexOf(a)>-1).map(a=>n(Nw(e,a)));await Promise.all(i),await n(Uo(e))}}function tD(e){return async(t,n)=>{const r=kw(n());await Promise.all(r.map(i=>t(Nw(e,i))));const o=JA(n());for(const i of o)await Pw(e,i.name);await t(Uo(e))}}function iM(e){let t=[],n;const r=[];for(const o in e){const i=e[o];i.all&&Array.isArray(i.all)?(t.push(o),o==="GLOBAL"&&(n=Array.from(i.all))):XA.indexOf(i.type)<0&&r.push(o)}return n&&(n.push("GLOBAL"),t=t.map(o=>[n.indexOf(o),o]).sort((o,i)=>o[0]-i[0]).map(o=>o[1])),[t,r]}function aM(e){const t=Object.keys(e),n=[],r={};for(let o=0;on(o=>!o),[]);return[t,r]}const pM="_ul_1d6f2_1",hM="_li_1d6f2_10",vM="_close_1d6f2_28",mM="_eye_1d6f2_36",gM="_hasSecret_1d6f2_45",yM="_url_1d6f2_50",wM="_secret_1d6f2_54",SM="_btn_1d6f2_72";var wn={ul:pM,li:hM,close:vM,eye:mM,hasSecret:gM,url:yM,secret:wM,btn:SM};const _M=e=>({apiConfigs:cp(e),selectedClashAPIConfigIndex:Sw(e)}),bM=kn(_M)(RM);function RM({apiConfigs:e,selectedClashAPIConfigIndex:t}){const{app:{removeClashAPIConfig:n,selectClashAPIConfig:r}}=BN(),o=D.exports.useCallback(a=>{n(a)},[n]),i=D.exports.useCallback(a=>{r(a)},[r]);return R(En,{children:R("ul",{className:wn.ul,children:e.map((a,s)=>R("li",{className:Fr(wn.li,{[wn.hasSecret]:a.secret,[wn.isSelected]:s===t}),children:R(CM,{disableRemove:s===t,baseURL:a.baseURL,secret:a.secret,onRemove:o,onSelect:i})},a.baseURL+a.secret))})})}function CM({baseURL:e,secret:t,disableRemove:n,onRemove:r,onSelect:o}){const[i,a]=dM(),s=i?iN:lN,l=D.exports.useCallback(u=>{u.stopPropagation()},[]);return ue(En,{children:[R(ym,{disabled:n,onClick:()=>r({baseURL:e,secret:t}),className:wn.close,children:R(gN,{size:20})}),R("span",{className:wn.url,tabIndex:0,role:"button",onClick:()=>o({baseURL:e,secret:t}),onKeyUp:l,children:e}),R("span",{}),t?ue(En,{children:[R("span",{className:wn.secret,children:i?t:"***"}),R(ym,{onClick:a,className:wn.eye,children:R(s,{size:20})})]}):null]})}function ym({children:e,onClick:t,className:n,disabled:r}){return R("button",{disabled:r,className:Fr(n,wn.btn),onClick:t,children:e})}const EM="_root_zwtea_1",OM="_header_zwtea_5",xM="_icon_zwtea_10",kM="_body_zwtea_20",PM="_hostnamePort_zwtea_24",TM="_error_zwtea_36",LM="_footer_zwtea_42";var hr={root:EM,header:OM,icon:xM,body:kM,hostnamePort:PM,error:TM,footer:LM};const NM="_btn_lzu00_1",AM="_circular_lzu00_27",MM="_minimal_lzu00_30",$M="_btnStart_lzu00_48",DM="_loadingContainer_lzu00_55";var pi={btn:NM,circular:AM,minimal:MM,btnStart:$M,loadingContainer:DM};const IM="_sectionNameType_8lri2_1",FM="_loadingDot_8lri2_66",UM="_dot2_8lri2_1",jM="_dot1_8lri2_1",zM="_dot3_8lri2_1";var Mw={sectionNameType:IM,loadingDot:FM,dot2:UM,dot1:jM,dot3:zM};function rD({name:e,type:t}){return ue("h2",{className:Mw.sectionNameType,children:[R("span",{children:e}),R("span",{children:t})]})}function VM(){return R("span",{className:Mw.loadingDot})}const{forwardRef:BM,useCallback:WM}=Ur;function HM(e,t){const y=e,{onClick:n,disabled:r=!1,isLoading:o,kind:i="primary",className:a,children:s,label:l,text:u,start:c}=y,f=pr(y,["onClick","disabled","isLoading","kind","className","children","label","text","start"]),d={children:s,label:l,text:u,start:c},h=WM(O=>{o||n&&n(O)},[o,n]),m=Fr(pi.btn,{[pi.minimal]:i==="minimal",[pi.circular]:i==="circular"},a);return R("button",ge(J({className:m,ref:t,onClick:h,disabled:r},f),{children:o?ue(En,{children:[R("span",{style:{display:"inline-flex",opacity:0},children:R(wm,J({},d))}),R("span",{className:pi.loadingContainer,children:R(VM,{})})]}):R(wm,J({},d))}))}function wm({children:e,label:t,text:n,start:r}){return ue(En,{children:[r?R("span",{className:pi.btnStart,children:typeof r=="function"?r():r}):null,e||t||n]})}var qM=BM(HM);const QM="_root_1or8t_1",KM="_floatAbove_1or8t_32";var Sm={root:QM,floatAbove:KM};const{useCallback:GM}=Ur;function _m(i){var a=i,{id:e,label:t,value:n,onChange:r}=a,o=pr(a,["id","label","value","onChange"]);const s=GM(l=>r(l),[r]);return ue("div",{className:Sm.root,children:[R("input",J({id:e,value:n,onChange:s},o)),R("label",{htmlFor:e,className:Sm.floatAbove,children:t})]})}const XM="_path_r8pm3_1",YM="_dash_r8pm3_1";var JM={path:XM,dash:YM};function hp({width:e=320,height:t=320,animate:n=!1,c0:r="currentColor",stroke:o="#eee",eye:i="#eee",mouth:a="#eee"}){const s=Fr({[JM.path]:n});return R("svg",{width:e,height:t,viewBox:"0 0 320 320",xmlns:"http://www.w3.org/2000/svg",children:ue("g",{fill:"none",fillRule:"evenodd",children:[R("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:o,strokeWidth:"4",strokeLinecap:"round",fill:r,className:s}),R("circle",{fill:i,cx:"216.5",cy:"181.5",r:"14.5"}),R("circle",{fill:i,cx:"104.5",cy:"181.5",r:"14.5"}),R("g",{stroke:a,strokeLinecap:"round",strokeWidth:"4",children:R("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"})})]})})}const{useState:Zu,useRef:bm,useCallback:ec,useEffect:ZM}=Ur,$w=0,e3=e=>({apiConfig:Fo(e)});function t3({dispatch:e}){const[t,n]=Zu(""),[r,o]=Zu(""),[i,a]=Zu(""),s=bm(!1),l=bm(null),u=ec(h=>{s.current=!0,a("");const m=h.target,{name:y}=m,O=m.value;switch(y){case"baseURL":n(O);break;case"secret":o(O);break;default:throw new Error(`unknown input name ${y}`)}},[]),c=ec(()=>{n3({baseURL:t,secret:r}).then(h=>{h[0]!==$w?a(h[1]):e(aA({baseURL:t,secret:r}))})},[t,r,e]),f=ec(h=>{h.target instanceof Element&&(!h.target.tagName||h.target.tagName.toUpperCase()!=="INPUT")||h.key==="Enter"&&c()},[c]),d=async()=>{(await fetch("/")).json().then(m=>{m.hello==="clash"&&n(window.location.origin)})};return ZM(()=>{d()},[]),ue("div",{className:hr.root,ref:l,onKeyDown:f,children:[R("div",{className:hr.header,children:R("div",{className:hr.icon,children:R(hp,{width:160,height:160,stroke:"var(--stroke)"})})}),R("div",{className:hr.body,children:ue("div",{className:hr.hostnamePort,children:[R(_m,{id:"baseURL",name:"baseURL",label:"API Base URL",type:"text",placeholder:"http://127.0.0.1:9090",value:t,onChange:u}),R(_m,{id:"secret",name:"secret",label:"Secret(optional)",value:r,type:"text",onChange:u})]})}),R("div",{className:hr.error,children:i||null}),R("div",{className:hr.footer,children:R(qM,{label:"Add",onClick:c})}),R("div",{style:{height:20}}),R(bM,{})]})}var Dw=kn(e3)(t3);async function n3(e){try{new URL(e.baseURL)}catch{if(e.baseURL){const n=e.baseURL.substring(0,7);if(n!=="http://"&&n!=="https:/")return[1,"Must starts with http:// or https://"]}return[1,"Invalid URL"]}try{const t=await mw(e);return t.status>399?[1,t.statusText]:[$w]}catch{return[1,"Failed to connect"]}}function Iw(){return!!(typeof window!="undefined"&&window.document&&window.document.createElement)}var Ti=Iw()?D.exports.useLayoutEffect:D.exports.useEffect,tc=!1,r3=0;function Rm(){return++r3}function o3(e){var t;if(typeof D.exports.useId=="function"){var n=D.exports.useId(e);return e!=null?e:n}var r=e!=null?e:tc?Rm():null,o=D.exports.useState(r),i=o[0],a=o[1];return Ti(function(){i===null&&a(Rm())},[]),D.exports.useEffect(function(){tc===!1&&(tc=!0)},[]),(t=e!=null?e:i)!=null?t:void 0}function vp(e){return Iw()?e?e.ownerDocument:document:null}function i3(e){var t,n,r=vp(e),o=r.defaultView||window;return r?{width:(t=r.documentElement.clientWidth)!=null?t:o.innerWidth,height:(n=r.documentElement.clientHeight)!=null?n:o.innerHeight}:{width:0,height:0}}function Fw(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return n=e[Symbol.iterator](),n.next.bind(n)}function u3(e,t){if(e!=null)if(Uw(e))e(t);else try{e.current=t}catch{throw new Error('Cannot assign value "'+t+'" to ref "'+e+'"')}}function jw(){for(var e=arguments.length,t=new Array(e),n=0;n=0)&&(n[o]=e[o]);return n}var d3=["unstable_skipInitialRender"],p3=function(t){var n=t.children,r=t.type,o=r===void 0?"reach-portal":r,i=t.containerRef,a=D.exports.useRef(null),s=D.exports.useRef(null),l=c3();return Ti(function(){if(!!a.current){var u=a.current.ownerDocument,c=(i==null?void 0:i.current)||u.body;return s.current=u==null?void 0:u.createElement(o),c.appendChild(s.current),l(),function(){s.current&&c&&c.removeChild(s.current)}}},[o,l,i]),s.current?oa.exports.createPortal(n,s.current):D.exports.createElement("span",{ref:a})},h3=function(t){var n=t.unstable_skipInitialRender,r=f3(t,d3),o=D.exports.useState(!1),i=o[0],a=o[1];return D.exports.useEffect(function(){n&&a(!0)},[n]),n&&!i?null:D.exports.createElement(p3,r)};function gl(){return gl=Object.assign||function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}var m3=["as","style"],g3=D.exports.forwardRef(function(t,n){var r=t.as,o=r===void 0?"span":r,i=t.style,a=i===void 0?{}:i,s=v3(t,m3);return D.exports.createElement(o,gl({ref:n,style:gl({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},a)},s))}),y3=["bottom","height","left","right","top","width"],w3=function(t,n){return t===void 0&&(t={}),n===void 0&&(n={}),y3.some(function(r){return t[r]!==n[r]})},Nn=new Map,zw,S3=function e(){var t=[];Nn.forEach(function(n,r){var o=r.getBoundingClientRect();w3(o,n.rect)&&(n.rect=o,t.push(n))}),t.forEach(function(n){n.callbacks.forEach(function(r){return r(n.rect)})}),zw=window.requestAnimationFrame(e)};function _3(e,t){return{observe:function(){var r=Nn.size===0;Nn.has(e)?Nn.get(e).callbacks.push(t):Nn.set(e,{rect:void 0,hasRectChanged:!1,callbacks:[t]}),r&&S3()},unobserve:function(){var r=Nn.get(e);if(r){var o=r.callbacks.indexOf(t);o>=0&&r.callbacks.splice(o,1),r.callbacks.length||Nn.delete(e),Nn.size||cancelAnimationFrame(zw)}}}}function Vw(e,t,n){var r,o;if(a3(t))r=t;else{var i;r=(i=t==null?void 0:t.observe)!=null?i:!0,o=t==null?void 0:t.onChange}Uw(n)&&(o=n);var a=D.exports.useState(e.current),s=a[0],l=a[1],u=D.exports.useRef(!1),c=D.exports.useRef(!1),f=D.exports.useState(null),d=f[0],h=f[1],m=D.exports.useRef(o);return Ti(function(){m.current=o,e.current!==s&&l(e.current)}),Ti(function(){s&&!u.current&&(u.current=!0,h(s.getBoundingClientRect()))},[s]),Ti(function(){if(!!r){var y=s;if(c.current||(c.current=!0,y=e.current),!!y){var O=_3(y,function(v){m.current==null||m.current(v),h(v)});return O.observe(),function(){O.unobserve()}}}},[r,s,e]),d}function ar(){return ar=Object.assign||function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}var b3=["children","label","ariaLabel","id","DEBUG_STYLE"],R3=["label","ariaLabel","isVisible","id"],C3=["ariaLabel","aria-label","as","id","isVisible","label","position","style","triggerRect"],E3=["type"],ts,vr,dn,ai,ns,mr,O3=100,x3=500,ye;(function(e){e.Idle="IDLE",e.Focused="FOCUSED",e.Visible="VISIBLE",e.LeavingVisible="LEAVING_VISIBLE",e.Dismissed="DISMISSED"})(ye||(ye={}));var me;(function(e){e.Blur="BLUR",e.Focus="FOCUS",e.GlobalMouseMove="GLOBAL_MOUSE_MOVE",e.MouseDown="MOUSE_DOWN",e.MouseEnter="MOUSE_ENTER",e.MouseLeave="MOUSE_LEAVE",e.MouseMove="MOUSE_MOVE",e.Rest="REST",e.SelectWithKeyboard="SELECT_WITH_KEYBOARD",e.TimeComplete="TIME_COMPLETE"})(me||(me={}));var xf={initial:ye.Idle,states:(mr={},mr[ye.Idle]={enter:nc,on:(ts={},ts[me.MouseEnter]=ye.Focused,ts[me.Focus]=ye.Visible,ts)},mr[ye.Focused]={enter:T3,leave:L3,on:(vr={},vr[me.MouseMove]=ye.Focused,vr[me.MouseLeave]=ye.Idle,vr[me.MouseDown]=ye.Dismissed,vr[me.Blur]=ye.Idle,vr[me.Rest]=ye.Visible,vr)},mr[ye.Visible]={on:(dn={},dn[me.Focus]=ye.Focused,dn[me.MouseEnter]=ye.Focused,dn[me.MouseLeave]=ye.LeavingVisible,dn[me.Blur]=ye.LeavingVisible,dn[me.MouseDown]=ye.Dismissed,dn[me.SelectWithKeyboard]=ye.Dismissed,dn[me.GlobalMouseMove]=ye.LeavingVisible,dn)},mr[ye.LeavingVisible]={enter:N3,leave:function(){A3(),nc()},on:(ai={},ai[me.MouseEnter]=ye.Visible,ai[me.Focus]=ye.Visible,ai[me.TimeComplete]=ye.Idle,ai)},mr[ye.Dismissed]={leave:function(){nc()},on:(ns={},ns[me.MouseLeave]=ye.Idle,ns[me.Blur]=ye.Idle,ns)},mr)},Tt={value:xf.initial,context:{id:null}},_s=[];function k3(e){return _s.push(e),function(){_s.splice(_s.indexOf(e),1)}}function P3(){_s.forEach(function(e){return e(Tt)})}var kf;function T3(){window.clearTimeout(kf),kf=window.setTimeout(function(){Bt({type:me.Rest})},O3)}function L3(){window.clearTimeout(kf)}var Pf;function N3(){window.clearTimeout(Pf),Pf=window.setTimeout(function(){return Bt({type:me.TimeComplete})},x3)}function A3(){window.clearTimeout(Pf)}function nc(){Tt.context.id=null}function M3(e){var t=e===void 0?{}:e,n=t.id,r=t.onPointerEnter,o=t.onPointerMove,i=t.onPointerLeave,a=t.onPointerDown,s=t.onMouseEnter,l=t.onMouseMove,u=t.onMouseLeave,c=t.onMouseDown,f=t.onFocus,d=t.onBlur,h=t.onKeyDown,m=t.disabled,y=t.ref,O=t.DEBUG_STYLE,v=String(o3(n)),p=D.exports.useState(O?!0:Em(v,!0)),g=p[0],S=p[1],x=D.exports.useRef(null),E=jw(y,x),A=Vw(x,{observe:g});D.exports.useEffect(function(){return k3(function(){S(Em(v))})},[v]),D.exports.useEffect(function(){var N=vp(x.current);function $(F){(F.key==="Escape"||F.key==="Esc")&&Tt.value===ye.Visible&&Bt({type:me.SelectWithKeyboard})}return N.addEventListener("keydown",$),function(){return N.removeEventListener("keydown",$)}},[]),z3({disabled:m,isVisible:g,ref:x});function L(N,$){return typeof window!="undefined"&&"PointerEvent"in window?N:Ln(N,$)}function j(N){return function(F){F.pointerType==="mouse"&&N(F)}}function M(){Bt({type:me.MouseEnter,id:v})}function Q(){Bt({type:me.MouseMove,id:v})}function te(){Bt({type:me.MouseLeave})}function X(){Tt.context.id===v&&Bt({type:me.MouseDown})}function w(){window.__REACH_DISABLE_TOOLTIPS||Bt({type:me.Focus,id:v})}function T(){Tt.context.id===v&&Bt({type:me.Blur})}function z(N){(N.key==="Enter"||N.key===" ")&&Bt({type:me.SelectWithKeyboard})}var C={"aria-describedby":g?Fw("tooltip",v):void 0,"data-state":g?"tooltip-visible":"tooltip-hidden","data-reach-tooltip-trigger":"",ref:E,onPointerEnter:Ln(r,j(M)),onPointerMove:Ln(o,j(Q)),onPointerLeave:Ln(i,j(te)),onPointerDown:Ln(a,j(X)),onMouseEnter:L(s,M),onMouseMove:L(l,Q),onMouseLeave:L(u,te),onMouseDown:L(c,X),onFocus:Ln(f,w),onBlur:Ln(d,T),onKeyDown:Ln(h,z)},k={id:v,triggerRect:A,isVisible:g};return[C,k,g]}var $3=D.exports.forwardRef(function(e,t){var n=e.children,r=e.label,o=e.ariaLabel,i=e.id,a=e.DEBUG_STYLE,s=su(e,b3),l=D.exports.Children.only(n),u=M3({id:i,onPointerEnter:l.props.onPointerEnter,onPointerMove:l.props.onPointerMove,onPointerLeave:l.props.onPointerLeave,onPointerDown:l.props.onPointerDown,onMouseEnter:l.props.onMouseEnter,onMouseMove:l.props.onMouseMove,onMouseLeave:l.props.onMouseLeave,onMouseDown:l.props.onMouseDown,onFocus:l.props.onFocus,onBlur:l.props.onBlur,onKeyDown:l.props.onKeyDown,disabled:l.props.disabled,ref:l.ref,DEBUG_STYLE:a}),c=u[0],f=u[1];return D.exports.createElement(D.exports.Fragment,null,D.exports.cloneElement(l,c),D.exports.createElement(D3,ar({ref:t,label:r,"aria-label":o},f,s)))}),D3=D.exports.forwardRef(function(t,n){var r=t.label,o=t.ariaLabel,i=t.isVisible,a=t.id,s=su(t,R3);return i?D.exports.createElement(h3,null,D.exports.createElement(I3,ar({ref:n,label:r,"aria-label":o,isVisible:i},s,{id:Fw("tooltip",String(a))}))):null}),I3=D.exports.forwardRef(function(t,n){var r=t.ariaLabel,o=t["aria-label"],i=t.as,a=i===void 0?"div":i,s=t.id,l=t.isVisible,u=t.label,c=t.position,f=c===void 0?j3:c,d=t.style,h=t.triggerRect,m=su(t,C3),y=(o||r)!=null,O=D.exports.useRef(null),v=jw(n,O),p=Vw(O,{observe:l});return D.exports.createElement(D.exports.Fragment,null,D.exports.createElement(a,ar({role:y?void 0:"tooltip"},m,{ref:v,"data-reach-tooltip":"",id:y?void 0:s,style:ar({},d,F3(f,h,p))}),u),y&&D.exports.createElement(g3,{role:"tooltip",id:s},o||r))});function F3(e,t,n){var r=!n;return r?{visibility:"hidden"}:e(t,n)}var U3=8,j3=function(t,n,r){r===void 0&&(r=U3);var o=i3(),i=o.width,a=o.height;if(!t||!n)return{};var s={top:t.top-n.height<0,right:i{delete n[l],t[l]=u}).catch(u=>{r[l]=u}),n[l]}function i(l="default"){t[l]!==void 0||n[l]||o(l)}function a(l="default"){if(t[l]!==void 0)return t[l];throw r[l]?r[l]:n[l]?n[l]:o(l)}function s(l){l?delete t[l]:t={}}return{preload:i,read:a,clear:s}}const mp=B3(()=>_n(()=>import("./index.068c89e5.js"),[])),W3="_iconWrapper_gudl5_1",H3="_themeSwitchContainer_gudl5_23";var Om={iconWrapper:W3,themeSwitchContainer:H3};function q3({theme:e,dispatch:t}){const{t:n}=ra(),r=D.exports.useMemo(()=>{switch(e){case"dark":return R(xm,{});case"auto":return R(K3,{});case"light":return R(Q3,{});default:return console.assert(!1,"Unknown theme"),R(xm,{})}},[e]),o=D.exports.useCallback(i=>t(uA(i.target.value)),[t]);return R(Bw,{label:n("switch_theme"),"aria-label":"switch theme",children:ue("div",{className:Om.themeSwitchContainer,children:[R("span",{className:Om.iconWrapper,children:r}),ue("select",{onChange:o,children:[R("option",{value:"auto",children:"Auto"}),R("option",{value:"dark",children:"Dark"}),R("option",{value:"light",children:"Light"})]})]})})}function xm(){const t=mp.read().motion;return R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:R(t.path,{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z",initial:{rotate:-30},animate:{rotate:0},transition:{duration:.7}})})}function Q3(){const t=mp.read().motion;return ue("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[R("circle",{cx:"12",cy:"12",r:"5"}),ue(t.g,{initial:{scale:.7},animate:{scale:1},transition:{duration:.5},children:[R("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),R("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),R("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),R("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),R("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),R("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),R("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),R("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]})}function K3(){const t=mp.read().motion;return ue("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[R("circle",{cx:"12",cy:"12",r:"11"}),R("clipPath",{id:"cut-off-bottom",children:R(t.rect,{x:"12",y:"0",width:"12",height:"24",initial:{rotate:-30},animate:{rotate:0},transition:{duration:.7}})}),R("circle",{cx:"12",cy:"12",r:"6",clipPath:"url(#cut-off-bottom)",fill:"currentColor"})]})}const G3=e=>({theme:fp(e)}),Ww=kn(G3)(q3),Tf=0;class X3 extends Error{constructor(t,n){super(t),this.message=t,this.code=n,Error.captureStackTrace(this,this.constructor)}}const Lf={[Tf]:{message:"Browser not supported!",detail:'This browser does not support "fetch", please choose another one.'},default:{message:"Oops, something went wrong!"}};function Y3(e){const{code:t}=e;return typeof t=="number"?Lf[t]:Lf.default}const J3="_content_b98hm_1",Z3="_container_b98hm_16",e4="_overlay_b98hm_22",t4="_fixed_b98hm_26";var rs={content:J3,container:Z3,overlay:e4,fixed:t4};const n4="_overlay_85t19_1",r4="_content_85t19_11";var km={overlay:n4,content:r4};function o4(a){var s=a,{isOpen:e,onRequestClose:t,className:n,overlayClassName:r,children:o}=s,i=pr(s,["isOpen","onRequestClose","className","overlayClassName","children"]);const l=Fr(n,km.content),u=Fr(r,km.overlay);return R(_0,ge(J({isOpen:e,onRequestClose:t,className:l,overlayClassName:u},i),{children:o}))}var i4=D.exports.memo(o4);const{useCallback:a4,useEffect:s4}=Ur;function l4({dispatch:e,apiConfig:t,modals:n}){if(!window.fetch){const{detail:o}=Lf[Tf];throw new X3(o,Tf)}const r=a4(()=>{e(YN("apiConfig"))},[e]);return s4(()=>{e(ww(t))},[e,t]),ue(i4,{isOpen:n.apiConfig,className:rs.content,overlayClassName:rs.overlay,shouldCloseOnOverlayClick:!1,shouldCloseOnEsc:!1,onRequestClose:r,children:[R("div",{className:rs.container,children:R(Dw,{})}),R("div",{className:rs.fixed,children:R(Ww,{})})]})}const u4=e=>({modals:e.modals,apiConfig:Fo(e)});var c4=kn(u4)(l4);const f4="_root_4m2cd_1",d4="_yacd_4m2cd_14",p4="_link_4m2cd_23";var rc={root:f4,yacd:d4,link:p4};function h4({width:e=24,height:t=24}={}){return R("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:R("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"})})}const v4="https://github.com/haishanh/yacd/issues";function m4({message:e,detail:t}){return ue("div",{className:rc.root,children:[R("div",{className:rc.yacd,children:R(hp,{width:150,height:150})}),e?R("h1",{children:e}):null,t?R("p",{children:t}):null,R("p",{children:ue("a",{className:rc.link,href:v4,children:[R(h4,{width:16,height:16}),"haishanh/yacd"]})})]})}class g4 extends D.exports.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}render(){if(this.state.error){const{message:t,detail:n}=Y3(this.state.error);return R(m4,{message:t,detail:n})}else return this.props.children}}const y4="_root_ecp08_1";var Pm={root:y4},gp=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(i=Object.keys(t),r=i.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;o--!==0;){var a=i[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};function Tm(e,t,n,r=0,o=!1){for(const a of t)if(gp(n,a.args)){if(o)return;if(a.error)throw a.error;if(a.response)return a.response;throw a.promise}const i={args:n,promise:e(...n).then(a=>i.response=a!=null?a:!0).catch(a=>i.error=a!=null?a:"unknown error").then(()=>{r>0&&setTimeout(()=>{const a=t.indexOf(i);a!==-1&&t.splice(a,1)},r)})};if(t.push(i),!o)throw i.promise}function w4(e,...t){if(t===void 0||t.length===0)e.splice(0,e.length);else{const n=e.find(r=>gp(t,r.args));if(n){const r=e.indexOf(n);r!==-1&&e.splice(r,1)}}}function S4(e,t=0){const n=[];return{read:(...r)=>Tm(e,n,r,t),preload:(...r)=>void Tm(e,n,r,t,!0),clear:(...r)=>w4(n,...r),peek:(...r)=>{var o;return(o=n.find(i=>gp(r,i.args)))==null?void 0:o.response}}}const Lm=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];function ea(e){if(e<1e3)return e+" B";const t=Math.min(Math.floor(Math.log10(e)/3),Lm.length-1);e=Number((e/Math.pow(1e3,t)).toPrecision(3));const n=Lm[t];return e+" "+n}const _4=S4(()=>_n(()=>import("./chart-lib.ff648d51.js"),[])),Nm={borderWidth:1,pointRadius:0,tension:.2,fill:!0},b4={responsive:!0,maintainAspectRatio:!0,plugins:{legend:{labels:{boxWidth:20}}},scales:{x:{display:!1,type:"category"},y:{type:"linear",display:!0,grid:{display:!0,color:"#555",drawTicks:!1,borderDash:[3,6],drawBorder:!1},ticks:{callback(e){return ea(e)+"/s "}}}}},Am=[{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)"}}],{useEffect:R4}=ee;function C4(e,t,n,r,o={}){R4(()=>{const i=document.getElementById(t).getContext("2d"),a=J(J({},b4),o),s=new e(i,{type:"line",data:n,options:a}),l=r&&r.subscribe(()=>s.update());return()=>{l&&l(),s.destroy()}},[e,t,n,r,o])}const{useMemo:E4}=Ur,O4={position:"relative",maxWidth:1e3},x4=e=>({apiConfig:Fo(e),selectedChartStyleIndex:nA(e)});var k4=kn(x4)(P4);function P4({apiConfig:e,selectedChartStyleIndex:t}){const n=_4.read(),r=up(e),{t:o}=ra(),i=E4(()=>({labels:r.labels,datasets:[ge(J(J({},Nm),Am[t].up),{label:o("Up"),data:r.up}),ge(J(J({},Nm),Am[t].down),{label:o("Down"),data:r.down})]}),[r,t,o]);return C4(n.Chart,"trafficChart",i,r),R("div",{style:O4,children:R("canvas",{id:"trafficChart"})})}const T4="_TrafficNow_hzna1_1",L4="_sec_hzna1_10";var Gr={TrafficNow:T4,sec:L4};const{useState:Hw,useEffect:qw,useCallback:N4}=Ur,A4=e=>({apiConfig:Fo(e)});var M4=kn(A4)($4);function $4({apiConfig:e}){const{t}=ra(),{upStr:n,downStr:r}=D4(e),{upTotal:o,dlTotal:i,connNumber:a}=I4(e);return ue("div",{className:Gr.TrafficNow,children:[ue("div",{className:Gr.sec,children:[R("div",{children:t("Upload")}),R("div",{children:n})]}),ue("div",{className:Gr.sec,children:[R("div",{children:t("Download")}),R("div",{children:r})]}),ue("div",{className:Gr.sec,children:[R("div",{children:t("Upload Total")}),R("div",{children:o})]}),ue("div",{className:Gr.sec,children:[R("div",{children:t("Download Total")}),R("div",{children:i})]}),ue("div",{className:Gr.sec,children:[R("div",{children:t("Active Connections")}),R("div",{children:a})]})]})}function D4(e){const[t,n]=Hw({upStr:"0 B/s",downStr:"0 B/s"});return qw(()=>up(e).subscribe(r=>n({upStr:ea(r.up)+"/s",downStr:ea(r.down)+"/s"})),[e]),t}function I4(e){const[t,n]=Hw({upTotal:"0 B",dlTotal:"0 B",connNumber:0}),r=N4(({downloadTotal:o,uploadTotal:i,connections:a})=>{n({upTotal:ea(i),dlTotal:ea(o),connNumber:a.length})},[n]);return qw(()=>zA(e,r),[e,r]),t}function F4(){const{t:e}=ra();return ue("div",{children:[R(sw,{title:e("Overview")}),ue("div",{className:Pm.root,children:[R("div",{children:R(M4,{})}),R("div",{className:Pm.chart,children:R(D.exports.Suspense,{fallback:R(bw,{height:"200px"}),children:R(k4,{})})})]})]})}const U4="_lo_pmly2_1";var j4={lo:U4};function z4(){return R("div",{className:j4.lo,children:R(hp,{width:280,height:280,animate:!0,c0:"transparent",c1:"#646464"})})}const V4="_app_1q2jw_1",B4="_content_1q2jw_17";var Qw={app:V4,content:B4},Kw={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Mm=ee.createContext&&ee.createContext(Kw),Jn=globalThis&&globalThis.__assign||function(){return Jn=Object.assign||function(e){for(var t,n=1,r=arguments.length;nR(s$,{to:n,isActive:t.pathname===n,iconId:r,labelText:e(o)},n))}),ue("div",{className:Un.footer,children:[R(Ww,{}),R(Bw,{label:e("about"),children:R(I0,{to:"/about",className:Un.iconWrapper,children:R(hN,{size:20})})})]})]})}const c$="_input_4ejw0_1";var oD={input:c$},Xw={exports:{}},yp={},Yw=Jm(nN),vn=Yw.jsx,oc=Yw.jsxs;Object.defineProperty(yp,"__esModule",{value:!0});var f$=D.exports;function Jw(){return(Jw=Object.assign||function(e){for(var t=1;t=l)&&this.A(n),this.W&&this.setState({N:!1,j:!1}),this.l=Date.now()},t.prototype.p=function(n){n.preventDefault(),typeof n.button=="number"&&n.button!==0||(this.I(n.clientX),window.addEventListener("mousemove",this.v),window.addEventListener("mouseup",this.g))},t.prototype.v=function(n){n.preventDefault(),this.L(n.clientX)},t.prototype.g=function(n){this.U(n),window.removeEventListener("mousemove",this.v),window.removeEventListener("mouseup",this.g)},t.prototype.k=function(n){this.X=null,this.I(n.touches[0].clientX)},t.prototype.M=function(n){this.L(n.touches[0].clientX)},t.prototype.m=function(n){n.preventDefault(),this.U(n)},t.prototype.$=function(n){Date.now()-this.l>50&&(this.A(n),Date.now()-this.u>50&&this.W&&this.setState({j:!1}))},t.prototype.C=function(){this.u=Date.now()},t.prototype.D=function(){this.setState({j:!0})},t.prototype.O=function(){this.setState({j:!1})},t.prototype.S=function(n){this.H=n},t.prototype.T=function(n){n.preventDefault(),this.H.focus(),this.A(n),this.W&&this.setState({j:!1})},t.prototype.A=function(n){var r=this.props;(0,r.onChange)(!r.checked,n,r.id)},t.prototype.render=function(){var n=this.props,r=n.checked,o=n.disabled,i=n.className,a=n.offColor,s=n.onColor,l=n.offHandleColor,u=n.onHandleColor,c=n.checkedIcon,f=n.uncheckedIcon,d=n.checkedHandleIcon,h=n.uncheckedHandleIcon,m=n.boxShadow,y=n.activeBoxShadow,O=n.height,v=n.width,p=n.borderRadius,g=function(T,z){var C={};for(var k in T)Object.prototype.hasOwnProperty.call(T,k)&&z.indexOf(k)===-1&&(C[k]=T[k]);return C}(n,["checked","disabled","className","offColor","onColor","offHandleColor","onHandleColor","checkedIcon","uncheckedIcon","checkedHandleIcon","uncheckedHandleIcon","boxShadow","activeBoxShadow","height","width","borderRadius","handleDiameter"]),S=this.state,x=S.h,E=S.N,A=S.j,L={position:"relative",display:"inline-block",textAlign:"left",opacity:o?.5:1,direction:"ltr",borderRadius:O/2,WebkitTransition:"opacity 0.25s",MozTransition:"opacity 0.25s",transition:"opacity 0.25s",touchAction:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",userSelect:"none"},j={height:O,width:v,margin:Math.max(0,(this.t-O)/2),position:"relative",background:Dm(x,this.i,this.o,a,s),borderRadius:typeof p=="number"?p:O/2,cursor:o?"default":"pointer",WebkitTransition:E?null:"background 0.25s",MozTransition:E?null:"background 0.25s",transition:E?null:"background 0.25s"},M={height:O,width:Math.min(1.5*O,v-(this.t+O)/2+1),position:"relative",opacity:(x-this.o)/(this.i-this.o),pointerEvents:"none",WebkitTransition:E?null:"opacity 0.25s",MozTransition:E?null:"opacity 0.25s",transition:E?null:"opacity 0.25s"},Q={height:O,width:Math.min(1.5*O,v-(this.t+O)/2+1),position:"absolute",opacity:1-(x-this.o)/(this.i-this.o),right:0,top:0,pointerEvents:"none",WebkitTransition:E?null:"opacity 0.25s",MozTransition:E?null:"opacity 0.25s",transition:E?null:"opacity 0.25s"},te={height:this.t,width:this.t,background:Dm(x,this.i,this.o,l,u),display:"inline-block",cursor:o?"default":"pointer",borderRadius:typeof p=="number"?p-1:"50%",position:"absolute",transform:"translateX("+x+"px)",top:Math.max(0,(O-this.t)/2),outline:0,boxShadow:A?y:m,border:0,WebkitTransition:E?null:"background-color 0.25s, transform 0.25s, box-shadow 0.15s",MozTransition:E?null:"background-color 0.25s, transform 0.25s, box-shadow 0.15s",transition:E?null:"background-color 0.25s, transform 0.25s, box-shadow 0.15s"},X={height:this.t,width:this.t,opacity:Math.max(2*(1-(x-this.o)/(this.i-this.o)-.5),0),position:"absolute",left:0,top:0,pointerEvents:"none",WebkitTransition:E?null:"opacity 0.25s",MozTransition:E?null:"opacity 0.25s",transition:E?null:"opacity 0.25s"},w={height:this.t,width:this.t,opacity:Math.max(2*((x-this.o)/(this.i-this.o)-.5),0),position:"absolute",left:0,top:0,pointerEvents:"none",WebkitTransition:E?null:"opacity 0.25s",MozTransition:E?null:"opacity 0.25s",transition:E?null:"opacity 0.25s"};return oc("div",{className:i,style:L,children:[oc("div",{className:"react-switch-bg",style:j,onClick:o?null:this.T,onMouseDown:function(T){return T.preventDefault()},children:[c&&vn("div",{style:M,children:c}),f&&vn("div",{style:Q,children:f})]}),oc("div",{className:"react-switch-handle",style:te,onClick:function(T){return T.preventDefault()},onMouseDown:o?null:this.p,onTouchStart:o?null:this.k,onTouchMove:o?null:this.M,onTouchEnd:o?null:this.m,onTouchCancel:o?null:this.O,children:[h&&vn("div",{style:X,children:h}),d&&vn("div",{style:w,children:d})]}),vn("input",J({},Jw({},{type:"checkbox",role:"switch","aria-checked":r,checked:r,disabled:o,style:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",width:1}},g,{ref:this.S,onFocus:this.D,onBlur:this.O,onKeyUp:this.C,onChange:this.$})))]})},t}(f$.Component);Im.defaultProps={disabled:!1,offColor:"#888",onColor:"#080",offHandleColor:"#fff",onHandleColor:"#fff",uncheckedIcon:d$,checkedIcon:p$,boxShadow:null,activeBoxShadow:"0 0 2px 3px #3bf",height:28,width:56},yp.default=Im;Xw.exports=yp;var ic=Xw.exports;const h$=ic.default?ic.default:ic;function v$({checked:e=!1,onChange:t,theme:n,name:r}){return R(h$,{onChange:t,checked:e,uncheckedIcon:!1,checkedIcon:!1,offColor:n==="dark"?"#393939":"#e9e9e9",onColor:"#047aff",offHandleColor:"#fff",onHandleColor:"#fff",handleDiameter:24,height:28,width:44,className:"rs",name:r})}var iD=kn(e=>({theme:fp(e)}))(v$);const m$="_ToggleSwitch_10mtp_1",g$="_slider_10mtp_28";var Fm={ToggleSwitch:m$,slider:g$};function y$({options:e,value:t,name:n,onChange:r}){const o=D.exports.useMemo(()=>e.map(s=>s.value).indexOf(t),[e,t]),i=D.exports.useCallback(s=>{const l=Math.floor(100/e.length);if(s===e.length-1)return 100-e.length*l+l;if(s>-1)return l},[e]),a=D.exports.useMemo(()=>({width:i(o)+"%",left:o*i(0)+"%"}),[o,i]);return ue("div",{className:Fm.ToggleSwitch,children:[R("div",{className:Fm.slider,style:a}),e.map((s,l)=>{const u=`${n}-${s.label}`;return ue("label",{htmlFor:u,className:l===0?"":"border-left",style:{width:i(l)+"%"},children:[R("input",{id:u,name:n,type:"radio",value:s.value,checked:t===s.value,onChange:r}),R("div",{children:s.label})]},u)})]})}ee.memo(y$);const{lazy:Ra,Suspense:Zw}=Ur,w$=Ra(()=>_n(()=>import("./Connections.1d834293.js"),["assets/Connections.1d834293.js","assets/Connections.c7e8fa7e.css","assets/useRemainingViewPortHeight.037d3897.js","assets/chevron-down.2fd59aec.js","assets/index.e97a91e5.js","assets/Fab.653b8c23.js","assets/Fab.33a60e0e.css","assets/play.4df3e162.js"])),S$=Ra(()=>_n(()=>import("./Config.e907894c.js"),["assets/Config.e907894c.js","assets/Config.58870520.css","assets/logs.b2a9e8c9.js","assets/Select.3926bbe9.js","assets/Select.aace7191.css"])),_$=Ra(()=>_n(()=>import("./Logs.81b3f736.js"),["assets/Logs.81b3f736.js","assets/Logs.029b1e0c.css","assets/index.esm.5decbdaf.js","assets/logs.b2a9e8c9.js","assets/debounce.d080d5e1.js","assets/useRemainingViewPortHeight.037d3897.js","assets/Fab.653b8c23.js","assets/Fab.33a60e0e.css","assets/play.4df3e162.js"])),b$=Ra(()=>_n(()=>import("./Proxies.1d18d1df.js"),["assets/Proxies.1d18d1df.js","assets/Proxies.0b59f3e4.css","assets/chevron-down.2fd59aec.js","assets/Fab.653b8c23.js","assets/Fab.33a60e0e.css","assets/TextFitler.89e5df06.js","assets/TextFitler.3d9182a0.css","assets/debounce.d080d5e1.js","assets/index.e97a91e5.js","assets/Select.3926bbe9.js","assets/Select.aace7191.css"])),R$=Ra(()=>_n(()=>import("./Rules.012703b7.js"),["assets/Rules.012703b7.js","assets/Rules.faccd448.css","assets/index.esm.5decbdaf.js","assets/TextFitler.89e5df06.js","assets/TextFitler.3d9182a0.css","assets/debounce.d080d5e1.js","assets/index.e97a91e5.js","assets/Fab.653b8c23.js","assets/Fab.33a60e0e.css","assets/useRemainingViewPortHeight.037d3897.js"])),C$=[{path:"/",element:R(F4,{})},{path:"/connections",element:R(w$,{})},{path:"/configs",element:R(S$,{})},{path:"/logs",element:R(_$,{})},{path:"/proxies",element:R(b$,{})},{path:"/rules",element:R(R$,{})},{path:"/about",element:R(_A,{})},!1].filter(Boolean);function E$(){return D0(C$)}function O$(){return ue(En,{children:[R(c4,{}),R(u$,{}),R("div",{className:Qw.content,children:R(Zw,{fallback:R(z4,{}),children:R(E$,{})})})]})}function x$(){return D0([{path:"/backend",element:R(Dw,{})},{path:"*",element:R(O$,{})}])}const k$=()=>R(g4,{children:R(KL,{children:R(WN,{initialState:lM,actions:uM,children:R(OC,{client:PA,children:R(lE,{children:ue("div",{className:Qw.app,children:[R(xA,{}),R(Zw,{fallback:R(bw,{}),children:R(x$,{})})]})})})})})}),P$=Boolean(window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function T$(e){if("serviceWorker"in navigator){if(new URL("./",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",()=>{const n=".//sw.js";P$?(L$(n,e),navigator.serviceWorker.ready.then(()=>{console.log("This web app is being served cache-first by a service worker")})):eS(n,e)})}}function eS(e,t){navigator.serviceWorker.register(e).then(n=>{n.onupdatefound=()=>{const r=n.installing;r!=null&&(r.onstatechange=()=>{r.state==="installed"&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(n)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(n)))})}}).catch(n=>{console.error("Error during service worker registration:",n)})}function L$(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then(n=>{const r=n.headers.get("content-type");n.status===404||r!=null&&r.indexOf("javascript")===-1?navigator.serviceWorker.ready.then(o=>{o.unregister().then(()=>{window.location.reload()})}):eS(e,t)}).catch(()=>{console.log("No internet connection found. App is running in offline mode.")})}const tS=document.getElementById("app"),N$=f0(tS);_0.setAppElement(tS);N$.render(R(D.exports.StrictMode,{children:R(k$,{})}));T$();console.log("Checkout the repo: https://github.com/haishanh/yacd");console.log("Version:","0.3.5");export{xw as $,I$ as A,qM as B,sw as C,Rt as D,D$ as E,En as F,FA as G,q$ as H,gN as I,Q$ as J,H$ as K,U$ as L,_0 as M,W$ as N,Wn as O,Fe as P,de as Q,ee as R,hp as S,rD as T,$$ as U,nD as V,XA as W,M3 as X,D3 as Y,YA as Z,fa as _,os as a,eD as a0,z$ as a1,V$ as a2,B$ as a3,Y$ as a4,J$ as a5,tD as a6,mp as a7,Z$ as a8,oA as a9,Uo as aa,Bw as ab,G$ as ac,JA as ad,X$ as ae,vC as af,$e as ag,da as ah,M$ as ai,EC as aj,Xe as ak,TC as al,GL as am,NC as an,ue as b,Fr as c,kn as d,K$ as e,zA as f,Fo as g,Ur as h,_4 as i,R as j,Nm as k,Am as l,km as m,C4 as n,F$ as o,ea as p,ww as q,D as r,oD as s,pm as t,ra as u,j$ as v,BN as w,iD as x,nA as y,rA as z}; diff --git a/clash/clash/dashboard/yacd/assets/index.e97a91e5.js b/clash/clash/dashboard/yacd/assets/index.e97a91e5.js deleted file mode 100644 index 73ddb47..0000000 --- a/clash/clash/dashboard/yacd/assets/index.e97a91e5.js +++ /dev/null @@ -1 +0,0 @@ -function m(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function l(e){m(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console!="undefined"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn(new Error().stack)),new Date(NaN))}function y(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function g(e,t){m(2,arguments);var a=l(e),n=l(t),i=a.getTime()-n.getTime();return i<0?-1:i>0?1:i}function N(e,t){m(2,arguments);var a=l(e),n=l(t),i=a.getFullYear()-n.getFullYear(),r=a.getMonth()-n.getMonth();return i*12+r}function F(e,t){return m(2,arguments),l(e).getTime()-l(t).getTime()}var D={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}},x="trunc";function k(e){return e?D[e]:D[x]}function A(e){m(1,arguments);var t=l(e);return t.setHours(23,59,59,999),t}function C(e){m(1,arguments);var t=l(e),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function X(e){m(1,arguments);var t=l(e);return A(t).getTime()===C(t).getTime()}function I(e,t){m(2,arguments);var a=l(e),n=l(t),i=g(a,n),r=Math.abs(N(a,n)),o;if(r<1)o=0;else{a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-i*r);var s=g(a,n)===-i;X(l(e))&&r===1&&g(e,n)===1&&(s=!1),o=i*(r-Number(s))}return o===0?0:o}function O(e,t,a){m(2,arguments);var n=F(e,t)/1e3;return k(a==null?void 0:a.roundingMethod)(n)}var j={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"}},E=function(e,t,a){var n,i=j[e];return typeof i=="string"?n=i:t===1?n=i.one:n=i.other.replace("{{count}}",t.toString()),a!=null&&a.addSuffix?a.comparison&&a.comparison>0?"in "+n:n+" ago":n},R=E;function M(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=t.width?String(t.width):e.defaultWidth,n=e.formats[a]||e.formats[e.defaultWidth];return n}}var Y={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},_={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},z={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},L={date:M({formats:Y,defaultWidth:"full"}),time:M({formats:_,defaultWidth:"full"}),dateTime:M({formats:z,defaultWidth:"full"})},V=L,q={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},H=function(e,t,a,n){return q[e]},J=H;function c(e){return function(t,a){var n=a||{},i=n.context?String(n.context):"standalone",r;if(i==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,s=n.width?String(n.width):o;r=e.formattingValues[s]||e.formattingValues[o]}else{var d=e.defaultWidth,h=n.width?String(n.width):e.defaultWidth;r=e.values[h]||e.values[d]}var u=e.argumentCallback?e.argumentCallback(t):t;return r[u]}}var U={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Q={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},$={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"]},B={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"]},K={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"}},G={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"}},Z=function(e,t){var a=Number(e),n=a%100;if(n>20||n<10)switch(n%10){case 1:return a+"st";case 2:return a+"nd";case 3:return a+"rd"}return a+"th"},ee={ordinalNumber:Z,era:c({values:U,defaultWidth:"wide"}),quarter:c({values:Q,defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:c({values:$,defaultWidth:"wide"}),day:c({values:B,defaultWidth:"wide"}),dayPeriod:c({values:K,defaultWidth:"wide",formattingValues:G,defaultFormattingWidth:"wide"})},te=ee;function v(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=a.width,i=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;var o=r[0],s=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(s)?ne(s,function(f){return f.test(o)}):ae(s,function(f){return f.test(o)}),h;h=e.valueCallback?e.valueCallback(d):d,h=a.valueCallback?a.valueCallback(h):h;var u=t.slice(o.length);return{value:h,rest:u}}}function ae(e,t){for(var a in e)if(e.hasOwnProperty(a)&&t(e[a]))return a}function ne(e,t){for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:{},n=t.match(e.matchPattern);if(!n)return null;var i=n[0],r=t.match(e.parsePattern);if(!r)return null;var o=e.valueCallback?e.valueCallback(r[0]):r[0];o=a.valueCallback?a.valueCallback(o):o;var s=t.slice(i.length);return{value:o,rest:s}}}var ie=/^(\d+)(th|st|nd|rd)?/i,oe=/\d+/i,ue={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},se={any:[/^b/i,/^(a|c)/i]},le={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},de={any:[/1/i,/2/i,/3/i,/4/i]},fe={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},me={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]},he={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},ce={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]},ve={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},ge={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}},be={ordinalNumber:re({matchPattern:ie,parsePattern:oe,valueCallback:function(e){return parseInt(e,10)}}),era:v({matchPatterns:ue,defaultMatchWidth:"wide",parsePatterns:se,defaultParseWidth:"any"}),quarter:v({matchPatterns:le,defaultMatchWidth:"wide",parsePatterns:de,defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:v({matchPatterns:fe,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any"}),day:v({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:ce,defaultParseWidth:"any"}),dayPeriod:v({matchPatterns:ve,defaultMatchWidth:"any",parsePatterns:ge,defaultParseWidth:"any"})},Me=be,pe={code:"en-US",formatDistance:R,formatLong:V,formatRelative:J,localize:te,match:Me,options:{weekStartsOn:0,firstWeekContainsDate:1}},we=pe;function ye(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");t=t||{};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}function De(e){return ye({},e)}var P=1440,Pe=2520,p=43200,Se=86400;function Te(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};m(2,arguments);var n=a.locale||we;if(!n.formatDistance)throw new RangeError("locale must contain formatDistance property");var i=g(e,t);if(isNaN(i))throw new RangeError("Invalid time value");var r=De(a);r.addSuffix=Boolean(a.addSuffix),r.comparison=i;var o,s;i>0?(o=l(t),s=l(e)):(o=l(e),s=l(t));var d=O(s,o),h=(y(s)-y(o))/1e3,u=Math.round((d-h)/60),f;if(u<2)return a.includeSeconds?d<5?n.formatDistance("lessThanXSeconds",5,r):d<10?n.formatDistance("lessThanXSeconds",10,r):d<20?n.formatDistance("lessThanXSeconds",20,r):d<40?n.formatDistance("halfAMinute",null,r):d<60?n.formatDistance("lessThanXMinutes",1,r):n.formatDistance("xMinutes",1,r):u===0?n.formatDistance("lessThanXMinutes",1,r):n.formatDistance("xMinutes",u,r);if(u<45)return n.formatDistance("xMinutes",u,r);if(u<90)return n.formatDistance("aboutXHours",1,r);if(u=0)&&(r[a]=i[a]);return r}var ct=typeof performance=="object"&&typeof performance.now=="function",H=ct?function(){return performance.now()}:function(){return Date.now()};function j(i){cancelAnimationFrame(i.id)}function ut(i,t){var r=H();function n(){H()-r>=t?i.call(null):a.id=requestAnimationFrame(n)}var a={id:requestAnimationFrame(n)};return a}var N=-1;function K(i){if(i===void 0&&(i=!1),N===-1||i){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",document.body.appendChild(t),N=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return N}var _=null;function V(i){if(i===void 0&&(i=!1),_===null||i){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var n=document.createElement("div"),a=n.style;return a.width="100px",a.height="100px",t.appendChild(n),document.body.appendChild(t),t.scrollLeft>0?_="positive-descending":(t.scrollLeft=1,t.scrollLeft===0?_="negative":_="positive-ascending"),document.body.removeChild(t),_}return _}var ft=150,dt=function(t,r){return t};function Z(i){var t,r=i.getItemOffset,n=i.getEstimatedTotalSize,a=i.getItemSize,l=i.getOffsetForIndexAndAlignment,c=i.getStartIndexForOffset,f=i.getStopIndexForStartIndex,p=i.initInstanceProps,z=i.shouldResetStyleCacheOnItemSizeChange,S=i.validateProps;return t=function(O){ot(M,O);function M(v){var e;return e=O.call(this,v)||this,e._instanceProps=p(e.props,$(e)),e._outerRef=void 0,e._resetIsScrollingTimeoutId=null,e.state={instance:$(e),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof e.props.initialScrollOffset=="number"?e.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},e._callOnItemsRendered=void 0,e._callOnItemsRendered=F(function(o,s,u,m){return e.props.onItemsRendered({overscanStartIndex:o,overscanStopIndex:s,visibleStartIndex:u,visibleStopIndex:m})}),e._callOnScroll=void 0,e._callOnScroll=F(function(o,s,u){return e.props.onScroll({scrollDirection:o,scrollOffset:s,scrollUpdateWasRequested:u})}),e._getItemStyle=void 0,e._getItemStyle=function(o){var s=e.props,u=s.direction,m=s.itemSize,g=s.layout,d=e._getItemStyleCache(z&&m,z&&g,z&&u),h;if(d.hasOwnProperty(o))h=d[o];else{var y=r(e.props,o,e._instanceProps),x=a(e.props,o,e._instanceProps),T=u==="horizontal"||g==="horizontal",b=u==="rtl",R=T?y:0;d[o]=h={position:"absolute",left:b?void 0:R,right:b?R:void 0,top:T?0:y,height:T?"100%":x,width:T?x:"100%"}}return h},e._getItemStyleCache=void 0,e._getItemStyleCache=F(function(o,s,u){return{}}),e._onScrollHorizontal=function(o){var s=o.currentTarget,u=s.clientWidth,m=s.scrollLeft,g=s.scrollWidth;e.setState(function(d){if(d.scrollOffset===m)return null;var h=e.props.direction,y=m;if(h==="rtl")switch(V()){case"negative":y=-m;break;case"positive-descending":y=g-u-m;break}return y=Math.max(0,Math.min(y,g-u)),{isScrolling:!0,scrollDirection:d.scrollOffseth.clientWidth?K():0:d=h.scrollHeight>h.clientHeight?K():0}this.scrollTo(l(this.props,e,o,g,this._instanceProps,d))},I.componentDidMount=function(){var e=this.props,o=e.direction,s=e.initialScrollOffset,u=e.layout;if(typeof s=="number"&&this._outerRef!=null){var m=this._outerRef;o==="horizontal"||u==="horizontal"?m.scrollLeft=s:m.scrollTop=s}this._callPropsCallbacks()},I.componentDidUpdate=function(){var e=this.props,o=e.direction,s=e.layout,u=this.state,m=u.scrollOffset,g=u.scrollUpdateWasRequested;if(g&&this._outerRef!=null){var d=this._outerRef;if(o==="horizontal"||s==="horizontal")if(o==="rtl")switch(V()){case"negative":d.scrollLeft=-m;break;case"positive-ascending":d.scrollLeft=m;break;default:var h=d.clientWidth,y=d.scrollWidth;d.scrollLeft=y-h-m;break}else d.scrollLeft=m;else d.scrollTop=m}this._callPropsCallbacks()},I.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&j(this._resetIsScrollingTimeoutId)},I.render=function(){var e=this.props,o=e.children,s=e.className,u=e.direction,m=e.height,g=e.innerRef,d=e.innerElementType,h=e.innerTagName,y=e.itemCount,x=e.itemData,T=e.itemKey,b=T===void 0?dt:T,R=e.layout,Q=e.outerElementType,X=e.outerTagName,Y=e.style,tt=e.useIsScrolling,et=e.width,W=this.state.isScrolling,P=u==="horizontal"||R==="horizontal",rt=P?this._onScrollHorizontal:this._onScrollVertical,A=this._getRangeToRender(),it=A[0],nt=A[1],D=[];if(y>0)for(var w=it;w<=nt;w++)D.push(E.createElement(o,{data:x,key:b(w,x),index:w,isScrolling:tt?W:void 0,style:this._getItemStyle(w)}));var k=n(this.props,this._instanceProps);return E.createElement(Q||X||"div",{className:s,onScroll:rt,ref:this._outerRefSetter,style:at({position:"relative",height:m,width:et,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:u},Y)},E.createElement(d||h||"div",{children:D,ref:g,style:{height:P?"100%":k,pointerEvents:W?"none":void 0,width:P?k:"100%"}}))},I._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var e=this.props.itemCount;if(e>0){var o=this._getRangeToRender(),s=o[0],u=o[1],m=o[2],g=o[3];this._callOnItemsRendered(s,u,m,g)}}if(typeof this.props.onScroll=="function"){var d=this.state,h=d.scrollDirection,y=d.scrollOffset,x=d.scrollUpdateWasRequested;this._callOnScroll(h,y,x)}},I._getRangeToRender=function(){var e=this.props,o=e.itemCount,s=e.overscanCount,u=this.state,m=u.isScrolling,g=u.scrollDirection,d=u.scrollOffset;if(o===0)return[0,0,0,0];var h=c(this.props,d,this._instanceProps),y=f(this.props,h,d,this._instanceProps),x=!m||g==="backward"?Math.max(1,s):1,T=!m||g==="forward"?Math.max(1,s):1;return[Math.max(0,h-x),Math.max(0,Math.min(o-1,y+T)),h,y]},M}(E.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var mt=function(t,r){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,r.instance},ht=50,C=function(t,r,n){var a=t,l=a.itemSize,c=n.itemMetadataMap,f=n.lastMeasuredIndex;if(r>f){var p=0;if(f>=0){var z=c[f];p=z.offset+z.size}for(var S=f+1;S<=r;S++){var O=l(S);c[S]={offset:p,size:O},p+=O}n.lastMeasuredIndex=r}return c[r]},vt=function(t,r,n){var a=r.itemMetadataMap,l=r.lastMeasuredIndex,c=l>0?a[l].offset:0;return c>=n?J(t,r,l,0,n):pt(t,r,Math.max(0,l),n)},J=function(t,r,n,a,l){for(;a<=n;){var c=a+Math.floor((n-a)/2),f=C(t,c,r).offset;if(f===l)return c;fl&&(n=c-1)}return a>0?a-1:0},pt=function(t,r,n,a){for(var l=t.itemCount,c=1;n=n&&(c=n-1),c>=0){var p=a[c];f=p.offset+p.size}var z=n-c-1,S=z*l;return f+S},yt=Z({getItemOffset:function(t,r,n){return C(t,r,n).offset},getItemSize:function(t,r,n){return n.itemMetadataMap[r].size},getEstimatedTotalSize:B,getOffsetForIndexAndAlignment:function(t,r,n,a,l,c){var f=t.direction,p=t.height,z=t.layout,S=t.width,O=f==="horizontal"||z==="horizontal",M=O?S:p,I=C(t,r,l),v=B(t,l),e=Math.max(0,Math.min(v-M,I.offset)),o=Math.max(0,I.offset-M+I.size+c);switch(n==="smart"&&(a>=o-M&&a<=e+M?n="auto":n="center"),n){case"start":return e;case"end":return o;case"center":return Math.round(o+(e-o)/2);case"auto":default:return a>=o&&a<=e?a:a=s-v&&a<=o+v?n="auto":n="center"),n){case"start":return o;case"end":return s;case"center":{var u=Math.round(s+(o-s)/2);return ue+Math.floor(v/2)?e:u}case"auto":default:return a>=s&&a<=o?a:a=0)&&(r[a]=n[a]);return r}var U=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function ne(n,e){return!!(n===e||U(n)&&U(e))}function ae(n,e){if(n.length!==e.length)return!1;for(var r=0;r=e?n.call(null):a.id=requestAnimationFrame(i)}var a={id:requestAnimationFrame(i)};return a}var C=null;function H(n){if(n===void 0&&(n=!1),C===null||n){var e=document.createElement("div"),r=e.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var i=document.createElement("div"),a=i.style;return a.width="100px",a.height="100px",e.appendChild(i),document.body.appendChild(e),e.scrollLeft>0?C="positive-descending":(e.scrollLeft=1,e.scrollLeft===0?C="negative":C="positive-ascending"),document.body.removeChild(e),C}return C}var le=150,ce=function(e,r){return e};function j(n){var e,r=n.getItemOffset,i=n.getEstimatedTotalSize,a=n.getItemSize,s=n.getOffsetForIndexAndAlignment,c=n.getStartIndexForOffset,u=n.getStopIndexForStartIndex,v=n.initInstanceProps,y=n.shouldResetStyleCacheOnItemSizeChange,M=n.validateProps;return e=function(x){re(p,x);function p(h){var t;return t=x.call(this,h)||this,t._instanceProps=v(t.props,k(t)),t._outerRef=void 0,t._resetIsScrollingTimeoutId=null,t.state={instance:k(t),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof t.props.initialScrollOffset=="number"?t.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},t._callOnItemsRendered=void 0,t._callOnItemsRendered=N(function(o,l,f,d){return t.props.onItemsRendered({overscanStartIndex:o,overscanStopIndex:l,visibleStartIndex:f,visibleStopIndex:d})}),t._callOnScroll=void 0,t._callOnScroll=N(function(o,l,f){return t.props.onScroll({scrollDirection:o,scrollOffset:l,scrollUpdateWasRequested:f})}),t._getItemStyle=void 0,t._getItemStyle=function(o){var l=t.props,f=l.direction,d=l.itemSize,g=l.layout,m=t._getItemStyleCache(y&&d,y&&g,y&&f),I;if(m.hasOwnProperty(o))I=m[o];else{var z=r(t.props,o,t._instanceProps),O=a(t.props,o,t._instanceProps),T=f==="horizontal"||g==="horizontal",R=f==="rtl",b=T?z:0;m[o]=I={position:"absolute",left:R?void 0:b,right:R?b:void 0,top:T?0:z,height:T?"100%":O,width:T?O:"100%"}}return I},t._getItemStyleCache=void 0,t._getItemStyleCache=N(function(o,l,f){return{}}),t._onScrollHorizontal=function(o){var l=o.currentTarget,f=l.clientWidth,d=l.scrollLeft,g=l.scrollWidth;t.setState(function(m){if(m.scrollOffset===d)return null;var I=t.props.direction,z=d;if(I==="rtl")switch(H()){case"negative":z=-d;break;case"positive-descending":z=g-f-d;break}return z=Math.max(0,Math.min(z,g-f)),{isScrolling:!0,scrollDirection:m.scrollOffset0)for(var w=ee;w<=te;w++)A.push(E.exports.createElement(o,{data:O,key:R(w,O),index:w,isScrolling:J?L:void 0,style:this._getItemStyle(w)}));var D=i(this.props,this._instanceProps);return E.exports.createElement(G||Q||"div",{className:l,onScroll:Y,ref:this._outerRefSetter,style:ie({position:"relative",height:d,width:X,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:f},Z)},E.exports.createElement(m||I||"div",{children:A,ref:g,style:{height:F?"100%":D,pointerEvents:L?"none":void 0,width:F?D:"100%"}}))},S._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var t=this.props.itemCount;if(t>0){var o=this._getRangeToRender(),l=o[0],f=o[1],d=o[2],g=o[3];this._callOnItemsRendered(l,f,d,g)}}if(typeof this.props.onScroll=="function"){var m=this.state,I=m.scrollDirection,z=m.scrollOffset,O=m.scrollUpdateWasRequested;this._callOnScroll(I,z,O)}},S._getRangeToRender=function(){var t=this.props,o=t.itemCount,l=t.overscanCount,f=this.state,d=f.isScrolling,g=f.scrollDirection,m=f.scrollOffset;if(o===0)return[0,0,0,0];var I=c(this.props,m,this._instanceProps),z=u(this.props,I,m,this._instanceProps),O=!d||g==="backward"?Math.max(1,l):1,T=!d||g==="forward"?Math.max(1,l):1;return[Math.max(0,I-O),Math.max(0,Math.min(o-1,z+T)),I,z]},p}(E.exports.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},e}var ue=function(e,r){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,r.instance},fe=50,_=function(e,r,i){var a=e,s=a.itemSize,c=i.itemMetadataMap,u=i.lastMeasuredIndex;if(r>u){var v=0;if(u>=0){var y=c[u];v=y.offset+y.size}for(var M=u+1;M<=r;M++){var x=s(M);c[M]={offset:v,size:x},v+=x}i.lastMeasuredIndex=r}return c[r]},de=function(e,r,i){var a=r.itemMetadataMap,s=r.lastMeasuredIndex,c=s>0?a[s].offset:0;return c>=i?B(e,r,s,0,i):me(e,r,Math.max(0,s),i)},B=function(e,r,i,a,s){for(;a<=i;){var c=a+Math.floor((i-a)/2),u=_(e,c,r).offset;if(u===s)return c;us&&(i=c-1)}return a>0?a-1:0},me=function(e,r,i,a){for(var s=e.itemCount,c=1;i=i&&(c=i-1),c>=0){var v=a[c];u=v.offset+v.size}var y=i-c-1,M=y*s;return u+M},Se=j({getItemOffset:function(e,r,i){return _(e,r,i).offset},getItemSize:function(e,r,i){return i.itemMetadataMap[r].size},getEstimatedTotalSize:K,getOffsetForIndexAndAlignment:function(e,r,i,a,s){var c=e.direction,u=e.height,v=e.layout,y=e.width,M=c==="horizontal"||v==="horizontal",x=M?y:u,p=_(e,r,s),S=K(e,s),h=Math.max(0,Math.min(S-x,p.offset)),t=Math.max(0,p.offset-x+p.size);switch(i==="smart"&&(a>=t-x&&a<=h+x?i="auto":i="center"),i){case"start":return h;case"end":return t;case"center":return Math.round(t+(h-t)/2);case"auto":default:return a>=t&&a<=h?a:a=t-p&&a<=h+p?i="auto":i="center"),i){case"start":return h;case"end":return t;case"center":{var o=Math.round(t+(h-t)/2);return oS+Math.floor(p/2)?S:o}case"auto":default:return a>=t&&a<=h?a:a=o)return!1;var c=e+r/4%e,p=Math.floor(r/4/e),i=t.getImageData(c,p,1,1).data;return!(l[r]!==i[0]||l[r+2]!==i[2]||t.measureText(n).width>=e)}}();function E(t="Twemoji Country Flags",a="https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2"){if(s("😊")&&!s("🇨🇭")){const e=document.createElement("style");return e.textContent=`@font-face { + font-family: "${t}"; + unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, + U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F; + src: url('${a}') format('woff2'); + font-display: swap; + }`,document.head.appendChild(e),!0}return!1}export{E as polyfillCountryFlagEmojis}; diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-0364d368.woff2 b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-0364d368.woff2 new file mode 100644 index 0000000..c659f5e Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-0364d368.woff2 differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-e3982e96.woff b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-e3982e96.woff new file mode 100644 index 0000000..b3db306 Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal-e3982e96.woff differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.9ec803ce.woff b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.9ec803ce.woff deleted file mode 100644 index 4fcb4b5..0000000 Binary files a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.9ec803ce.woff and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.d56fec21.woff2 b/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.d56fec21.woff2 deleted file mode 100644 index 56a570b..0000000 Binary files a/clash/clash/dashboard/yacd/assets/inter-latin-400-normal.d56fec21.woff2 and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-02e00891.woff b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-02e00891.woff new file mode 100644 index 0000000..5a05354 Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-02e00891.woff differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-a51ac27d.woff2 b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-a51ac27d.woff2 new file mode 100644 index 0000000..27db054 Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal-a51ac27d.woff2 differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.5eea1309.woff2 b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.5eea1309.woff2 deleted file mode 100644 index 595bcec..0000000 Binary files a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.5eea1309.woff2 and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.98c540b2.woff b/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.98c540b2.woff deleted file mode 100644 index feb91cc..0000000 Binary files a/clash/clash/dashboard/yacd/assets/inter-latin-800-normal.98c540b2.woff and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/logs-2efc7736.js b/clash/clash/dashboard/yacd/assets/logs-2efc7736.js new file mode 100644 index 0000000..d21fdeb --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/logs-2efc7736.js @@ -0,0 +1,2 @@ +import{E as w,F as D,G as u}from"./index-3b7e2f10.js";const v="/logs",L=new TextDecoder("utf-8"),M=()=>Math.floor((1+Math.random())*65536).toString(16);let h=!1,i=!1,f="",s,g;function m(e,n){let t;try{t=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}const r=new Date,l=$(r);t.time=l,t.id=+r-0+M(),t.even=h=!h,n(t)}function $(e){const n=e.getFullYear()%100,t=u(e.getMonth()+1,2),r=u(e.getDate(),2),l=u(e.getHours(),2),o=u(e.getMinutes(),2),c=u(e.getSeconds(),2);return`${n}-${t}-${r} ${l}:${o}:${c}`}function p(e,n){return e.read().then(({done:t,value:r})=>{const l=L.decode(r,{stream:!t});f+=l;const o=f.split(` +`),c=o[o.length-1];for(let d=0;de[t]).join("|")}let b,a;function k(e,n){if(e.logLevel==="uninit"||i||s&&s.readyState===1)return;g=n;const t=w(e,v);s=new WebSocket(t),s.addEventListener("error",()=>{y(e,n)}),s.addEventListener("message",function(r){m(r.data,n)})}function F(){s.close(),a&&a.abort()}function O(e){!g||!s||(s.close(),i=!1,k(e,g))}function y(e,n){if(a&&S(e)!==b)a.abort();else if(i)return;i=!0,b=S(e),a=new AbortController;const t=a.signal,{url:r,init:l}=D(e);fetch(r+v+"?level="+e.logLevel,{...l,signal:t}).then(o=>{const c=o.body.getReader();p(c,n)},o=>{i=!1,!t.aborted&&console.log("GET /logs error:",o.message)})}export{k as f,O as r,F as s}; diff --git a/clash/clash/dashboard/yacd/assets/logs.b2a9e8c9.js b/clash/clash/dashboard/yacd/assets/logs.b2a9e8c9.js deleted file mode 100644 index 396b788..0000000 --- a/clash/clash/dashboard/yacd/assets/logs.b2a9e8c9.js +++ /dev/null @@ -1,2 +0,0 @@ -var $=Object.defineProperty,k=Object.defineProperties;var y=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var E=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var S=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))E.call(t,n)&&S(e,n,t[n]);if(h)for(var n of h(t))A.call(t,n)&&S(e,n,t[n]);return e},v=(e,t)=>k(e,y(t));import{A as O,D as R,E as u}from"./index.25cbb458.js";const L="/logs",x=new TextDecoder("utf-8"),F=()=>Math.floor((1+Math.random())*65536).toString(16);let p=!1,i=!1,f="",s,g;function m(e,t){let n;try{n=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}const r=new Date,l=H(r);n.time=l,n.id=+r-0+F(),n.even=p=!p,t(n)}function H(e){const t=e.getFullYear()%100,n=u(e.getMonth()+1,2),r=u(e.getDate(),2),l=u(e.getHours(),2),o=u(e.getMinutes(),2),c=u(e.getSeconds(),2);return`${t}-${n}-${r} ${l}:${o}:${c}`}function M(e,t){return e.read().then(({done:n,value:r})=>{f+=x.decode(r,{stream:!n});const o=f.split(` -`),c=o[o.length-1];for(let d=0;de[n]).join("|")}let w,a;function J(e,t){if(e.logLevel==="uninit"||i||s&&s.readyState===1)return;g=t;const n=O(e,L);s=new WebSocket(n),s.addEventListener("error",()=>{N(e,t)}),s.addEventListener("message",function(r){m(r.data,t)})}function Y(){s.close(),a&&a.abort()}function j(e){!g||!s||(s.close(),i=!1,J(e,g))}function N(e,t){if(a&&D(e)!==w)a.abort();else if(i)return;i=!0,w=D(e),a=new AbortController;const n=a.signal,{url:r,init:l}=R(e);fetch(r+L+"?level="+e.logLevel,v(b({},l),{signal:n})).then(o=>{const c=o.body.getReader();M(c,t)},o=>{i=!1,!n.aborted&&console.log("GET /logs error:",o.message)})}export{J as f,j as r,Y as s}; diff --git a/clash/clash/dashboard/yacd/assets/play-c4e5016b.js b/clash/clash/dashboard/yacd/assets/play-c4e5016b.js new file mode 100644 index 0000000..71ff9c3 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/play-c4e5016b.js @@ -0,0 +1 @@ +import{r as g,R as s,P as a}from"./index-3b7e2f10.js";function f(){return f=Object.assign||function(t){for(var o=1;o=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function y(t,o){if(t==null)return{};var r={},e=Object.keys(t),n,i;for(i=0;i=0)&&(r[n]=t[n]);return r}var c=g.forwardRef(function(t,o){var r=t.color,e=r===void 0?"currentColor":r,n=t.size,i=n===void 0?24:n,l=v(t,["color","size"]);return s.createElement("svg",f({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),s.createElement("rect",{x:"6",y:"4",width:"4",height:"16"}),s.createElement("rect",{x:"14",y:"4",width:"4",height:"16"}))});c.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};c.displayName="Pause";const b=c;function p(){return p=Object.assign||function(t){for(var o=1;o=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function O(t,o){if(t==null)return{};var r={},e=Object.keys(t),n,i;for(i=0;i=0)&&(r[n]=t[n]);return r}var u=g.forwardRef(function(t,o){var r=t.color,e=r===void 0?"currentColor":r,n=t.size,i=n===void 0?24:n,l=h(t,["color","size"]);return s.createElement("svg",p({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),s.createElement("polygon",{points:"5 3 19 12 5 21 5 3"}))});u.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};u.displayName="Play";const w=u;export{w as P,b as a}; diff --git a/clash/clash/dashboard/yacd/assets/play.4df3e162.js b/clash/clash/dashboard/yacd/assets/play.4df3e162.js deleted file mode 100644 index 9553dc1..0000000 --- a/clash/clash/dashboard/yacd/assets/play.4df3e162.js +++ /dev/null @@ -1 +0,0 @@ -var h=Object.defineProperty,d=Object.defineProperties;var w=Object.getOwnPropertyDescriptors;var y=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var v=(e,t,r)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,p=(e,t)=>{for(var r in t||(t={}))b.call(t,r)&&v(e,r,t[r]);if(y)for(var r of y(t))O.call(t,r)&&v(e,r,t[r]);return e},f=(e,t)=>d(e,w(t));import{r as g,b as j,j as a,P as s}from"./index.25cbb458.js";function P(e,t){if(e==null)return{};var r=k(e,t),i,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,i)||(r[i]=e[i]))}return r}function k(e,t){if(e==null)return{};var r={},i=Object.keys(e),o,n;for(n=0;n=0)&&(r[o]=e[o]);return r}var c=g.exports.forwardRef(function(e,t){var r=e.color,i=r===void 0?"currentColor":r,o=e.size,n=o===void 0?24:o,l=P(e,["color","size"]);return j("svg",f(p({ref:t,xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:i,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),{children:[a("rect",{x:"6",y:"4",width:"4",height:"16"}),a("rect",{x:"14",y:"4",width:"4",height:"16"})]}))});c.propTypes={color:s.string,size:s.oneOfType([s.string,s.number])};c.displayName="Pause";var L=c;function x(e,t){if(e==null)return{};var r=m(e,t),i,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,i)||(r[i]=e[i]))}return r}function m(e,t){if(e==null)return{};var r={},i=Object.keys(e),o,n;for(n=0;n=0)&&(r[o]=e[o]);return r}var u=g.exports.forwardRef(function(e,t){var r=e.color,i=r===void 0?"currentColor":r,o=e.size,n=o===void 0?24:o,l=x(e,["color","size"]);return a("svg",f(p({ref:t,xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:i,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),{children:a("polygon",{points:"5 3 19 12 5 21 5 3"})}))});u.propTypes={color:s.string,size:s.oneOfType([s.string,s.number])};u.displayName="Play";var W=u;export{W as P,L as a}; diff --git a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-7295944e.woff2 b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-7295944e.woff2 new file mode 100644 index 0000000..f8894ba Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-7295944e.woff2 differ diff --git a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-d5d7d67f.woff b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-d5d7d67f.woff new file mode 100644 index 0000000..60cf13b Binary files /dev/null and b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal-d5d7d67f.woff differ diff --git a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.2dfc0e86.woff b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.2dfc0e86.woff deleted file mode 100644 index f319fbf..0000000 Binary files a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.2dfc0e86.woff and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.e1fd013a.woff2 b/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.e1fd013a.woff2 deleted file mode 100644 index ed384d2..0000000 Binary files a/clash/clash/dashboard/yacd/assets/roboto-mono-latin-400-normal.e1fd013a.woff2 and /dev/null differ diff --git a/clash/clash/dashboard/yacd/assets/useMutation-75c97bd7.js b/clash/clash/dashboard/yacd/assets/useMutation-75c97bd7.js new file mode 100644 index 0000000..ceb061a --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/useMutation-75c97bd7.js @@ -0,0 +1 @@ +import{ac as b,ad as f,ae as p,af as h,ag as v,o as R,r as c,ah as M,ai as y}from"./index-3b7e2f10.js";class m extends b{constructor(t,e){super(),this.client=t,this.setOptions(e),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var e;const r=this.options;this.options=this.client.defaultMutationOptions(t),f(r,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(e=this.currentMutation)==null||e.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const e={listeners:!0};t.type==="success"?e.onSuccess=!0:t.type==="error"&&(e.onError=!0),this.notify(e)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,e){return this.mutateOptions=e,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,{...this.options,variables:typeof t<"u"?t:this.options.variables}),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:p(),e={...t,isLoading:t.status==="loading",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset};this.currentResult=e}notify(t){h.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var e,r,u,s;(e=(r=this.mutateOptions).onSuccess)==null||e.call(r,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(u=(s=this.mutateOptions).onSettled)==null||u.call(s,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var i,o,n,a;(i=(o=this.mutateOptions).onError)==null||i.call(o,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(n=(a=this.mutateOptions).onSettled)==null||n.call(a,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:d})=>{d(this.currentResult)})})}}function E(l,t,e){const r=v(l,t,e),u=R({context:r.context}),[s]=c.useState(()=>new m(u,r));c.useEffect(()=>{s.setOptions(r)},[s,r]);const i=M(c.useCallback(n=>s.subscribe(h.batchCalls(n)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),o=c.useCallback((n,a)=>{s.mutate(n,a).catch(g)},[s]);if(i.error&&y(s.options.useErrorBoundary,[i.error]))throw i.error;return{...i,mutate:o,mutateAsync:i.mutate}}function g(){}export{E as u}; diff --git a/clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight.037d3897.js b/clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight-22ab7283.js similarity index 81% rename from clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight.037d3897.js rename to clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight-22ab7283.js index e4b7cad..6940f53 100644 --- a/clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight.037d3897.js +++ b/clash/clash/dashboard/yacd/assets/useRemainingViewPortHeight-22ab7283.js @@ -1 +1 @@ -import{h as r}from"./index.25cbb458.js";const{useState:s,useRef:u,useCallback:a,useLayoutEffect:c}=r;function d(){const t=u(null),[n,i]=s(200),e=a(()=>{const{top:o}=t.current.getBoundingClientRect();i(window.innerHeight-o)},[]);return c(()=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[e]),[t,n]}export{d as u}; +import{k as r}from"./index-3b7e2f10.js";const{useState:s,useRef:u,useCallback:a,useLayoutEffect:c}=r;function d(){const t=u(null),[n,i]=s(200),e=a(()=>{const{top:o}=t.current.getBoundingClientRect();i(window.innerHeight-o)},[]);return c(()=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[e]),[t,n]}export{d as u}; diff --git a/clash/clash/dashboard/yacd/assets/zh-019c0297.js b/clash/clash/dashboard/yacd/assets/zh-019c0297.js new file mode 100644 index 0000000..a105a82 --- /dev/null +++ b/clash/clash/dashboard/yacd/assets/zh-019c0297.js @@ -0,0 +1 @@ +const e={Overview:"概览",Proxies:"代理",Rules:"规则",Conns:"连接",Config:"配置",Logs:"日志",Upload:"上传",Download:"下载","Upload Total":"上传总量","Download Total":"下载总量","Active Connections":"活动连接","Pause Refresh":"暂停刷新","Resume Refresh":"继续刷新",Up:"上传",Down:"下载","Test Latency":"延迟测速",settings:"设置",sort_in_grp:"代理组条目排序",hide_unavail_proxies:"隐藏不可用代理",auto_close_conns:"切换代理时自动断开旧连接",order_natural:"原 config 文件中的排序",order_latency_asc:"按延迟从小到大",order_latency_desc:"按延迟从大到小",order_name_asc:"按名称字母排序 (A-Z)",order_name_desc:"按名称字母排序 (Z-A)",Connections:"连接",current_backend:"当前后端",Active:"活动",switch_backend:"切换后端",Closed:"已断开",switch_theme:"切换主题",theme:"主题",about:"关于",no_logs:"暂无日志...",chart_style:"流量图样式",latency_test_url:"延迟测速 URL",lang:"语言",update_all_rule_provider:"更新所有 rule provider",update_all_proxy_provider:"更新所有 proxy providers",dark_mode_pure_black_toggle_label:"在黑色主题下使用纯黑背景"};export{e as data}; diff --git a/clash/clash/dashboard/yacd/assets/zh.9b79b7bf.js b/clash/clash/dashboard/yacd/assets/zh.9b79b7bf.js deleted file mode 100644 index b240eda..0000000 --- a/clash/clash/dashboard/yacd/assets/zh.9b79b7bf.js +++ /dev/null @@ -1 +0,0 @@ -const u={Overview:"\u6982\u89C8",Proxies:"\u4EE3\u7406",Rules:"\u89C4\u5219",Conns:"\u8FDE\u63A5",Config:"\u914D\u7F6E",Logs:"\u65E5\u5FD7",Upload:"\u4E0A\u4F20",Download:"\u4E0B\u8F7D","Upload Total":"\u4E0A\u4F20\u603B\u91CF","Download Total":"\u4E0B\u8F7D\u603B\u91CF","Active Connections":"\u6D3B\u52A8\u8FDE\u63A5","Pause Refresh":"\u6682\u505C\u5237\u65B0","Resume Refresh":"\u7EE7\u7EED\u5237\u65B0",Up:"\u4E0A\u4F20",Down:"\u4E0B\u8F7D","Test Latency":"\u5EF6\u8FDF\u6D4B\u901F",settings:"\u8BBE\u7F6E",sort_in_grp:"\u4EE3\u7406\u7EC4\u6761\u76EE\u6392\u5E8F",hide_unavail_proxies:"\u9690\u85CF\u4E0D\u53EF\u7528\u4EE3\u7406",auto_close_conns:"\u5207\u6362\u4EE3\u7406\u65F6\u81EA\u52A8\u65AD\u5F00\u65E7\u8FDE\u63A5",order_natural:"\u539F config \u6587\u4EF6\u4E2D\u7684\u6392\u5E8F",order_latency_asc:"\u6309\u5EF6\u8FDF\u4ECE\u5C0F\u5230\u5927",order_latency_desc:"\u6309\u5EF6\u8FDF\u4ECE\u5927\u5230\u5C0F",order_name_asc:"\u6309\u540D\u79F0\u5B57\u6BCD\u6392\u5E8F (A-Z)",order_name_desc:"\u6309\u540D\u79F0\u5B57\u6BCD\u6392\u5E8F (Z-A)",Connections:"\u8FDE\u63A5",Active:"\u6D3B\u52A8",Closed:"\u5DF2\u65AD\u5F00",switch_theme:"\u5207\u6362\u4E3B\u9898",theme:"\u4E3B\u9898",about:"\u5173\u4E8E",no_logs:"\u6682\u65E0\u65E5\u5FD7...",chart_style:"\u6D41\u91CF\u56FE\u6837\u5F0F",latency_test_url:"\u5EF6\u8FDF\u6D4B\u901F URL",lang:"\u8BED\u8A00",update_all_rule_provider:"\u66F4\u65B0\u6240\u6709 rule provider",update_all_proxy_provider:"\u66F4\u65B0\u6240\u6709 proxy providers"};export{u as data}; diff --git a/clash/clash/dashboard/yacd/index.html b/clash/clash/dashboard/yacd/index.html index ad3824e..8bab4b7 100644 --- a/clash/clash/dashboard/yacd/index.html +++ b/clash/clash/dashboard/yacd/index.html @@ -7,16 +7,16 @@ + + - - yacd - - - + + +
diff --git a/clash/clash/dashboard/yacd/sw.js b/clash/clash/dashboard/yacd/sw.js index c511757..a96c1c3 100644 --- a/clash/clash/dashboard/yacd/sw.js +++ b/clash/clash/dashboard/yacd/sw.js @@ -1,2 +1,1731 @@ -var X=Object.defineProperty,Y=Object.defineProperties;var Z=Object.getOwnPropertyDescriptors;var A=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var v=(s,e,t)=>e in s?X(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,O=(s,e)=>{for(var t in e||(e={}))ee.call(e,t)&&v(s,t,e[t]);if(A)for(var t of A(e))te.call(e,t)&&v(s,t,e[t]);return s},S=(s,e)=>Y(s,Z(e));try{self["workbox:core:6.5.2"]&&_()}catch{}const se=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},ne=se;class l extends Error{constructor(e,t){const n=ne(e,t);super(n),this.name=e,this.details=t}}const V=new Set;function ae(s){V.add(s)}const d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration!="undefined"?registration.scope:""},E=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),re=s=>{for(const e of Object.keys(d))s(e)},x={updateDetails:s=>{re(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||E(d.googleAnalytics),getPrecacheName:s=>s||E(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||E(d.runtime),getSuffix:()=>d.suffix};function W(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function ie(s,e,t,n){const a=W(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await s.keys(e,r);for(const c of i){const o=W(c.url,t);if(a===o)return s.match(c,n)}}let m;function ce(){if(m===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),m=!0}catch{m=!1}m=!1}return m}function $(s){s.then(()=>{})}class oe{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}async function he(){for(const s of V)await s()}const le=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function ue(s){return new Promise(e=>setTimeout(e,s))}function B(s,e){const t=e();return s.waitUntil(t),t}async function de(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new l("cross-origin-copy-response",{origin:t});const n=s.clone(),a={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},r=e?e(a):a,i=ce()?n.body:await n.blob();return new Response(i,r)}function fe(){self.addEventListener("activate",()=>self.clients.claim())}const pe=(s,e)=>e.some(t=>s instanceof t);let j,q;function ge(){return j||(j=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function me(){return q||(q=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const G=new WeakMap,P=new WeakMap,Q=new WeakMap,D=new WeakMap,I=new WeakMap;function ye(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",i)},r=()=>{t(f(s.result)),a()},i=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&G.set(t,s)}).catch(()=>{}),I.set(e,s),e}function we(s){if(P.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",i),s.removeEventListener("abort",i)},r=()=>{t(),a()},i=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",i),s.addEventListener("abort",i)});P.set(s,e)}let k={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return P.get(s);if(e==="objectStoreNames")return s.objectStoreNames||Q.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return f(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function _e(s){k=s(k)}function Re(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(L(this),e,...t);return Q.set(n,e.sort?e.sort():[e]),f(n)}:me().includes(s)?function(...e){return s.apply(L(this),e),f(G.get(this))}:function(...e){return f(s.apply(L(this),e))}}function be(s){return typeof s=="function"?Re(s):(s instanceof IDBTransaction&&we(s),pe(s,ge())?new Proxy(s,k):s)}function f(s){if(s instanceof IDBRequest)return ye(s);if(D.has(s))return D.get(s);const e=be(s);return e!==s&&(D.set(s,e),I.set(e,s)),e}const L=s=>I.get(s);function Ce(s,e,{blocked:t,upgrade:n,blocking:a,terminated:r}={}){const i=indexedDB.open(s,e),c=f(i);return n&&i.addEventListener("upgradeneeded",o=>{n(f(i.result),o.oldVersion,o.newVersion,f(i.transaction))}),t&&i.addEventListener("blocked",()=>t()),c.then(o=>{r&&o.addEventListener("close",()=>r()),a&&o.addEventListener("versionchange",()=>a())}).catch(()=>{}),c}function xe(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",()=>e()),f(t).then(()=>{})}const Ee=["get","getKey","getAll","getAllKeys","count"],De=["put","add","delete","clear"],U=new Map;function F(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(U.get(e))return U.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=De.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ee.includes(t)))return;const r=async function(i,...c){const o=this.transaction(i,a?"readwrite":"readonly");let h=o.store;return n&&(h=h.index(c.shift())),(await Promise.all([h[t](...c),a&&o.done]))[0]};return U.set(e,r),r}_e(s=>S(O({},s),{get:(e,t,n)=>F(e,t)||s.get(e,t,n),has:(e,t)=>!!F(e,t)||s.has(e,t)}));try{self["workbox:expiration:6.5.2"]&&_()}catch{}const Le="workbox-expiration",y="cache-entries",H=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class Ue{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(y,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&xe(this._cacheName)}async setTimestamp(e,t){e=H(e);const n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(y,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){const n=await(await this.getDb()).get(y,this._getId(e));return n==null?void 0:n.timestamp}async expireEntries(e,t){const n=await this.getDb();let a=await n.transaction(y).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp=t?r.push(a.value):i++),a=await a.continue()}const c=[];for(const o of r)await n.delete(y,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+H(e)}async getDb(){return this._db||(this._db=await Ce(Le,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Te{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Ue(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(const a of t)await n.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,$(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t{if(!r)return null;const i=this._isResponseDateFresh(r),c=this._getCacheExpiration(a);$(c.expireEntries());const o=c.updateTimestamp(n.url);if(t)try{t.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:t,request:n})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(n.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ae(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===x.getRuntimeName())throw new l("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new Te(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const n=Date.now();return t>=n-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:precaching:6.5.2"]&&_()}catch{}const ke="__WB_REVISION__";function Ie(s){if(!s)throw new l("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const r=new URL(s,location.href);return{cacheKey:r.href,url:r.href}}const{revision:e,url:t}=s;if(!t)throw new l("add-to-cache-list-unexpected-type",{entry:s});if(!e){const r=new URL(t,location.href);return{cacheKey:r.href,url:r.href}}const n=new URL(t,location.href),a=new URL(t,location.href);return n.searchParams.set(ke,e),{cacheKey:n.href,url:a.href}}class Me{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;n?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return n}}}class Ne{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const a=(n==null?void 0:n.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}try{self["workbox:strategies:6.5.2"]&&_()}catch{}function b(s){return typeof s=="string"?new Request(s):s}class Ke{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new oe,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=b(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const i=await t.preloadResponse;if(i)return i}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const i of this.iterateCallbacks("requestWillFetch"))n=await i({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new l("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=n.clone();try{let i;i=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))i=await c({event:t,request:r,response:i});return i}catch(i){throw a&&await this.runCallbacks("fetchDidFail",{error:i,event:t,originalRequest:a.clone(),request:r.clone()}),i}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=b(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,i=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(i,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=b(e);await ue(0);const a=await this.getCacheKey(n,"write");if(!t)throw new l("cache-put-with-no-response",{url:le(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:c}=this._strategy,o=await self.caches.open(i),h=this.hasCallback("cacheDidUpdate"),g=h?await ie(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,h?r.clone():r)}catch(u){if(u instanceof Error)throw u.name==="QuotaExceededError"&&await he(),u}for(const u of this.iterateCallbacks("cacheDidUpdate"))await u({cacheName:i,oldResponse:g,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=b(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class z{constructor(e={}){this.cacheName=x.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new Ke(this,{event:t,request:n,params:a}),i=this._getResponse(r,n,t),c=this._awaitComplete(i,r,n,t);return[i,c]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new l("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const i of e.iterateCallbacks("handlerDidError"))if(a=await i({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,i;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(c){c instanceof Error&&(i=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:i}),t.destroy(),i)throw i}}class p extends z{constructor(e={}){e.cacheName=x.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(p.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const a=t.params||{};if(this._fallbackToNetwork){const r=a.integrity,i=e.integrity,c=!i||i===r;n=await t.fetch(new Request(e,{integrity:i||r})),r&&c&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new l("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new l("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,a]of this.plugins.entries())a!==p.copyRedirectedCacheableResponsesPlugin&&(a===p.defaultPrecacheCacheabilityPlugin&&(e=n),a.cacheWillUpdate&&t++);t===0?this.plugins.push(p.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}p.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};p.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await de(s):s}};class Ae{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new p({cacheName:x.getPrecacheName(e),plugins:[...t,new Ne({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:a,url:r}=Ie(n),i=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==a)throw new l("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:a});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==n.integrity)throw new l("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(a,n.integrity)}if(this._urlsToCacheKeys.set(r,a),this._urlsToCacheModes.set(r,i),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")} -This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return B(e,async()=>{const t=new Me;this.strategy.plugins.push(t);for(const[r,i]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(i),o=this._urlsToCacheModes.get(r),h=new Request(r,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:i},request:h,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return B(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const i of n)a.has(i.url)||(await t.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new l("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let T;const M=()=>(T||(T=new Ae),T);try{self["workbox:routing:6.5.2"]&&_()}catch{}const J="GET",C=s=>s&&typeof s=="object"?s:{handle:s};class R{constructor(e,t,n=J){this.handler=C(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=C(e)}}class ve extends R{constructor(e,t,n){const a=({url:r})=>{const i=e.exec(r.href);if(!!i&&!(r.origin!==location.origin&&i.index!==0))return i.slice(1)};super(a,t,n)}}class Oe{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let c=i&&i.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let h;try{h=c.handle({url:n,request:e,event:t,params:r})}catch(u){h=Promise.reject(u)}const g=i&&i.catchHandler;return h instanceof Promise&&(this._catchHandler||g)&&(h=h.catch(async u=>{if(g)try{return await g.handle({url:n,request:e,event:t,params:r})}catch(K){K instanceof Error&&(u=K)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),h}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const i of r){let c;const o=i.match({url:e,sameOrigin:t,request:n,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:i,params:c}}return{}}setDefaultHandler(e,t=J){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new l("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new l("unregister-route-route-not-registered")}}let w;const Se=()=>(w||(w=new Oe,w.addFetchListener(),w.addCacheListener()),w);function N(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),i=({url:c})=>c.href===r.href;n=new R(i,e,t)}else if(s instanceof RegExp)n=new ve(s,e,t);else if(typeof s=="function")n=new R(s,e,t);else if(s instanceof R)n=s;else throw new l("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Se().registerRoute(n),n}function We(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*Be(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const i=We(r,e);if(yield i.href,t&&i.pathname.endsWith("/")){const c=new URL(i.href);c.pathname+=t,yield c.href}if(n){const c=new URL(i.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:r});for(const o of c)yield o.href}}class je extends R{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const i of Be(a.url,t)){const c=r.get(i);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(n,e.strategy)}}function qe(s){const e=M(),t=new je(e,s);N(t)}function Fe(s){return M().createHandlerBoundToURL(s)}function He(s){M().precache(s)}function Ve(s,e){He(s),qe(e)}const $e={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class Ge extends z{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift($e)}async _handle(e,t){const n=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(n);let a=await t.cacheMatch(e),r;if(!a)try{a=await n}catch(i){i instanceof Error&&(r=i)}if(!a)throw new l("no-response",{url:e.url,error:r});return a}}fe();Ve([{"revision":null,"url":"assets/chart-lib.ff648d51.js"},{"revision":null,"url":"assets/chevron-down.2fd59aec.js"},{"revision":null,"url":"assets/Config.58870520.css"},{"revision":null,"url":"assets/Config.e907894c.js"},{"revision":null,"url":"assets/Connections.1d834293.js"},{"revision":null,"url":"assets/Connections.c7e8fa7e.css"},{"revision":null,"url":"assets/debounce.d080d5e1.js"},{"revision":null,"url":"assets/en.fb34eaf7.js"},{"revision":null,"url":"assets/Fab.33a60e0e.css"},{"revision":null,"url":"assets/Fab.653b8c23.js"},{"revision":null,"url":"assets/index.068c89e5.js"},{"revision":null,"url":"assets/index.25cbb458.js"},{"revision":null,"url":"assets/index.e97a91e5.js"},{"revision":null,"url":"assets/index.esm.5decbdaf.js"},{"revision":null,"url":"assets/index.f692540b.css"},{"revision":null,"url":"assets/Logs.029b1e0c.css"},{"revision":null,"url":"assets/Logs.81b3f736.js"},{"revision":null,"url":"assets/logs.b2a9e8c9.js"},{"revision":null,"url":"assets/play.4df3e162.js"},{"revision":null,"url":"assets/Proxies.0b59f3e4.css"},{"revision":null,"url":"assets/Proxies.1d18d1df.js"},{"revision":null,"url":"assets/Rules.012703b7.js"},{"revision":null,"url":"assets/Rules.faccd448.css"},{"revision":null,"url":"assets/Select.3926bbe9.js"},{"revision":null,"url":"assets/Select.aace7191.css"},{"revision":null,"url":"assets/TextFitler.3d9182a0.css"},{"revision":null,"url":"assets/TextFitler.89e5df06.js"},{"revision":null,"url":"assets/useRemainingViewPortHeight.037d3897.js"},{"revision":null,"url":"assets/zh.9b79b7bf.js"},{"revision":"cefe03e12caf222f3e85920225192e60","url":"index.html"},{"revision":"402b66900e731ca748771b6fc5e7a068","url":"registerSW.js"},{"revision":"c0f9cb6aaf647e778bdc01c59944755b","url":"manifest.webmanifest"}]);const Qe=new RegExp("/[^/?]+\\.[^/]+$");N(({request:s,url:e})=>!(s.mode!=="navigate"||e.pathname.startsWith("/_")||e.pathname.match(Qe)),Fe("index.html"));N(({url:s})=>s.origin===self.location.origin&&s.pathname.endsWith(".png"),new Ge({cacheName:"images",plugins:[new Pe({maxEntries:50})]}));self.addEventListener("message",s=>{s.data&&s.data.type==="SKIP_WAITING"&&self.skipWaiting()}); +try { + self["workbox:core:7.0.0"] && _(); +} catch { +} +const G = (s, ...e) => { + let t = s; + return e.length > 0 && (t += ` :: ${JSON.stringify(e)}`), t; +}, Q = G; +class l extends Error { + /** + * + * @param {string} errorCode The error code that + * identifies this particular error. + * @param {Object=} details Any relevant arguments + * that will help developers identify issues should + * be added as a key on the context object. + */ + constructor(e, t) { + const n = Q(e, t); + super(n), this.name = e, this.details = t; + } +} +const j = /* @__PURE__ */ new Set(); +function z(s) { + j.add(s); +} +const d = { + googleAnalytics: "googleAnalytics", + precache: "precache-v2", + prefix: "workbox", + runtime: "runtime", + suffix: typeof registration < "u" ? registration.scope : "" +}, E = (s) => [d.prefix, s, d.suffix].filter((e) => e && e.length > 0).join("-"), J = (s) => { + for (const e of Object.keys(d)) + s(e); +}, x = { + updateDetails: (s) => { + J((e) => { + typeof s[e] == "string" && (d[e] = s[e]); + }); + }, + getGoogleAnalyticsName: (s) => s || E(d.googleAnalytics), + getPrecacheName: (s) => s || E(d.precache), + getPrefix: () => d.prefix, + getRuntimeName: (s) => s || E(d.runtime), + getSuffix: () => d.suffix +}; +function A(s, e) { + const t = new URL(s); + for (const n of e) + t.searchParams.delete(n); + return t.href; +} +async function X(s, e, t, n) { + const a = A(e.url, t); + if (e.url === a) + return s.match(e, n); + const r = Object.assign(Object.assign({}, n), { ignoreSearch: !0 }), i = await s.keys(e, r); + for (const c of i) { + const o = A(c.url, t); + if (a === o) + return s.match(c, n); + } +} +let m; +function Y() { + if (m === void 0) { + const s = new Response(""); + if ("body" in s) + try { + new Response(s.body), m = !0; + } catch { + m = !1; + } + m = !1; + } + return m; +} +function q(s) { + s.then(() => { + }); +} +class Z { + /** + * Creates a promise and exposes its resolve and reject functions as methods. + */ + constructor() { + this.promise = new Promise((e, t) => { + this.resolve = e, this.reject = t; + }); + } +} +async function ee() { + for (const s of j) + await s(); +} +const te = (s) => new URL(String(s), location.href).href.replace(new RegExp(`^${location.origin}`), ""); +function se(s) { + return new Promise((e) => setTimeout(e, s)); +} +function O(s, e) { + const t = e(); + return s.waitUntil(t), t; +} +async function ne(s, e) { + let t = null; + if (s.url && (t = new URL(s.url).origin), t !== self.location.origin) + throw new l("cross-origin-copy-response", { origin: t }); + const n = s.clone(), a = { + headers: new Headers(n.headers), + status: n.status, + statusText: n.statusText + }, r = e ? e(a) : a, i = Y() ? n.body : await n.blob(); + return new Response(i, r); +} +function ae() { + self.addEventListener("activate", () => self.clients.claim()); +} +const re = (s, e) => e.some((t) => s instanceof t); +let S, v; +function ie() { + return S || (S = [ + IDBDatabase, + IDBObjectStore, + IDBIndex, + IDBCursor, + IDBTransaction + ]); +} +function ce() { + return v || (v = [ + IDBCursor.prototype.advance, + IDBCursor.prototype.continue, + IDBCursor.prototype.continuePrimaryKey + ]); +} +const F = /* @__PURE__ */ new WeakMap(), P = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), I = /* @__PURE__ */ new WeakMap(); +function oe(s) { + const e = new Promise((t, n) => { + const a = () => { + s.removeEventListener("success", r), s.removeEventListener("error", i); + }, r = () => { + t(f(s.result)), a(); + }, i = () => { + n(s.error), a(); + }; + s.addEventListener("success", r), s.addEventListener("error", i); + }); + return e.then((t) => { + t instanceof IDBCursor && F.set(t, s); + }).catch(() => { + }), I.set(e, s), e; +} +function he(s) { + if (P.has(s)) + return; + const e = new Promise((t, n) => { + const a = () => { + s.removeEventListener("complete", r), s.removeEventListener("error", i), s.removeEventListener("abort", i); + }, r = () => { + t(), a(); + }, i = () => { + n(s.error || new DOMException("AbortError", "AbortError")), a(); + }; + s.addEventListener("complete", r), s.addEventListener("error", i), s.addEventListener("abort", i); + }); + P.set(s, e); +} +let k = { + get(s, e, t) { + if (s instanceof IDBTransaction) { + if (e === "done") + return P.get(s); + if (e === "objectStoreNames") + return s.objectStoreNames || H.get(s); + if (e === "store") + return t.objectStoreNames[1] ? void 0 : t.objectStore(t.objectStoreNames[0]); + } + return f(s[e]); + }, + set(s, e, t) { + return s[e] = t, !0; + }, + has(s, e) { + return s instanceof IDBTransaction && (e === "done" || e === "store") ? !0 : e in s; + } +}; +function le(s) { + k = s(k); +} +function ue(s) { + return s === IDBDatabase.prototype.transaction && !("objectStoreNames" in IDBTransaction.prototype) ? function(e, ...t) { + const n = s.call(L(this), e, ...t); + return H.set(n, e.sort ? e.sort() : [e]), f(n); + } : ce().includes(s) ? function(...e) { + return s.apply(L(this), e), f(F.get(this)); + } : function(...e) { + return f(s.apply(L(this), e)); + }; +} +function de(s) { + return typeof s == "function" ? ue(s) : (s instanceof IDBTransaction && he(s), re(s, ie()) ? new Proxy(s, k) : s); +} +function f(s) { + if (s instanceof IDBRequest) + return oe(s); + if (D.has(s)) + return D.get(s); + const e = de(s); + return e !== s && (D.set(s, e), I.set(e, s)), e; +} +const L = (s) => I.get(s); +function fe(s, e, { blocked: t, upgrade: n, blocking: a, terminated: r } = {}) { + const i = indexedDB.open(s, e), c = f(i); + return n && i.addEventListener("upgradeneeded", (o) => { + n(f(i.result), o.oldVersion, o.newVersion, f(i.transaction), o); + }), t && i.addEventListener("blocked", (o) => t( + // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405 + o.oldVersion, + o.newVersion, + o + )), c.then((o) => { + r && o.addEventListener("close", () => r()), a && o.addEventListener("versionchange", (h) => a(h.oldVersion, h.newVersion, h)); + }).catch(() => { + }), c; +} +function pe(s, { blocked: e } = {}) { + const t = indexedDB.deleteDatabase(s); + return e && t.addEventListener("blocked", (n) => e( + // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405 + n.oldVersion, + n + )), f(t).then(() => { + }); +} +const ge = ["get", "getKey", "getAll", "getAllKeys", "count"], me = ["put", "add", "delete", "clear"], U = /* @__PURE__ */ new Map(); +function W(s, e) { + if (!(s instanceof IDBDatabase && !(e in s) && typeof e == "string")) + return; + if (U.get(e)) + return U.get(e); + const t = e.replace(/FromIndex$/, ""), n = e !== t, a = me.includes(t); + if ( + // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge. + !(t in (n ? IDBIndex : IDBObjectStore).prototype) || !(a || ge.includes(t)) + ) + return; + const r = async function(i, ...c) { + const o = this.transaction(i, a ? "readwrite" : "readonly"); + let h = o.store; + return n && (h = h.index(c.shift())), (await Promise.all([ + h[t](...c), + a && o.done + ]))[0]; + }; + return U.set(e, r), r; +} +le((s) => ({ + ...s, + get: (e, t, n) => W(e, t) || s.get(e, t, n), + has: (e, t) => !!W(e, t) || s.has(e, t) +})); +try { + self["workbox:expiration:7.0.0"] && _(); +} catch { +} +const ye = "workbox-expiration", y = "cache-entries", B = (s) => { + const e = new URL(s, location.href); + return e.hash = "", e.href; +}; +class we { + /** + * + * @param {string} cacheName + * + * @private + */ + constructor(e) { + this._db = null, this._cacheName = e; + } + /** + * Performs an upgrade of indexedDB. + * + * @param {IDBPDatabase} db + * + * @private + */ + _upgradeDb(e) { + const t = e.createObjectStore(y, { keyPath: "id" }); + t.createIndex("cacheName", "cacheName", { unique: !1 }), t.createIndex("timestamp", "timestamp", { unique: !1 }); + } + /** + * Performs an upgrade of indexedDB and deletes deprecated DBs. + * + * @param {IDBPDatabase} db + * + * @private + */ + _upgradeDbAndDeleteOldDbs(e) { + this._upgradeDb(e), this._cacheName && pe(this._cacheName); + } + /** + * @param {string} url + * @param {number} timestamp + * + * @private + */ + async setTimestamp(e, t) { + e = B(e); + const n = { + url: e, + timestamp: t, + cacheName: this._cacheName, + // Creating an ID from the URL and cache name won't be necessary once + // Edge switches to Chromium and all browsers we support work with + // array keyPaths. + id: this._getId(e) + }, r = (await this.getDb()).transaction(y, "readwrite", { + durability: "relaxed" + }); + await r.store.put(n), await r.done; + } + /** + * Returns the timestamp stored for a given URL. + * + * @param {string} url + * @return {number | undefined} + * + * @private + */ + async getTimestamp(e) { + const n = await (await this.getDb()).get(y, this._getId(e)); + return n == null ? void 0 : n.timestamp; + } + /** + * Iterates through all the entries in the object store (from newest to + * oldest) and removes entries once either `maxCount` is reached or the + * entry's timestamp is less than `minTimestamp`. + * + * @param {number} minTimestamp + * @param {number} maxCount + * @return {Array} + * + * @private + */ + async expireEntries(e, t) { + const n = await this.getDb(); + let a = await n.transaction(y).store.index("timestamp").openCursor(null, "prev"); + const r = []; + let i = 0; + for (; a; ) { + const o = a.value; + o.cacheName === this._cacheName && (e && o.timestamp < e || t && i >= t ? r.push(a.value) : i++), a = await a.continue(); + } + const c = []; + for (const o of r) + await n.delete(y, o.id), c.push(o.url); + return c; + } + /** + * Takes a URL and returns an ID that will be unique in the object store. + * + * @param {string} url + * @return {string} + * + * @private + */ + _getId(e) { + return this._cacheName + "|" + B(e); + } + /** + * Returns an open connection to the database. + * + * @private + */ + async getDb() { + return this._db || (this._db = await fe(ye, 1, { + upgrade: this._upgradeDbAndDeleteOldDbs.bind(this) + })), this._db; + } +} +class _e { + /** + * To construct a new CacheExpiration instance you must provide at least + * one of the `config` properties. + * + * @param {string} cacheName Name of the cache to apply restrictions to. + * @param {Object} config + * @param {number} [config.maxEntries] The maximum number of entries to cache. + * Entries used the least will be removed as the maximum is reached. + * @param {number} [config.maxAgeSeconds] The maximum age of an entry before + * it's treated as stale and removed. + * @param {Object} [config.matchOptions] The [`CacheQueryOptions`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete#Parameters) + * that will be used when calling `delete()` on the cache. + */ + constructor(e, t = {}) { + this._isRunning = !1, this._rerunRequested = !1, this._maxEntries = t.maxEntries, this._maxAgeSeconds = t.maxAgeSeconds, this._matchOptions = t.matchOptions, this._cacheName = e, this._timestampModel = new we(e); + } + /** + * Expires entries for the given cache and given criteria. + */ + async expireEntries() { + if (this._isRunning) { + this._rerunRequested = !0; + return; + } + this._isRunning = !0; + const e = this._maxAgeSeconds ? Date.now() - this._maxAgeSeconds * 1e3 : 0, t = await this._timestampModel.expireEntries(e, this._maxEntries), n = await self.caches.open(this._cacheName); + for (const a of t) + await n.delete(a, this._matchOptions); + this._isRunning = !1, this._rerunRequested && (this._rerunRequested = !1, q(this.expireEntries())); + } + /** + * Update the timestamp for the given URL. This ensures the when + * removing entries based on maximum entries, most recently used + * is accurate or when expiring, the timestamp is up-to-date. + * + * @param {string} url + */ + async updateTimestamp(e) { + await this._timestampModel.setTimestamp(e, Date.now()); + } + /** + * Can be used to check if a URL has expired or not before it's used. + * + * This requires a look up from IndexedDB, so can be slow. + * + * Note: This method will not remove the cached entry, call + * `expireEntries()` to remove indexedDB and Cache entries. + * + * @param {string} url + * @return {boolean} + */ + async isURLExpired(e) { + if (this._maxAgeSeconds) { + const t = await this._timestampModel.getTimestamp(e), n = Date.now() - this._maxAgeSeconds * 1e3; + return t !== void 0 ? t < n : !0; + } else + return !1; + } + /** + * Removes the IndexedDB object store used to keep track of cache expiration + * metadata. + */ + async delete() { + this._rerunRequested = !1, await this._timestampModel.expireEntries(1 / 0); + } +} +class Re { + /** + * @param {ExpirationPluginOptions} config + * @param {number} [config.maxEntries] The maximum number of entries to cache. + * Entries used the least will be removed as the maximum is reached. + * @param {number} [config.maxAgeSeconds] The maximum age of an entry before + * it's treated as stale and removed. + * @param {Object} [config.matchOptions] The [`CacheQueryOptions`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete#Parameters) + * that will be used when calling `delete()` on the cache. + * @param {boolean} [config.purgeOnQuotaError] Whether to opt this cache in to + * automatic deletion if the available storage quota has been exceeded. + */ + constructor(e = {}) { + this.cachedResponseWillBeUsed = async ({ event: t, request: n, cacheName: a, cachedResponse: r }) => { + if (!r) + return null; + const i = this._isResponseDateFresh(r), c = this._getCacheExpiration(a); + q(c.expireEntries()); + const o = c.updateTimestamp(n.url); + if (t) + try { + t.waitUntil(o); + } catch { + } + return i ? r : null; + }, this.cacheDidUpdate = async ({ cacheName: t, request: n }) => { + const a = this._getCacheExpiration(t); + await a.updateTimestamp(n.url), await a.expireEntries(); + }, this._config = e, this._maxAgeSeconds = e.maxAgeSeconds, this._cacheExpirations = /* @__PURE__ */ new Map(), e.purgeOnQuotaError && z(() => this.deleteCacheAndMetadata()); + } + /** + * A simple helper method to return a CacheExpiration instance for a given + * cache name. + * + * @param {string} cacheName + * @return {CacheExpiration} + * + * @private + */ + _getCacheExpiration(e) { + if (e === x.getRuntimeName()) + throw new l("expire-custom-caches-only"); + let t = this._cacheExpirations.get(e); + return t || (t = new _e(e, this._config), this._cacheExpirations.set(e, t)), t; + } + /** + * @param {Response} cachedResponse + * @return {boolean} + * + * @private + */ + _isResponseDateFresh(e) { + if (!this._maxAgeSeconds) + return !0; + const t = this._getDateHeaderTimestamp(e); + if (t === null) + return !0; + const n = Date.now(); + return t >= n - this._maxAgeSeconds * 1e3; + } + /** + * This method will extract the data header and parse it into a useful + * value. + * + * @param {Response} cachedResponse + * @return {number|null} + * + * @private + */ + _getDateHeaderTimestamp(e) { + if (!e.headers.has("date")) + return null; + const t = e.headers.get("date"), a = new Date(t).getTime(); + return isNaN(a) ? null : a; + } + /** + * This is a helper method that performs two operations: + * + * - Deletes *all* the underlying Cache instances associated with this plugin + * instance, by calling caches.delete() on your behalf. + * - Deletes the metadata from IndexedDB used to keep track of expiration + * details for each Cache instance. + * + * When using cache expiration, calling this method is preferable to calling + * `caches.delete()` directly, since this will ensure that the IndexedDB + * metadata is also cleanly removed and open IndexedDB instances are deleted. + * + * Note that if you're *not* using cache expiration for a given cache, calling + * `caches.delete()` and passing in the cache's name should be sufficient. + * There is no Workbox-specific method needed for cleanup in that case. + */ + async deleteCacheAndMetadata() { + for (const [e, t] of this._cacheExpirations) + await self.caches.delete(e), await t.delete(); + this._cacheExpirations = /* @__PURE__ */ new Map(); + } +} +try { + self["workbox:precaching:7.0.0"] && _(); +} catch { +} +const be = "__WB_REVISION__"; +function Ce(s) { + if (!s) + throw new l("add-to-cache-list-unexpected-type", { entry: s }); + if (typeof s == "string") { + const r = new URL(s, location.href); + return { + cacheKey: r.href, + url: r.href + }; + } + const { revision: e, url: t } = s; + if (!t) + throw new l("add-to-cache-list-unexpected-type", { entry: s }); + if (!e) { + const r = new URL(t, location.href); + return { + cacheKey: r.href, + url: r.href + }; + } + const n = new URL(t, location.href), a = new URL(t, location.href); + return n.searchParams.set(be, e), { + cacheKey: n.href, + url: a.href + }; +} +class xe { + constructor() { + this.updatedURLs = [], this.notUpdatedURLs = [], this.handlerWillStart = async ({ request: e, state: t }) => { + t && (t.originalRequest = e); + }, this.cachedResponseWillBeUsed = async ({ event: e, state: t, cachedResponse: n }) => { + if (e.type === "install" && t && t.originalRequest && t.originalRequest instanceof Request) { + const a = t.originalRequest.url; + n ? this.notUpdatedURLs.push(a) : this.updatedURLs.push(a); + } + return n; + }; + } +} +class Ee { + constructor({ precacheController: e }) { + this.cacheKeyWillBeUsed = async ({ request: t, params: n }) => { + const a = (n == null ? void 0 : n.cacheKey) || this._precacheController.getCacheKeyForURL(t.url); + return a ? new Request(a, { headers: t.headers }) : t; + }, this._precacheController = e; + } +} +try { + self["workbox:strategies:7.0.0"] && _(); +} catch { +} +function b(s) { + return typeof s == "string" ? new Request(s) : s; +} +class De { + /** + * Creates a new instance associated with the passed strategy and event + * that's handling the request. + * + * The constructor also initializes the state that will be passed to each of + * the plugins handling this request. + * + * @param {workbox-strategies.Strategy} strategy + * @param {Object} options + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] The return value from the + * {@link workbox-routing~matchCallback} (if applicable). + */ + constructor(e, t) { + this._cacheKeys = {}, Object.assign(this, t), this.event = t.event, this._strategy = e, this._handlerDeferred = new Z(), this._extendLifetimePromises = [], this._plugins = [...e.plugins], this._pluginStateMap = /* @__PURE__ */ new Map(); + for (const n of this._plugins) + this._pluginStateMap.set(n, {}); + this.event.waitUntil(this._handlerDeferred.promise); + } + /** + * Fetches a given request (and invokes any applicable plugin callback + * methods) using the `fetchOptions` (for non-navigation requests) and + * `plugins` defined on the `Strategy` object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - `requestWillFetch()` + * - `fetchDidSucceed()` + * - `fetchDidFail()` + * + * @param {Request|string} input The URL or request to fetch. + * @return {Promise} + */ + async fetch(e) { + const { event: t } = this; + let n = b(e); + if (n.mode === "navigate" && t instanceof FetchEvent && t.preloadResponse) { + const i = await t.preloadResponse; + if (i) + return i; + } + const a = this.hasCallback("fetchDidFail") ? n.clone() : null; + try { + for (const i of this.iterateCallbacks("requestWillFetch")) + n = await i({ request: n.clone(), event: t }); + } catch (i) { + if (i instanceof Error) + throw new l("plugin-error-request-will-fetch", { + thrownErrorMessage: i.message + }); + } + const r = n.clone(); + try { + let i; + i = await fetch(n, n.mode === "navigate" ? void 0 : this._strategy.fetchOptions); + for (const c of this.iterateCallbacks("fetchDidSucceed")) + i = await c({ + event: t, + request: r, + response: i + }); + return i; + } catch (i) { + throw a && await this.runCallbacks("fetchDidFail", { + error: i, + event: t, + originalRequest: a.clone(), + request: r.clone() + }), i; + } + } + /** + * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on + * the response generated by `this.fetch()`. + * + * The call to `this.cachePut()` automatically invokes `this.waitUntil()`, + * so you do not have to manually call `waitUntil()` on the event. + * + * @param {Request|string} input The request or URL to fetch and cache. + * @return {Promise} + */ + async fetchAndCachePut(e) { + const t = await this.fetch(e), n = t.clone(); + return this.waitUntil(this.cachePut(e, n)), t; + } + /** + * Matches a request from the cache (and invokes any applicable plugin + * callback methods) using the `cacheName`, `matchOptions`, and `plugins` + * defined on the strategy object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - cacheKeyWillByUsed() + * - cachedResponseWillByUsed() + * + * @param {Request|string} key The Request or URL to use as the cache key. + * @return {Promise} A matching response, if found. + */ + async cacheMatch(e) { + const t = b(e); + let n; + const { cacheName: a, matchOptions: r } = this._strategy, i = await this.getCacheKey(t, "read"), c = Object.assign(Object.assign({}, r), { cacheName: a }); + n = await caches.match(i, c); + for (const o of this.iterateCallbacks("cachedResponseWillBeUsed")) + n = await o({ + cacheName: a, + matchOptions: r, + cachedResponse: n, + request: i, + event: this.event + }) || void 0; + return n; + } + /** + * Puts a request/response pair in the cache (and invokes any applicable + * plugin callback methods) using the `cacheName` and `plugins` defined on + * the strategy object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - cacheKeyWillByUsed() + * - cacheWillUpdate() + * - cacheDidUpdate() + * + * @param {Request|string} key The request or URL to use as the cache key. + * @param {Response} response The response to cache. + * @return {Promise} `false` if a cacheWillUpdate caused the response + * not be cached, and `true` otherwise. + */ + async cachePut(e, t) { + const n = b(e); + await se(0); + const a = await this.getCacheKey(n, "write"); + if (!t) + throw new l("cache-put-with-no-response", { + url: te(a.url) + }); + const r = await this._ensureResponseSafeToCache(t); + if (!r) + return !1; + const { cacheName: i, matchOptions: c } = this._strategy, o = await self.caches.open(i), h = this.hasCallback("cacheDidUpdate"), g = h ? await X( + // TODO(philipwalton): the `__WB_REVISION__` param is a precaching + // feature. Consider into ways to only add this behavior if using + // precaching. + o, + a.clone(), + ["__WB_REVISION__"], + c + ) : null; + try { + await o.put(a, h ? r.clone() : r); + } catch (u) { + if (u instanceof Error) + throw u.name === "QuotaExceededError" && await ee(), u; + } + for (const u of this.iterateCallbacks("cacheDidUpdate")) + await u({ + cacheName: i, + oldResponse: g, + newResponse: r.clone(), + request: a, + event: this.event + }); + return !0; + } + /** + * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and + * executes any of those callbacks found in sequence. The final `Request` + * object returned by the last plugin is treated as the cache key for cache + * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have + * been registered, the passed request is returned unmodified + * + * @param {Request} request + * @param {string} mode + * @return {Promise} + */ + async getCacheKey(e, t) { + const n = `${e.url} | ${t}`; + if (!this._cacheKeys[n]) { + let a = e; + for (const r of this.iterateCallbacks("cacheKeyWillBeUsed")) + a = b(await r({ + mode: t, + request: a, + event: this.event, + // params has a type any can't change right now. + params: this.params + // eslint-disable-line + })); + this._cacheKeys[n] = a; + } + return this._cacheKeys[n]; + } + /** + * Returns true if the strategy has at least one plugin with the given + * callback. + * + * @param {string} name The name of the callback to check for. + * @return {boolean} + */ + hasCallback(e) { + for (const t of this._strategy.plugins) + if (e in t) + return !0; + return !1; + } + /** + * Runs all plugin callbacks matching the given name, in order, passing the + * given param object (merged ith the current plugin state) as the only + * argument. + * + * Note: since this method runs all plugins, it's not suitable for cases + * where the return value of a callback needs to be applied prior to calling + * the next callback. See + * {@link workbox-strategies.StrategyHandler#iterateCallbacks} + * below for how to handle that case. + * + * @param {string} name The name of the callback to run within each plugin. + * @param {Object} param The object to pass as the first (and only) param + * when executing each callback. This object will be merged with the + * current plugin state prior to callback execution. + */ + async runCallbacks(e, t) { + for (const n of this.iterateCallbacks(e)) + await n(t); + } + /** + * Accepts a callback and returns an iterable of matching plugin callbacks, + * where each callback is wrapped with the current handler state (i.e. when + * you call each callback, whatever object parameter you pass it will + * be merged with the plugin's current state). + * + * @param {string} name The name fo the callback to run + * @return {Array} + */ + *iterateCallbacks(e) { + for (const t of this._strategy.plugins) + if (typeof t[e] == "function") { + const n = this._pluginStateMap.get(t); + yield (r) => { + const i = Object.assign(Object.assign({}, r), { state: n }); + return t[e](i); + }; + } + } + /** + * Adds a promise to the + * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises} + * of the event event associated with the request being handled (usually a + * `FetchEvent`). + * + * Note: you can await + * {@link workbox-strategies.StrategyHandler~doneWaiting} + * to know when all added promises have settled. + * + * @param {Promise} promise A promise to add to the extend lifetime promises + * of the event that triggered the request. + */ + waitUntil(e) { + return this._extendLifetimePromises.push(e), e; + } + /** + * Returns a promise that resolves once all promises passed to + * {@link workbox-strategies.StrategyHandler~waitUntil} + * have settled. + * + * Note: any work done after `doneWaiting()` settles should be manually + * passed to an event's `waitUntil()` method (not this handler's + * `waitUntil()` method), otherwise the service worker thread my be killed + * prior to your work completing. + */ + async doneWaiting() { + let e; + for (; e = this._extendLifetimePromises.shift(); ) + await e; + } + /** + * Stops running the strategy and immediately resolves any pending + * `waitUntil()` promises. + */ + destroy() { + this._handlerDeferred.resolve(null); + } + /** + * This method will call cacheWillUpdate on the available plugins (or use + * status === 200) to determine if the Response is safe and valid to cache. + * + * @param {Request} options.request + * @param {Response} options.response + * @return {Promise} + * + * @private + */ + async _ensureResponseSafeToCache(e) { + let t = e, n = !1; + for (const a of this.iterateCallbacks("cacheWillUpdate")) + if (t = await a({ + request: this.request, + response: t, + event: this.event + }) || void 0, n = !0, !t) + break; + return n || t && t.status !== 200 && (t = void 0), t; + } +} +class V { + /** + * Creates a new instance of the strategy and sets all documented option + * properties as public instance properties. + * + * Note: if a custom strategy class extends the base Strategy class and does + * not need more than these properties, it does not need to define its own + * constructor. + * + * @param {Object} [options] + * @param {string} [options.cacheName] Cache name to store and retrieve + * requests. Defaults to the cache names provided by + * {@link workbox-core.cacheNames}. + * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters) + * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) + * `fetch()` requests made by this strategy. + * @param {Object} [options.matchOptions] The + * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions} + * for any `cache.match()` or `cache.put()` calls made by this strategy. + */ + constructor(e = {}) { + this.cacheName = x.getRuntimeName(e.cacheName), this.plugins = e.plugins || [], this.fetchOptions = e.fetchOptions, this.matchOptions = e.matchOptions; + } + /** + * Perform a request strategy and returns a `Promise` that will resolve with + * a `Response`, invoking all relevant plugin callbacks. + * + * When a strategy instance is registered with a Workbox + * {@link workbox-routing.Route}, this method is automatically + * called when the route matches. + * + * Alternatively, this method can be used in a standalone `FetchEvent` + * listener by passing it to `event.respondWith()`. + * + * @param {FetchEvent|Object} options A `FetchEvent` or an object with the + * properties listed below. + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] + */ + handle(e) { + const [t] = this.handleAll(e); + return t; + } + /** + * Similar to {@link workbox-strategies.Strategy~handle}, but + * instead of just returning a `Promise` that resolves to a `Response` it + * it will return an tuple of `[response, done]` promises, where the former + * (`response`) is equivalent to what `handle()` returns, and the latter is a + * Promise that will resolve once any promises that were added to + * `event.waitUntil()` as part of performing the strategy have completed. + * + * You can await the `done` promise to ensure any extra work performed by + * the strategy (usually caching responses) completes successfully. + * + * @param {FetchEvent|Object} options A `FetchEvent` or an object with the + * properties listed below. + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] + * @return {Array} A tuple of [response, done] + * promises that can be used to determine when the response resolves as + * well as when the handler has completed all its work. + */ + handleAll(e) { + e instanceof FetchEvent && (e = { + event: e, + request: e.request + }); + const t = e.event, n = typeof e.request == "string" ? new Request(e.request) : e.request, a = "params" in e ? e.params : void 0, r = new De(this, { event: t, request: n, params: a }), i = this._getResponse(r, n, t), c = this._awaitComplete(i, r, n, t); + return [i, c]; + } + async _getResponse(e, t, n) { + await e.runCallbacks("handlerWillStart", { event: n, request: t }); + let a; + try { + if (a = await this._handle(t, e), !a || a.type === "error") + throw new l("no-response", { url: t.url }); + } catch (r) { + if (r instanceof Error) { + for (const i of e.iterateCallbacks("handlerDidError")) + if (a = await i({ error: r, event: n, request: t }), a) + break; + } + if (!a) + throw r; + } + for (const r of e.iterateCallbacks("handlerWillRespond")) + a = await r({ event: n, request: t, response: a }); + return a; + } + async _awaitComplete(e, t, n, a) { + let r, i; + try { + r = await e; + } catch { + } + try { + await t.runCallbacks("handlerDidRespond", { + event: a, + request: n, + response: r + }), await t.doneWaiting(); + } catch (c) { + c instanceof Error && (i = c); + } + if (await t.runCallbacks("handlerDidComplete", { + event: a, + request: n, + response: r, + error: i + }), t.destroy(), i) + throw i; + } +} +class p extends V { + /** + * + * @param {Object} [options] + * @param {string} [options.cacheName] Cache name to store and retrieve + * requests. Defaults to the cache names provided by + * {@link workbox-core.cacheNames}. + * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init} + * of all fetch() requests made by this strategy. + * @param {Object} [options.matchOptions] The + * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions} + * for any `cache.match()` or `cache.put()` calls made by this strategy. + * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to + * get the response from the network if there's a precache miss. + */ + constructor(e = {}) { + e.cacheName = x.getPrecacheName(e.cacheName), super(e), this._fallbackToNetwork = e.fallbackToNetwork !== !1, this.plugins.push(p.copyRedirectedCacheableResponsesPlugin); + } + /** + * @private + * @param {Request|string} request A request to run this strategy for. + * @param {workbox-strategies.StrategyHandler} handler The event that + * triggered the request. + * @return {Promise} + */ + async _handle(e, t) { + const n = await t.cacheMatch(e); + return n || (t.event && t.event.type === "install" ? await this._handleInstall(e, t) : await this._handleFetch(e, t)); + } + async _handleFetch(e, t) { + let n; + const a = t.params || {}; + if (this._fallbackToNetwork) { + const r = a.integrity, i = e.integrity, c = !i || i === r; + n = await t.fetch(new Request(e, { + integrity: e.mode !== "no-cors" ? i || r : void 0 + })), r && c && e.mode !== "no-cors" && (this._useDefaultCacheabilityPluginIfNeeded(), await t.cachePut(e, n.clone())); + } else + throw new l("missing-precache-entry", { + cacheName: this.cacheName, + url: e.url + }); + return n; + } + async _handleInstall(e, t) { + this._useDefaultCacheabilityPluginIfNeeded(); + const n = await t.fetch(e); + if (!await t.cachePut(e, n.clone())) + throw new l("bad-precaching-response", { + url: e.url, + status: n.status + }); + return n; + } + /** + * This method is complex, as there a number of things to account for: + * + * The `plugins` array can be set at construction, and/or it might be added to + * to at any time before the strategy is used. + * + * At the time the strategy is used (i.e. during an `install` event), there + * needs to be at least one plugin that implements `cacheWillUpdate` in the + * array, other than `copyRedirectedCacheableResponsesPlugin`. + * + * - If this method is called and there are no suitable `cacheWillUpdate` + * plugins, we need to add `defaultPrecacheCacheabilityPlugin`. + * + * - If this method is called and there is exactly one `cacheWillUpdate`, then + * we don't have to do anything (this might be a previously added + * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin). + * + * - If this method is called and there is more than one `cacheWillUpdate`, + * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so, + * we need to remove it. (This situation is unlikely, but it could happen if + * the strategy is used multiple times, the first without a `cacheWillUpdate`, + * and then later on after manually adding a custom `cacheWillUpdate`.) + * + * See https://github.com/GoogleChrome/workbox/issues/2737 for more context. + * + * @private + */ + _useDefaultCacheabilityPluginIfNeeded() { + let e = null, t = 0; + for (const [n, a] of this.plugins.entries()) + a !== p.copyRedirectedCacheableResponsesPlugin && (a === p.defaultPrecacheCacheabilityPlugin && (e = n), a.cacheWillUpdate && t++); + t === 0 ? this.plugins.push(p.defaultPrecacheCacheabilityPlugin) : t > 1 && e !== null && this.plugins.splice(e, 1); + } +} +p.defaultPrecacheCacheabilityPlugin = { + async cacheWillUpdate({ response: s }) { + return !s || s.status >= 400 ? null : s; + } +}; +p.copyRedirectedCacheableResponsesPlugin = { + async cacheWillUpdate({ response: s }) { + return s.redirected ? await ne(s) : s; + } +}; +class Le { + /** + * Create a new PrecacheController. + * + * @param {Object} [options] + * @param {string} [options.cacheName] The cache to use for precaching. + * @param {string} [options.plugins] Plugins to use when precaching as well + * as responding to fetch events for precached assets. + * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to + * get the response from the network if there's a precache miss. + */ + constructor({ cacheName: e, plugins: t = [], fallbackToNetwork: n = !0 } = {}) { + this._urlsToCacheKeys = /* @__PURE__ */ new Map(), this._urlsToCacheModes = /* @__PURE__ */ new Map(), this._cacheKeysToIntegrities = /* @__PURE__ */ new Map(), this._strategy = new p({ + cacheName: x.getPrecacheName(e), + plugins: [ + ...t, + new Ee({ precacheController: this }) + ], + fallbackToNetwork: n + }), this.install = this.install.bind(this), this.activate = this.activate.bind(this); + } + /** + * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and + * used to cache assets and respond to fetch events. + */ + get strategy() { + return this._strategy; + } + /** + * Adds items to the precache list, removing any duplicates and + * stores the files in the + * {@link workbox-core.cacheNames|"precache cache"} when the service + * worker installs. + * + * This method can be called multiple times. + * + * @param {Array} [entries=[]] Array of entries to precache. + */ + precache(e) { + this.addToCacheList(e), this._installAndActiveListenersAdded || (self.addEventListener("install", this.install), self.addEventListener("activate", this.activate), this._installAndActiveListenersAdded = !0); + } + /** + * This method will add items to the precache list, removing duplicates + * and ensuring the information is valid. + * + * @param {Array} entries + * Array of entries to precache. + */ + addToCacheList(e) { + const t = []; + for (const n of e) { + typeof n == "string" ? t.push(n) : n && n.revision === void 0 && t.push(n.url); + const { cacheKey: a, url: r } = Ce(n), i = typeof n != "string" && n.revision ? "reload" : "default"; + if (this._urlsToCacheKeys.has(r) && this._urlsToCacheKeys.get(r) !== a) + throw new l("add-to-cache-list-conflicting-entries", { + firstEntry: this._urlsToCacheKeys.get(r), + secondEntry: a + }); + if (typeof n != "string" && n.integrity) { + if (this._cacheKeysToIntegrities.has(a) && this._cacheKeysToIntegrities.get(a) !== n.integrity) + throw new l("add-to-cache-list-conflicting-integrities", { + url: r + }); + this._cacheKeysToIntegrities.set(a, n.integrity); + } + if (this._urlsToCacheKeys.set(r, a), this._urlsToCacheModes.set(r, i), t.length > 0) { + const c = `Workbox is precaching URLs without revision info: ${t.join(", ")} +This is generally NOT safe. Learn more at https://bit.ly/wb-precache`; + console.warn(c); + } + } + } + /** + * Precaches new and updated assets. Call this method from the service worker + * install event. + * + * Note: this method calls `event.waitUntil()` for you, so you do not need + * to call it yourself in your event handlers. + * + * @param {ExtendableEvent} event + * @return {Promise} + */ + install(e) { + return O(e, async () => { + const t = new xe(); + this.strategy.plugins.push(t); + for (const [r, i] of this._urlsToCacheKeys) { + const c = this._cacheKeysToIntegrities.get(i), o = this._urlsToCacheModes.get(r), h = new Request(r, { + integrity: c, + cache: o, + credentials: "same-origin" + }); + await Promise.all(this.strategy.handleAll({ + params: { cacheKey: i }, + request: h, + event: e + })); + } + const { updatedURLs: n, notUpdatedURLs: a } = t; + return { updatedURLs: n, notUpdatedURLs: a }; + }); + } + /** + * Deletes assets that are no longer present in the current precache manifest. + * Call this method from the service worker activate event. + * + * Note: this method calls `event.waitUntil()` for you, so you do not need + * to call it yourself in your event handlers. + * + * @param {ExtendableEvent} event + * @return {Promise} + */ + activate(e) { + return O(e, async () => { + const t = await self.caches.open(this.strategy.cacheName), n = await t.keys(), a = new Set(this._urlsToCacheKeys.values()), r = []; + for (const i of n) + a.has(i.url) || (await t.delete(i), r.push(i.url)); + return { deletedURLs: r }; + }); + } + /** + * Returns a mapping of a precached URL to the corresponding cache key, taking + * into account the revision information for the URL. + * + * @return {Map} A URL to cache key mapping. + */ + getURLsToCacheKeys() { + return this._urlsToCacheKeys; + } + /** + * Returns a list of all the URLs that have been precached by the current + * service worker. + * + * @return {Array} The precached URLs. + */ + getCachedURLs() { + return [...this._urlsToCacheKeys.keys()]; + } + /** + * Returns the cache key used for storing a given URL. If that URL is + * unversioned, like `/index.html', then the cache key will be the original + * URL with a search parameter appended to it. + * + * @param {string} url A URL whose cache key you want to look up. + * @return {string} The versioned URL that corresponds to a cache key + * for the original URL, or undefined if that URL isn't precached. + */ + getCacheKeyForURL(e) { + const t = new URL(e, location.href); + return this._urlsToCacheKeys.get(t.href); + } + /** + * @param {string} url A cache key whose SRI you want to look up. + * @return {string} The subresource integrity associated with the cache key, + * or undefined if it's not set. + */ + getIntegrityForCacheKey(e) { + return this._cacheKeysToIntegrities.get(e); + } + /** + * This acts as a drop-in replacement for + * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match) + * with the following differences: + * + * - It knows what the name of the precache is, and only checks in that cache. + * - It allows you to pass in an "original" URL without versioning parameters, + * and it will automatically look up the correct cache key for the currently + * active revision of that URL. + * + * E.g., `matchPrecache('index.html')` will find the correct precached + * response for the currently active service worker, even if the actual cache + * key is `'/index.html?__WB_REVISION__=1234abcd'`. + * + * @param {string|Request} request The key (without revisioning parameters) + * to look up in the precache. + * @return {Promise} + */ + async matchPrecache(e) { + const t = e instanceof Request ? e.url : e, n = this.getCacheKeyForURL(t); + if (n) + return (await self.caches.open(this.strategy.cacheName)).match(n); + } + /** + * Returns a function that looks up `url` in the precache (taking into + * account revision information), and returns the corresponding `Response`. + * + * @param {string} url The precached URL which will be used to lookup the + * `Response`. + * @return {workbox-routing~handlerCallback} + */ + createHandlerBoundToURL(e) { + const t = this.getCacheKeyForURL(e); + if (!t) + throw new l("non-precached-url", { url: e }); + return (n) => (n.request = new Request(e), n.params = Object.assign({ cacheKey: t }, n.params), this.strategy.handle(n)); + } +} +let T; +const M = () => (T || (T = new Le()), T); +try { + self["workbox:routing:7.0.0"] && _(); +} catch { +} +const $ = "GET", C = (s) => s && typeof s == "object" ? s : { handle: s }; +class R { + /** + * Constructor for Route class. + * + * @param {workbox-routing~matchCallback} match + * A callback function that determines whether the route matches a given + * `fetch` event by returning a non-falsy value. + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resolving to a Response. + * @param {string} [method='GET'] The HTTP method to match the Route + * against. + */ + constructor(e, t, n = $) { + this.handler = C(t), this.match = e, this.method = n; + } + /** + * + * @param {workbox-routing-handlerCallback} handler A callback + * function that returns a Promise resolving to a Response + */ + setCatchHandler(e) { + this.catchHandler = C(e); + } +} +class Ue extends R { + /** + * If the regular expression contains + * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references}, + * the captured values will be passed to the + * {@link workbox-routing~handlerCallback} `params` + * argument. + * + * @param {RegExp} regExp The regular expression to match against URLs. + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + * @param {string} [method='GET'] The HTTP method to match the Route + * against. + */ + constructor(e, t, n) { + const a = ({ url: r }) => { + const i = e.exec(r.href); + if (i && !(r.origin !== location.origin && i.index !== 0)) + return i.slice(1); + }; + super(a, t, n); + } +} +class Te { + /** + * Initializes a new Router. + */ + constructor() { + this._routes = /* @__PURE__ */ new Map(), this._defaultHandlerMap = /* @__PURE__ */ new Map(); + } + /** + * @return {Map>} routes A `Map` of HTTP + * method name ('GET', etc.) to an array of all the corresponding `Route` + * instances that are registered. + */ + get routes() { + return this._routes; + } + /** + * Adds a fetch event listener to respond to events when a route matches + * the event's request. + */ + addFetchListener() { + self.addEventListener("fetch", (e) => { + const { request: t } = e, n = this.handleRequest({ request: t, event: e }); + n && e.respondWith(n); + }); + } + /** + * Adds a message event listener for URLs to cache from the window. + * This is useful to cache resources loaded on the page prior to when the + * service worker started controlling it. + * + * The format of the message data sent from the window should be as follows. + * Where the `urlsToCache` array may consist of URL strings or an array of + * URL string + `requestInit` object (the same as you'd pass to `fetch()`). + * + * ``` + * { + * type: 'CACHE_URLS', + * payload: { + * urlsToCache: [ + * './script1.js', + * './script2.js', + * ['./script3.js', {mode: 'no-cors'}], + * ], + * }, + * } + * ``` + */ + addCacheListener() { + self.addEventListener("message", (e) => { + if (e.data && e.data.type === "CACHE_URLS") { + const { payload: t } = e.data, n = Promise.all(t.urlsToCache.map((a) => { + typeof a == "string" && (a = [a]); + const r = new Request(...a); + return this.handleRequest({ request: r, event: e }); + })); + e.waitUntil(n), e.ports && e.ports[0] && n.then(() => e.ports[0].postMessage(!0)); + } + }); + } + /** + * Apply the routing rules to a FetchEvent object to get a Response from an + * appropriate Route's handler. + * + * @param {Object} options + * @param {Request} options.request The request to handle. + * @param {ExtendableEvent} options.event The event that triggered the + * request. + * @return {Promise|undefined} A promise is returned if a + * registered route can handle the request. If there is no matching + * route and there's no `defaultHandler`, `undefined` is returned. + */ + handleRequest({ request: e, event: t }) { + const n = new URL(e.url, location.href); + if (!n.protocol.startsWith("http")) + return; + const a = n.origin === location.origin, { params: r, route: i } = this.findMatchingRoute({ + event: t, + request: e, + sameOrigin: a, + url: n + }); + let c = i && i.handler; + const o = e.method; + if (!c && this._defaultHandlerMap.has(o) && (c = this._defaultHandlerMap.get(o)), !c) + return; + let h; + try { + h = c.handle({ url: n, request: e, event: t, params: r }); + } catch (u) { + h = Promise.reject(u); + } + const g = i && i.catchHandler; + return h instanceof Promise && (this._catchHandler || g) && (h = h.catch(async (u) => { + if (g) + try { + return await g.handle({ url: n, request: e, event: t, params: r }); + } catch (K) { + K instanceof Error && (u = K); + } + if (this._catchHandler) + return this._catchHandler.handle({ url: n, request: e, event: t }); + throw u; + })), h; + } + /** + * Checks a request and URL (and optionally an event) against the list of + * registered routes, and if there's a match, returns the corresponding + * route along with any params generated by the match. + * + * @param {Object} options + * @param {URL} options.url + * @param {boolean} options.sameOrigin The result of comparing `url.origin` + * against the current origin. + * @param {Request} options.request The request to match. + * @param {Event} options.event The corresponding event. + * @return {Object} An object with `route` and `params` properties. + * They are populated if a matching route was found or `undefined` + * otherwise. + */ + findMatchingRoute({ url: e, sameOrigin: t, request: n, event: a }) { + const r = this._routes.get(n.method) || []; + for (const i of r) { + let c; + const o = i.match({ url: e, sameOrigin: t, request: n, event: a }); + if (o) + return c = o, (Array.isArray(c) && c.length === 0 || o.constructor === Object && // eslint-disable-line + Object.keys(o).length === 0 || typeof o == "boolean") && (c = void 0), { route: i, params: c }; + } + return {}; + } + /** + * Define a default `handler` that's called when no routes explicitly + * match the incoming request. + * + * Each HTTP method ('GET', 'POST', etc.) gets its own default handler. + * + * Without a default handler, unmatched requests will go against the + * network as if there were no service worker present. + * + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + * @param {string} [method='GET'] The HTTP method to associate with this + * default handler. Each method has its own default. + */ + setDefaultHandler(e, t = $) { + this._defaultHandlerMap.set(t, C(e)); + } + /** + * If a Route throws an error while handling a request, this `handler` + * will be called and given a chance to provide a response. + * + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + */ + setCatchHandler(e) { + this._catchHandler = C(e); + } + /** + * Registers a route with the router. + * + * @param {workbox-routing.Route} route The route to register. + */ + registerRoute(e) { + this._routes.has(e.method) || this._routes.set(e.method, []), this._routes.get(e.method).push(e); + } + /** + * Unregisters a route with the router. + * + * @param {workbox-routing.Route} route The route to unregister. + */ + unregisterRoute(e) { + if (!this._routes.has(e.method)) + throw new l("unregister-route-but-not-found-with-method", { + method: e.method + }); + const t = this._routes.get(e.method).indexOf(e); + if (t > -1) + this._routes.get(e.method).splice(t, 1); + else + throw new l("unregister-route-route-not-registered"); + } +} +let w; +const Pe = () => (w || (w = new Te(), w.addFetchListener(), w.addCacheListener()), w); +function N(s, e, t) { + let n; + if (typeof s == "string") { + const r = new URL(s, location.href), i = ({ url: c }) => c.href === r.href; + n = new R(i, e, t); + } else if (s instanceof RegExp) + n = new Ue(s, e, t); + else if (typeof s == "function") + n = new R(s, e, t); + else if (s instanceof R) + n = s; + else + throw new l("unsupported-route-type", { + moduleName: "workbox-routing", + funcName: "registerRoute", + paramName: "capture" + }); + return Pe().registerRoute(n), n; +} +function ke(s, e = []) { + for (const t of [...s.searchParams.keys()]) + e.some((n) => n.test(t)) && s.searchParams.delete(t); + return s; +} +function* Ie(s, { ignoreURLParametersMatching: e = [/^utm_/, /^fbclid$/], directoryIndex: t = "index.html", cleanURLs: n = !0, urlManipulation: a } = {}) { + const r = new URL(s, location.href); + r.hash = "", yield r.href; + const i = ke(r, e); + if (yield i.href, t && i.pathname.endsWith("/")) { + const c = new URL(i.href); + c.pathname += t, yield c.href; + } + if (n) { + const c = new URL(i.href); + c.pathname += ".html", yield c.href; + } + if (a) { + const c = a({ url: r }); + for (const o of c) + yield o.href; + } +} +class Me extends R { + /** + * @param {PrecacheController} precacheController A `PrecacheController` + * instance used to both match requests and respond to fetch events. + * @param {Object} [options] Options to control how requests are matched + * against the list of precached URLs. + * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will + * check cache entries for a URLs ending with '/' to see if there is a hit when + * appending the `directoryIndex` value. + * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An + * array of regex's to remove search params when looking for a cache match. + * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will + * check the cache for the URL with a `.html` added to the end of the end. + * @param {workbox-precaching~urlManipulation} [options.urlManipulation] + * This is a function that should take a URL and return an array of + * alternative URLs that should be checked for precache matches. + */ + constructor(e, t) { + const n = ({ request: a }) => { + const r = e.getURLsToCacheKeys(); + for (const i of Ie(a.url, t)) { + const c = r.get(i); + if (c) { + const o = e.getIntegrityForCacheKey(c); + return { cacheKey: c, integrity: o }; + } + } + }; + super(n, e.strategy); + } +} +function Ne(s) { + const e = M(), t = new Me(e, s); + N(t); +} +function Ke(s) { + return M().createHandlerBoundToURL(s); +} +function Ae(s) { + M().precache(s); +} +function Oe(s, e) { + Ae(s), Ne(e); +} +const Se = { + /** + * Returns a valid response (to allow caching) if the status is 200 (OK) or + * 0 (opaque). + * + * @param {Object} options + * @param {Response} options.response + * @return {Response|null} + * + * @private + */ + cacheWillUpdate: async ({ response: s }) => s.status === 200 || s.status === 0 ? s : null +}; +class ve extends V { + /** + * @param {Object} [options] + * @param {string} [options.cacheName] Cache name to store and retrieve + * requests. Defaults to cache names provided by + * {@link workbox-core.cacheNames}. + * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters) + * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) + * `fetch()` requests made by this strategy. + * @param {Object} [options.matchOptions] [`CacheQueryOptions`](https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions) + */ + constructor(e = {}) { + super(e), this.plugins.some((t) => "cacheWillUpdate" in t) || this.plugins.unshift(Se); + } + /** + * @private + * @param {Request|string} request A request to run this strategy for. + * @param {workbox-strategies.StrategyHandler} handler The event that + * triggered the request. + * @return {Promise} + */ + async _handle(e, t) { + const n = t.fetchAndCachePut(e).catch(() => { + }); + t.waitUntil(n); + let a = await t.cacheMatch(e), r; + if (!a) + try { + a = await n; + } catch (i) { + i instanceof Error && (r = i); + } + if (!a) + throw new l("no-response", { url: e.url, error: r }); + return a; + } +} +ae(); +Oe([{"revision":null,"url":"assets/chart-lib-da3c73a9.js"},{"revision":null,"url":"assets/Config-c412a416.js"},{"revision":null,"url":"assets/Config-cf41b8ef.css"},{"revision":null,"url":"assets/Connections-7210eedd.js"},{"revision":null,"url":"assets/Connections-ddae4f70.css"},{"revision":null,"url":"assets/debounce-c1ba2006.js"},{"revision":null,"url":"assets/en-89e30f54.js"},{"revision":null,"url":"assets/Fab-a434d836.css"},{"revision":null,"url":"assets/Fab-d86fe1ea.js"},{"revision":null,"url":"assets/index-138a52ef.js"},{"revision":null,"url":"assets/index-3b7e2f10.js"},{"revision":null,"url":"assets/index-c12c1521.js"},{"revision":null,"url":"assets/index-d5e38ae4.css"},{"revision":null,"url":"assets/index.esm-18eb5056.js"},{"revision":null,"url":"assets/index.modern-c58ff412.js"},{"revision":null,"url":"assets/Input-157c292d.js"},{"revision":null,"url":"assets/Input-505b5fdb.css"},{"revision":null,"url":"assets/logs-2efc7736.js"},{"revision":null,"url":"assets/Logs-5e5ee0ad.css"},{"revision":null,"url":"assets/Logs-b414e967.js"},{"revision":null,"url":"assets/Modal-86bce5c3.css"},{"revision":null,"url":"assets/Modal.module-651c4560.js"},{"revision":null,"url":"assets/play-c4e5016b.js"},{"revision":null,"url":"assets/Proxies-08f5dc31.js"},{"revision":null,"url":"assets/Proxies-40f80166.css"},{"revision":null,"url":"assets/Rules-32591ffb.js"},{"revision":null,"url":"assets/Rules-e11cb70e.css"},{"revision":null,"url":"assets/Select-3de40504.css"},{"revision":null,"url":"assets/Select-a2c574c2.js"},{"revision":null,"url":"assets/StyleGuide-255b125c.css"},{"revision":null,"url":"assets/StyleGuide-65b412f2.js"},{"revision":null,"url":"assets/TextFilter-379059dd.js"},{"revision":null,"url":"assets/TextFilter-ced87fc6.css"},{"revision":null,"url":"assets/Toggle-4f572f6c.css"},{"revision":null,"url":"assets/Toggle-7a52109a.js"},{"revision":null,"url":"assets/useMutation-75c97bd7.js"},{"revision":null,"url":"assets/useRemainingViewPortHeight-22ab7283.js"},{"revision":null,"url":"assets/ZapAnimated-6c3cdb8c.css"},{"revision":null,"url":"assets/ZapAnimated-e7ea61af.js"},{"revision":null,"url":"assets/zh-019c0297.js"},{"revision":"e9012ebc71593a83a8e29ca4cb418f9e","url":"index.html"},{"revision":"402b66900e731ca748771b6fc5e7a068","url":"registerSW.js"},{"revision":"c0f9cb6aaf647e778bdc01c59944755b","url":"manifest.webmanifest"}]); +const We = new RegExp("/[^/?]+\\.[^/]+$"); +N( + // Return false to exempt requests from being fulfilled by index.html. + ({ request: s, url: e }) => !(s.mode !== "navigate" || e.pathname.startsWith("/_") || e.pathname.match(We)), + Ke("index.html") +); +N( + // Add in any other file extensions or routing criteria as needed. + ({ url: s }) => s.origin === self.location.origin && s.pathname.endsWith(".png"), + // Customize this strategy as needed, e.g., by changing to CacheFirst. + new ve({ + cacheName: "images", + plugins: [ + // Ensure that once this runtime cache reaches a maximum size the + // least-recently used images are removed. + new Re({ maxEntries: 50 }) + ] + }) +); +self.addEventListener("message", (s) => { + s.data && s.data.type === "SKIP_WAITING" && self.skipWaiting(); +}); diff --git a/clash/clash/dnsmasq_rules/gfwlist.conf b/clash/clash/dnsmasq_rules/gfwlist.conf deleted file mode 100644 index 899d766..0000000 --- a/clash/clash/dnsmasq_rules/gfwlist.conf +++ /dev/null @@ -1,10483 +0,0 @@ -server=/000dn.com/127.0.0.1#1053 -server=/001union.com/127.0.0.1#1053 -server=/0086555.com/127.0.0.1#1053 -server=/00880808.com/127.0.0.1#1053 -server=/00oo00.com/127.0.0.1#1053 -server=/010teacher.com/127.0.0.1#1053 -server=/010xk.com/127.0.0.1#1053 -server=/018520.com/127.0.0.1#1053 -server=/01daa.lubih.com/127.0.0.1#1053 -server=/01daa.lutci.com/127.0.0.1#1053 -server=/01daa.lutgh.com/127.0.0.1#1053 -server=/01daa.luvbr.com/127.0.0.1#1053 -server=/01daa.luytr.com/127.0.0.1#1053 -server=/01.gxso.net/127.0.0.1#1053 -server=/022aifang.com/127.0.0.1#1053 -server=/023hysj.com/127.0.0.1#1053 -server=/025suyu.com/127.0.0.1#1053 -server=/0313413.com/127.0.0.1#1053 -server=/0451106.com/127.0.0.1#1053 -server=/0531kt.com/127.0.0.1#1053 -server=/0592weixin.com/127.0.0.1#1053 -server=/0594003.com/127.0.0.1#1053 -server=/06362.com/127.0.0.1#1053 -server=/0756sjlm.com.cn/127.0.0.1#1053 -server=/09_19.supfree.net/127.0.0.1#1053 -server=/0aqpqdju.me/127.0.0.1#1053 -server=/0.r.msn.com/127.0.0.1#1053 -server=/0x01e7.website/127.0.0.1#1053 -server=/0xxd.com/127.0.0.1#1053 -server=/1000dy.com/127.0.0.1#1053 -server=/10010.com/127.0.0.1#1053 -server=/10086.cn/127.0.0.1#1053 -server=/10086.cn.baidu.cdn.yiwk.com/127.0.0.1#1053 -server=/100fenlm.com/127.0.0.1#1053 -server=/1017.cn/127.0.0.1#1053 -server=/10up.com/127.0.0.1#1053 -server=/1.1010pic.com/127.0.0.1#1053 -server=/111111qb.com/127.0.0.1#1053 -server=/111cn.net/127.0.0.1#1053 -server=/1133.cc/127.0.0.1#1053 -server=/114la.com/127.0.0.1#1053 -server=/1178.shucong.com/127.0.0.1#1053 -server=/11g.yiqig.cn/127.0.0.1#1053 -server=/11.hydcd.com/127.0.0.1#1053 -server=/1.201980.com/127.0.0.1#1053 -server=/1.21shebao.com/127.0.0.1#1053 -server=/1224.dxsbb.com/127.0.0.1#1053 -server=/12306.cn/127.0.0.1#1053 -server=/12306.com/127.0.0.1#1053 -server=/12306media.com/127.0.0.1#1053 -server=/1234xm.com/127.0.0.1#1053 -server=/12365chia.com/127.0.0.1#1053 -server=/123hala.com/127.0.0.1#1053 -server=/123juzi.net/127.0.0.1#1053 -server=/123.sogou.com/127.0.0.1#1053 -server=/126.net/127.0.0.1#1053 -server=/13023.url.7wkw.com/127.0.0.1#1053 -server=/138138138.top/127.0.0.1#1053 -server=/142904.com/127.0.0.1#1053 -server=/144.dragonparking.com/127.0.0.1#1053 -server=/1495039.com/127.0.0.1#1053 -server=/1.51sxue.cn/127.0.0.1#1053 -server=/163.com/127.0.0.1#1053 -server=/163ren.com/127.0.0.1#1053 -server=/163.wrating.com/127.0.0.1#1053 -server=/163yun.com/127.0.0.1#1053 -server=/1680go.com/127.0.0.1#1053 -server=/168ad.cc/127.0.0.1#1053 -server=/168.it168.com/127.0.0.1#1053 -server=/170yy.com/127.0.0.1#1053 -server=/175bar.com/127.0.0.1#1053 -server=/176um.com/127.0.0.1#1053 -server=/178gg.com/127.0.0.1#1053 -server=/17gouwuba.com/127.0.0.1#1053 -server=/17leyi.com/127.0.0.1#1053 -server=/17un.co/127.0.0.1#1053 -server=/17un.com/127.0.0.1#1053 -server=/17zhaole.com/127.0.0.1#1053 -server=/189.cn/127.0.0.1#1053 -server=/189zj.cn/127.0.0.1#1053 -server=/18av.mm-cg.co/127.0.0.1#1053 -server=/18dusun.com/127.0.0.1#1053 -server=/18tzx.com/127.0.0.1#1053 -server=/1933000.com/127.0.0.1#1053 -server=/1.aili.com/127.0.0.1#1053 -server=/1.bashenghuo.com/127.0.0.1#1053 -server=/1.chcx.cn/127.0.0.1#1053 -server=/1.cjcp.cn/127.0.0.1#1053 -server=/1.codesdq.com/127.0.0.1#1053 -server=/1d1px.net/127.0.0.1#1053 -server=/1drv.com/127.0.0.1#1053 -server=/1drv.ms/127.0.0.1#1053 -server=/1e100.net/127.0.0.1#1053 -server=/1e2hyl3b.wq42211.com/127.0.0.1#1053 -server=/1.feihua.com/127.0.0.1#1053 -server=/1.glook.cn/127.0.0.1#1053 -server=/1.hao123.com/127.0.0.1#1053 -server=/1.hnyouneng.com/127.0.0.1#1053 -server=/1.hslyqs.com/127.0.0.1#1053 -server=/1.i1766.com/127.0.0.1#1053 -server=/1i580.com/127.0.0.1#1053 -server=/1inch.iopayload:/127.0.0.1#1053 -server=/1.iqeq.com.cn/127.0.0.1#1053 -server=/1.jeasyui.net/127.0.0.1#1053 -server=/1kmb.cn/127.0.0.1#1053 -server=/1kxun.mobi/127.0.0.1#1053 -server=/1kzh.com/127.0.0.1#1053 -server=/1l1.cc/127.0.0.1#1053 -server=/1.letvlive.com/127.0.0.1#1053 -server=/1lib.cn/127.0.0.1#1053 -server=/1.mgff.com/127.0.0.1#1053 -server=/1ml.com/127.0.0.1#1053 -server=/1.nanrenwo.net/127.0.0.1#1053 -server=/1o26.com/127.0.0.1#1053 -server=/1.panduoduo.net/127.0.0.1#1053 -server=/1.qtmojo.cn/127.0.0.1#1053 -server=/1qwe3r.com/127.0.0.1#1053 -server=/1.rengshu.com/127.0.0.1#1053 -server=/1.soufy.cn/127.0.0.1#1053 -server=/1tlm.cn/127.0.0.1#1053 -server=/1.tulaoshi.com/127.0.0.1#1053 -server=/1.tuxi.com.cn/127.0.0.1#1053 -server=/1uandun.com/127.0.0.1#1053 -server=/1.win7china.com/127.0.0.1#1053 -server=/1.win7sky.com/127.0.0.1#1053 -server=/1.wps.cn/127.0.0.1#1053 -server=/1x3x.com/127.0.0.1#1053 -server=/1.xiaopin5.com/127.0.0.1#1053 -server=/1.xiaozhizhijia.com/127.0.0.1#1053 -server=/1.xilu.com/127.0.0.1#1053 -server=/1.zw3e.com/127.0.0.1#1053 -server=/201071.com/127.0.0.1#1053 -server=/2012.8684.com/127.0.0.1#1053 -server=/2012ui.com/127.0.0.1#1053 -server=/20150930.cf/127.0.0.1#1053 -server=/2016bobo.cf/127.0.0.1#1053 -server=/2016.sina.cn/127.0.0.1#1053 -server=/2017img.myxh999.com/127.0.0.1#1053 -server=/202m.com/127.0.0.1#1053 -server=/203710.com/127.0.0.1#1053 -server=/20thcenturystudios.com.au/127.0.0.1#1053 -server=/20thcenturystudios.com.br/127.0.0.1#1053 -server=/20thcenturystudios.jp/127.0.0.1#1053 -server=/2.1010pic.com/127.0.0.1#1053 -server=/2144.cn/127.0.0.1#1053 -server=/21union.com/127.0.0.1#1053 -server=/2.21shebao.com/127.0.0.1#1053 -server=/22222jsc.com/127.0.0.1#1053 -server=/222627.com/127.0.0.1#1053 -server=/22lm.cc/127.0.0.1#1053 -server=/22.qingsongbar.com/127.0.0.1#1053 -server=/233wo.com/127.0.0.1#1053 -server=/2345apicode.dftoutiao.com/127.0.0.1#1053 -server=/2345api.dftoutiao.com/127.0.0.1#1053 -server=/2345at.com/127.0.0.1#1053 -server=/2345.cn/127.0.0.1#1053 -server=/235123.net/127.0.0.1#1053 -server=/24haitao.net/127.0.0.1#1053 -server=/256ppp.com/127.0.0.1#1053 -server=/2.5aigushi.com/127.0.0.1#1053 -server=/268mob.cn/127.0.0.1#1053 -server=/272829.cc/127.0.0.1#1053 -server=/272xb.com/127.0.0.1#1053 -server=/285680.com/127.0.0.1#1053 -server=/28acglz.com/127.0.0.1#1053 -server=/2a.com.cn/127.0.0.1#1053 -server=/2.aili.com/127.0.0.1#1053 -server=/2.bashenghuo.com/127.0.0.1#1053 -server=/2cnt.net/127.0.0.1#1053 -server=/2.heiyange.com/127.0.0.1#1053 -server=/2.letvlive.com/127.0.0.1#1053 -server=/2m2n.com/127.0.0.1#1053 -server=/2mdn.net/127.0.0.1#1053 -server=/2.mobixs.cn/127.0.0.1#1053 -server=/2.nanrenwo.net/127.0.0.1#1053 -server=/2o7.net/127.0.0.1#1053 -server=/2.rengshu.com/127.0.0.1#1053 -server=/2.tuxi.com.cn/127.0.0.1#1053 -server=/30350f.com/127.0.0.1#1053 -server=/30407799.com/127.0.0.1#1053 -server=/30ampj.com/127.0.0.1#1053 -server=/312036.com/127.0.0.1#1053 -server=/3180555.com/127.0.0.1#1053 -server=/31.media.tumblr.com/127.0.0.1#1053 -server=/32414.com/127.0.0.1#1053 -server=/32666099.com/127.0.0.1#1053 -server=/33544444.com/127.0.0.1#1053 -server=/336.com/127.0.0.1#1053 -server=/3388pjdc.com/127.0.0.1#1053 -server=/3393.com/127.0.0.1#1053 -server=/339.cn/127.0.0.1#1053 -server=/33lm.cc/127.0.0.1#1053 -server=/33.pcpop.com/127.0.0.1#1053 -server=/33shangyou.com/127.0.0.1#1053 -server=/35baba.cn/127.0.0.1#1053 -server=/3600.com/127.0.0.1#1053 -server=/360640.com/127.0.0.1#1053 -server=/360baidus.com/127.0.0.1#1053 -server=/360buy.com/127.0.0.1#1053 -server=/360buyimg.com/127.0.0.1#1053 -server=/360.cn/127.0.0.1#1053 -server=/360.com/127.0.0.1#1053 -server=/360jiaquan.com/127.0.0.1#1053 -server=/360safego.com/127.0.0.1#1053 -server=/360shopping.com.cn/127.0.0.1#1053 -server=/360vip.front99.com/127.0.0.1#1053 -server=/361315.cc/127.0.0.1#1053 -server=/365bibi.com/127.0.0.1#1053 -server=/365safego.com/127.0.0.1#1053 -server=/366safego.com/127.0.0.1#1053 -server=/36kr.com/127.0.0.1#1053 -server=/36pn.com/127.0.0.1#1053 -server=/3721zh.com/127.0.0.1#1053 -server=/376zf.com/127.0.0.1#1053 -server=/37cs.com/127.0.0.1#1053 -server=/37mnm.com/127.0.0.1#1053 -server=/37pk49.com/127.0.0.1#1053 -server=/37see.com/127.0.0.1#1053 -server=/37wan.cn/127.0.0.1#1053 -server=/37wan.com/127.0.0.1#1053 -server=/3808010.com/127.0.0.1#1053 -server=/38330.bet/127.0.0.1#1053 -server=/3839168.com/127.0.0.1#1053 -server=/38499.com/127.0.0.1#1053 -server=/38c99.com/127.0.0.1#1053 -server=/39330.bet/127.0.0.1#1053 -server=/3975lm.com/127.0.0.1#1053 -server=/39xc.net/127.0.0.1#1053 -server=/3dm.huya.com/127.0.0.1#1053 -server=/3dns-2.adobe.com/127.0.0.1#1053 -server=/3dns-3.adobe.com/127.0.0.1#1053 -server=/3dwwwgame.com/127.0.0.1#1053 -server=/3g.990.net/127.0.0.1#1053 -server=/3gmimo.com/127.0.0.1#1053 -server=/3gmtr.com/127.0.0.1#1053 -server=/3.guidaye.com/127.0.0.1#1053 -server=/3htai.com/127.0.0.1#1053 -server=/3qmh.com/127.0.0.1#1053 -server=/3rd.t.sohu.com/127.0.0.1#1053 -server=/3.ssqzj.com/127.0.0.1#1053 -server=/3wz6z.bchuangpi.cn/127.0.0.1#1053 -server=/3ygww.com/127.0.0.1#1053 -server=/4009997658.com/127.0.0.1#1053 -server=/404.safedog.cn/127.0.0.1#1053 -server=/4207008.com/127.0.0.1#1053 -server=/4242jj.com/127.0.0.1#1053 -server=/4242lll.com/127.0.0.1#1053 -server=/4242uuu.com/127.0.0.1#1053 -server=/4336wang.cn/127.0.0.1#1053 -server=/456juhd.com/127.0.0.1#1053 -server=/46sg.com/127.0.0.1#1053 -server=/49wanwan.com/127.0.0.1#1053 -server=/4everProxy.com/127.0.0.1#1053 -server=/4ggww.com/127.0.0.1#1053 -server=/4paradigm.com/127.0.0.1#1053 -server=/4shared.com/127.0.0.1#1053 -server=/4sqi.net/127.0.0.1#1053 -server=/4wad.com/127.0.0.1#1053 -server=/4xhyr.shuimujinggong.com/127.0.0.1#1053 -server=/504pk.com/127.0.0.1#1053 -server=/5066.net/127.0.0.1#1053 -server=/50bang.org/127.0.0.1#1053 -server=/5125129.com/127.0.0.1#1053 -server=/513hch.com/127.0.0.1#1053 -server=/517m.cn/127.0.0.1#1053 -server=/5188yy.com/127.0.0.1#1053 -server=/518.sdinfo.net/127.0.0.1#1053 -server=/519397.com/127.0.0.1#1053 -server=/51ads.com/127.0.0.1#1053 -server=/51chumoping.com/127.0.0.1#1053 -server=/51dql.com/127.0.0.1#1053 -server=/51gxqm.com/127.0.0.1#1053 -server=/51jumintong.com/127.0.0.1#1053 -server=/51.la/127.0.0.1#1053 -server=/51la.net/127.0.0.1#1053 -server=/51link.com/127.0.0.1#1053 -server=/51mld.cn/127.0.0.1#1053 -server=/51network.com/127.0.0.1#1053 -server=/51vipedu.com/127.0.0.1#1053 -server=/51weidashi.com/127.0.0.1#1053 -server=/51xumei.com/127.0.0.1#1053 -server=/51yes.com/127.0.0.1#1053 -server=/51ym.me/127.0.0.1#1053 -server=/51zhanzhuang.cn/127.0.0.1#1053 -server=/5207470.com/127.0.0.1#1053 -server=/5269120.com/127.0.0.1#1053 -server=/526dimg.uunice.com/127.0.0.1#1053 -server=/526d.uunice.com/127.0.0.1#1053 -server=/5293.com/127.0.0.1#1053 -server=/52kmh.com/127.0.0.1#1053 -server=/52kmk.com/127.0.0.1#1053 -server=/52lubo.cn/127.0.0.1#1053 -server=/5345ll.com/127.0.0.1#1053 -server=/537901.com/127.0.0.1#1053 -server=/5534edee5a.com/127.0.0.1#1053 -server=/555p555p.com/127.0.0.1#1053 -server=/559gp.com/127.0.0.1#1053 -server=/55.la/127.0.0.1#1053 -server=/55lu.com/127.0.0.1#1053 -server=/5634.com/127.0.0.1#1053 -server=/5675146.com/127.0.0.1#1053 -server=/57.com.cn/127.0.0.1#1053 -server=/57union.com/127.0.0.1#1053 -server=/5814889.com/127.0.0.1#1053 -server=/5857.com/127.0.0.1#1053 -server=/588yw.com/127.0.0.1#1053 -server=/58.com/127.0.0.1#1053 -server=/58lm.vip/127.0.0.1#1053 -server=/58mingri.cn/127.0.0.1#1053 -server=/58mingtian.cn/127.0.0.1#1053 -server=/58.xgo.com.cn/127.0.0.1#1053 -server=/592man.com/127.0.0.1#1053 -server=/5dg.me/127.0.0.1#1053 -server=/5dian.org/127.0.0.1#1053 -server=/5egk.com/127.0.0.1#1053 -server=/5imoney.com/127.0.0.1#1053 -server=/5jcom.com.cn/127.0.0.1#1053 -server=/5vz3cfs0yd.me/127.0.0.1#1053 -server=/5y9nfpes.52pk.com/127.0.0.1#1053 -server=/5yrra.deshuangwang.cn/127.0.0.1#1053 -server=/600ad.com/127.0.0.1#1053 -server=/601654.com/127.0.0.1#1053 -server=/60608787.com/127.0.0.1#1053 -server=/626uc.com/127.0.0.1#1053 -server=/644446.com/127.0.0.1#1053 -server=/649558.com/127.0.0.1#1053 -server=/64si.com/127.0.0.1#1053 -server=/654mmm.com/127.0.0.1#1053 -server=/6615338.cn/127.0.0.1#1053 -server=/6666349.com/127.0.0.1#1053 -server=/6669667.com/127.0.0.1#1053 -server=/66992949.com/127.0.0.1#1053 -server=/66san.com/127.0.0.1#1053 -server=/6711.com/127.0.0.1#1053 -server=/6728812.com/127.0.0.1#1053 -server=/685wo.com/127.0.0.1#1053 -server=/68665565.com/127.0.0.1#1053 -server=/69duk.com/127.0.0.1#1053 -server=/6a4cc.lubue.com/127.0.0.1#1053 -server=/6a4cc.luvbq.com/127.0.0.1#1053 -server=/6a4cc.luvbr.com/127.0.0.1#1053 -server=/6a4cc.luytr.com/127.0.0.1#1053 -server=/6boou.voluumtrk.com/127.0.0.1#1053 -server=/6d63d3.com/127.0.0.1#1053 -server=/6dad.com/127.0.0.1#1053 -server=/6dvip.com/127.0.0.1#1053 -server=/6huu.com/127.0.0.1#1053 -server=/6kwan.com/127.0.0.1#1053 -server=/6tsbe1zs.me/127.0.0.1#1053 -server=/700900.com/127.0.0.1#1053 -server=/706529.com/127.0.0.1#1053 -server=/7080555.com/127.0.0.1#1053 -server=/70e.com/127.0.0.1#1053 -server=/70lm.com/127.0.0.1#1053 -server=/711kk.com/127.0.0.1#1053 -server=/716703.com/127.0.0.1#1053 -server=/71.am/127.0.0.1#1053 -server=/71sem.com/127.0.0.1#1053 -server=/73.sinawap.com/127.0.0.1#1053 -server=/743m1.11a12.com/127.0.0.1#1053 -server=/749558.com/127.0.0.1#1053 -server=/749808.com/127.0.0.1#1053 -server=/7540.com/127.0.0.1#1053 -server=/75to.com/127.0.0.1#1053 -server=/7631.com/127.0.0.1#1053 -server=/766ba.net/127.0.0.1#1053 -server=/76802.net/127.0.0.1#1053 -server=/77455.com/127.0.0.1#1053 -server=/778669.com/127.0.0.1#1053 -server=/7794.com/127.0.0.1#1053 -server=/77power.com/127.0.0.1#1053 -server=/77u.com/127.0.0.1#1053 -server=/77xtv.com/127.0.0.1#1053 -server=/7891655.cn/127.0.0.1#1053 -server=/7car.com.cn/127.0.0.1#1053 -server=/7clink.com/127.0.0.1#1053 -server=/7dah8.com/127.0.0.1#1053 -server=/7gg.cc/127.0.0.1#1053 -server=/7jiajiao.com/127.0.0.1#1053 -server=/7mad.7m.cn/127.0.0.1#1053 -server=/7pk.com/127.0.0.1#1053 -server=/7wen.cn/127.0.0.1#1053 -server=/7xz3.com/127.0.0.1#1053 -server=/7z66.com/127.0.0.1#1053 -server=/801.tianyaui.com/127.0.0.1#1053 -server=/8066hg.com/127.0.0.1#1053 -server=/80sjw.com/127.0.0.1#1053 -server=/813690.top/127.0.0.1#1053 -server=/8184.cc/127.0.0.1#1053 -server=/818mov.com/127.0.0.1#1053 -server=/81c.cn/127.0.0.1#1053 -server=/8269996.com/127.0.0.1#1053 -server=/8368661.com/127.0.0.1#1053 -server=/846.move7.com/127.0.0.1#1053 -server=/849558.com/127.0.0.1#1053 -server=/85058s.com/127.0.0.1#1053 -server=/8521448.com/127.0.0.1#1053 -server=/85655095.com/127.0.0.1#1053 -server=/859377.com/127.0.0.1#1053 -server=/85tgw.com/127.0.0.1#1053 -server=/860010.com/127.0.0.1#1053 -server=/8686c.com/127.0.0.1#1053 -server=/86.cc/127.0.0.1#1053 -server=/86kx.com/127.0.0.1#1053 -server=/878090.com/127.0.0.1#1053 -server=/8800271.com.cn/127.0.0.1#1053 -server=/88210212.com/127.0.0.1#1053 -server=/8866786.com/127.0.0.1#1053 -server=/88818122.cn/127.0.0.1#1053 -server=/888.izhufu.net/127.0.0.1#1053 -server=/888.jiuwanwang.com/127.0.0.1#1053 -server=/888.tv.sohu.com/127.0.0.1#1053 -server=/888zr022.com/127.0.0.1#1053 -server=/88cncc.com/127.0.0.1#1053 -server=/88rpg.net/127.0.0.1#1053 -server=/88shu.cn/127.0.0.1#1053 -server=/892155.com/127.0.0.1#1053 -server=/89h8.com/127.0.0.1#1053 -server=/8dulm.com/127.0.0.1#1053 -server=/8hykthze.cricket/127.0.0.1#1053 -server=/8jd2lfsq.me/127.0.0.1#1053 -server=/8jkx.com/127.0.0.1#1053 -server=/8.jrj.com/127.0.0.1#1053 -server=/8le8le.com/127.0.0.1#1053 -server=/8mfty.com/127.0.0.1#1053 -server=/8ox.cn/127.0.0.1#1053 -server=/90053999.com/127.0.0.1#1053 -server=/910weixin.com/127.0.0.1#1053 -server=/911.cc/127.0.0.1#1053 -server=/915.com/127.0.0.1#1053 -server=/91ad.bestvogue.com/127.0.0.1#1053 -server=/91adv.com/127.0.0.1#1053 -server=/91hui.com/127.0.0.1#1053 -server=/91veg.com/127.0.0.1#1053 -server=/91xry.com/127.0.0.1#1053 -server=/91ysa.com/127.0.0.1#1053 -server=/91zgm.com/127.0.0.1#1053 -server=/92x.tumblr.com/127.0.0.1#1053 -server=/930.dragonparking.com/127.0.0.1#1053 -server=/93manhua.com/127.0.0.1#1053 -server=/94lm.com/127.0.0.1#1053 -server=/95105012.com/127.0.0.1#1053 -server=/9519.net/127.0.0.1#1053 -server=/95516.com/127.0.0.1#1053 -server=/95558000.com/127.0.0.1#1053 -server=/9565365.com/127.0.0.1#1053 -server=/9566180.com/127.0.0.1#1053 -server=/96mob.com/127.0.0.1#1053 -server=/9948000.com/127.0.0.1#1053 -server=/99909988.com/127.0.0.1#1053 -server=/99click.com/127.0.0.1#1053 -server=/99ddd.com/127.0.0.1#1053 -server=/99lolo.com/127.0.0.1#1053 -server=/9ads.net/127.0.0.1#1053 -server=/9dtiny.cn/127.0.0.1#1053 -server=/9kff.com/127.0.0.1#1053 -server=/9pkw.com/127.0.0.1#1053 -server=/9s6q.cn/127.0.0.1#1053 -server=/9tn.cc/127.0.0.1#1053 -server=/9to5mac.com/127.0.0.1#1053 -server=/9wushuo.com/127.0.0.1#1053 -server=/a1.0s.net.cn/127.0.0.1#1053 -server=/a1158.g.akamai.net/127.0.0.1#1053 -server=/a122.dscg3.akamai.net/127.0.0.1#1053 -server=/a.198banjia.com/127.0.0.1#1053 -server=/a1.azg168.cn/127.0.0.1#1053 -server=/a1click.cpc.sogou.com/127.0.0.1#1053 -server=/a1.gexing.me/127.0.0.1#1053 -server=/a1.huanqiumil.com/127.0.0.1#1053 -server=/a1.huiqituan.com/127.0.0.1#1053 -server=/a1.itc.cn/127.0.0.1#1053 -server=/a1.liuxue86.com/127.0.0.1#1053 -server=/a1.lmaq.cn/127.0.0.1#1053 -server=/a1.peoplecdn.cn/127.0.0.1#1053 -server=/a1.vdolady.com/127.0.0.1#1053 -server=/a1.yuuedu.com/127.0.0.1#1053 -server=/a1.zhanzhang.net/127.0.0.1#1053 -server=/a2.b310.com/127.0.0.1#1053 -server=/a2.huanqiumil.com/127.0.0.1#1053 -server=/a2.rabbitpre.com/127.0.0.1#1053 -server=/a3.ikafan.com/127.0.0.1#1053 -server=/a3p4.net/127.0.0.1#1053 -server=/a4.b2b168.com/127.0.0.1#1053 -server=/a4.ikafan.com/127.0.0.1#1053 -server=/a4.yeshj.com/127.0.0.1#1053 -server=/a.53yao.com/127.0.0.1#1053 -server=/a5.yeshj.com/127.0.0.1#1053 -server=/a.5ykj.com/127.0.0.1#1053 -server=/a6.bjdianyue.com/127.0.0.1#1053 -server=/a6.codejumps.com/127.0.0.1#1053 -server=/a6s.1cakeclub.com/127.0.0.1#1053 -server=/a6s.modoupai.com/127.0.0.1#1053 -server=/a6s.ruyiqufu.com/127.0.0.1#1053 -server=/a6s.ve001nz.com/127.0.0.1#1053 -server=/a6.taobanapp.com/127.0.0.1#1053 -server=/a767.dscg3.akamai.net/127.0.0.1#1053 -server=/a7shun.com/127.0.0.1#1053 -server=/a.80982.org/127.0.0.1#1053 -server=/a907907.com/127.0.0.1#1053 -server=/a9377j.com/127.0.0.1#1053 -server=/aa0.pub.funshion.com/127.0.0.1#1053 -server=/aa1.pub.funshion.com/127.0.0.1#1053 -server=/aadrm.com/127.0.0.1#1053 -server=/a.ads1.msn.com/127.0.0.1#1053 -server=/a.ads2.msn.com/127.0.0.1#1053 -server=/aafanke.cc/127.0.0.1#1053 -server=/aa-gb.mgid.com/127.0.0.1#1053 -server=/aa.goodsblock.mgid.com/127.0.0.1#1053 -server=/aa.jiankang.com/127.0.0.1#1053 -server=/aam.adsremote.scrippsnetworks.com/127.0.0.1#1053 -server=/aaplimg.com/127.0.0.1#1053 -server=/a.armystar.com/127.0.0.1#1053 -server=/aa.tianya999.com/127.0.0.1#1053 -server=/aave.com/127.0.0.1#1053 -server=/aa.xiangxiangmf.com/127.0.0.1#1053 -server=/aa.zldh123.com/127.0.0.1#1053 -server=/a.baidu.com/127.0.0.1#1053 -server=/a.baiy.net/127.0.0.1#1053 -server=/a.baomihua.com/127.0.0.1#1053 -server=/abbyychina.com/127.0.0.1#1053 -server=/abc.dooccn.com/127.0.0.1#1053 -server=/abc.douguo.com/127.0.0.1#1053 -server=/abcd.zsrt88.cn/127.0.0.1#1053 -server=/abc.eastlady.cn/127.0.0.1#1053 -server=/abchina.com/127.0.0.1#1053 -server=/abchina.com.cn/127.0.0.1#1053 -server=/abc.hkepc.com/127.0.0.1#1053 -server=/abcj.dooccn.com/127.0.0.1#1053 -server=/abc.ruiwen.com/127.0.0.1#1053 -server=/abc.xtyx918.com/127.0.0.1#1053 -server=/abc.xyz/127.0.0.1#1053 -server=/abc.yjbys.com/127.0.0.1#1053 -server=/abc.zhiyaspa.com/127.0.0.1#1053 -server=/ab.dydab.com/127.0.0.1#1053 -server=/a.beilamusi.com/127.0.0.1#1053 -server=/abema.io/127.0.0.1#1053 -server=/abema.tv/127.0.0.1#1053 -server=/a.benshiw.net/127.0.0.1#1053 -server=/abercrombie.com/127.0.0.1#1053 -server=/ab-gb.mgid.com/127.0.0.1#1053 -server=/ab.goodsblock.mgid.com/127.0.0.1#1053 -server=/ab.hysdknb.com/127.0.0.1#1053 -server=/ab.meishiba.com.cn/127.0.0.1#1053 -server=/abpchina.org/127.0.0.1#1053 -server=/ab.sc115.com/127.0.0.1#1053 -server=/a.bshu.com/127.0.0.1#1053 -server=/abtest.mistat.xiaomi.com/127.0.0.1#1053 -server=/ac2.msn.com/127.0.0.1#1053 -server=/ac3.msn.com/127.0.0.1#1053 -server=/acasys88.cn/127.0.0.1#1053 -server=/ac.atpanel.com/127.0.0.1#1053 -server=/access.njherald.com/127.0.0.1#1053 -server=/accountkit.com/127.0.0.1#1053 -server=/a.cdngeek.net/127.0.0.1#1053 -server=/acfun.tv/127.0.0.1#1053 -server=/ac-gb.mgid.com/127.0.0.1#1053 -server=/acg.tv/127.0.0.1#1053 -server=/acgvideo.com/127.0.0.1#1053 -server=/acinq.co/127.0.0.1#1053 -server=/acint.net/127.0.0.1#1053 -server=/a.ckm.iqiyi.com/127.0.0.1#1053 -server=/a.clipconverter.cc/127.0.0.1#1053 -server=/acm.dzwww.com/127.0.0.1#1053 -server=/acm.org/127.0.0.1#1053 -server=/a.cn.duoyi.com/127.0.0.1#1053 -server=/acompli.net/127.0.0.1#1053 -server=/acs86.com/127.0.0.1#1053 -server=/acs.org/127.0.0.1#1053 -server=/acsystem.wasu.cn/127.0.0.1#1053 -server=/act2.mediafour.com/127.0.0.1#1053 -server=/activate.adobe.com/127.0.0.1#1053 -server=/activate-sea.adobe.com/127.0.0.1#1053 -server=/activate-sjc0.adobe.com/127.0.0.1#1053 -server=/activate.wip3.adobe.com/127.0.0.1#1053 -server=/activation.cyberlink.com/127.0.0.1#1053 -server=/activation.easeus.com/127.0.0.1#1053 -server=/active.baofeng.com/127.0.0.1#1053 -server=/activeqq.3g.qq.com/127.0.0.1#1053 -server=/actives.youku.com/127.0.0.1#1053 -server=/activity.serving-sys.com/127.0.0.1#1053 -server=/activity.tuifish.com/127.0.0.1#1053 -server=/activity.yuyiya.com/127.0.0.1#1053 -server=/actlog.dftoutiao.com/127.0.0.1#1053 -server=/actsdk.idreamsky.com/127.0.0.1#1053 -server=/acuityplatform.com/127.0.0.1#1053 -server=/acwgf.com/127.0.0.1#1053 -server=/acxiom-online.com/127.0.0.1#1053 -server=/ad000000.com/127.0.0.1#1053 -server=/ad0.bigmir.net/127.0.0.1#1053 -server=/ad.1111cpc.com/127.0.0.1#1053 -server=/ad.12306.cn/127.0.0.1#1053 -server=/ad.17173.com/127.0.0.1#1053 -server=/ad1.bigmir.net/127.0.0.1#1053 -server=/ad1.greedland.net/127.0.0.1#1053 -server=/ad.1kxun.com/127.0.0.1#1053 -server=/ad1.nend.net/127.0.0.1#1053 -server=/ad1.netshelter.net/127.0.0.1#1053 -server=/ad1.p5w.net/127.0.0.1#1053 -server=/ad1.udn.com/127.0.0.1#1053 -server=/ad1.xiaomi.com/127.0.0.1#1053 -server=/ad1.yangjinyou.com/127.0.0.1#1053 -server=/ad2.nend.net/127.0.0.1#1053 -server=/ad2.udn.com/127.0.0.1#1053 -server=/ad2.yam.com/127.0.0.1#1053 -server=/ad2.yangjinyou.com/127.0.0.1#1053 -server=/ad.360yield.com/127.0.0.1#1053 -server=/ad.363.in/127.0.0.1#1053 -server=/ad.3.cn/127.0.0.1#1053 -server=/ad.3dnews.ru/127.0.0.1#1053 -server=/ad3.udn.com/127.0.0.1#1053 -server=/ad4.bigmir.net/127.0.0.1#1053 -server=/ad4game.com/127.0.0.1#1053 -server=/ad4.sina.com.cn/127.0.0.1#1053 -server=/ad4.udn.com/127.0.0.1#1053 -server=/ad.51wnl.com/127.0.0.1#1053 -server=/ad5.bigmir.net/127.0.0.1#1053 -server=/ad6.bigmir.net/127.0.0.1#1053 -server=/ad7.bigmir.net/127.0.0.1#1053 -server=/ad7.com/127.0.0.1#1053 -server=/ad7.on.cc/127.0.0.1#1053 -server=/ad7.tagphi.net/127.0.0.1#1053 -server=/ad8.adfarm1.adition.com/127.0.0.1#1053 -server=/ad9377.com/127.0.0.1#1053 -server=/ad.95306.cn/127.0.0.1#1053 -server=/ad.about.co.kr/127.0.0.1#1053 -server=/ad.accessmediaproductions.com/127.0.0.1#1053 -server=/adadapted.com/127.0.0.1#1053 -server=/ad.adhouyi.cn/127.0.0.1#1053 -server=/adadmin.house365.com/127.0.0.1#1053 -server=/adadvisor.net/127.0.0.1#1053 -server=/ad.aidalan.com/127.0.0.1#1053 -server=/ad-android.51wnl.com/127.0.0.1#1053 -server=/a.dangdang.com/127.0.0.1#1053 -server=/ad.api.3g.tudou.com/127.0.0.1#1053 -server=/ad.api.3g.youku.com/127.0.0.1#1053 -server=/adapi.lenovogame.com/127.0.0.1#1053 -server=/ad.api.mobile.youku.com/127.0.0.1#1053 -server=/ad.api.moji.com/127.0.0.1#1053 -server=/adaptivecards.io/127.0.0.1#1053 -server=/adap.tv/127.0.0.1#1053 -server=/adasad.myweb.hinet.net/127.0.0.1#1053 -server=/adash.m.taobao.com/127.0.0.1#1053 -server=/ad.auditude.com/127.0.0.1#1053 -server=/adbana.com/127.0.0.1#1053 -server=/ad.bayescom.com/127.0.0.1#1053 -server=/ad.beihai365.com/127.0.0.1#1053 -server=/ad-beta.flipboard.com/127.0.0.1#1053 -server=/ad.bitmedia.io/127.0.0.1#1053 -server=/ad.bjmama.net/127.0.0.1#1053 -server=/adblockplus.org/127.0.0.1#1053 -server=/adbot.tw/127.0.0.1#1053 -server=/adbox.sina.com.cn/127.0.0.1#1053 -server=/ad-brix.com/127.0.0.1#1053 -server=/adbuyer3.lycos.com/127.0.0.1#1053 -server=/adbxb.com/127.0.0.1#1053 -server=/ad.cacafly.com/127.0.0.1#1053 -server=/adcast.deviantart.com/127.0.0.1#1053 -server=/adcast.fblife.com/127.0.0.1#1053 -server=/adccoo.cn/127.0.0.1#1053 -server=/ad.cctv.com/127.0.0.1#1053 -server=/adcdn.goo.ne.jp/127.0.0.1#1053 -server=/adchina.com/127.0.0.1#1053 -server=/adcitrus.com/127.0.0.1#1053 -server=/adclick.g.doublecklick.net/127.0.0.1#1053 -server=/adclient.uimserv.net/127.0.0.1#1053 -server=/adclock.zdworks.com/127.0.0.1#1053 -server=/ad-cloud.jp/127.0.0.1#1053 -server=/adcloud.jp/127.0.0.1#1053 -server=/adcl.pchome.com.tw/127.0.0.1#1053 -server=/ad.cmvideo.cn/127.0.0.1#1053 -server=/ad-cn.jovcloud.com/127.0.0.1#1053 -server=/adcolony.com/127.0.0.1#1053 -server=/adcome.cn/127.0.0.1#1053 -server=/ad.cooks.com/127.0.0.1#1053 -server=/adcore.lenovomm.com/127.0.0.1#1053 -server=/adcount.yoka.com/127.0.0.1#1053 -server=/adcreative.naver.com/127.0.0.1#1053 -server=/ad.crichd.in/127.0.0.1#1053 -server=/adcr.naver.com/127.0.0.1#1053 -server=/ad.csdn.net/127.0.0.1#1053 -server=/addata.ku6.com/127.0.0.1#1053 -server=/add.bugun.com.tr/127.0.0.1#1053 -server=/add.dz19.net/127.0.0.1#1053 -server=/ad.dedecms.com/127.0.0.1#1053 -server=/ad-delivery.net/127.0.0.1#1053 -server=/add.freeimg8.com/127.0.0.1#1053 -server=/ad.digitimes.com.tw/127.0.0.1#1053 -server=/ad.directmirror.com/127.0.0.1#1053 -server=/addirector.vindicosuite.com/127.0.0.1#1053 -server=/addl.easetuner.com/127.0.0.1#1053 -server=/add.mmyuer.com/127.0.0.1#1053 -server=/ad.dokrmob.com/127.0.0.1#1053 -server=/ad.doubanio.com/127.0.0.1#1053 -server=/ad.download.cnet.com/127.0.0.1#1053 -server=/ad.dqwjzm.com/127.0.0.1#1053 -server=/adds.weatherology.com/127.0.0.1#1053 -server=/addthis.com/127.0.0.1#1053 -server=/addthisedge.com/127.0.0.1#1053 -server=/ad.duapps.com/127.0.0.1#1053 -server=/ad.duga.jp/127.0.0.1#1053 -server=/ad.dumedia.ru/127.0.0.1#1053 -server=/ad.duomi.com/127.0.0.1#1053 -server=/ad.dzwindows.com/127.0.0.1#1053 -server=/ad.dzwww.com/127.0.0.1#1053 -server=/adeaz.com/127.0.0.1#1053 -server=/ad.egou.com/127.0.0.1#1053 -server=/ad.endpo.in/127.0.0.1#1053 -server=/ad.epochtimes.com/127.0.0.1#1053 -server=/ad.eporner.com/127.0.0.1#1053 -server=/ader.mobi/127.0.0.1#1053 -server=/adeventtracker.spotify.com/127.0.0.1#1053 -server=/ad.evozi.com/127.0.0.1#1053 -server=/adexprt.com/127.0.0.1#1053 -server=/adfarm.mediaplex.com/127.0.0.1#1053 -server=/adf.dahe.cn/127.0.0.1#1053 -server=/ad.flipboard.com/127.0.0.1#1053 -server=/ad.flurry.com/127.0.0.1#1053 -server=/ad.flux.com/127.0.0.1#1053 -server=/ad.fnnews.com/127.0.0.1#1053 -server=/adform.net/127.0.0.1#1053 -server=/ad.foxnetworks.com/127.0.0.1#1053 -server=/adfront.auction.co.kr/127.0.0.1#1053 -server=/ad.funp.com/127.0.0.1#1053 -server=/ad.funshion.org.cn/127.0.0.1#1053 -server=/adfurikun.jp/127.0.0.1#1053 -server=/adfuture.cn/127.0.0.1#1053 -server=/ad.gametower.com.tw/127.0.0.1#1053 -server=/ad.ganji.com/127.0.0.1#1053 -server=/ad-gb.mgid.com/127.0.0.1#1053 -server=/adgeo.163.com/127.0.0.1#1053 -server=/ad.gmw.cn/127.0.0.1#1053 -server=/ad.go.com/127.0.0.1#1053 -server=/ad.greedland.net/127.0.0.1#1053 -server=/ad.gtbrowser.com/127.0.0.1#1053 -server=/adhai.com/127.0.0.1#1053 -server=/ad.hefei.cc/127.0.0.1#1053 -server=/ad.hiiir.com/127.0.0.1#1053 -server=/ad.holaq.com/127.0.0.1#1053 -server=/adhome.1fangchan.com/127.0.0.1#1053 -server=/ad.hot-mob.com/127.0.0.1#1053 -server=/ad.house365.com/127.0.0.1#1053 -server=/adhouyi.com/127.0.0.1#1053 -server=/ad.huajiao.com/127.0.0.1#1053 -server=/adi2007.cnool.net/127.0.0.1#1053 -server=/a.dianjoy.com/127.0.0.1#1053 -server=/adi.bigmir.net/127.0.0.1#1053 -server=/ad.ibookstar.com/127.0.0.1#1053 -server=/ad.icasthq.com/127.0.0.1#1053 -server=/adi.cnool.net/127.0.0.1#1053 -server=/ad.idgtn.net/127.0.0.1#1053 -server=/ad.iloveinterracial.com/127.0.0.1#1053 -server=/adimages.go.com/127.0.0.1#1053 -server=/adimages.sina.com.hk/127.0.0.1#1053 -server=/adimg1.chosun.com/127.0.0.1#1053 -server=/adimg3.search.naver.net/127.0.0.1#1053 -server=/adimg.bbcss.com/127.0.0.1#1053 -server=/adimg.cqnews.net/127.0.0.1#1053 -server=/adimg.daumcdn.net/127.0.0.1#1053 -server=/adimg.deviantart.net/127.0.0.1#1053 -server=/adimg.mobile.sina.cn/127.0.0.1#1053 -server=/adimg.qxlsjw.com/127.0.0.1#1053 -server=/adimgs.xici.net/127.0.0.1#1053 -server=/adimg.uimserv.net/127.0.0.1#1053 -server=/adimg.uve.weibo.com/127.0.0.1#1053 -server=/adimp.excite.co.jp/127.0.0.1#1053 -server=/adinall.com/127.0.0.1#1053 -server=/adinf.cp11.ott.cibntv.net/127.0.0.1#1053 -server=/adinfo.aol.com/127.0.0.1#1053 -server=/adinfo.ra1.xlmc.sec.miui.com/127.0.0.1#1053 -server=/adinfuse.com/127.0.0.1#1053 -server=/adinf.voole.com/127.0.0.1#1053 -server=/adingo.jp.eimg.jp/127.0.0.1#1053 -server=/ad.ipadview.com/127.0.0.1#1053 -server=/adirects.com/127.0.0.1#1053 -server=/ad.jamba.net/127.0.0.1#1053 -server=/ad.jamster.com/127.0.0.1#1053 -server=/ad.jamster.co.uk/127.0.0.1#1053 -server=/adjb.5nd.com/127.0.0.1#1053 -server=/ad.jiemian.com/127.0.0.1#1053 -server=/ad.jsnbrynb.com/127.0.0.1#1053 -server=/adjust.io/127.0.0.1#1053 -server=/ad.jxnews.com.cn/127.0.0.1#1053 -server=/adk2.co/127.0.0.1#1053 -server=/adk2x.com/127.0.0.1#1053 -server=/adk.funshion.com/127.0.0.1#1053 -server=/ad.kissanime.io/127.0.0.1#1053 -server=/ad.kisscartoon.io/127.0.0.1#1053 -server=/adkmob.com/127.0.0.1#1053 -server=/adkongjian.com/127.0.0.1#1053 -server=/adlabs-sync.rutarget.ru/127.0.0.1#1053 -server=/adlaunch.moji.com/127.0.0.1#1053 -server=/ad.leadboltads.net/127.0.0.1#1053 -server=/ad.leadboltapps.net/127.0.0.1#1053 -server=/ad.leadboltmobile.net/127.0.0.1#1053 -server=/ad.leadbolt.net/127.0.0.1#1053 -server=/adlefee.com/127.0.0.1#1053 -server=/adlink.shopsafe.co.nz/127.0.0.1#1053 -server=/adlive.cn/127.0.0.1#1053 -server=/ad.livere.co.kr/127.0.0.1#1053 -server=/ad-locus.com/127.0.0.1#1053 -server=/adlocus.com/127.0.0.1#1053 -server=/adlog.flurry.com/127.0.0.1#1053 -server=/ad.lqalm.com/127.0.0.1#1053 -server=/ad.lyricswire.com/127.0.0.1#1053 -server=/adm0.autoimg.cn/127.0.0.1#1053 -server=/adm.10jqka.com.cn/127.0.0.1#1053 -server=/adm1.autoimg.cn/127.0.0.1#1053 -server=/adm.265g.com/127.0.0.1#1053 -server=/adm2.autoimg.cn/127.0.0.1#1053 -server=/adm3.autoimg.cn/127.0.0.1#1053 -server=/adm.72zx.com/127.0.0.1#1053 -server=/adm.86wan.com/127.0.0.1#1053 -server=/ad.madserving.com/127.0.0.1#1053 -server=/ad.mail.ru/127.0.0.1#1053 -server=/ad.mail.sohu.com/127.0.0.1#1053 -server=/admaji.com/127.0.0.1#1053 -server=/ad.mangareader.net/127.0.0.1#1053 -server=/admarket.21cn.com/127.0.0.1#1053 -server=/admarket.mobi/127.0.0.1#1053 -server=/adm.baidu.com/127.0.0.1#1053 -server=/adm.cloud.cnfol.com/127.0.0.1#1053 -server=/admd.yam.com/127.0.0.1#1053 -server=/adm.easou.com/127.0.0.1#1053 -server=/ad.mediabong.net/127.0.0.1#1053 -server=/admedia.com/127.0.0.1#1053 -server=/ad.mesomorphosis.com/127.0.0.1#1053 -server=/admeta.vo.llnwd.net/127.0.0.1#1053 -server=/adm.funshion.com/127.0.0.1#1053 -server=/admgr.qingting.fm/127.0.0.1#1053 -server=/adm.icast.cn/127.0.0.1#1053 -server=/ad.mi.com/127.0.0.1#1053 -server=/admin6.com/127.0.0.1#1053 -server=/admin.cooguo.com/127.0.0.1#1053 -server=/admin.louxia.org/127.0.0.1#1053 -server=/admin.ninebox.cn/127.0.0.1#1053 -server=/ad.m.iqiyi.com/127.0.0.1#1053 -server=/adm.leju.com/127.0.0.1#1053 -server=/adm.leju.sina.com.cn/127.0.0.1#1053 -server=/adm.myzaker.com/127.0.0.1#1053 -server=/ad.mnt123.com/127.0.0.1#1053 -server=/ad.mobile.youku.com/127.0.0.1#1053 -server=/ad.molitv.cn/127.0.0.1#1053 -server=/admon.cn/127.0.0.1#1053 -server=/admtpmp124.com/127.0.0.1#1053 -server=/admx.baixing.com/127.0.0.1#1053 -server=/adm.xmfish.com/127.0.0.1#1053 -server=/adm.zbinfo.net/127.0.0.1#1053 -server=/adm.zookingsoft.com/127.0.0.1#1053 -server=/ad.naver.com/127.0.0.1#1053 -server=/adn.ebay.com/127.0.0.1#1053 -server=/ad.netowl.jp/127.0.0.1#1053 -server=/adnetpub.yaolan.com/127.0.0.1#1053 -server=/adnet.sohu.com/127.0.0.1#1053 -server=/ad.newegg.com/127.0.0.1#1053 -server=/adnew.wifi8.com/127.0.0.1#1053 -server=/adn.insight.ucweb.com/127.0.0.1#1053 -server=/adnxs.com/127.0.0.1#1053 -server=/adobe.com/127.0.0.1#1053 -server=/adobe-dns-2.adobe.com/127.0.0.1#1053 -server=/adobe-dns-3.adobe.com/127.0.0.1#1053 -server=/adobe-dns.adobe.com/127.0.0.1#1053 -server=/adobedtm.com/127.0.0.1#1053 -server=/adobesc.com/127.0.0.1#1053 -server=/ad.obuy.tw/127.0.0.1#1053 -server=/adomv.com/127.0.0.1#1053 -server=/ad.openmultimedia.biz/127.0.0.1#1053 -server=/a.dounanhuahui.com/127.0.0.1#1053 -server=/ad.outsidehub.com/127.0.0.1#1053 -server=/adp1.cnool.net/127.0.0.1#1053 -server=/adpai.thepaper.cn/127.0.0.1#1053 -server=/ad.pandora.tv/127.0.0.1#1053 -server=/ad.pchome.com.tw/127.0.0.1#1053 -server=/adp.cnool.net/127.0.0.1#1053 -server=/adperium.com/127.0.0.1#1053 -server=/ad.pickple.net/127.0.0.1#1053 -server=/adping.qq.com/127.0.0.1#1053 -server=/ad.pixnet.in/127.0.0.1#1053 -server=/ad.pixnet.net/127.0.0.1#1053 -server=/adplatform.vrtcal.com/127.0.0.1#1053 -server=/ad.player.baidu.com/127.0.0.1#1053 -server=/ad-plus.cn/127.0.0.1#1053 -server=/adplus.goo.mx/127.0.0.1#1053 -server=/adplxmd.com/127.0.0.1#1053 -server=/adpm.app.qq.com/127.0.0.1#1053 -server=/adpolestar.net/127.0.0.1#1053 -server=/adpro.cn/127.0.0.1#1053 -server=/ad.propellerads.com/127.0.0.1#1053 -server=/adpro.pro.cn/127.0.0.1#1053 -server=/ad.proxy.sh/127.0.0.1#1053 -server=/adp.s8bbs.com/127.0.0.1#1053 -server=/adpublish.ydstatic.com/127.0.0.1#1053 -server=/adpubs.yaolan.com/127.0.0.1#1053 -server=/adpub.yaolan.com/127.0.0.1#1053 -server=/adpush.cn/127.0.0.1#1053 -server=/adq.chinaso.com/127.0.0.1#1053 -server=/ad.qingting.fm/127.0.0.1#1053 -server=/ad.qq.com/127.0.0.1#1053 -server=/ad.rambler.ru/127.0.0.1#1053 -server=/adrdir.qq.com/127.0.0.1#1053 -server=/ad.reachlocal.com/127.0.0.1#1053 -server=/adreal.cn/127.0.0.1#1053 -server=/ad.rednet.cn/127.0.0.1#1053 -server=/ad.reklamport.com/127.0.0.1#1053 -server=/adres.myaora.net/127.0.0.1#1053 -server=/adriver.ru/127.0.0.1#1053 -server=/adriver-sync.rutarget.ru/127.0.0.1#1053 -server=/adroll.com/127.0.0.1#1053 -server=/adrotator.se/127.0.0.1#1053 -server=/adrs.sdo.com/127.0.0.1#1053 -server=/adrunnr.com/127.0.0.1#1053 -server=/ad.r.worldssl.net/127.0.0.1#1053 -server=/ads1.lfengmobile.com/127.0.0.1#1053 -server=/ads1.msads.net/127.0.0.1#1053 -server=/ads1.msn.com/127.0.0.1#1053 -server=/ads2.contentabc.com/127.0.0.1#1053 -server=/ads2.msads.net/127.0.0.1#1053 -server=/ads2.msn.com/127.0.0.1#1053 -server=/ads2.opensubtitles.org/127.0.0.1#1053 -server=/ads80.com/127.0.0.1#1053 -server=/ads8.com/127.0.0.1#1053 -server=/adsame.com/127.0.0.1#1053 -server=/adsapi.manhuaren.com/127.0.0.1#1053 -server=/ads-api.videojj.com/127.0.0.1#1053 -server=/adsatt.abcnews.starwave.com/127.0.0.1#1053 -server=/adsatt.disney.starwave.com/127.0.0.1#1053 -server=/adsatt.espn.go.com/127.0.0.1#1053 -server=/adsatt.espn.starwave.com/127.0.0.1#1053 -server=/adsatt.familyfun.starwave.com/127.0.0.1#1053 -server=/adsatt.go.starwave.com/127.0.0.1#1053 -server=/adsatt.movies.starwave.com/127.0.0.1#1053 -server=/adscaspion.appspot.com/127.0.0.1#1053 -server=/adscdn.baidu.com/127.0.0.1#1053 -server=/adsclick.qq.com/127.0.0.1#1053 -server=/adsclick.yx.js.cn/127.0.0.1#1053 -server=/adsco.re/127.0.0.1#1053 -server=/adscript.gmarket.co.kr/127.0.0.1#1053 -server=/adsdk.9imobi.com/127.0.0.1#1053 -server=/adsdk.dmzj.com/127.0.0.1#1053 -server=/ad.search.ch/127.0.0.1#1053 -server=/ad.seeyouyima.com/127.0.0.1#1053 -server=/adsence.sogou.com/127.0.0.1#1053 -server=/adsense.html5.qq.com/127.0.0.1#1053 -server=/ad.sensismediasmart.com.au/127.0.0.1#1053 -server=/adserve2.tom.com/127.0.0.1#1053 -server=/ad.services.distractify.com/127.0.0.1#1053 -server=/adse.test.ximalaya.com/127.0.0.1#1053 -server=/adse.ximalaya.com/127.0.0.1#1053 -server=/adsfactor.net/127.0.0.1#1053 -server=/adsfile.bssdlbig.kugou.com/127.0.0.1#1053 -server=/adsfile.qq.com/127.0.0.1#1053 -server=/adsfs.oppomobile.com/127.0.0.1#1053 -server=/adsgroup.qq.com/127.0.0.1#1053 -server=/adshare.freedocast.com/127.0.0.1#1053 -server=/adshmct.qq.com/127.0.0.1#1053 -server=/adshmmsg.qq.com/127.0.0.1#1053 -server=/adshost2.com/127.0.0.1#1053 -server=/adshow.58.com/127.0.0.1#1053 -server=/adshow.it168.com/127.0.0.1#1053 -server=/adshows.21cn.com/127.0.0.1#1053 -server=/ad.shuoshuomi.com/127.0.0.1#1053 -server=/ad.sina.com.cn/127.0.0.1#1053 -server=/ad.sinovision.net/127.0.0.1#1053 -server=/adsinstant.com/127.0.0.1#1053 -server=/adsin.zhangyoubao.com/127.0.0.1#1053 -server=/ad.slutload.com/127.0.0.1#1053 -server=/adslvfile.qq.com/127.0.0.1#1053 -server=/adslvseed.qq.com/127.0.0.1#1053 -server=/ad.smartclip.net/127.0.0.1#1053 -server=/adsmart.yicha.cn/127.0.0.1#1053 -server=/adsmind.gdtimg.com/127.0.0.1#1053 -server=/ad.sohu.com/127.0.0.1#1053 -server=/adsolution.imtt.qq.com/127.0.0.1#1053 -server=/adsor.openrunner.com/127.0.0.1#1053 -server=/ad-specs.guoshipartners.com/127.0.0.1#1053 -server=/ad.spielothek.so/127.0.0.1#1053 -server=/ad.spreaker.com/127.0.0.1#1053 -server=/adsp.xunlei.com/127.0.0.1#1053 -server=/adsqqclick.qq.com/127.0.0.1#1053 -server=/adsremote.scrippsnetworks.com/127.0.0.1#1053 -server=/adsrvr.org/127.0.0.1#1053 -server=/adss.dotdo.net/127.0.0.1#1053 -server=/adss.yahoo.com/127.0.0.1#1053 -server=/adstat.cp11.ott.cibntv.net/127.0.0.1#1053 -server=/adstextview.qq.com/127.0.0.1#1053 -server=/adstil.indiatimes.com/127.0.0.1#1053 -server=/ad-stir.com/127.0.0.1#1053 -server=/adstream.123.sogoucdn.com/127.0.0.1#1053 -server=/ad.stsywl.com/127.0.0.1#1053 -server=/ads-twitter.com/127.0.0.1#1053 -server=/adsunflower.com/127.0.0.1#1053 -server=/adsunion.com/127.0.0.1#1053 -server=/ad-survey.com/127.0.0.1#1053 -server=/ads-v-darwin.hulustream.com/127.0.0.1#1053 -server=/adsview2.qq.com/127.0.0.1#1053 -server=/adsview.qq.com/127.0.0.1#1053 -server=/adsymptotic.com/127.0.0.1#1053 -server=/adsyndication.msn.com/127.0.0.1#1053 -server=/adsys.chinacloudapp.cn/127.0.0.1#1053 -server=/adsys.sinovision.net/127.0.0.1#1053 -server=/adtaily.com/127.0.0.1#1053 -server=/ad.tatatimes.com/127.0.0.1#1053 -server=/adtechjp.com/127.0.0.1#1053 -server=/ad-tech.nbcuni.co/127.0.0.1#1053 -server=/adtechus.com/127.0.0.1#1053 -server=/adtest.theonion.com/127.0.0.1#1053 -server=/ad.test.ximalaya.com/127.0.0.1#1053 -server=/ad.thepaper.cn/127.0.0.1#1053 -server=/ad.thisav.com/127.0.0.1#1053 -server=/adthor.com/127.0.0.1#1053 -server=/ad.thsi.cn/127.0.0.1#1053 -server=/ad.toutiao.com/127.0.0.1#1053 -server=/adtrack.ucweb.com/127.0.0.1#1053 -server=/adtrk.me/127.0.0.1#1053 -server=/ad.turn.com/127.0.0.1#1053 -server=/a.duanmeiwen.com/127.0.0.1#1053 -server=/adui.tg.meitu.com/127.0.0.1#1053 -server=/adultfriendfinder.com/127.0.0.1#1053 -server=/ad.unimhk.com/127.0.0.1#1053 -server=/adups.com/127.0.0.1#1053 -server=/ad.userporn.com/127.0.0.1#1053 -server=/aduu.cn/127.0.0.1#1053 -server=/adv2.downsave.com/127.0.0.1#1053 -server=/advapi.ahtv.cn/127.0.0.1#1053 -server=/adv.app.qq.com/127.0.0.1#1053 -server=/adv.ccb.com/127.0.0.1#1053 -server=/adventuresbydisney.com/127.0.0.1#1053 -server=/adver.qq.com/127.0.0.1#1053 -server=/adv.fjtv.net/127.0.0.1#1053 -server=/ad.vidaroo.com/127.0.0.1#1053 -server=/ad.video.51togic.com/127.0.0.1#1053 -server=/adview.cn/127.0.0.1#1053 -server=/adv.jxnews.com.cn/127.0.0.1#1053 -server=/adv.madserving.com/127.0.0.1#1053 -server=/advmob.cn/127.0.0.1#1053 -server=/advombat.ru/127.0.0.1#1053 -server=/ad.vryeye.com/127.0.0.1#1053 -server=/adv.s8bbs.com/127.0.0.1#1053 -server=/adv.sec.miui.com/127.0.0.1#1053 -server=/ad.walkgame.com/127.0.0.1#1053 -server=/ad.wang502.com/127.0.0.1#1053 -server=/adwasu.wasu.tv/127.0.0.1#1053 -server=/adweb.test.ximalaya.com/127.0.0.1#1053 -server=/adweb.ximalaya.com/127.0.0.1#1053 -server=/adwhirl.com/127.0.0.1#1053 -server=/ad.winningpartner.com/127.0.0.1#1053 -server=/ad.winrar.com.cn/127.0.0.1#1053 -server=/adwo.com/127.0.0.1#1053 -server=/ad.wretch.cc/127.0.0.1#1053 -server=/adx3.iq39.com/127.0.0.1#1053 -server=/adx.adxglobal.com/127.0.0.1#1053 -server=/adx.chip.de/127.0.0.1#1053 -server=/adx.dlads.cn/127.0.0.1#1053 -server=/ad.xiaomi.com/127.0.0.1#1053 -server=/ad.ximalaya.com/127.0.0.1#1053 -server=/adx.kat.ph/127.0.0.1#1053 -server=/a-dxk.play.api.3g.youku.com/127.0.0.1#1053 -server=/adxmi.com/127.0.0.1#1053 -server=/ad.xmovies8.ru/127.0.0.1#1053 -server=/adxpansion.com/127.0.0.1#1053 -server=/adx.pro.cn/127.0.0.1#1053 -server=/adxserver.ad.cmvideo.cn/127.0.0.1#1053 -server=/ad.xxguan.cn/127.0.0.1#1053 -server=/adx.xiaodutv.com/127.0.0.1#1053 -server=/ad.yeshitv.com/127.0.0.1#1053 -server=/ad.yieldlab.net/127.0.0.1#1053 -server=/ad.yixin.im/127.0.0.1#1053 -server=/ad.ylunion.com/127.0.0.1#1053 -server=/adytx.com/127.0.0.1#1053 -server=/adyun.com/127.0.0.1#1053 -server=/ad.zanox.com/127.0.0.1#1053 -server=/ad.zdworks.com/127.0.0.1#1053 -server=/adzerk.net/127.0.0.1#1053 -server=/ad.zhangyue.com/127.0.0.1#1053 -server=/ad.zhidian3g.cn/127.0.0.1#1053 -server=/ad.zuimeitianqi.com/127.0.0.1#1053 -server=/adz.zwee.ly/127.0.0.1#1053 -server=/a.e7009.com/127.0.0.1#1053 -server=/a.ecook.cn/127.0.0.1#1053 -server=/aecpm.alicdn.com/127.0.0.1#1053 -server=/aec.shjk123.net/127.0.0.1#1053 -server=/ae-gb.mgid.com/127.0.0.1#1053 -server=/a.epinv.com/127.0.0.1#1053 -server=/a.eporner.com/127.0.0.1#1053 -server=/aercxy.com/127.0.0.1#1053 -server=/aerisapi.com/127.0.0.1#1053 -server=/aerserv.com/127.0.0.1#1053 -server=/aes01.com/127.0.0.1#1053 -server=/a.exam58.com/127.0.0.1#1053 -server=/aex.com/127.0.0.1#1053 -server=/afd.baidu.com/127.0.0.1#1053 -server=/afd.l.google.com/127.0.0.1#1053 -server=/a.fengyx.com/127.0.0.1#1053 -server=/aff.eteachergroup.com/127.0.0.1#1053 -server=/affiliategroove.com/127.0.0.1#1053 -server=/affiliateprogram.keywordspy.com/127.0.0.1#1053 -server=/affiliates.allposters.com/127.0.0.1#1053 -server=/affiliates.goodvibes.com/127.0.0.1#1053 -server=/affiliatesmedia.sbobet.com/127.0.0.1#1053 -server=/affiliates.thrixxx.com/127.0.0.1#1053 -server=/affiliation.fotovista.com/127.0.0.1#1053 -server=/affil.mupromo.com/127.0.0.1#1053 -server=/aff.lmgtfy.com/127.0.0.1#1053 -server=/aff.marathonbet.com/127.0.0.1#1053 -server=/aff.svjump.com/127.0.0.1#1053 -server=/afjlb.com/127.0.0.1#1053 -server=/afp.alicdn.com/127.0.0.1#1053 -server=/afp.chinanews.com/127.0.0.1#1053 -server=/afpcreative.wasu.cn/127.0.0.1#1053 -server=/afp.csbew.com/127.0.0.1#1053 -server=/afpimages.eastday/127.0.0.1#1053 -server=/afpimages.eastday.com/127.0.0.1#1053 -server=/afp.iqiyi.com/127.0.0.1#1053 -server=/afp.m1905.com/127.0.0.1#1053 -server=/afpmm.alicdn.com/127.0.0.1#1053 -server=/afp.pplive.com/127.0.0.1#1053 -server=/afptrack.csbew.com/127.0.0.1#1053 -server=/afp.wasu.cn/127.0.0.1#1053 -server=/afp.zol-img.com.cn/127.0.0.1#1053 -server=/a.fwsir.com/127.0.0.1#1053 -server=/agenda.complex.com/127.0.0.1#1053 -server=/ag-gb.marketgid.com/127.0.0.1#1053 -server=/a.giantrealm.com/127.0.0.1#1053 -server=/a.global.msads.net/127.0.0.1#1053 -server=/agn.aty.cp45.ott.cibntv.net/127.0.0.1#1053 -server=/agn.aty.snmsohu.aisee.tv/127.0.0.1#1053 -server=/ag.nukefans.net/127.0.0.1#1053 -server=/agoodm.m.taobao.com/127.0.0.1#1053 -server=/agrant.cn/127.0.0.1#1053 -server=/agrantsem.com/127.0.0.1#1053 -server=/agr.voiceads.cn/127.0.0.1#1053 -server=/ahhuazhen.com/127.0.0.1#1053 -server=/a.hl.mi.com/127.0.0.1#1053 -server=/a.holagames.com/127.0.0.1#1053 -server=/ahyau.com/127.0.0.1#1053 -server=/ahyuns.com/127.0.0.1#1053 -server=/aiaa.org/127.0.0.1#1053 -server=/aibangzs.com/127.0.0.1#1053 -server=/ai.bioon.com/127.0.0.1#1053 -server=/aiclk.com/127.0.0.1#1053 -server=/aicoin.com/127.0.0.1#1053 -server=/ai.com/127.0.0.1#1053 -server=/aicscience.com/127.0.0.1#1053 -server=/aicydb.com/127.0.0.1#1053 -server=/aid.chinayk.com/127.0.0.1#1053 -server=/aider-res.meizu.com/127.0.0.1#1053 -server=/aihaoduo.cn/127.0.0.1#1053 -server=/aikan6.com/127.0.0.1#1053 -server=/ailicee.com/127.0.0.1#1053 -server=/aimoon.com/127.0.0.1#1053 -server=/ai.m.taobao.com/127.0.0.1#1053 -server=/aim.yoyi.com.cn/127.0.0.1#1053 -server=/aip.org/127.0.0.1#1053 -server=/air-matters.com/127.0.0.1#1053 -server=/air-matters.io/127.0.0.1#1053 -server=/airpush.com/127.0.0.1#1053 -server=/airpushmarketing.s3.amazonaws.com/127.0.0.1#1053 -server=/a.irs01.com/127.0.0.1#1053 -server=/airtable.com/127.0.0.1#1053 -server=/air.yoyi.com.cn/127.0.0.1#1053 -server=/ais.abacast.com/127.0.0.1#1053 -server=/aishang.bid/127.0.0.1#1053 -server=/aishiguolong.com/127.0.0.1#1053 -server=/aishowbger.com/127.0.0.1#1053 -server=/ai.taobao.com/127.0.0.1#1053 -server=/a.itiexue.net/127.0.0.1#1053 -server=/aiv-cdn.net/127.0.0.1#1053 -server=/aiv-delivery.net/127.0.0.1#1053 -server=/aiwen.cc/127.0.0.1#1053 -server=/aixifan.com/127.0.0.1#1053 -server=/ai.xinju.cc/127.0.0.1#1053 -server=/ai.yimg.jp/127.0.0.1#1053 -server=/ajapk.com/127.0.0.1#1053 -server=/ajaxcdn.org/127.0.0.1#1053 -server=/aj-gb.mgid.com/127.0.0.1#1053 -server=/ajhdf.com/127.0.0.1#1053 -server=/ajialive.com/127.0.0.1#1053 -server=/ajnad.aljazeera.net/127.0.0.1#1053 -server=/ajuhd.com/127.0.0.1#1053 -server=/a.jyeoo.com/127.0.0.1#1053 -server=/ak47.cooguo.com/127.0.0.1#1053 -server=/akadns.net/127.0.0.1#1053 -server=/akamaihd.net/127.0.0.1#1053 -server=/akamai.net/127.0.0.1#1053 -server=/akamaized.net/127.0.0.1#1053 -server=/aka.ms/127.0.0.1#1053 -server=/a.kandiaoyu.com/127.0.0.1#1053 -server=/a.kejixun.com/127.0.0.1#1053 -server=/a.kickass.to/127.0.0.1#1053 -server=/a.koudai.com/127.0.0.1#1053 -server=/akrwi.cn/127.0.0.1#1053 -server=/ak.sascdn.com/127.0.0.1#1053 -server=/akuai.top/127.0.0.1#1053 -server=/akxsrsdbursfpx.bid/127.0.0.1#1053 -server=/alertserver.ushaqi.com/127.0.0.1#1053 -server=/alfredapp.com/127.0.0.1#1053 -server=/alibabacloud.com/127.0.0.1#1053 -server=/alibaba.com/127.0.0.1#1053 -server=/alicdn.com/127.0.0.1#1053 -server=/alipay.com/127.0.0.1#1053 -server=/alipay.dajiadou6.com/127.0.0.1#1053 -server=/alipayobjects.com/127.0.0.1#1053 -server=/aliqqjd.cn/127.0.0.1#1053 -server=/alisinak.com/127.0.0.1#1053 -server=/alissl.ucdl.pp.uc.cn/127.0.0.1#1053 -server=/alistatic.cn/127.0.0.1#1053 -server=/alitianxia168.com/127.0.0.1#1053 -server=/alitui.weibo.com/127.0.0.1#1053 -server=/aliunion.cn.yahoo.com/127.0.0.1#1053 -server=/a.livesportmedia.eu/127.0.0.1#1053 -server=/aliyun.com/127.0.0.1#1053 -server=/aliyuncs.com/127.0.0.1#1053 -server=/aliyuncss.com/127.0.0.1#1053 -server=/aliyunxin.com/127.0.0.1#1053 -server=/allconnected.co/127.0.0.1#1053 -server=/allnews.uodoo.com/127.0.0.1#1053 -server=/all.orfr.adgtw.orangeads.fr/127.0.0.1#1053 -server=/all.rising.com.cn/127.0.0.1#1053 -server=/allxin.com/127.0.0.1#1053 -server=/a.lolwot.com/127.0.0.1#1053 -server=/alphassl.com/127.0.0.1#1053 -server=/als.baidu.com/127.0.0.1#1053 -server=/a.ltdnc.com/127.0.0.1#1053 -server=/alvares.esportsheaven.com/127.0.0.1#1053 -server=/a.lwinl.com/127.0.0.1#1053 -server=/a.lz13.cn/127.0.0.1#1053 -server=/am15.net/127.0.0.1#1053 -server=/am.6park.com/127.0.0.1#1053 -server=/amap.com/127.0.0.1#1053 -server=/amazingmagics.com/127.0.0.1#1053 -server=/amazon-adsystem.com/127.0.0.1#1053 -server=/amazonaws.com/127.0.0.1#1053 -server=/amazon.co/127.0.0.1#1053 -server=/amazon.co.jp/127.0.0.1#1053 -server=/amazon.com/127.0.0.1#1053 -server=/amazonprimevideos.com/127.0.0.1#1053 -server=/amazonvideo.cc/127.0.0.1#1053 -server=/amazonvideo.com/127.0.0.1#1053 -server=/amazonvideodirect.cc/127.0.0.1#1053 -server=/a.mct01.com/127.0.0.1#1053 -server=/amdc.m.taobao.com/127.0.0.1#1053 -server=/ameba.jp/127.0.0.1#1053 -server=/amfi.gou.sogou.com/127.0.0.1#1053 -server=/am.g.ireader.com/127.0.0.1#1053 -server=/a.m.gxwztv.com/127.0.0.1#1053 -server=/amiok.org/127.0.0.1#1053 -server=/a.mjlnbx.cn/127.0.0.1#1053 -server=/ampproject.com/127.0.0.1#1053 -server=/ampproject.net/127.0.0.1#1053 -server=/ampproject.org/127.0.0.1#1053 -server=/amps.yoyi.com.cn/127.0.0.1#1053 -server=/a-msedge.net/127.0.0.1#1053 -server=/ams.fx678.com/127.0.0.1#1053 -server=/a.m.shuhuangge.org/127.0.0.1#1053 -server=/ams.lenovomm.com/127.0.0.1#1053 -server=/ams.org/127.0.0.1#1053 -server=/a-m-s.poco.cn/127.0.0.1#1053 -server=/am.szhome.com/127.0.0.1#1053 -server=/am.zdnet.com.cn/127.0.0.1#1053 -server=/amz.steamprices.com/127.0.0.1#1053 -server=/anaconda.com/127.0.0.1#1053 -server=/analy.qq.com/127.0.0.1#1053 -server=/a.nanhuwang.com/127.0.0.1#1053 -server=/ana.tatahn.com/127.0.0.1#1053 -server=/ancsconf.org/127.0.0.1#1053 -server=/andmejs.com/127.0.0.1#1053 -server=/android.com/127.0.0.1#1053 -server=/androidgo.duapp.com/127.0.0.1#1053 -server=/androidify.com/127.0.0.1#1053 -server=/androidlog.shouji.baofeng.com/127.0.0.1#1053 -server=/android-lrcresource.wps.cn/127.0.0.1#1053 -server=/android.push.126.net/127.0.0.1#1053 -server=/android.rqd.qq.com/127.0.0.1#1053 -server=/android-x86.org/127.0.0.1#1053 -server=/andrqd.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/anfeng.com/127.0.0.1#1053 -server=/angsrvr.com/127.0.0.1#1053 -server=/angularjs.org/127.0.0.1#1053 -server=/anioscp.com/127.0.0.1#1053 -server=/ankarazirvesi2018.com/127.0.0.1#1053 -server=/an.m.liebao.cn/127.0.0.1#1053 -server=/ann5.net/127.0.0.1#1053 -server=/annualreviews.org/127.0.0.1#1053 -server=/a.nowscore.com/127.0.0.1#1053 -server=/anquan.baidu.com/127.0.0.1#1053 -server=/anquan.org/127.0.0.1#1053 -server=/anreson.net/127.0.0.1#1053 -server=/anthonycalzadilla.com/127.0.0.1#1053 -server=/antivirus.baidu.com/127.0.0.1#1053 -server=/an.wikigifth.com/127.0.0.1#1053 -server=/an.yandex.ru/127.0.0.1#1053 -server=/anyangruisi.com/127.0.0.1#1053 -server=/anysdk.com/127.0.0.1#1053 -server=/aodongjiaosu.com/127.0.0.1#1053 -server=/aolcdn.com/127.0.0.1#1053 -server=/aol.com/127.0.0.1#1053 -server=/aombjl099.com/127.0.0.1#1053 -server=/aoodoo.feng.com/127.0.0.1#1053 -server=/aoodoo.weiphone.com/127.0.0.1#1053 -server=/aos-creative.prf.hn/127.0.0.1#1053 -server=/aos.wall.youmi.net/127.0.0.1#1053 -server=/apache.org/127.0.0.1#1053 -server=/apas.aipai.com/127.0.0.1#1053 -server=/api.0.0.0.0.cn/127.0.0.1#1053 -server=/api2.play.cn/127.0.0.1#1053 -server=/api.adv.ott.cibntv.net/127.0.0.1#1053 -server=/api.ahjinshu.com/127.0.0.1#1053 -server=/api.amplitude.com/127.0.0.1#1053 -server=/api.android.dianru.com/127.0.0.1#1053 -server=/api.anti.wauee.com/127.0.0.1#1053 -server=/api.appodeal.com/127.0.0.1#1053 -server=/api.apps.sina.cn/127.0.0.1#1053 -server=/api.bailingjiankang.com/127.0.0.1#1053 -server=/api.bs.zui.com/127.0.0.1#1053 -server=/api.cmt.mob.com/127.0.0.1#1053 -server=/api.coolguang.com/127.0.0.1#1053 -server=/api.cupid.iqiyi.com/127.0.0.1#1053 -server=/api.cupid.qiyi.com/127.0.0.1#1053 -server=/api.dewmobile.net/127.0.0.1#1053 -server=/api.dianru.com/127.0.0.1#1053 -server=/api.doumob.com/127.0.0.1#1053 -server=/api.dreamfull.cn/127.0.0.1#1053 -server=/api.dsp.yhd.com/127.0.0.1#1053 -server=/api.exc.mob.com/127.0.0.1#1053 -server=/api-extractor.com/127.0.0.1#1053 -server=/api-flow.flyme.cn/127.0.0.1#1053 -server=/api.g1.junfull.com/127.0.0.1#1053 -server=/api.g2.junfull.com/127.0.0.1#1053 -server=/api.game.letvstore.com/127.0.0.1#1053 -server=/api-game.meizu.com/127.0.0.1#1053 -server=/apigee.com/127.0.0.1#1053 -server=/api.gi.igexin.com/127.0.0.1#1053 -server=/api.goulegu.com/127.0.0.1#1053 -server=/api.growingio.com/127.0.0.1#1053 -server=/apihk.growingio.com/127.0.0.1#1053 -server=/api.iapps.ifeng.com/127.0.0.1#1053 -server=/api.iimedia.cn/127.0.0.1#1053 -server=/api.ijunhai.com/127.0.0.1#1053 -server=/api.iplay.163.com/127.0.0.1#1053 -server=/api.itaoxiaoshuo.com/127.0.0.1#1053 -server=/api.joybj.com/127.0.0.1#1053 -server=/api.ketedata.com/127.0.0.1#1053 -server=/api.koudaikj.com/127.0.0.1#1053 -server=/api.leadbolt.net/127.0.0.1#1053 -server=/api.mixpanel.com/127.0.0.1#1053 -server=/api.mob.app.letv.com/127.0.0.1#1053 -server=/api.mobgi.com/127.0.0.1#1053 -server=/api.mobula.sdk.duapps.com/127.0.0.1#1053 -server=/api.moogos.com/127.0.0.1#1053 -server=/api.mp.uc.cn/127.0.0.1#1053 -server=/api.newad.ifeng.com/127.0.0.1#1053 -server=/api.newbelden.com/127.0.0.1#1053 -server=/api.open.uc.cn/127.0.0.1#1053 -server=/api.pingstart.com/127.0.0.1#1053 -server=/api.ppoi.org/127.0.0.1#1053 -server=/api.primecaster.net/127.0.0.1#1053 -server=/api.push.daoyoudao.com/127.0.0.1#1053 -server=/api.push.le.com/127.0.0.1#1053 -server=/api-push.meizu.com/127.0.0.1#1053 -server=/api.ra2.xlmc.sec.miui.com/127.0.0.1#1053 -server=/api.rees46.com/127.0.0.1#1053 -server=/api.rideraid.net/127.0.0.1#1053 -server=/api.share.mob.com/127.0.0.1#1053 -server=/api-shoulei-ssl.xunlei.com/127.0.0.1#1053 -server=/api.shuzilm.cn/127.0.0.1#1053 -server=/api.similarweb.com/127.0.0.1#1053 -server=/apisof.net/127.0.0.1#1053 -server=/apisoft.df0535.com/127.0.0.1#1053 -server=/api.termius.com/127.0.0.1#1053 -server=/api.tiktokv.com/127.0.0.1#1053 -server=/api.tr.blismedia.com/127.0.0.1#1053 -server=/api.tw06.xlmc.sec.miui.com/127.0.0.1#1053 -server=/api.ujian.cc/127.0.0.1#1053 -server=/api.union.vip.com/127.0.0.1#1053 -server=/api.uniplayad.com/127.0.0.1#1053 -server=/api.urbandictionary.com/127.0.0.1#1053 -server=/api.userstyles.org/127.0.0.1#1053 -server=/api.viglink.com/127.0.0.1#1053 -server=/api.waptest.taobao.com/127.0.0.1#1053 -server=/api.whizzone.com/127.0.0.1#1053 -server=/api.xk.miui.com/127.0.0.1#1053 -server=/api.y.igexin.com/127.0.0.1#1053 -server=/api.youxiaoad.com/127.0.0.1#1053 -server=/api.zol.com/127.0.0.1#1053 -server=/apk-dl.com/127.0.0.1#1053 -server=/apkdo.com/127.0.0.1#1053 -server=/apk.idate520.com/127.0.0.1#1053 -server=/apkinfo.voole.com/127.0.0.1#1053 -server=/apklog.cp11.ott.cibntv.net/127.0.0.1#1053 -server=/apkpure.com/127.0.0.1#1053 -server=/apk.supfast.net/127.0.0.1#1053 -server=/apnmedia.ask.com/127.0.0.1#1053 -server=/apns.ios.ijinshan.com/127.0.0.1#1053 -server=/apoll.m.taobao.com/127.0.0.1#1053 -server=/apollo.caixin.com/127.0.0.1#1053 -server=/app01.nodes.gslb.mi-idc.com/127.0.0.1#1053 -server=/app02.nodes.gslb.mi-idc.com/127.0.0.1#1053 -server=/app.3987.com/127.0.0.1#1053 -server=/app.9yyg.cn/127.0.0.1#1053 -server=/app.abc000.today/127.0.0.1#1053 -server=/app.acm.dzwww.com/127.0.0.1#1053 -server=/appads.com/127.0.0.1#1053 -server=/app.aplus.pptv.com/127.0.0.1#1053 -server=/appboy.com/127.0.0.1#1053 -server=/appc.baidu.com/127.0.0.1#1053 -server=/appcdn.wapx.cn/127.0.0.1#1053 -server=/appcdn.wapx.com/127.0.0.1#1053 -server=/appcenter.ms/127.0.0.1#1053 -server=/appcpa.net/127.0.0.1#1053 -server=/appdownloader.net/127.0.0.1#1053 -server=/appdriver.cn/127.0.0.1#1053 -server=/appdriver.com.cn/127.0.0.1#1053 -server=/app.eduancm.com/127.0.0.1#1053 -server=/appfh.com/127.0.0.1#1053 -server=/app-g.39.net/127.0.0.1#1053 -server=/appget.cn/127.0.0.1#1053 -server=/appgift.sinaapp.com/127.0.0.1#1053 -server=/app.houyi.baofeng.net/127.0.0.1#1053 -server=/app.hytdsm.com/127.0.0.1#1053 -server=/app.ibaiducdn.com/127.0.0.1#1053 -server=/app.jgyee.com/127.0.0.1#1053 -server=/appjiagu.com/127.0.0.1#1053 -server=/app.jiuzhilan.com/127.0.0.1#1053 -server=/app.juwang.com/127.0.0.1#1053 -server=/apple-cloudkit.com/127.0.0.1#1053 -server=/apple.co/127.0.0.1#1053 -server=/apple.com/127.0.0.1#1053 -server=/apple.comscoreresearch.com/127.0.0.1#1053 -server=/apple-dns.net/127.0.0.1#1053 -server=/apple-mapkit.com/127.0.0.1#1053 -server=/applemusic.com/127.0.0.1#1053 -server=/apple.news/127.0.0.1#1053 -server=/applicationinsights.io/127.0.0.1#1053 -server=/Applicationinsights.io/127.0.0.1#1053 -server=/applicationinsights.net/127.0.0.1#1053 -server=/Applicationinsights.net/127.0.0.1#1053 -server=/applifier.com/127.0.0.1#1053 -server=/applogios.uc.cn/127.0.0.1#1053 -server=/applog.uc.cn/127.0.0.1#1053 -server=/applovin.com/127.0.0.1#1053 -server=/applvn.com/127.0.0.1#1053 -server=/app.lz55.cn/127.0.0.1#1053 -server=/app.moji001.com/127.0.0.1#1053 -server=/app-monitor.ele.me/127.0.0.1#1053 -server=/appnext.com/127.0.0.1#1053 -server=/appodealx.com/127.0.0.1#1053 -server=/apppic.yingyongbei.com/127.0.0.1#1053 -server=/apps2.outfit7.com/127.0.0.1#1053 -server=/appsdk.tanv.com/127.0.0.1#1053 -server=/appservices.comcsoft.com/127.0.0.1#1053 -server=/appsflyer.com/127.0.0.1#1053 -server=/appshike.com/127.0.0.1#1053 -server=/appshopper.com/127.0.0.1#1053 -server=/app.smartmailcloud.com/127.0.0.1#1053 -server=/apps.mobilityware.com/127.0.0.1#1053 -server=/apps.outfit7.com/127.0.0.1#1053 -server=/appspot.com/127.0.0.1#1053 -server=/appspromote.wostore.cn/127.0.0.1#1053 -server=/appsrv1.madserving.com/127.0.0.1#1053 -server=/appsrv4.madserving.com/127.0.0.1#1053 -server=/apps.supfast.net/127.0.0.1#1053 -server=/app.starschina.com/127.0.0.1#1053 -server=/appsto.re/127.0.0.1#1053 -server=/appstore.com/127.0.0.1#1053 -server=/appsupdate.sinaapp.com/127.0.0.1#1053 -server=/appsupport.stargame.com/127.0.0.1#1053 -server=/app.tanwan.com/127.0.0.1#1053 -server=/apptentive.com/127.0.0.1#1053 -server=/app.uu.cc/127.0.0.1#1053 -server=/appuu.cn/127.0.0.1#1053 -server=/app.waps.cn/127.0.0.1#1053 -server=/app.wapx.cn/127.0.0.1#1053 -server=/app.wumii.com/127.0.0.1#1053 -server=/app.xizi.com/127.0.0.1#1053 -server=/app.xyjqy.com/127.0.0.1#1053 -server=/aps.org/127.0.0.1#1053 -server=/apt.qumi.com/127.0.0.1#1053 -server=/apy999.com/127.0.0.1#1053 -server=/aqgyju.cn/127.0.0.1#1053 -server=/a.qiao024.com/127.0.0.1#1053 -server=/a.qinghua5.com/127.0.0.1#1053 -server=/aqqgli3vle.bid/127.0.0.1#1053 -server=/aqw.quanliyouxi.cn/127.0.0.1#1053 -server=/ar1.atwola.com/127.0.0.1#1053 -server=/ar7.atwola.com/127.0.0.1#1053 -server=/ar9.atwola.com/127.0.0.1#1053 -server=/aralego.com/127.0.0.1#1053 -server=/ar.atwola.com/127.0.0.1#1053 -server=/arbitrum.io/127.0.0.1#1053 -server=/arcgis.com/127.0.0.1#1053 -server=/archive.is/127.0.0.1#1053 -server=/archive.org/127.0.0.1#1053 -server=/archives.gov/127.0.0.1#1053 -server=/ard.ihookup.com/127.0.0.1#1053 -server=/ardmall.com/127.0.0.1#1053 -server=/ard.sweetdiscreet.com/127.0.0.1#1053 -server=/ard.yahoo.co.jp/127.0.0.1#1053 -server=/arealx.com/127.0.0.1#1053 -server=/aria.ms/127.0.0.1#1053 -server=/aries.mzres.com/127.0.0.1#1053 -server=/ark.cocounion.com/127.0.0.1#1053 -server=/ark.cp21.ott.cibntv.net/127.0.0.1#1053 -server=/ark.letv.com/127.0.0.1#1053 -server=/arkoselabs.com/127.0.0.1#1053 -server=/armorgames.com/127.0.0.1#1053 -server=/art.theta.sogoucdn.com/127.0.0.1#1053 -server=/as.aplus.pptv.com/127.0.0.1#1053 -server=/as.bjmama.net/127.0.0.1#1053 -server=/as.casalemedia.com/127.0.0.1#1053 -server=/ascelibrary.org/127.0.0.1#1053 -server=/asd.projectfreetv.so/127.0.0.1#1053 -server=/asearch.alicdn.com/127.0.0.1#1053 -server=/a.shangz99991.com/127.0.0.1#1053 -server=/a.shczz.com/127.0.0.1#1053 -server=/a.shenchuang.com/127.0.0.1#1053 -server=/ashiping.com/127.0.0.1#1053 -server=/ashow.pcpop.com/127.0.0.1#1053 -server=/a.shuoshuodaquan.net/127.0.0.1#1053 -server=/asia.marketo.com/127.0.0.1#1053 -server=/asimgs.pplive.cn/127.0.0.1#1053 -server=/as.inbox.com/127.0.0.1#1053 -server=/as.kejet.com/127.0.0.1#1053 -server=/as.kejet.net/127.0.0.1#1053 -server=/ask.gaykes.com/127.0.0.1#1053 -server=/asme.org/127.0.0.1#1053 -server=/asm.org/127.0.0.1#1053 -server=/a.solarmovie.is/127.0.0.1#1053 -server=/a.soonyou123.com/127.0.0.1#1053 -server=/asp.net/127.0.0.1#1053 -server=/aspnetcdn.com/127.0.0.1#1053 -server=/asproexapi.com/127.0.0.1#1053 -server=/asproex.com/127.0.0.1#1053 -server=/assets.210189.com/127.0.0.1#1053 -server=/assets.2343sdxs.com/127.0.0.1#1053 -server=/assets.258pcf.com/127.0.0.1#1053 -server=/assets.258ydh.com/127.0.0.1#1053 -server=/assets.easou.com/127.0.0.1#1053 -server=/assets-yammer.com/127.0.0.1#1053 -server=/as.sinahk.net/127.0.0.1#1053 -server=/a.starstar19999.com/127.0.0.1#1053 -server=/a.startui19999.com/127.0.0.1#1053 -server=/astm.org/127.0.0.1#1053 -server=/as.trklinklog.com/127.0.0.1#1053 -server=/asv.nuggad.net/127.0.0.1#1053 -server=/aswgbzsw.xingtangshuo.com/127.0.0.1#1053 -server=/aswl.d3kdh34.pw/127.0.0.1#1053 -server=/aswl.dfs3e4.pw/127.0.0.1#1053 -server=/aswlx.cn/127.0.0.1#1053 -server=/aswl.zjhim.com/127.0.0.1#1053 -server=/async.be/127.0.0.1#1053 -server=/as.yuewz.com/127.0.0.1#1053 -server=/at98.com/127.0.0.1#1053 -server=/atanx2.alicdn.com/127.0.0.1#1053 -server=/atanx.alicdn.com/127.0.0.1#1053 -server=/atas.io/127.0.0.1#1053 -server=/at.atwola.com/127.0.0.1#1053 -server=/atcryp.com/127.0.0.1#1053 -server=/atdmt.com/127.0.0.1#1053 -server=/a.thefreethoughtproject.com/127.0.0.1#1053 -server=/athena.wan.sogou.com/127.0.0.1#1053 -server=/atiws.aipai.com/127.0.0.1#1053 -server=/atm.cp31.ott.cibntv.net/127.0.0.1#1053 -server=/at.mct01.com/127.0.0.1#1053 -server=/atm.punchbox.org/127.0.0.1#1053 -server=/atm.sina.com/127.0.0.1#1053 -server=/atm.yoyi.com.cn/127.0.0.1#1053 -server=/atomicblast.lol/127.0.0.1#1053 -server=/atplay.cn/127.0.0.1#1053 -server=/a.tribalfusion.com/127.0.0.1#1053 -server=/attach.s8bbs.com/127.0.0.1#1053 -server=/att.com/127.0.0.1#1053 -server=/att.stargame.com/127.0.0.1#1053 -server=/a.tujidao.com/127.0.0.1#1053 -server=/a.tuuituii2999.com/127.0.0.1#1053 -server=/atv-ext.amazon.com/127.0.0.1#1053 -server=/atv-ext-eu.amazon.com/127.0.0.1#1053 -server=/atv-ext-fe.amazon.com/127.0.0.1#1053 -server=/atv-ps.amazon.com/127.0.0.1#1053 -server=/atv-ps-eu.amazon.com/127.0.0.1#1053 -server=/atv-ps-eu.amazon.co.uk/127.0.0.1#1053 -server=/atv-ps-fe.amazon.co.jp/127.0.0.1#1053 -server=/atv-ps-fe.amazon.com/127.0.0.1#1053 -server=/aty.cp45.ott.cibntv.net/127.0.0.1#1053 -server=/aty.sohu.com/127.0.0.1#1053 -server=/a.ucoz.net/127.0.0.1#1053 -server=/audience.network/127.0.0.1#1053 -server=/a.union.mi.com/127.0.0.1#1053 -server=/auth0.com/127.0.0.1#1053 -server=/authedmine.com/127.0.0.1#1053 -server=/autodraw.com/127.0.0.1#1053 -server=/autonavi.com/127.0.0.1#1053 -server=/au.youmi.net/127.0.0.1#1053 -server=/avax.network/127.0.0.1#1053 -server=/avgle.com/127.0.0.1#1053 -server=/a.visualrevenue.com/127.0.0.1#1053 -server=/a.vlion.cn/127.0.0.1#1053 -server=/avn.innity.com/127.0.0.1#1053 -server=/avpa.dzone.com/127.0.0.1#1053 -server=/avualrhg9p.bid/127.0.0.1#1053 -server=/a.waczt.cn/127.0.0.1#1053 -server=/award.sitekeuring.net/127.0.0.1#1053 -server=/awempire.com/127.0.0.1#1053 -server=/aw.kejet.net/127.0.0.1#1053 -server=/awkjs.com/127.0.0.1#1053 -server=/a.wlfnb.com/127.0.0.1#1053 -server=/awsstatic.com/127.0.0.1#1053 -server=/awyys.com/127.0.0.1#1053 -server=/ax.120ask.com/127.0.0.1#1053 -server=/ax.ggfeng.com/127.0.0.1#1053 -server=/axhxa.com/127.0.0.1#1053 -server=/axiba66.com/127.0.0.1#1053 -server=/a.xinwenge.net/127.0.0.1#1053 -server=/a.xixiyishu.com/127.0.0.1#1053 -server=/a.xizi.com/127.0.0.1#1053 -server=/axkxy.com/127.0.0.1#1053 -server=/a.xywy.com/127.0.0.1#1053 -server=/ayabreya.xyz/127.0.0.1#1053 -server=/a.yangshengtang123.com/127.0.0.1#1053 -server=/a.yixie8.com/127.0.0.1#1053 -server=/a.yjbys.com/127.0.0.1#1053 -server=/a.youdao.com/127.0.0.1#1053 -server=/azabu-u.ac.jp/127.0.0.1#1053 -server=/azure/127.0.0.1#1053 -server=/azure-apim.net/127.0.0.1#1053 -server=/azure.cn/127.0.0.1#1053 -server=/azure.com/127.0.0.1#1053 -server=/azurecomcdn.net/127.0.0.1#1053 -server=/azurecontainer.io/127.0.0.1#1053 -server=/azurecosmosdb.com/127.0.0.1#1053 -server=/azurecosmosdb.info/127.0.0.1#1053 -server=/azurecosmosdb.net/127.0.0.1#1053 -server=/azurecosmos.net/127.0.0.1#1053 -server=/azuredatabricks.net/127.0.0.1#1053 -server=/azuredevopslaunch.com/127.0.0.1#1053 -server=/azuredigitaltwin.com/127.0.0.1#1053 -server=/azuredigitaltwins.com/127.0.0.1#1053 -server=/azuredigitaltwins.net/127.0.0.1#1053 -server=/azure-dns.com/127.0.0.1#1053 -server=/azure-dns.info/127.0.0.1#1053 -server=/azure-dns.net/127.0.0.1#1053 -server=/azure-dns.org/127.0.0.1#1053 -server=/azuredns-prd.info/127.0.0.1#1053 -server=/azuredns-prd.org/127.0.0.1#1053 -server=/azureedge.net/127.0.0.1#1053 -server=/azureedge-test.net/127.0.0.1#1053 -server=/azurefd.net/127.0.0.1#1053 -server=/azurefd.us/127.0.0.1#1053 -server=/azureiotcentral.com/127.0.0.1#1053 -server=/azureiotsolutions.com/127.0.0.1#1053 -server=/azureiotsuite.com/127.0.0.1#1053 -server=/azuremarketplace.microsoft.com/127.0.0.1#1053 -server=/azure.microsoft.com/127.0.0.1#1053 -server=/azure-mobile.net/127.0.0.1#1053 -server=/azure.net/127.0.0.1#1053 -server=/azureplanetscale.info/127.0.0.1#1053 -server=/azureplanetscale.net/127.0.0.1#1053 -server=/azurerms.com/127.0.0.1#1053 -server=/azureserviceprofiler.com/127.0.0.1#1053 -server=/azuresmartspaces.net/127.0.0.1#1053 -server=/azure-sphere.com/127.0.0.1#1053 -server=/azurestackvalidation.com/127.0.0.1#1053 -server=/azure-test.net/127.0.0.1#1053 -server=/azurewebsites.net/127.0.0.1#1053 -server=/b0.qinsx.cn/127.0.0.1#1053 -server=/b1.51scw.net/127.0.0.1#1053 -server=/b17.8794.cn/127.0.0.1#1053 -server=/b17.shangc.net/127.0.0.1#1053 -server=/b17.xiumu.cn/127.0.0.1#1053 -server=/b1.91jucai.com/127.0.0.1#1053 -server=/b1.c1km4.com/127.0.0.1#1053 -server=/b1sync.zemanta.com/127.0.0.1#1053 -server=/b23.tv/127.0.0.1#1053 -server=/b4xuj.zzhhts.com/127.0.0.1#1053 -server=/b.53yao.com/127.0.0.1#1053 -server=/b.77vcd.com/127.0.0.1#1053 -server=/b7nkd.cn/127.0.0.1#1053 -server=/b92.putniktravel.com/127.0.0.1#1053 -server=/b9377h.com/127.0.0.1#1053 -server=/b99u.top/127.0.0.1#1053 -server=/b.9dreams.net/127.0.0.1#1053 -server=/bababian.com/127.0.0.1#1053 -server=/babble.com/127.0.0.1#1053 -server=/baby.yf898.com/127.0.0.1#1053 -server=/babyzone.com/127.0.0.1#1053 -server=/ba.ccm2.net/127.0.0.1#1053 -server=/backup.lumion3d.com/127.0.0.1#1053 -server=/backup.lumion3d.net/127.0.0.1#1053 -server=/bad1.51gxqm.com/127.0.0.1#1053 -server=/badad.googleplex.com/127.0.0.1#1053 -server=/badao37.net/127.0.0.1#1053 -server=/badoo.com/127.0.0.1#1053 -server=/b.ads1.msn.com/127.0.0.1#1053 -server=/ba.fqzds.com/127.0.0.1#1053 -server=/bahamut.com.tw/127.0.0.1#1053 -server=/bai3.gushiwen.org/127.0.0.1#1053 -server=/baiapk.com/127.0.0.1#1053 -server=/baichuan.baidu.com/127.0.0.1#1053 -server=/baiduace.com/127.0.0.1#1053 -server=/baidu.com/127.0.0.1#1053 -server=/baidu.cybcyw.com/127.0.0.1#1053 -server=/baidu.dsp.tansuotv.com/127.0.0.1#1053 -server=/baidu.greenxf.cn/127.0.0.1#1053 -server=/baidujs.cnys.com/127.0.0.1#1053 -server=/baidu.jz5u.net/127.0.0.1#1053 -server=/baidulao.com/127.0.0.1#1053 -server=/baidupcs.com/127.0.0.1#1053 -server=/baidustatic.com/127.0.0.1#1053 -server=/baidut.github.io/127.0.0.1#1053 -server=/baidutv.baidu.com/127.0.0.1#1053 -server=/baidu-union-js.xiachufang.com/127.0.0.1#1053 -server=/baidu-union-pos.xiachufang.com/127.0.0.1#1053 -server=/baiduyubaidu.com/127.0.0.1#1053 -server=/baiduzhidahao.cc/127.0.0.1#1053 -server=/baifendian.com/127.0.0.1#1053 -server=/baifen.music.baidu.com/127.0.0.1#1053 -server=/baigm.com/127.0.0.1#1053 -server=/baiwanchuangyi.com/127.0.0.1#1053 -server=/b.akamaiedge.net/127.0.0.1#1053 -server=/ba.kioskea.net/127.0.0.1#1053 -server=/bamgrid.com/127.0.0.1#1053 -server=/bam.nr-data.net/127.0.0.1#1053 -server=/bandisoft.com/127.0.0.1#1053 -server=/bandwagonhost.com/127.0.0.1#1053 -server=/banlv.baidu.com/127.0.0.1#1053 -server=/banmamedia.com/127.0.0.1#1053 -server=/bannedbook.org/127.0.0.1#1053 -server=/banner.101xp.com/127.0.0.1#1053 -server=/banner1.pornhost.com/127.0.0.1#1053 -server=/banner.3ddownloads.com/127.0.0.1#1053 -server=/banner.automotiveworld.com/127.0.0.1#1053 -server=/banner.cooguo.com/127.0.0.1#1053 -server=/banner.europacasino.com/127.0.0.1#1053 -server=/banner.itweb.co.za/127.0.0.1#1053 -server=/banners.beevpn.com/127.0.0.1#1053 -server=/banners.beted.com/127.0.0.1#1053 -server=/banners.cams.com/127.0.0.1#1053 -server=/banners.clubworldgroup.com/127.0.0.1#1053 -server=/banners.expressindia.com/127.0.0.1#1053 -server=/bannershotlink.perfectgonzo.com/127.0.0.1#1053 -server=/banners.itweb.co.za/127.0.0.1#1053 -server=/banners.playocio.com/127.0.0.1#1053 -server=/banner.telefragged.com/127.0.0.1#1053 -server=/banner.titancasino.com/127.0.0.1#1053 -server=/b.aowugame.com/127.0.0.1#1053 -server=/baoyatu.cc/127.0.0.1#1053 -server=/bar.baidu.com/127.0.0.1#1053 -server=/bartender.cc/127.0.0.1#1053 -server=/base.filedot.xyz/127.0.0.1#1053 -server=/bat.bing.com/127.0.0.1#1053 -server=/battle.net/127.0.0.1#1053 -server=/battlenet.com/127.0.0.1#1053 -server=/baxf.m.shuhuangge.org/127.0.0.1#1053 -server=/bax.xiawu.com/127.0.0.1#1053 -server=/baycode.cn/127.0.0.1#1053 -server=/bayimob.com/127.0.0.1#1053 -server=/bay.xiawu.com/127.0.0.1#1053 -server=/bazinga.mse.sogou.com/127.0.0.1#1053 -server=/bb1429.com/127.0.0.1#1053 -server=/b.babylon.com/127.0.0.1#1053 -server=/b.baiy.net/127.0.0.1#1053 -server=/bbc.co/127.0.0.1#1053 -server=/bbc.com/127.0.0.1#1053 -server=/bbc.co.uk/127.0.0.1#1053 -server=/bbcc.yxlady.com/127.0.0.1#1053 -server=/bbcfmt.hs.llnwd.net/127.0.0.1#1053 -server=/bbci.co/127.0.0.1#1053 -server=/bbci.co.uk/127.0.0.1#1053 -server=/bbcoe.cn/127.0.0.1#1053 -server=/bbdm.051661.com/127.0.0.1#1053 -server=/bbing.com/127.0.0.1#1053 -server=/bbsimages.zkxf119.com/127.0.0.1#1053 -server=/b.bst.126.net/127.0.0.1#1053 -server=/bbtoystore.com/127.0.0.1#1053 -server=/bb.tuku.cc/127.0.0.1#1053 -server=/bccyyc.com/127.0.0.1#1053 -server=/bc.geocities.yahoo.co.jp/127.0.0.1#1053 -server=/bcjjg.bugsevent.com/127.0.0.1#1053 -server=/bcjxf.bugsevent.com/127.0.0.1#1053 -server=/b.clkservice.youdao.com/127.0.0.1#1053 -server=/b.code.tanwanyx.com/127.0.0.1#1053 -server=/b.cyone.com.cn/127.0.0.1#1053 -server=/bd01.daqiso.com/127.0.0.1#1053 -server=/bd1.365qilu.com/127.0.0.1#1053 -server=/bd1.52che.com/127.0.0.1#1053 -server=/bd1.fengdu100.com/127.0.0.1#1053 -server=/bd1.flfgw.cn/127.0.0.1#1053 -server=/bd1.home8080.cn/127.0.0.1#1053 -server=/bd1.jobui.com/127.0.0.1#1053 -server=/bd1.nipic.com/127.0.0.1#1053 -server=/bd1.nxing.cn/127.0.0.1#1053 -server=/bd1.pipaw.com/127.0.0.1#1053 -server=/bd1.szhk.com/127.0.0.1#1053 -server=/bd1.wowoqq.com/127.0.0.1#1053 -server=/bd1.xiangha.com/127.0.0.1#1053 -server=/bd2.52che.com/127.0.0.1#1053 -server=/bd2.flfgw.cn/127.0.0.1#1053 -server=/bd2.home8080.cn/127.0.0.1#1053 -server=/bd2.jobui.com/127.0.0.1#1053 -server=/bd2.nipic.com/127.0.0.1#1053 -server=/bd2.pipaw.com/127.0.0.1#1053 -server=/bd3.chuiyue.com/127.0.0.1#1053 -server=/bd3.jobui.com/127.0.0.1#1053 -server=/bd4.chuiyue.com/127.0.0.1#1053 -server=/bdad.hao224.com/127.0.0.1#1053 -server=/bdcode.gaosan.com/127.0.0.1#1053 -server=/bdcode.youke.com/127.0.0.1#1053 -server=/bdd.hainan.net/127.0.0.1#1053 -server=/bddm.999d.com/127.0.0.1#1053 -server=/bd.ershenghuo.com/127.0.0.1#1053 -server=/bdfpb1.8684.com/127.0.0.1#1053 -server=/bdfpb2.8684.com/127.0.0.1#1053 -server=/bd.gow100.com/127.0.0.1#1053 -server=/bd.haomagujia.com/127.0.0.1#1053 -server=/bdimg.com/127.0.0.1#1053 -server=/bdjiaoben.wmxa.cn/127.0.0.1#1053 -server=/bdjs.120askimages.com/127.0.0.1#1053 -server=/bdjs1.ixiumei.com/127.0.0.1#1053 -server=/bdjs.6237237.com/127.0.0.1#1053 -server=/bdjs.999d.com/127.0.0.1#1053 -server=/bdjs.99.com.cn/127.0.0.1#1053 -server=/bd-js.baixing.net/127.0.0.1#1053 -server=/bdjs.faxingzhan.com/127.0.0.1#1053 -server=/bdjs.itechwall.com/127.0.0.1#1053 -server=/bdjs.ixiumei.com/127.0.0.1#1053 -server=/bdjs.jb51.net/127.0.0.1#1053 -server=/bdjs.kaixin100.com/127.0.0.1#1053 -server=/bdjs.laonanren.com/127.0.0.1#1053 -server=/bdjs.ylq.com/127.0.0.1#1053 -server=/bdlm.120askimages.com/127.0.0.1#1053 -server=/bdlm1.hc360.com/127.0.0.1#1053 -server=/bdlncs1.familydoctor.com.cn/127.0.0.1#1053 -server=/bdmjs.xywy.com/127.0.0.1#1053 -server=/bdmm.xywy.com/127.0.0.1#1053 -server=/bdplus.baidu.com/127.0.0.1#1053 -server=/bdpuaw.com/127.0.0.1#1053 -server=/bd-s.baixing.net/127.0.0.1#1053 -server=/bds.hainan.net/127.0.0.1#1053 -server=/bd.soarfi.cn/127.0.0.1#1053 -server=/bds.soarfi.cn/127.0.0.1#1053 -server=/bdstatic.com/127.0.0.1#1053 -server=/bdtongfei.cn/127.0.0.1#1053 -server=/bduserlog.eastmoney.com/127.0.0.1#1053 -server=/bd.wayqq.cn/127.0.0.1#1053 -server=/beacon.gtimg.com/127.0.0.1#1053 -server=/beacon.krxd.net/127.0.0.1#1053 -server=/beacon.sina.com.cn/127.0.0.1#1053 -server=/beacon.tingyun.com/127.0.0.1#1053 -server=/beacon-us-sjc1.rubiconproject.com/127.0.0.1#1053 -server=/beap.adss.yahoo.com/127.0.0.1#1053 -server=/beap-bc.yahoo.com/127.0.0.1#1053 -server=/beatsbydre.com/127.0.0.1#1053 -server=/beautyandthebeastmusical.co.uk/127.0.0.1#1053 -server=/bebelait.com/127.0.0.1#1053 -server=/becode.qiushibaike.com/127.0.0.1#1053 -server=/beeho.site/127.0.0.1#1053 -server=/beerto.cn/127.0.0.1#1053 -server=/beha.ksmobile.com/127.0.0.1#1053 -server=/behe.com/127.0.0.1#1053 -server=/beilamusi.com/127.0.0.1#1053 -server=/beintoo.com/127.0.0.1#1053 -server=/benshiw.net/127.0.0.1#1053 -server=/b.epinv.com/127.0.0.1#1053 -server=/bepolite.eu/127.0.0.1#1053 -server=/bes-progfree.com/127.0.0.1#1053 -server=/bet36500050.com/127.0.0.1#1053 -server=/bet365.com/127.0.0.1#1053 -server=/beta.vpon.com/127.0.0.1#1053 -server=/bethesdagamestudios.com/127.0.0.1#1053 -server=/bethesda.net/127.0.0.1#1053 -server=/beth.games/127.0.0.1#1053 -server=/bethsoft.com/127.0.0.1#1053 -server=/betsonsport.ru/127.0.0.1#1053 -server=/betterzip.net/127.0.0.1#1053 -server=/betvictor.com/127.0.0.1#1053 -server=/bewaycare.com/127.0.0.1#1053 -server=/beyondcompare.cc/127.0.0.1#1053 -server=/bfdcdn.com/127.0.0.1#1053 -server=/b.flyreading.cn/127.0.0.1#1053 -server=/bfshan.cn/127.0.0.1#1053 -server=/bglog.bitauto.com/127.0.0.1#1053 -server=/bgrndi.com/127.0.0.1#1053 -server=/b.gwylm.com/127.0.0.1#1053 -server=/bh.contextweb.com/127.0.0.1#1053 -server=/bhjac.azvub.cn/127.0.0.1#1053 -server=/bianxianmao.com/127.0.0.1#1053 -server=/bibg.com/127.0.0.1#1053 -server=/bibox.com/127.0.0.1#1053 -server=/biddingos.com/127.0.0.1#1053 -server=/biddingx.com/127.0.0.1#1053 -server=/bidi.net.uk/127.0.0.1#1053 -server=/bidvertiser.com/127.0.0.1#1053 -server=/bigbos.top/127.0.0.1#1053 -server=/bigboy.eurogamer.net/127.0.0.1#1053 -server=/bigsound.org/127.0.0.1#1053 -server=/biing.com/127.0.0.1#1053 -server=/biliapi.com/127.0.0.1#1053 -server=/biliapi.net/127.0.0.1#1053 -server=/bilibili.com/127.0.0.1#1053 -server=/bilibili.tv/127.0.0.1#1053 -server=/bilivideo.com/127.0.0.1#1053 -server=/billionfocus.com/127.0.0.1#1053 -server=/binads.com/127.0.0.1#1053 -server=/binanceapi.com/127.0.0.1#1053 -server=/binance.cc/127.0.0.1#1053 -server=/binance.charity/127.0.0.1#1053 -server=/binance.cloud/127.0.0.1#1053 -server=/binance.co/127.0.0.1#1053 -server=/binance.com/127.0.0.1#1053 -server=/binance.im/127.0.0.1#1053 -server=/binance.info/127.0.0.1#1053 -server=/binance.me/127.0.0.1#1053 -server=/binance.net/127.0.0.1#1053 -server=/binance.org/127.0.0.1#1053 -server=/binance.us/127.0.0.1#1053 -server=/binance.vision/127.0.0.1#1053 -server=/binancezh.be/127.0.0.1#1053 -server=/binancezh.biz/127.0.0.1#1053 -server=/binancezh.cc/127.0.0.1#1053 -server=/binancezh.co/127.0.0.1#1053 -server=/binancezh.com/127.0.0.1#1053 -server=/binancezh.info/127.0.0.1#1053 -server=/binancezh.ink/127.0.0.1#1053 -server=/binancezh.kim/127.0.0.1#1053 -server=/binancezh.link/127.0.0.1#1053 -server=/binancezh.live/127.0.0.1#1053 -server=/binancezh.mobi/127.0.0.1#1053 -server=/binancezh.net/127.0.0.1#1053 -server=/binancezh.pro/127.0.0.1#1053 -server=/binancezh.sh/127.0.0.1#1053 -server=/binancezh.top/127.0.0.1#1053 -server=/binaryage-leechgate.herokuapp.com/127.0.0.1#1053 -server=/binb.com/127.0.0.1#1053 -server=/binf.com/127.0.0.1#1053 -server=/bing/127.0.0.1#1053 -server=/bing123.com/127.0.0.1#1053 -server=/bing135.com/127.0.0.1#1053 -server=/bing4.com/127.0.0.1#1053 -server=/bingads.com/127.0.0.1#1053 -server=/bingagencyawards.com/127.0.0.1#1053 -server=/bingapis.com/127.0.0.1#1053 -server=/bingapistatistics.com/127.0.0.1#1053 -server=/bing.com/127.0.0.1#1053 -server=/bing.com.cn/127.0.0.1#1053 -server=/bingdianhuanyuan.cn/127.0.0.1#1053 -server=/binginternal.com/127.0.0.1#1053 -server=/bingit.net/127.0.0.1#1053 -server=/bingiton.com/127.0.0.1#1053 -server=/bingj.com/127.0.0.1#1053 -server=/bing.net/127.0.0.1#1053 -server=/bingpix.com/127.0.0.1#1053 -server=/bingpk.com/127.0.0.1#1053 -server=/bingsandbox.com/127.0.0.1#1053 -server=/bings.com/127.0.0.1#1053 -server=/bingtoolbar.com/127.0.0.1#1053 -server=/bingtranslator.com/127.0.0.1#1053 -server=/bingvisualsearch.com/127.0.0.1#1053 -server=/bingworld.com/127.0.0.1#1053 -server=/bingyinq.com/127.0.0.1#1053 -server=/bintray.com/127.0.0.1#1053 -server=/biq.keefung-zs.com/127.0.0.1#1053 -server=/bisq.io/127.0.0.1#1053 -server=/bisq.network/127.0.0.1#1053 -server=/bitbank.cc/127.0.0.1#1053 -server=/bitbucket.org/127.0.0.1#1053 -server=/bitcoin.it/127.0.0.1#1053 -server=/bitcoinity.org/127.0.0.1#1053 -server=/bitcoinmagazine.com/127.0.0.1#1053 -server=/bitcoin.org/127.0.0.1#1053 -server=/bitcointalk.org/127.0.0.1#1053 -server=/bitcoinvisuals.com/127.0.0.1#1053 -server=/bit.com/127.0.0.1#1053 -server=/bitderiv.com/127.0.0.1#1053 -server=/bit.do/127.0.0.1#1053 -server=/bite.theta.sogoucdn.com/127.0.0.1#1053 -server=/bitfinex.com/127.0.0.1#1053 -server=/bitflyer.com/127.0.0.1#1053 -server=/bitflyer.jp/127.0.0.1#1053 -server=/bithumb.com/127.0.0.1#1053 -server=/bit.ly/127.0.0.1#1053 -server=/bitmex.com/127.0.0.1#1053 -server=/bitmovin.com/127.0.0.1#1053 -server=/bitnodes.earn.com/127.0.0.1#1053 -server=/bitquick.co/127.0.0.1#1053 -server=/bitshare.com/127.0.0.1#1053 -server=/bitsquare.io/127.0.0.1#1053 -server=/bitstamp.net/127.0.0.1#1053 -server=/bitsumactivationserver.com/127.0.0.1#1053 -server=/bittrex.com/127.0.0.1#1053 -server=/bivitr.com/127.0.0.1#1053 -server=/bixia.fymm.cn/127.0.0.1#1053 -server=/biyibia.com/127.0.0.1#1053 -server=/biying.cn/127.0.0.1#1053 -server=/biying.com/127.0.0.1#1053 -server=/biying.com.cn/127.0.0.1#1053 -server=/biz37.net/127.0.0.1#1053 -server=/biz5.kankan.com/127.0.0.1#1053 -server=/bizanti.youwatch.org/127.0.0.1#1053 -server=/biz.gexing.com/127.0.0.1#1053 -server=/biz.live.xunlei.com/127.0.0.1#1053 -server=/biz.vpon.com/127.0.0.1#1053 -server=/biz.weibo.com/127.0.0.1#1053 -server=/bj14.9669.cn/127.0.0.1#1053 -server=/bj1.api.bing.com/127.0.0.1#1053 -server=/bjcathay.com/127.0.0.1#1053 -server=/bjcu.u3.ucweb.com/127.0.0.1#1053 -server=/bjedpt.com/127.0.0.1#1053 -server=/bj.imp.voiceads.cn/127.0.0.1#1053 -server=/bjs.9669.cn/127.0.0.1#1053 -server=/bkdg.net/127.0.0.1#1053 -server=/bkrtx.com/127.0.0.1#1053 -server=/b.kuangtuiguoo18888.com/127.0.0.1#1053 -server=/blaaaa12.googlecode.com/127.0.0.1#1053 -server=/blackwell-synergy.com/127.0.0.1#1053 -server=/bla.gtimg.com/127.0.0.1#1053 -server=/blazor.net/127.0.0.1#1053 -server=/blb.winasdaq.com/127.0.0.1#1053 -server=/b.livesport.eu/127.0.0.1#1053 -server=/blizzard.com/127.0.0.1#1053 -server=/bllbaby.cn/127.0.0.1#1053 -server=/blobstore.apple.com/127.0.0.1#1053 -server=/b.localpages.com/127.0.0.1#1053 -server=/blockchain.com/127.0.0.1#1053 -server=/blockchair.com/127.0.0.1#1053 -server=/block.one/127.0.0.1#1053 -server=/blogad01.myweb.hinet.net/127.0.0.1#1053 -server=/blogad02.myweb.hinet.net/127.0.0.1#1053 -server=/blogblog.com/127.0.0.1#1053 -server=/blogcdn.com/127.0.0.1#1053 -server=/blog.com/127.0.0.1#1053 -server=/blogger.com/127.0.0.1#1053 -server=/bloglovin.com/127.0.0.1#1053 -server=/blogsmithmedia.com/127.0.0.1#1053 -server=/blogspot.hk/127.0.0.1#1053 -server=/bloks.io/127.0.0.1#1053 -server=/bloomberg.cn/127.0.0.1#1053 -server=/bloomberg.com/127.0.0.1#1053 -server=/bluehatil.com/127.0.0.1#1053 -server=/bluehatnights.com/127.0.0.1#1053 -server=/bluekai.com/127.0.0.1#1053 -server=/bluhostedbanners.blucigs.com/127.0.0.1#1053 -server=/bl.wavecdn.de/127.0.0.1#1053 -server=/bmg.wnbfw.com/127.0.0.1#1053 -server=/bmj.com/127.0.0.1#1053 -server=/bmp1.ali213.net/127.0.0.1#1053 -server=/bmp.ali213.net/127.0.0.1#1053 -server=/bmw2ep.paomifen.cn/127.0.0.1#1053 -server=/bnappzh.co/127.0.0.1#1053 -server=/bnappzh.com/127.0.0.1#1053 -server=/bnappzh.mobi/127.0.0.1#1053 -server=/bnbstatic.com/127.0.0.1#1053 -server=/bnrs.ilm.ee/127.0.0.1#1053 -server=/bntrace.com/127.0.0.1#1053 -server=/b.nvrentao8.com/127.0.0.1#1053 -server=/boardx.huanqiu.com/127.0.0.1#1053 -server=/boba.network/127.0.0.1#1053 -server=/bob.crazyshit.com/127.0.0.1#1053 -server=/bobo.163.com/127.0.0.1#1053 -server=/boc.cn/127.0.0.1#1053 -server=/bolt.jebe.renren.com/127.0.0.1#1053 -server=/books.com.tw/127.0.0.1#1053 -server=/boomtrain.com/127.0.0.1#1053 -server=/bootstrapcdn.com/127.0.0.1#1053 -server=/borsendental.com/127.0.0.1#1053 -server=/bosiwangzi.cn/127.0.0.1#1053 -server=/boswp.com/127.0.0.1#1053 -server=/botanwang.com/127.0.0.1#1053 -server=/botframework.com/127.0.0.1#1053 -server=/box.anchorfree.net/127.0.0.1#1053 -server=/box.com/127.0.0.1#1053 -server=/boxercrazy.org/127.0.0.1#1053 -server=/box.net/127.0.0.1#1053 -server=/boxshows.com/127.0.0.1#1053 -server=/boxun.com/127.0.0.1#1053 -server=/boyxu.cn/127.0.0.1#1053 -server=/bp.mobad.ijinshan.com/127.0.0.1#1053 -server=/b.qchannel03.cn/127.0.0.1#1053 -server=/brakefluid.website/127.0.0.1#1053 -server=/brandshow.58.com/127.0.0.1#1053 -server=/brand.sogou.com/127.0.0.1#1053 -server=/brazilpartneruniversity.com/127.0.0.1#1053 -server=/br.blackfling.com/127.0.0.1#1053 -server=/brcache.madthumbs.com/127.0.0.1#1053 -server=/breakdown.me/127.0.0.1#1053 -server=/breeze.olclient.baofeng.com/127.0.0.1#1053 -server=/breezily168.com/127.0.0.1#1053 -server=/br.fling.com/127.0.0.1#1053 -server=/b.rifub.com/127.0.0.1#1053 -server=/brizads.com/127.0.0.1#1053 -server=/broadcasthe.net/127.0.0.1#1053 -server=/bro.flyme.cn/127.0.0.1#1053 -server=/br.realitykings.com/127.0.0.1#1053 -server=/bryonypie.com/127.0.0.1#1053 -server=/bs14.9669.cn/127.0.0.1#1053 -server=/bs.5442.com/127.0.0.1#1053 -server=/bsc.getblock.io/127.0.0.1#1053 -server=/bsch.serving-sys.com/127.0.0.1#1053 -server=/b.scorecardresearch.com/127.0.0.1#1053 -server=/bscscan.com/127.0.0.1#1053 -server=/bsdev.cn/127.0.0.1#1053 -server=/bshare.cn/127.0.0.1#1053 -server=/bshare.optimix.asia/127.0.0.1#1053 -server=/bsiet.husky.sogou.com/127.0.0.1#1053 -server=/b.smartvideo.youku.com/127.0.0.1#1053 -server=/bs.serving-sys.com/127.0.0.1#1053 -server=/bss.pandora.xiaomi.com/127.0.0.1#1053 -server=/bstatic.1kejian.com/127.0.0.1#1053 -server=/bstatic.diyifanwen.com/127.0.0.1#1053 -server=/bt641499.gotoip4.com/127.0.0.1#1053 -server=/btcbox.co.jp/127.0.0.1#1053 -server=/btc.com/127.0.0.1#1053 -server=/b.thefile.me/127.0.0.1#1053 -server=/bthergyuan.com/127.0.0.1#1053 -server=/btlaunch.baidu.com/127.0.0.1#1053 -server=/btn.onlylady.com/127.0.0.1#1053 -server=/btn.pchome.net/127.0.0.1#1053 -server=/btrace.qq.com/127.0.0.1#1053 -server=/btr.domywife.com/127.0.0.1#1053 -server=/bttrack.com/127.0.0.1#1053 -server=/bt.xitongmonitor.com/127.0.0.1#1053 -server=/btyou.com/127.0.0.1#1053 -server=/bu01.zybang.com/127.0.0.1#1053 -server=/bu02.zybang.com/127.0.0.1#1053 -server=/bu1.duba.com/127.0.0.1#1053 -server=/bu2.duba.com/127.0.0.1#1053 -server=/bugtags.com/127.0.0.1#1053 -server=/business.92wy.com/127.0.0.1#1053 -server=/business.inveno.com/127.0.0.1#1053 -server=/buyimg.bianxianmao.com/127.0.0.1#1053 -server=/buysellads.com/127.0.0.1#1053 -server=/buyu8001.com/127.0.0.1#1053 -server=/bwp.theinsider.com.com/127.0.0.1#1053 -server=/bx01.optimix.asia/127.0.0.1#1053 -server=/b.xcafe.com/127.0.0.1#1053 -server=/bxgmb.com/127.0.0.1#1053 -server=/bxjpl.cn/127.0.0.1#1053 -server=/bx.optimix.asia/127.0.0.1#1053 -server=/by8974.com/127.0.0.1#1053 -server=/bybit.com/127.0.0.1#1053 -server=/by.dm5.com/127.0.0.1#1053 -server=/bydonline.com/127.0.0.1#1053 -server=/by.mbai.cn/127.0.0.1#1053 -server=/bypbwm.cn/127.0.0.1#1053 -server=/by.tel.cdndm.com/127.0.0.1#1053 -server=/bytetree.com/127.0.0.1#1053 -server=/c.0.0.0.0.cn/127.0.0.1#1053 -server=/c03.optimix.asia/127.0.0.1#1053 -server=/c0563.com/127.0.0.1#1053 -server=/c0594.com/127.0.0.1#1053 -server=/c0i8h8ac7e.bid/127.0.0.1#1053 -server=/c0.ifengimg.com/127.0.0.1#1053 -server=/c1.4qx.net/127.0.0.1#1053 -server=/c1.668559.com/127.0.0.1#1053 -server=/c16cp358.com/127.0.0.1#1053 -server=/c1.ifengimg.com/127.0.0.1#1053 -server=/c1.keyrun.cn/127.0.0.1#1053 -server=/c1.lianwangtech.com/127.0.0.1#1053 -server=/c1.minisplat.cn/127.0.0.1#1053 -server=/c1.popads.net/127.0.0.1#1053 -server=/c1.statcounter.com/127.0.0.1#1053 -server=/c1.ulink.cc/127.0.0.1#1053 -server=/c1.wkanx.com/127.0.0.1#1053 -server=/c1.xcy8.com/127.0.0.1#1053 -server=/c2.58toto.net/127.0.0.1#1053 -server=/c.28487.net/127.0.0.1#1053 -server=/c2.popads.net/127.0.0.1#1053 -server=/c2.statcounter.com/127.0.0.1#1053 -server=/c.35kds.com/127.0.0.1#1053 -server=/c.365yigou.cn/127.0.0.1#1053 -server=/c3.gostats.cn/127.0.0.1#1053 -server=/c3.moogos.com/127.0.0.1#1053 -server=/c.45io.com/127.0.0.1#1053 -server=/c.51y5.net/127.0.0.1#1053 -server=/c6.bjdianyue.com/127.0.0.1#1053 -server=/c6.lnymd.com/127.0.0.1#1053 -server=/c77777777.com/127.0.0.1#1053 -server=/c8b.jcdb88.com/127.0.0.1#1053 -server=/c8.wangdq.com/127.0.0.1#1053 -server=/ca.5173car.com/127.0.0.1#1053 -server=/caamei.com/127.0.0.1#1053 -server=/cabdirect.org/127.0.0.1#1053 -server=/cacaca.0571yy.com/127.0.0.1#1053 -server=/cacaca.sp96878.com/127.0.0.1#1053 -server=/cacafly.net/127.0.0.1#1053 -server=/cachead.com/127.0.0.1#1053 -server=/cache.betweendigital.com/127.0.0.1#1053 -server=/cachefly.net/127.0.0.1#1053 -server=/cachenotice.cp11.ott.cibntv.net/127.0.0.1#1053 -server=/cachesit.com/127.0.0.1#1053 -server=/cache.soloth.com/127.0.0.1#1053 -server=/cache-ssl.celtra.com/127.0.0.1#1053 -server=/cache.xw126.com/127.0.0.1#1053 -server=/c-adash.m.taobao.com/127.0.0.1#1053 -server=/c.adbxb.cn/127.0.0.1#1053 -server=/cad.chosun.com/127.0.0.1#1053 -server=/cadvv.heraldm.com/127.0.0.1#1053 -server=/cadvv.koreaherald.com/127.0.0.1#1053 -server=/caiyifz.com/127.0.0.1#1053 -server=/caiyunapp.com/127.0.0.1#1053 -server=/c.algovid.com/127.0.0.1#1053 -server=/caliyuna.cn/127.0.0.1#1053 -server=/callersbane.com/127.0.0.1#1053 -server=/cal.meizu.com/127.0.0.1#1053 -server=/calopenupdate.comm.miui.com/127.0.0.1#1053 -server=/cambridge.org/127.0.0.1#1053 -server=/cams.pornrabbit.com/127.0.0.1#1053 -server=/cangnews.com/127.0.0.1#1053 -server=/c.anmeilai.net/127.0.0.1#1053 -server=/canvas.thenextweb.com/127.0.0.1#1053 -server=/caob5.info/127.0.0.1#1053 -server=/caolvch.com/127.0.0.1#1053 -server=/cap.cyberlink.com/127.0.0.1#1053 -server=/cap.touclick.com/127.0.0.1#1053 -server=/carbonads.net/127.0.0.1#1053 -server=/car.mobadme.jp/127.0.0.1#1053 -server=/casalemedia.com/127.0.0.1#1053 -server=/cas.clickability.com/127.0.0.1#1053 -server=/cas.criteo.com/127.0.0.1#1053 -server=/casee.cn/127.0.0.1#1053 -server=/cash.neweramediaworks.com/127.0.0.1#1053 -server=/cas.org/127.0.0.1#1053 -server=/cast-bid27-j.adtdp.com/127.0.0.1#1053 -server=/cast.innity.com/127.0.0.1#1053 -server=/castplatform.com/127.0.0.1#1053 -server=/cast.ra.icast.cn/127.0.0.1#1053 -server=/catalog.video.msn.com/127.0.0.1#1053 -server=/catch.gift/127.0.0.1#1053 -server=/ca.w8.com.cn/127.0.0.1#1053 -server=/cayanfang.com/127.0.0.1#1053 -server=/c.baidu.com/127.0.0.1#1053 -server=/cb.baidu.com/127.0.0.1#1053 -server=/cbc.ca/127.0.0.1#1053 -server=/cbeci.org/127.0.0.1#1053 -server=/c.betrad.com/127.0.0.1#1053 -server=/cb.h5.coffeedak.cn/127.0.0.1#1053 -server=/c.bigmir.net/127.0.0.1#1053 -server=/c.bing.com/127.0.0.1#1053 -server=/cbjs.baidu.com/127.0.0.1#1053 -server=/cbs.wondershare.com/127.0.0.1#1053 -server=/c.bxb.oupeng.com/127.0.0.1#1053 -server=/cc.0133hao.net/127.0.0.1#1053 -server=/cc.1515788.net/127.0.0.1#1053 -server=/cc.365yigou.cn/127.0.0.1#1053 -server=/cc.700ok.net/127.0.0.1#1053 -server=/cca.mob.com/127.0.0.1#1053 -server=/ccbaihehq.com/127.0.0.1#1053 -server=/ccb.com/127.0.0.1#1053 -server=/ccb.com.cn/127.0.0.1#1053 -server=/ccb.uncle-ad.com/127.0.0.1#1053 -server=/cccrir.com/127.0.0.1#1053 -server=/cc.dace.hupu.com/127.0.0.1#1053 -server=/ccgslb.com/127.0.0.1#1053 -server=/ccgslb.net/127.0.0.1#1053 -server=/cc.idasui.cn/127.0.0.1#1053 -server=/cc.moquanad.com/127.0.0.1#1053 -server=/c.codeonclick.com/127.0.0.1#1053 -server=/cc.piao.jianzhigg.com/127.0.0.1#1053 -server=/ccr.yxdown.com/127.0.0.1#1053 -server=/cc.st123.info/127.0.0.1#1053 -server=/cctyly.com/127.0.0.1#1053 -server=/cc.xtgreat.com/127.0.0.1#1053 -server=/cc.yac8.com/127.0.0.1#1053 -server=/c.cyhx98.com/127.0.0.1#1053 -server=/c.cyto-biotherapy.com/127.0.0.1#1053 -server=/c.danangmo.cn/127.0.0.1#1053 -server=/c.data.mob.com/127.0.0.1#1053 -server=/cd.bendibao.com/127.0.0.1#1053 -server=/cdgxq.com/127.0.0.1#1053 -server=/cdhoc.piyaji.cn/127.0.0.1#1053 -server=/cdn.0i-i0.com/127.0.0.1#1053 -server=/cdn0.mobmore.com/127.0.0.1#1053 -server=/cdn1.lbesec.com/127.0.0.1#1053 -server=/cdn1.res.nx5.com/127.0.0.1#1053 -server=/cdn1.res.uzham.com/127.0.0.1#1053 -server=/cdn1.srv.revdepo.com/127.0.0.1#1053 -server=/cdn2.moji002.com/127.0.0.1#1053 -server=/cdn.5bong.com/127.0.0.1#1053 -server=/cdnads.com/127.0.0.1#1053 -server=/cdn.adsk2.co/127.0.0.1#1053 -server=/cdn-ads.oss-cn-shanghai.aliyuncs.com/127.0.0.1#1053 -server=/cdn.adstract.com/127.0.0.1#1053 -server=/cdn.aegins.com/127.0.0.1#1053 -server=/cdn.aiclicash.com/127.0.0.1#1053 -server=/cdn.angruo.com/127.0.0.1#1053 -server=/cdn.app.kachapt.cn/127.0.0.1#1053 -server=/cdn-apple.com/127.0.0.1#1053 -server=/cdn.app.liuxingyul.cn/127.0.0.1#1053 -server=/cdnas.hyperpromote.com/127.0.0.1#1053 -server=/cdn.at.atwola.com/127.0.0.1#1053 -server=/cdn.atwola.com/127.0.0.1#1053 -server=/cdn.cmop.mgtv.com/127.0.0.1#1053 -server=/cdn.cooguo.com/127.0.0.1#1053 -server=/cdn.districtm.io/127.0.0.1#1053 -server=/cdn.dragonstatic.com/127.0.0.1#1053 -server=/cdn.dsp.com/127.0.0.1#1053 -server=/cdn.earnify.com/127.0.0.1#1053 -server=/cdn.fastclick.net/127.0.0.1#1053 -server=/cdn-gcs.outfit7.com/127.0.0.1#1053 -server=/cdn.hivps.xyz/127.0.0.1#1053 -server=/cdn.hyperpromote.com/127.0.0.1#1053 -server=/cdn.iclicash.com/127.0.0.1#1053 -server=/cdn.img.kachapt.cn/127.0.0.1#1053 -server=/cdnimg.liehu.ijinshan.com/127.0.0.1#1053 -server=/cdn.img.liuxingyul.cn/127.0.0.1#1053 -server=/cdn.innity.net/127.0.0.1#1053 -server=/cdnis.hyperpromote.com/127.0.0.1#1053 -server=/cdn.jesgoo.com/127.0.0.1#1053 -server=/cdn.jiuzhilan.com/127.0.0.1#1053 -server=/cdn.jllstudio.com/127.0.0.1#1053 -server=/cdn.komentary.aol.com/127.0.0.1#1053 -server=/cdn.krxd.net/127.0.0.1#1053 -server=/cdn.lu.sogoucdn.com/127.0.0.1#1053 -server=/cdn.marketgid.com/127.0.0.1#1053 -server=/cdnmaster.com/127.0.0.1#1053 -server=/cdn.mdotm.com/127.0.0.1#1053 -server=/cdn.media.innity.net/127.0.0.1#1053 -server=/cdn.millennialmedia.com/127.0.0.1#1053 -server=/cdn.mingmingtehui.com/127.0.0.1#1053 -server=/cdn.moji002.com/127.0.0.1#1053 -server=/cdn.moji.com/127.0.0.1#1053 -server=/cdn.moogos.com/127.0.0.1#1053 -server=/cdn.ndapp.com/127.0.0.1#1053 -server=/cdn.newapi.com/127.0.0.1#1053 -server=/cdnny.com/127.0.0.1#1053 -server=/cdn.optaim.com/127.0.0.1#1053 -server=/cdn.outfit7.com/127.0.0.1#1053 -server=/cdnpa.hyperpromote.com/127.0.0.1#1053 -server=/cdn.popcash.net/127.0.0.1#1053 -server=/cdn.popmyads.com/127.0.0.1#1053 -server=/cdn.puata.info/127.0.0.1#1053 -server=/cdn-rtb.sape.ru/127.0.0.1#1053 -server=/cdn.scdng.com/127.0.0.1#1053 -server=/cdn.segment.com/127.0.0.1#1053 -server=/cdn-settings.segment.com/127.0.0.1#1053 -server=/cdn.sp.rizhao9.com/127.0.0.1#1053 -server=/cdnst.net/127.0.0.1#1053 -server=/cdntest.a8tiyu.com/127.0.0.1#1053 -server=/cdn.tianmidian.com/127.0.0.1#1053 -server=/cdn.tinglian.com/127.0.0.1#1053 -server=/cdn.vamaker.com/127.0.0.1#1053 -server=/cdn.viglink.com/127.0.0.1#1053 -server=/cdn.xianliao.me/127.0.0.1#1053 -server=/cdn.zampda.net/127.0.0.1#1053 -server=/cdn.zampdsp.com/127.0.0.1#1053 -server=/c.dokrmob.com/127.0.0.1#1053 -server=/cds.51y5.net/127.0.0.1#1053 -server=/cdyqc.com/127.0.0.1#1053 -server=/c.dzytjqcc.com/127.0.0.1#1053 -server=/cebbank.com/127.0.0.1#1053 -server=/ced.sascdn.com/127.0.0.1#1053 -server=/cee1.iteye.com/127.0.0.1#1053 -server=/cee2.iteye.com/127.0.0.1#1053 -server=/c.effectivemeasure.net/127.0.0.1#1053 -server=/celestrak.com/127.0.0.1#1053 -server=/cell.com/127.0.0.1#1053 -server=/census.gov/127.0.0.1#1053 -server=/centralvalidation.com/127.0.0.1#1053 -server=/cerebral.typn.com/127.0.0.1#1053 -server=/certificate-transparency.org/127.0.0.1#1053 -server=/cex.io/127.0.0.1#1053 -server=/c.f1zd.com/127.0.0.1#1053 -server=/cfdanet.com/127.0.0.1#1053 -server=/cferw.com/127.0.0.1#1053 -server=/cfg-md.gridsumdissector.com/127.0.0.1#1053 -server=/cfg-vd.gridsumdissector.com/127.0.0.1#1053 -server=/c.gj.qq.com/127.0.0.1#1053 -server=/cgskqg.com/127.0.0.1#1053 -server=/c.guangtui1999.com/127.0.0.1#1053 -server=/c.gzsanxiaomingshi.cn/127.0.0.1#1053 -server=/ch9.ms/127.0.0.1#1053 -server=/chadegongxiao.com/127.0.0.1#1053 -server=/chainalysis.com/127.0.0.1#1053 -server=/chainbroker.io/127.0.0.1#1053 -server=/challenges.cloudflare.com/127.0.0.1#1053 -server=/chalungu.cn/127.0.0.1#1053 -server=/chance-ad.com/127.0.0.1#1053 -server=/chanet.com.cn/127.0.0.1#1053 -server=/changan.bama555.com/127.0.0.1#1053 -server=/changhehengqi.com/127.0.0.1#1053 -server=/channeladvisor.com/127.0.0.1#1053 -server=/channel.fanxing.kugou.com/127.0.0.1#1053 -server=/chaojilamei.cn/127.0.0.1#1053 -server=/chaoliangyun.com/127.0.0.1#1053 -server=/chartbeat.com/127.0.0.1#1053 -server=/chartboost.com/127.0.0.1#1053 -server=/charticulator.com/127.0.0.1#1053 -server=/chatgpt.com/127.0.0.1#1053 -server=/chdbits.co/127.0.0.1#1053 -server=/chebse.com/127.0.0.1#1053 -server=/chemdraw.com/127.0.0.1#1053 -server=/chemdraw.com.cn/127.0.0.1#1053 -server=/chengadx.com/127.0.0.1#1053 -server=/chenggao.cn/127.0.0.1#1053 -server=/chengzhao95511.com/127.0.0.1#1053 -server=/chenwen7788.com/127.0.0.1#1053 -server=/chicken18.com/127.0.0.1#1053 -server=/chidir.com/127.0.0.1#1053 -server=/chinacache.net/127.0.0.1#1053 -server=/chinacloudapi.cn/127.0.0.1#1053 -server=/chinacloudapp.cn/127.0.0.1#1053 -server=/chinacloudsites.cn/127.0.0.1#1053 -server=/chinacsky.com/127.0.0.1#1053 -server=/chinadigitaltimes.net/127.0.0.1#1053 -server=/chinaheh.com/127.0.0.1#1053 -server=/chinaliftoff.io/127.0.0.1#1053 -server=/chinatimes.com/127.0.0.1#1053 -server=/chinauma.net/127.0.0.1#1053 -server=/chinaweichu.net/127.0.0.1#1053 -server=/chjxzk.1555110.cn/127.0.0.1#1053 -server=/chmae.com/127.0.0.1#1053 -server=/chnhty.com/127.0.0.1#1053 -server=/chromecast.com/127.0.0.1#1053 -server=/chrome.com/127.0.0.1#1053 -server=/chromeexperiments.com/127.0.0.1#1053 -server=/chromercise.com/127.0.0.1#1053 -server=/chromestatus.com/127.0.0.1#1053 -server=/chromium.org/127.0.0.1#1053 -server=/chuantu.biz/127.0.0.1#1053 -server=/chunbo.com/127.0.0.1#1053 -server=/chunboimg.com/127.0.0.1#1053 -server=/chushoushijian.cn/127.0.0.1#1053 -server=/ciajingman.com/127.0.0.1#1053 -server=/ci.csefaazc.net/127.0.0.1#1053 -server=/c.idasui.cn/127.0.0.1#1053 -server=/cilidaquan.pw/127.0.0.1#1053 -server=/cindy17club.com/127.0.0.1#1053 -server=/c.iogous.com/127.0.0.1#1053 -server=/cip6.czpush.com/127.0.0.1#1053 -server=/cishantao.com/127.0.0.1#1053 -server=/citicbank.com/127.0.0.1#1053 -server=/ciyitan.com/127.0.0.1#1053 -server=/cjhq.baidu.com/127.0.0.1#1053 -server=/cjmakeding.com/127.0.0.1#1053 -server=/cjmkt.com/127.0.0.1#1053 -server=/cjmooter.xcache.kinxcdn.com/127.0.0.1#1053 -server=/cj.qidian.com/127.0.0.1#1053 -server=/cjroq.bealge.sogou.com/127.0.0.1#1053 -server=/c.k429fma.com/127.0.0.1#1053 -server=/c.kbf365.cn/127.0.0.1#1053 -server=/ck.houyi.baofeng.net/127.0.0.1#1053 -server=/ck.kejet.net/127.0.0.1#1053 -server=/c.kl6636.net/127.0.0.1#1053 -server=/c.kuwo.cn/127.0.0.1#1053 -server=/cl0.webterren.com/127.0.0.1#1053 -server=/cl2.webterren.com/127.0.0.1#1053 -server=/cl3.webterren.com/127.0.0.1#1053 -server=/cl4.webterren.com/127.0.0.1#1053 -server=/cl5.webterren.com/127.0.0.1#1053 -server=/clarity.abacast.com/127.0.0.1#1053 -server=/clarivate.com/127.0.0.1#1053 -server=/cleaner.baidu.com/127.0.0.1#1053 -server=/cl.he9630.com/127.0.0.1#1053 -server=/c.lianwangtech.com/127.0.0.1#1053 -server=/click1n.soufun.com/127.0.0.1#1053 -server=/clickadu.com/127.0.0.1#1053 -server=/click-cn.plista.com/127.0.0.1#1053 -server=/click.hunantv.com/127.0.0.1#1053 -server=/clicki.cn/127.0.0.1#1053 -server=/clicklog.moviebox.baofeng.net/127.0.0.1#1053 -server=/clickm.fang.com/127.0.0.1#1053 -server=/clickn.fang.com/127.0.0.1#1053 -server=/clicks.beap.bc.yahoo.com/127.0.0.1#1053 -server=/clicks.superpages.com/127.0.0.1#1053 -server=/clickstrip.6wav.es/127.0.0.1#1053 -server=/clicktracks.com/127.0.0.1#1053 -server=/clickzs.com/127.0.0.1#1053 -server=/clien.net/127.0.0.1#1053 -server=/client.88tours.com/127.0.0.1#1053 -server=/client-api.ele.me/127.0.0.1#1053 -server=/client-dmp.suishenyun.cn/127.0.0.1#1053 -server=/client.sidesearch.lycos.com/127.0.0.1#1053 -server=/client.stats.yinyuetai.com/127.0.0.1#1053 -server=/client.tenddata.com/127.0.0.1#1053 -server=/cliushow.com/127.0.0.1#1053 -server=/c.live.com/127.0.0.1#1053 -server=/clkads.com/127.0.0.1#1053 -server=/clk.dxpmedia.com/127.0.0.1#1053 -server=/clk.gentags.net/127.0.0.1#1053 -server=/clk.madserving.com/127.0.0.1#1053 -server=/clk.optaim.com/127.0.0.1#1053 -server=/clk.pdb.madserving.com/127.0.0.1#1053 -server=/clkrev.com/127.0.0.1#1053 -server=/clkservice2.dict.youdao.com/127.0.0.1#1053 -server=/clkservice.mail.youdao.com/127.0.0.1#1053 -server=/clkservice.union.youdao.com/127.0.0.1#1053 -server=/clkservice.youdao.com/127.0.0.1#1053 -server=/clk.taptica.com/127.0.0.1#1053 -server=/clk.uunt.com/127.0.0.1#1053 -server=/cl.ly/127.0.0.1#1053 -server=/cloudad.asia/127.0.0.1#1053 -server=/cloudapp.net/127.0.0.1#1053 -server=/cloudappsecurity.com/127.0.0.1#1053 -server=/cloudcdn.yousee.com/127.0.0.1#1053 -server=/cloud.codenow.cn/127.0.0.1#1053 -server=/cloud.cupronickel.goog/127.0.0.1#1053 -server=/clouddn.com/127.0.0.1#1053 -server=/cloudflare.com/127.0.0.1#1053 -server=/cloudfront.net/127.0.0.1#1053 -server=/cloudgarage.jp/127.0.0.1#1053 -server=/cloudmagic.com/127.0.0.1#1053 -server=/cloudmobi.net/127.0.0.1#1053 -server=/cloudpush.iqiyi.com/127.0.0.1#1053 -server=/cloud.rovio.com/127.0.0.1#1053 -server=/cloudsigma.com/127.0.0.1#1053 -server=/cloudxns.net/127.0.0.1#1053 -server=/cloud.zyiis.net/127.0.0.1#1053 -server=/c.lucktui.com/127.0.0.1#1053 -server=/cl.webterren.com/127.0.0.1#1053 -server=/cl.xzqxzs.com/127.0.0.1#1053 -server=/cm8.lycos.com/127.0.0.1#1053 -server=/cm.adgrx.com/127.0.0.1#1053 -server=/cmail19.com/127.0.0.1#1053 -server=/cmarket.kejet.net/127.0.0.1#1053 -server=/cmaxisolation.com/127.0.0.1#1053 -server=/cm.baidu.com/127.0.0.1#1053 -server=/cmbchina.com/127.0.0.1#1053 -server=/cmbimg.com/127.0.0.1#1053 -server=/cmbt.cn/127.0.0.1#1053 -server=/cmcdl.cmcm.com/127.0.0.1#1053 -server=/cmcore.com/127.0.0.1#1053 -server=/cm.ctnsnet.com/127.0.0.1#1053 -server=/cmct.tv/127.0.0.1#1053 -server=/c.metrigo.com/127.0.0.1#1053 -server=/cm.eyereturn.com/127.0.0.1#1053 -server=/cm.fancyapi.com/127.0.0.1#1053 -server=/cmfu.com/127.0.0.1#1053 -server=/c.mightiger.net/127.0.0.1#1053 -server=/c.minisplat.cn/127.0.0.1#1053 -server=/c.mkmp365.com/127.0.0.1#1053 -server=/cm.mct01.com/127.0.0.1#1053 -server=/cmm.xmfish.com/127.0.0.1#1053 -server=/cm.netseer.com/127.0.0.1#1053 -server=/c.mnjkw.cn/127.0.0.1#1053 -server=/c.mobishu.com/127.0.0.1#1053 -server=/cmop.mgtv.com/127.0.0.1#1053 -server=/cmp288.com/127.0.0.1#1053 -server=/cm.p4p.cn.yahoo.com/127.0.0.1#1053 -server=/cm.passport.iqiyi.com/127.0.0.1#1053 -server=/cmpp.gentags.net/127.0.0.1#1053 -server=/cms.an.m.liebao.cn/127.0.0.1#1053 -server=/cmsapi.wifi8.com/127.0.0.1#1053 -server=/c-msedge.net/127.0.0.1#1053 -server=/cmshow.gtimg.cn/127.0.0.1#1053 -server=/cms.laifeng.com/127.0.0.1#1053 -server=/cmslayue.com/127.0.0.1#1053 -server=/c.msn.com/127.0.0.1#1053 -server=/c.msn.com.cn/127.0.0.1#1053 -server=/cms.quantserve.com/127.0.0.1#1053 -server=/cn/127.0.0.1#1053 -server=/cn88.net/127.0.0.1#1053 -server=/cn.api.push.le.com/127.0.0.1#1053 -server=/cnbetacdn.com/127.0.0.1#1053 -server=/cnbeta.com/127.0.0.1#1053 -server=/cn.bing.com/127.0.0.1#1053 -server=/cn.bing.net/127.0.0.1#1053 -server=/cnbole.net/127.0.0.1#1053 -server=/cncy8.com/127.0.0.1#1053 -server=/cndjs-1251973891.coshk.myqcloud.com/127.0.0.1#1053 -server=/cnet.com/127.0.0.1#1053 -server=/cnetdirectintl.com/127.0.0.1#1053 -server=/c.netu.tv/127.0.0.1#1053 -server=/cnetwidget.creativemark.co.uk/127.0.0.1#1053 -server=/cnfanglei.com/127.0.0.1#1053 -server=/cnhbxx.com/127.0.0.1#1053 -server=/c.ningbojipiao.com/127.0.0.1#1053 -server=/cnki.net/127.0.0.1#1053 -server=/cnkok.com/127.0.0.1#1053 -server=/cnlang.org/127.0.0.1#1053 -server=/cnn.com/127.0.0.1#1053 -server=/cnn.dyn.cnn.com/127.0.0.1#1053 -server=/cnnic.cn/127.0.0.1#1053 -server=/cnnic.net/127.0.0.1#1053 -server=/cnnic.net.cn/127.0.0.1#1053 -server=/cnpinzhuo.com/127.0.0.1#1053 -server=/cn.pub.vpon.com/127.0.0.1#1053 -server=/c.ns8d.com/127.0.0.1#1053 -server=/cnscdj.com/127.0.0.1#1053 -server=/cnsjx.net/127.0.0.1#1053 -server=/cn.tatami-solutions.com/127.0.0.1#1053 -server=/cnxad.com/127.0.0.1#1053 -server=/cnxad.net/127.0.0.1#1053 -server=/cnzhqs.com/127.0.0.1#1053 -server=/cnzz.cn/127.0.0.1#1053 -server=/cnzz.com/127.0.0.1#1053 -server=/cocoapods.org/127.0.0.1#1053 -server=/cocounion.com/127.0.0.1#1053 -server=/code11.onetad.com/127.0.0.1#1053 -server=/code12.onetad.com/127.0.0.1#1053 -server=/code1fa.m.shushu8.com/127.0.0.1#1053 -server=/code1f.m.shushu8.com/127.0.0.1#1053 -server=/code222.com/127.0.0.1#1053 -server=/code.3shangyou.com/127.0.0.1#1053 -server=/code668.com/127.0.0.1#1053 -server=/code.fastclick.net/127.0.0.1#1053 -server=/code.hajuwang.cn/127.0.0.1#1053 -server=/code.hot-mob.com/127.0.0.1#1053 -server=/code.kaixinjiehun.com/127.0.0.1#1053 -server=/code.kejet.com/127.0.0.1#1053 -server=/code.laojiayoufang.com/127.0.0.1#1053 -server=/codenow.cn/127.0.0.1#1053 -server=/codesoftchina.com/127.0.0.1#1053 -server=/codethemicrobit.com/127.0.0.1#1053 -server=/code.ttpaper.com/127.0.0.1#1053 -server=/code.wantaico.com/127.0.0.1#1053 -server=/cod.southmoney.com/127.0.0.1#1053 -server=/co.dtech.baofeng.com/127.0.0.1#1053 -server=/cognito-identity.us-east-1.amazonaws.com/127.0.0.1#1053 -server=/coinbase.com/127.0.0.1#1053 -server=/coinblind.com/127.0.0.1#1053 -server=/coincheck.com/127.0.0.1#1053 -server=/coincheckup.com/127.0.0.1#1053 -server=/coincodex.com/127.0.0.1#1053 -server=/coin.dance/127.0.0.1#1053 -server=/coinerra.com/127.0.0.1#1053 -server=/coingecko.com/127.0.0.1#1053 -server=/coin-have.com/127.0.0.1#1053 -server=/coin-hive.com/127.0.0.1#1053 -server=/coinhive.com/127.0.0.1#1053 -server=/coinhive-manager.com/127.0.0.1#1053 -server=/coin-hive-proxy-ybydcnjgkl.now.sh/127.0.0.1#1053 -server=/coinmarketcap.com/127.0.0.1#1053 -server=/coinmetrics.io/127.0.0.1#1053 -server=/coinminerz.com/127.0.0.1#1053 -server=/coinnebula.com/127.0.0.1#1053 -server=/coinone.co.kr/127.0.0.1#1053 -server=/coinonecore.com/127.0.0.1#1053 -server=/coinonecorp.com/127.0.0.1#1053 -server=/coinowo.com/127.0.0.1#1053 -server=/cointrendz.com/127.0.0.1#1053 -server=/c.okmgy.cn/127.0.0.1#1053 -server=/col.hztags.net/127.0.0.1#1053 -server=/collector.githubapp.com/127.0.0.1#1053 -server=/collector.viki.io/127.0.0.1#1053 -server=/collector.wasu.cn/127.0.0.1#1053 -server=/col.pagechoice.net/127.0.0.1#1053 -server=/combine.urbanairship.com/127.0.0.1#1053 -server=/com-eonsun-owl.oss-cn-hangzhou.aliyuncs.com/127.0.0.1#1053 -server=/com-eonsun-owl-user.oss-cn-hangzhou.aliyuncs.com/127.0.0.1#1053 -server=/comesgo.com/127.0.0.1#1053 -server=/comet.yahoo.com/127.0.0.1#1053 -server=/comodoca.com/127.0.0.1#1053 -server=/compound.finance/127.0.0.1#1053 -server=/conf.funshion.com/127.0.0.1#1053 -server=/config2.mparticle.com/127.0.0.1#1053 -server=/config.baofeng.net/127.0.0.1#1053 -server=/config.cocounion.com/127.0.0.1#1053 -server=/config.ioam.de/127.0.0.1#1053 -server=/config.kuyun.com/127.0.0.1#1053 -server=/config.mobisage.cn/127.0.0.1#1053 -server=/config.push.sogou.com/127.0.0.1#1053 -server=/config.unityads.unity3d.com/127.0.0.1#1053 -server=/conf.vidown.cn/127.0.0.1#1053 -server=/conf.xiniuz.com/127.0.0.1#1053 -server=/connect.summit.co.uk/127.0.0.1#1053 -server=/contentabc.com/127.0.0.1#1053 -server=/content-ause1-ur-discovery1.uplynk.com/127.0.0.1#1053 -server=/content.livesportmedia.eu/127.0.0.1#1053 -server=/contentrecommend-out.mobile.sina.cn/127.0.0.1#1053 -server=/content.s8bbs.com/127.0.0.1#1053 -server=/content.streamplay.to/127.0.0.1#1053 -server=/conversion.pro.cn/127.0.0.1#1053 -server=/conviva.com/127.0.0.1#1053 -server=/conv.youdao.com/127.0.0.1#1053 -server=/cooguo.com/127.0.0.1#1053 -server=/cookielaw.orgpayload:/127.0.0.1#1053 -server=/cookiemapping.wrating.com/127.0.0.1#1053 -server=/coolapk.com/127.0.0.1#1053 -server=/coolguang.com/127.0.0.1#1053 -server=/coolnay.com/127.0.0.1#1053 -server=/cooolyi.cn/127.0.0.1#1053 -server=/cooolyi.com/127.0.0.1#1053 -server=/coop.pop.baofeng.com/127.0.0.1#1053 -server=/cootek-dialer-download.oss-cn-hangzhou.aliyuncs.com/127.0.0.1#1053 -server=/cootek-file.cdn.cootekservice.com/127.0.0.1#1053 -server=/cop.my/127.0.0.1#1053 -server=/coreldrawchina.com/127.0.0.1#1053 -server=/coremetrics.com/127.0.0.1#1053 -server=/corner.houyi.baofeng.net/127.0.0.1#1053 -server=/coro.benbaisteel.com/127.0.0.1#1053 -server=/corocksi.com/127.0.0.1#1053 -server=/corp.meitu.com/127.0.0.1#1053 -server=/corp.sohu.com/127.0.0.1#1053 -server=/cortana.ai/127.0.0.1#1053 -server=/cortanaanalytics.com/127.0.0.1#1053 -server=/cortanaskills.com/127.0.0.1#1053 -server=/cosmosdb.info/127.0.0.1#1053 -server=/cosmosdb.net/127.0.0.1#1053 -server=/cosoyoo.com/127.0.0.1#1053 -server=/couchcoaster.jp/127.0.0.1#1053 -server=/count5.pconline.com.cn/127.0.0.1#1053 -server=/count6.pconline.com.cn/127.0.0.1#1053 -server=/count.cpm.cm.kankan.com/127.0.0.1#1053 -server=/counter.csdn.net/127.0.0.1#1053 -server=/counter.kingsoft.com/127.0.0.1#1053 -server=/counter.m1905.com/127.0.0.1#1053 -server=/counter.marketgid.com/127.0.0.1#1053 -server=/counter.sina.com.cn/127.0.0.1#1053 -server=/counter.yadro.ru/127.0.0.1#1053 -server=/counter.yesky.com/127.0.0.1#1053 -server=/count.game.pps.tv/127.0.0.1#1053 -server=/count.knowsky.com/127.0.0.1#1053 -server=/count.mail.163.com/127.0.0.1#1053 -server=/count.pcpop.com/127.0.0.1#1053 -server=/countpvn.light.fang.com/127.0.0.1#1053 -server=/countubn.light.soufun.com/127.0.0.1#1053 -server=/count.video.sina.com.cn/127.0.0.1#1053 -server=/count.wk2.com/127.0.0.1#1053 -server=/couqm.com.cn/127.0.0.1#1053 -server=/cp.5jjx.net/127.0.0.1#1053 -server=/c.panqis.cn/127.0.0.1#1053 -server=/c.panqishu.com/127.0.0.1#1053 -server=/cpc.sogou.com/127.0.0.1#1053 -server=/cpc.sohu.com/127.0.0.1#1053 -server=/cpcv.cc/127.0.0.1#1053 -server=/cp.ggyapp.com/127.0.0.1#1053 -server=/cp.greenxf.cn/127.0.0.1#1053 -server=/cp.gs307.com/127.0.0.1#1053 -server=/c.piliangzhuce.cn/127.0.0.1#1053 -server=/cp.jfcdns.com/127.0.0.1#1053 -server=/cp.jz5u.net/127.0.0.1#1053 -server=/cpm.amateurcommunity.com/127.0.0.1#1053 -server=/cpm.amateurcommunity.de/127.0.0.1#1053 -server=/cpmchina.co/127.0.0.1#1053 -server=/cpm.cm.kankan.com/127.0.0.1#1053 -server=/cpm.cm.sandai.net/127.0.0.1#1053 -server=/cpms.cc/127.0.0.1#1053 -server=/cpro1.edushi.com/127.0.0.1#1053 -server=/cpro2.baidu.com/127.0.0.1#1053 -server=/cpro.9xu.com/127.0.0.1#1053 -server=/cpro.baidu.cn/127.0.0.1#1053 -server=/cpro.baidu.com/127.0.0.1#1053 -server=/cpro.fangtoo.com/127.0.0.1#1053 -server=/cpro.zhidao.baidu.com/127.0.0.1#1053 -server=/cpro.zol.com.cn/127.0.0.1#1053 -server=/cps.360buy.com/127.0.0.1#1053 -server=/c.ptffw.net/127.0.0.1#1053 -server=/cpu-admin.baidu.com/127.0.0.1#1053 -server=/cpv6.com/127.0.0.1#1053 -server=/cpva.cc/127.0.0.1#1053 -server=/cpv-adv.ggytc.com/127.0.0.1#1053 -server=/cpv.channelray/127.0.0.1#1053 -server=/cpv.czpush.com/127.0.0.1#1053 -server=/cpv.ty229.com/127.0.0.1#1053 -server=/cpx24.com/127.0.0.1#1053 -server=/cqfangduan.com/127.0.0.1#1053 -server=/cqftonline.com/127.0.0.1#1053 -server=/cqhnm.com/127.0.0.1#1053 -server=/cqhot.club/127.0.0.1#1053 -server=/cqsta.com/127.0.0.1#1053 -server=/c.queene.cn/127.0.0.1#1053 -server=/cqvip.com/127.0.0.1#1053 -server=/cqyhd.com/127.0.0.1#1053 -server=/crashapi.growingio.com/127.0.0.1#1053 -server=/crashes.mo.wps.cn/127.0.0.1#1053 -server=/crasheye.cn/127.0.0.1#1053 -server=/crashlytics.163.com/127.0.0.1#1053 -server=/crashlytics.com/127.0.0.1#1053 -server=/crdrjs.info/127.0.0.1#1053 -server=/cre99.com/127.0.0.1#1053 -server=/creatim.qtmojo.cn/127.0.0.1#1053 -server=/creative.1111cpc.com/127.0.0.1#1053 -server=/creative.jdkic.com/127.0.0.1#1053 -server=/creativelab5.com/127.0.0.1#1053 -server=/creative.ltheanine.cn/127.0.0.1#1053 -server=/creatives1.ftimg.net/127.0.0.1#1053 -server=/creatives.cliphunter.com/127.0.0.1#1053 -server=/creatives.ftchinese.com/127.0.0.1#1053 -server=/creatives.inmotionhosting.com/127.0.0.1#1053 -server=/creatives.livejasmin.com/127.0.0.1#1053 -server=/creatives.pichunter.com/127.0.0.1#1053 -server=/creatives.summitconnect.co.uk/127.0.0.1#1053 -server=/cre-dp.sina.cn/127.0.0.1#1053 -server=/cre.dp.sina.cn/127.0.0.1#1053 -server=/cre.mix.sina.com.cn/127.0.0.1#1053 -server=/c.rexuebi.com/127.0.0.1#1053 -server=/crisp.chat/127.0.0.1#1053 -server=/criteo.com/127.0.0.1#1053 -server=/criteo.net/127.0.0.1#1053 -server=/crittercism.com/127.0.0.1#1053 -server=/crl.microsoft.com/127.0.0.1#1053 -server=/crmdynint.com/127.0.0.1#1053 -server=/crmdynint-gcc.com/127.0.0.1#1053 -server=/crm-eve.b2b.alibaba-inc.com/127.0.0.1#1053 -server=/cr.m.liebao.cn/127.0.0.1#1053 -server=/cr-nielsen.com/127.0.0.1#1053 -server=/crossborderexpansion.com/127.0.0.1#1053 -server=/crosschannel.com/127.0.0.1#1053 -server=/crossoverchina.com/127.0.0.1#1053 -server=/cr-p16.ladsp.com/127.0.0.1#1053 -server=/crs.baidu.com/127.0.0.1#1053 -server=/c.rscxwmj.cn/127.0.0.1#1053 -server=/crunchbase.com/127.0.0.1#1053 -server=/crwdcntrl.net/127.0.0.1#1053 -server=/crypto51.app/127.0.0.1#1053 -server=/cryptoart.io/127.0.0.1#1053 -server=/cryptocompare.com/127.0.0.1#1053 -server=/cryptofees.info/127.0.0.1#1053 -server=/cryptoquant.com/127.0.0.1#1053 -server=/cryptorank.io/127.0.0.1#1053 -server=/cryptoslam.io/127.0.0.1#1053 -server=/cs11.wpc.v0cdn.net/127.0.0.1#1053 -server=/cs9.wac.phicdn.net/127.0.0.1#1053 -server=/csad.cc/127.0.0.1#1053 -server=/csbew.com/127.0.0.1#1053 -server=/cs.dqwjzm.com/127.0.0.1#1053 -server=/c.shunlige.com/127.0.0.1#1053 -server=/csi.gstatic.com/127.0.0.1#1053 -server=/c.silvinst.com/127.0.0.1#1053 -server=/csiro.au/127.0.0.1#1053 -server=/csqiulong.com/127.0.0.1#1053 -server=/c.sss1989.com/127.0.0.1#1053 -server=/c.sssgao999.com/127.0.0.1#1053 -server=/c.start280.com/127.0.0.1#1053 -server=/c.statcounter.com/127.0.0.1#1053 -server=/c.statstat888.com/127.0.0.1#1053 -server=/cstoa.com/127.0.0.1#1053 -server=/cs.twcczhu.com/127.0.0.1#1053 -server=/csxjys.com/127.0.0.1#1053 -server=/c.sy123888.com/127.0.0.1#1053 -server=/cszlks.com/127.0.0.1#1053 -server=/ct.210189.com/127.0.0.1#1053 -server=/c.t98u8f.com/127.0.0.1#1053 -server=/c.tctyb.cn/127.0.0.1#1053 -server=/cti.w55c.net/127.0.0.1#1053 -server=/ct.niu.xunlei.com/127.0.0.1#1053 -server=/ctrmi.com/127.0.0.1#1053 -server=/ctsywy.com/127.0.0.1#1053 -server=/c.uaa.iqiyi.com/127.0.0.1#1053 -server=/cudaojia.com/127.0.0.1#1053 -server=/culturalspot.org/127.0.0.1#1053 -server=/culturedcode.com/127.0.0.1#1053 -server=/cupid.iqiyi.com/127.0.0.1#1053 -server=/cupid.jebe.renren.com/127.0.0.1#1053 -server=/current.sina.com.cn/127.0.0.1#1053 -server=/customad.cnn.com/127.0.0.1#1053 -server=/customer-security.online/127.0.0.1#1053 -server=/cut.qumi.com/127.0.0.1#1053 -server=/c.v4dwkcv.com/127.0.0.1#1053 -server=/cvda.17173.com/127.0.0.1#1053 -server=/c.vip97.net/127.0.0.1#1053 -server=/cvt.mydas.mobi/127.0.0.1#1053 -server=/c.wechat.jx.cn/127.0.0.1#1053 -server=/c.wkanx.com/127.0.0.1#1053 -server=/cwpush.com/127.0.0.1#1053 -server=/c.wrating.com/127.0.0.1#1053 -server=/cws-cctv.conviva.com/127.0.0.1#1053 -server=/c.xianguonongchang.org/127.0.0.1#1053 -server=/c.xznykf.org/127.0.0.1#1053 -server=/cy123.cc/127.0.0.1#1053 -server=/cyacc.com/127.0.0.1#1053 -server=/cyad123.com/127.0.0.1#1053 -server=/cyad1.cyworld.com/127.0.0.1#1053 -server=/cyad1.nate.com/127.0.0.1#1053 -server=/cyad.cc/127.0.0.1#1053 -server=/cycy.kxrxh.com/127.0.0.1#1053 -server=/c.yes.youku.com/127.0.0.1#1053 -server=/cygames.jp/127.0.0.1#1053 -server=/cylinderlongcheng.com/127.0.0.1#1053 -server=/c.ylist.cn/127.0.0.1#1053 -server=/c.ynlysg.com/127.0.0.1#1053 -server=/c.youdao.com/127.0.0.1#1053 -server=/cytroncdn.videojj.com/127.0.0.1#1053 -server=/cytron.videojj.com/127.0.0.1#1053 -server=/cyylove.com/127.0.0.1#1053 -server=/cz01016102.cg2017.com/127.0.0.1#1053 -server=/cz01016102.ms758.com/127.0.0.1#1053 -server=/czdqhyo1.net/127.0.0.1#1053 -server=/czf.cchfjz.com/127.0.0.1#1053 -server=/c.zgnm.cc/127.0.0.1#1053 -server=/cz.ifeng0.com/127.0.0.1#1053 -server=/czjiuding.cn/127.0.0.1#1053 -server=/c.zlongad.com/127.0.0.1#1053 -server=/c.zmjuan.org/127.0.0.1#1053 -server=/czpush.com/127.0.0.1#1053 -server=/czpwm.com/127.0.0.1#1053 -server=/czxiangyue.com/127.0.0.1#1053 -server=/c.zxyywdj.org/127.0.0.1#1053 -server=/d00.sina.com.cn/127.0.0.1#1053 -server=/d0.sina.com.cn/127.0.0.1#1053 -server=/d0.sinaimg.cn/127.0.0.1#1053 -server=/d0.xcar.com.cn/127.0.0.1#1053 -server=/d.107788.com/127.0.0.1#1053 -server=/d.1391.com/127.0.0.1#1053 -server=/d1ad.com/127.0.0.1#1053 -server=/d1grtyyel8f1mh.cloudfront.net/127.0.0.1#1053 -server=/d1.showself.com/127.0.0.1#1053 -server=/d1.sina.com.cn/127.0.0.1#1053 -server=/d1.sinaimg.cn/127.0.0.1#1053 -server=/d1zgderxoe1a.cloudfront.net/127.0.0.1#1053 -server=/d29qt51jeyi6xb.cloudfront.net/127.0.0.1#1053 -server=/d2qkpebv23oowx.cloudfront.net/127.0.0.1#1053 -server=/d2.sina.com.cn/127.0.0.1#1053 -server=/d2.sinaimg.cn/127.0.0.1#1053 -server=/d2.yiche.com/127.0.0.1#1053 -server=/d31qbv1cthcecs.cloudfront.net/127.0.0.1#1053 -server=/d36eyd5j1kt1m6.cloudfront.net/127.0.0.1#1053 -server=/d.39.net/127.0.0.1#1053 -server=/d3c7rimkq79yfu.cloudfront.net/127.0.0.1#1053 -server=/d3f.houyi.baofeng.net/127.0.0.1#1053 -server=/d3g.qq.com/127.0.0.1#1053 -server=/d3.sina.com.cn/127.0.0.1#1053 -server=/d3.sinaimg.cn/127.0.0.1#1053 -server=/d3v1lb83psg9di.cloudfront.net/127.0.0.1#1053 -server=/d4.sina.com.cn/127.0.0.1#1053 -server=/d520m.gzcl999.cn/127.0.0.1#1053 -server=/d5nxst8fruw4z.cloudfront.net/127.0.0.1#1053 -server=/d5p.de17a.com/127.0.0.1#1053 -server=/d5.sina.com.cn/127.0.0.1#1053 -server=/d6.sina.com.cn/127.0.0.1#1053 -server=/d6.sinaimg.cn/127.0.0.1#1053 -server=/d77777777.com/127.0.0.1#1053 -server=/d7.sina.com.cn/127.0.0.1#1053 -server=/d7.sinaimg.cn/127.0.0.1#1053 -server=/d8360.com/127.0.0.1#1053 -server=/d8885.com/127.0.0.1#1053 -server=/d8.sina.com.cn/127.0.0.1#1053 -server=/d8.sinaimg.cn/127.0.0.1#1053 -server=/d8.zedo.com/127.0.0.1#1053 -server=/d9.sina.com.cn/127.0.0.1#1053 -server=/daa.shuzilm.cn/127.0.0.1#1053 -server=/dacash.streamplay.to/127.0.0.1#1053 -server=/dadjia.com/127.0.0.1#1053 -server=/d.admx.baixing.com/127.0.0.1#1053 -server=/dads.new.digg.com/127.0.0.1#1053 -server=/dafahao.com/127.0.0.1#1053 -server=/dafahao.org/127.0.0.1#1053 -server=/dafapromo.com/127.0.0.1#1053 -server=/d.agkn.com/127.0.0.1#1053 -server=/dahanedu.com/127.0.0.1#1053 -server=/da.hunantv.com/127.0.0.1#1053 -server=/dailydeals.amarillo.com/127.0.0.1#1053 -server=/dailydeals.augustachronicle.com/127.0.0.1#1053 -server=/dailydeals.brainerddispatch.com/127.0.0.1#1053 -server=/dailydeals.lubbockonline.com/127.0.0.1#1053 -server=/dailydeals.onlineathens.com/127.0.0.1#1053 -server=/dailydeals.savannahnow.com/127.0.0.1#1053 -server=/dailylog.storm.baofeng.com/127.0.0.1#1053 -server=/dailyvideo.securejoin.com/127.0.0.1#1053 -server=/daima123.cc/127.0.0.1#1053 -server=/daima.23yy.com/127.0.0.1#1053 -server=/daima.chazidian.com/127.0.0.1#1053 -server=/daima.diaoben.net/127.0.0.1#1053 -server=/daima.dsxdn.com/127.0.0.1#1053 -server=/daima.huoche.net/127.0.0.1#1053 -server=/daima.ijq.tv/127.0.0.1#1053 -server=/daima.mubite.cn/127.0.0.1#1053 -server=/daima.youbian.com/127.0.0.1#1053 -server=/dairuqi.com/127.0.0.1#1053 -server=/dai.shuzilm.cn/127.0.0.1#1053 -server=/daitdai.com/127.0.0.1#1053 -server=/dajean.com/127.0.0.1#1053 -server=/dajiyuan.com/127.0.0.1#1053 -server=/dajiyuan.org/127.0.0.1#1053 -server=/dalianhengtai.com/127.0.0.1#1053 -server=/da.mgtv.com/127.0.0.1#1053 -server=/da.mmarket.com/127.0.0.1#1053 -server=/dandan11.top/127.0.0.1#1053 -server=/dandan13.top/127.0.0.1#1053 -server=/dandan15.top/127.0.0.1#1053 -server=/danilo.to/127.0.0.1#1053 -server=/d.annarbor.com/127.0.0.1#1053 -server=/danpinwu.com/127.0.0.1#1053 -server=/dante2007.com/127.0.0.1#1053 -server=/daohang.114so.cn/127.0.0.1#1053 -server=/daolan.net/127.0.0.1#1053 -server=/daoyoudao.com/127.0.0.1#1053 -server=/dap.pagechoice.net/127.0.0.1#1053 -server=/dappradar.com/127.0.0.1#1053 -server=/dapp.review/127.0.0.1#1053 -server=/dart.clearchannel.com/127.0.0.1#1053 -server=/dartlang.org/127.0.0.1#1053 -server=/das.api.youku.com/127.0.0.1#1053 -server=/dashet.com/127.0.0.1#1053 -server=/das.mobile.youku.com/127.0.0.1#1053 -server=/data2.doodlemobile.com/127.0.0.1#1053 -server=/data2.gosquared.com/127.0.0.1#1053 -server=/data.3975.com/127.0.0.1#1053 -server=/data.ad-score.com/127.0.0.1#1053 -server=/data.apn.co.nz/127.0.0.1#1053 -server=/databank.air.yoyi.com.cn/127.0.0.1#1053 -server=/databank.yoyi.com.cn/127.0.0.1#1053 -server=/datacapture.serving-sys.com/127.0.0.1#1053 -server=/data.danmu.baofeng.com/127.0.0.1#1053 -server=/data.doodlemobile.com/127.0.0.1#1053 -server=/datafastguru.info/127.0.0.1#1053 -server=/data.gosquared.com/127.0.0.1#1053 -server=/data.mistat.xiaomi.com/127.0.0.1#1053 -server=/data.neuroxmedia.com/127.0.0.1#1053 -server=/data-news.cdn.cootekservice.com/127.0.0.1#1053 -server=/data-pic.cdn.cootekservice.com/127.0.0.1#1053 -server=/data-vocabulary.org/127.0.0.1#1053 -server=/datax.baidu.com/127.0.0.1#1053 -server=/datouniao.com/127.0.0.1#1053 -server=/dawwx.com/127.0.0.1#1053 -server=/day66.com/127.0.0.1#1053 -server=/dayone.me/127.0.0.1#1053 -server=/dazhantai.com/127.0.0.1#1053 -server=/dazhonghua.cn/127.0.0.1#1053 -server=/dazn-api.com/127.0.0.1#1053 -server=/dazn.com/127.0.0.1#1053 -server=/dazndn.com/127.0.0.1#1053 -server=/db1.fuz.cc/127.0.0.1#1053 -server=/db2.fuz.cc/127.0.0.1#1053 -server=/dbam.dashbida.com/127.0.0.1#1053 -server=/d.beigedi.com/127.0.0.1#1053 -server=/dbncp.com/127.0.0.1#1053 -server=/dbregistration.cuteftp.com/127.0.0.1#1053 -server=/db.tt/127.0.0.1#1053 -server=/d.businessinsider.com/127.0.0.1#1053 -server=/dbwmjj.com/127.0.0.1#1053 -server=/dc1live2lindazn.akamaized.net/127.0.0.1#1053 -server=/dc1-lm-live2dazn.secure.footprint.net/127.0.0.1#1053 -server=/dc1voddazn.akamaized.net/127.0.0.1#1053 -server=/dc2.csdn.net/127.0.0.1#1053 -server=/dc2voddazn.akamaized.netpayload:/127.0.0.1#1053 -server=/dcabtc.com/127.0.0.1#1053 -server=/d-cache.microad-cn.com/127.0.0.1#1053 -server=/dcads.sina.com.cn/127.0.0.1#1053 -server=/dcad.watersoul.com/127.0.0.1#1053 -server=/dcalivedazn.akamaized.net/127.0.0.1#1053 -server=/dcapps.disney.go.com/127.0.0.1#1053 -server=/dcblivedazn.akamaized.net/127.0.0.1#1053 -server=/dc.cp21.ott.cibntv.net/127.0.0.1#1053 -server=/dc.csdn.net/127.0.0.1#1053 -server=/dcjs.cig.com.cn/127.0.0.1#1053 -server=/dc.letv.com/127.0.0.1#1053 -server=/dc.liuliang100.com/127.0.0.1#1053 -server=/d.clkservice.youdao.com/127.0.0.1#1053 -server=/dc.meitustat.com/127.0.0.1#1053 -server=/dcmilitary.com/127.0.0.1#1053 -server=/dct-cloud.com/127.0.0.1#1053 -server=/dc.vmoters.com/127.0.0.1#1053 -server=/dcw.hdswgc.com/127.0.0.1#1053 -server=/dc.xhct66.com/127.0.0.1#1053 -server=/dd.70yst.com/127.0.0.1#1053 -server=/d.danangmo.cn/127.0.0.1#1053 -server=/ddanq.com/127.0.0.1#1053 -server=/ddapp.cn/127.0.0.1#1053 -server=/dd.dante2007.com/127.0.0.1#1053 -server=/ddd.haodizhi666.com/127.0.0.1#1053 -server=/ddd.yuyouge.com/127.0.0.1#1053 -server=/ddg1277.com/127.0.0.1#1053 -server=/ddhtek.com/127.0.0.1#1053 -server=/dd.iask.cn/127.0.0.1#1053 -server=/dd.iaskgo.com/127.0.0.1#1053 -server=/ddkkrrla.m.qxs.la/127.0.0.1#1053 -server=/dd.mangofortune.net/127.0.0.1#1053 -server=/ddomm.com/127.0.0.1#1053 -server=/ddpxhq.cn/127.0.0.1#1053 -server=/ddrrccck.m.qxs.la/127.0.0.1#1053 -server=/dd.wx16999.com/127.0.0.1#1053 -server=/deals.ledgertranscript.com/127.0.0.1#1053 -server=/de.as.cp61.ott.cibntv.net/127.0.0.1#1053 -server=/de.as.pptv.com/127.0.0.1#1053 -server=/debank.com/127.0.0.1#1053 -server=/debugreport.mobiledissector.com/127.0.0.1#1053 -server=/de.dzribao.com/127.0.0.1#1053 -server=/deepdyve.com/127.0.0.1#1053 -server=/defieye.io/127.0.0.1#1053 -server=/defillama.com/127.0.0.1#1053 -server=/defipulse.com/127.0.0.1#1053 -server=/defirate.com/127.0.0.1#1053 -server=/de.ioam.de/127.0.0.1#1053 -server=/deja.com/127.0.0.1#1053 -server=/dejing.laobanfa.com/127.0.0.1#1053 -server=/deletemer.online/127.0.0.1#1053 -server=/deliver.ifeng.com/127.0.0.1#1053 -server=/deliver.kuwo.cn/127.0.0.1#1053 -server=/delivery.dmkt-sp.jp/127.0.0.1#1053 -server=/delivery.maihehd.com/127.0.0.1#1053 -server=/delivery-pc.wasu.cn/127.0.0.1#1053 -server=/delivery.playallvideos.com/127.0.0.1#1053 -server=/delivery.porn.com/127.0.0.1#1053 -server=/delivery.wasu.cn/127.0.0.1#1053 -server=/d.elong.cn/127.0.0.1#1053 -server=/demdex.net/127.0.0.1#1053 -server=/demo.jointreport-switch.com/127.0.0.1#1053 -server=/de.pandora.xiaomi.com/127.0.0.1#1053 -server=/desk.cmix.org/127.0.0.1#1053 -server=/deskconnect.com/127.0.0.1#1053 -server=/detuns.com/127.0.0.1#1053 -server=/devcon.org/127.0.0.1#1053 -server=/developer.microsoft.com/127.0.0.1#1053 -server=/developers.eos.io/127.0.0.1#1053 -server=/devopsassessment.net/127.0.0.1#1053 -server=/devopsms.com/127.0.0.1#1053 -server=/dev-push.m.youku.com/127.0.0.1#1053 -server=/devs.data.mob.com/127.0.0.1#1053 -server=/dev.tg.youxi.com/127.0.0.1#1053 -server=/dextools.io/127.0.0.1#1053 -server=/dezfu.com/127.0.0.1#1053 -server=/df3n43m.com/127.0.0.1#1053 -server=/df77.com/127.0.0.1#1053 -server=/dfad.dfdaily.com/127.0.0.1#1053 -server=/dfc1.benbaisteel.com/127.0.0.1#1053 -server=/dfp.suning.com/127.0.0.1#1053 -server=/dfx.shhuixiangwuliu.com/127.0.0.1#1053 -server=/dfx.vnnv777.cn/127.0.0.1#1053 -server=/dgfggy.com/127.0.0.1#1053 -server=/d.gossipcenter.com/127.0.0.1#1053 -server=/dgpzx.com/127.0.0.1#1053 -server=/dh.holaworld.cn/127.0.0.1#1053 -server=/dhxyzx.cn/127.0.0.1#1053 -server=/diag-vd.gridsumdissector.com/127.0.0.1#1053 -server=/diag-wd.gridsumdissector.com/127.0.0.1#1053 -server=/dialer.cdn.cootekservice.com/127.0.0.1#1053 -server=/dianjoy.com/127.0.0.1#1053 -server=/dianru.com/127.0.0.1#1053 -server=/diaojiaoji168.com/127.0.0.1#1053 -server=/diaopic.14bobo.com/127.0.0.1#1053 -server=/dictate.ms/127.0.0.1#1053 -server=/didialift.com/127.0.0.1#1053 -server=/diediao.com/127.0.0.1#1053 -server=/difnxm.cn/127.0.0.1#1053 -server=/digdug.divxnetworks.com/127.0.0.1#1053 -server=/digicert.com/127.0.0.1#1053 -server=/digiconomist.net/127.0.0.1#1053 -server=/digisfera.com/127.0.0.1#1053 -server=/digitaltrends.com/127.0.0.1#1053 -server=/dilcdn.com/127.0.0.1#1053 -server=/dimg1.sz.net.cn/127.0.0.1#1053 -server=/dingon.com.cn/127.0.0.1#1053 -server=/dipan.com/127.0.0.1#1053 -server=/dip.pyangzi.com/127.0.0.1#1053 -server=/dip.szhyzkj.com/127.0.0.1#1053 -server=/dip.wl963.com/127.0.0.1#1053 -server=/dip.zgydjr.com/127.0.0.1#1053 -server=/directrev.com/127.0.0.1#1053 -server=/disco-api.com/127.0.0.1#1053 -server=/discomax.com/127.0.0.1#1053 -server=/disconnect.me/127.0.0.1#1053 -server=/discordapp.com/127.0.0.1#1053 -server=/discordapp.net/127.0.0.1#1053 -server=/discord.com/127.0.0.1#1053 -server=/discord.gg/127.0.0.1#1053 -server=/discord.media/127.0.0.1#1053 -server=/discordstatus.compayload:/127.0.0.1#1053 -server=/discoverbing.com/127.0.0.1#1053 -server=/discoveryplus.com/127.0.0.1#1053 -server=/dis.crieto.com/127.0.0.1#1053 -server=/dis.criteo.com/127.0.0.1#1053 -server=/discuss.ipfs.io/127.0.0.1#1053 -server=/discuz.gtimg.cn/127.0.0.1#1053 -server=/disneyadsales.com/127.0.0.1#1053 -server=/disneyarena.com/127.0.0.1#1053 -server=/disney.asia/127.0.0.1#1053 -server=/disney-asia.com/127.0.0.1#1053 -server=/disneyaulani.com/127.0.0.1#1053 -server=/disneybaby.com/127.0.0.1#1053 -server=/disney.be/127.0.0.1#1053 -server=/disney.bg/127.0.0.1#1053 -server=/disney.ca/127.0.0.1#1053 -server=/disneycareers.com/127.0.0.1#1053 -server=/disney.ch/127.0.0.1#1053 -server=/disneychannelonstage.com/127.0.0.1#1053 -server=/disneychannelroadtrip.com/127.0.0.1#1053 -server=/disney.co.il/127.0.0.1#1053 -server=/disney.co.jp/127.0.0.1#1053 -server=/disney.co.kr/127.0.0.1#1053 -server=/disney.com/127.0.0.1#1053 -server=/disney.com.au/127.0.0.1#1053 -server=/disney.com.br/127.0.0.1#1053 -server=/disney.com.hk/127.0.0.1#1053 -server=/disney.com.tw/127.0.0.1#1053 -server=/disney.co.th/127.0.0.1#1053 -server=/disney.co.uk/127.0.0.1#1053 -server=/disney.co.za/127.0.0.1#1053 -server=/disneycruisebrasil.com/127.0.0.1#1053 -server=/disney.cz/127.0.0.1#1053 -server=/disney.de/127.0.0.1#1053 -server=/disney-discount.com/127.0.0.1#1053 -server=/disney.dk/127.0.0.1#1053 -server=/disneyenconcert.com/127.0.0.1#1053 -server=/disney.es/127.0.0.1#1053 -server=/disney.fi/127.0.0.1#1053 -server=/disney.fr/127.0.0.1#1053 -server=/disney.gr/127.0.0.1#1053 -server=/disney.hu/127.0.0.1#1053 -server=/disney.id/127.0.0.1#1053 -server=/disneyiejobs.com/127.0.0.1#1053 -server=/disney.in/127.0.0.1#1053 -server=/disneyinflight.com/127.0.0.1#1053 -server=/disneyinternational.com/127.0.0.1#1053 -server=/disneyinternationalhd.com/127.0.0.1#1053 -server=/disney.io/127.0.0.1#1053 -server=/disney.it/127.0.0.1#1053 -server=/disneyjunior.com/127.0.0.1#1053 -server=/disneyjuniortreataday.com/127.0.0.1#1053 -server=/disneylatino.com/127.0.0.1#1053 -server=/disneymagicmoments.co.il/127.0.0.1#1053 -server=/disneymagicmoments.co.uk/127.0.0.1#1053 -server=/disneymagicmoments.co.za/127.0.0.1#1053 -server=/disneymagicmoments.de/127.0.0.1#1053 -server=/disneymagicmoments.es/127.0.0.1#1053 -server=/disneymagicmoments.fr/127.0.0.1#1053 -server=/disneymagicmoments.gen.tr/127.0.0.1#1053 -server=/disneymagicmoments.gr/127.0.0.1#1053 -server=/disneymagicmoments.it/127.0.0.1#1053 -server=/disneymagicmomentsme.com/127.0.0.1#1053 -server=/disneymagicmoments.pl/127.0.0.1#1053 -server=/disneyme.com/127.0.0.1#1053 -server=/disneymeetingsandevents.com/127.0.0.1#1053 -server=/disneymovieinsiders.com/127.0.0.1#1053 -server=/disneymusicpromotion.com/127.0.0.1#1053 -server=/disney.my/127.0.0.1#1053 -server=/disney.my.sentry.io/127.0.0.1#1053 -server=/disneynewseries.com/127.0.0.1#1053 -server=/disney.nl/127.0.0.1#1053 -server=/disney.no/127.0.0.1#1053 -server=/disneynow.com/127.0.0.1#1053 -server=/disneypeoplesurveys.com/127.0.0.1#1053 -server=/disney.ph/127.0.0.1#1053 -server=/disney.pl/127.0.0.1#1053 -server=/disneyplus.bn5x.net/127.0.0.1#1053 -server=/disneyplus.com/127.0.0.1#1053 -server=/disneyplus.com.ssl.sc.omtrdc.net/127.0.0.1#1053 -server=/disney-plus.net/127.0.0.1#1053 -server=/disney-portal.my.onetrust.com/127.0.0.1#1053 -server=/disney.pt/127.0.0.1#1053 -server=/disneyredirects.com/127.0.0.1#1053 -server=/disney.ro/127.0.0.1#1053 -server=/disney.ru/127.0.0.1#1053 -server=/disney.se/127.0.0.1#1053 -server=/disney.sg/127.0.0.1#1053 -server=/disneysrivieraresort.com/127.0.0.1#1053 -server=/disneystore.com/127.0.0.1#1053 -server=/disneystreaming.com/127.0.0.1#1053 -server=/disney-studio.com/127.0.0.1#1053 -server=/disney-studio.net/127.0.0.1#1053 -server=/disneysubscription.com/127.0.0.1#1053 -server=/disneytickets.co.uk/127.0.0.1#1053 -server=/disneyturkiye.com.tr/127.0.0.1#1053 -server=/disneytvajobs.com/127.0.0.1#1053 -server=/disneyworld-go.com/127.0.0.1#1053 -server=/dispenser-rtb.sape.ru/127.0.0.1#1053 -server=/display.360totalsecurity.com/127.0.0.1#1053 -server=/display.ad.daum.net/127.0.0.1#1053 -server=/display.adhudong.com/127.0.0.1#1053 -server=/display.digitalriver.com/127.0.0.1#1053 -server=/display.superbay.net/127.0.0.1#1053 -server=/disq.us/127.0.0.1#1053 -server=/disqusads.com/127.0.0.1#1053 -server=/disquscdn.com/127.0.0.1#1053 -server=/disqus.com/127.0.0.1#1053 -server=/distf.kankan.com/127.0.0.1#1053 -server=/dis.us.criteo.com/127.0.0.1#1053 -server=/ditu.live.com/127.0.0.1#1053 -server=/diyxjd.com/127.0.0.1#1053 -server=/djs.baomihua.com/127.0.0.1#1053 -server=/dkdlsj.com/127.0.0.1#1053 -server=/dkeyn.com/127.0.0.1#1053 -server=/d.kugou.com/127.0.0.1#1053 -server=/dl1sw.baidu.com/127.0.0.1#1053 -server=/dl.2345.com/127.0.0.1#1053 -server=/dl2.bav.baidu.com/127.0.0.1#1053 -server=/dl.360safe.com/127.0.0.1#1053 -server=/dl.9xu.com/127.0.0.1#1053 -server=/dl.client.baidu.com/127.0.0.1#1053 -server=/dl.cm.ksmobile.com/127.0.0.1#1053 -server=/dl.eduancm.com/127.0.0.1#1053 -server=/dleke.com/127.0.0.1#1053 -server=/dler.io/127.0.0.1#1053 -server=/dl.g.youku.com/127.0.0.1#1053 -server=/d.ligatus.com/127.0.0.1#1053 -server=/dl.img80.net/127.0.0.1#1053 -server=/dlimg.lovfp.com/127.0.0.1#1053 -server=/dl.jianshunrui.com/127.0.0.1#1053 -server=/dl.kinbest.cn/127.0.0.1#1053 -server=/dl.kjava.sina.cn/127.0.0.1#1053 -server=/dl.mbsea.com/127.0.0.1#1053 -server=/dl.nx5.com/127.0.0.1#1053 -server=/dload.qd.qingting.fm/127.0.0.1#1053 -server=/dl.ops.baidu.com/127.0.0.1#1053 -server=/dlpifu.com/127.0.0.1#1053 -server=/dlrijiaele.com/127.0.0.1#1053 -server=/dlsw.baidu.com/127.0.0.1#1053 -server=/dlsw.br.baidu.com/127.0.0.1#1053 -server=/dl.sybspools.com/127.0.0.1#1053 -server=/dl.union.ijinshan.com/127.0.0.1#1053 -server=/dl.uu.cc/127.0.0.1#1053 -server=/dl-vip.bav.baidu.com/127.0.0.1#1053 -server=/dl-vip.pcfaster.baidu.co.th/127.0.0.1#1053 -server=/dl.wan.sogoucdn.com/127.0.0.1#1053 -server=/dl.xzqxzs.com/127.0.0.1#1053 -server=/dl.youjia2016.com/127.0.0.1#1053 -server=/dlzjdesign.com/127.0.0.1#1053 -server=/dm1.tom61.com/127.0.0.1#1053 -server=/dm.388g.cc/127.0.0.1#1053 -server=/dm50.jkyd.net/127.0.0.1#1053 -server=/dm50.yxlady.com/127.0.0.1#1053 -server=/dm.51okc.com/127.0.0.1#1053 -server=/dm.92to.com/127.0.0.1#1053 -server=/dmacore.kejet.com/127.0.0.1#1053 -server=/dmacore.kejet.net/127.0.0.1#1053 -server=/dm.aizhan.com/127.0.0.1#1053 -server=/dmapp.youku.com/127.0.0.1#1053 -server=/dm.bytedance.com/127.0.0.1#1053 -server=/dm.chalook.net/127.0.0.1#1053 -server=/dmc.nico/127.0.0.1#1053 -server=/dm.fsyzcs.com/127.0.0.1#1053 -server=/dm.gbeik.com/127.0.0.1#1053 -server=/dmg.digitaltarget.ru/127.0.0.1#1053 -server=/d.mingyihui.net/127.0.0.1#1053 -server=/dm.jb51.net/127.0.0.1#1053 -server=/dm.jinshasi.cn/127.0.0.1#1053 -server=/dm.jsyst.cn/127.0.0.1#1053 -server=/dm.jy135.com/127.0.0.1#1053 -server=/dmm.co.jp/127.0.0.1#1053 -server=/dmpclick.deliver.ifeng.com/127.0.0.1#1053 -server=/dmp.kejet.net/127.0.0.1#1053 -server=/dm.ppzuowen.com/127.0.0.1#1053 -server=/dmp.sina.cn/127.0.0.1#1053 -server=/dm.pstatp.com/127.0.0.1#1053 -server=/dm.pw0.cn/127.0.0.1#1053 -server=/dm.riji.cn/127.0.0.1#1053 -server=/dmrtb.com/127.0.0.1#1053 -server=/dm.sanwen8.com/127.0.0.1#1053 -server=/dm.sanwen.net/127.0.0.1#1053 -server=/dm.sb580.com/127.0.0.1#1053 -server=/dm.toutiao.com/127.0.0.1#1053 -server=/dmt.qcrx.cn/127.0.0.1#1053 -server=/dmtrck.com/127.0.0.1#1053 -server=/dm.ws8.org/127.0.0.1#1053 -server=/dm.yjbys.com/127.0.0.1#1053 -server=/dn3.ixinwei.com/127.0.0.1#1053 -server=/dn7788.com/127.0.0.1#1053 -server=/dn-growing.qbox.me/127.0.0.1#1053 -server=/dnsimple.com/127.0.0.1#1053 -server=/dnvus.com/127.0.0.1#1053 -server=/do69ifsly4.me/127.0.0.1#1053 -server=/doc.go.sohu.com/127.0.0.1#1053 -server=/docker.com/127.0.0.1#1053 -server=/docs.com/127.0.0.1#1053 -server=/docs.ipfs.io/127.0.0.1#1053 -server=/docs.lotu.sh/127.0.0.1#1053 -server=/dogecoin.com/127.0.0.1#1053 -server=/dol.deliver.ifeng.com/127.0.0.1#1053 -server=/dolphin4.ftimg.net/127.0.0.1#1053 -server=/dolphin.deliver.ifeng.com/127.0.0.1#1053 -server=/dolphin.ftimg.net/127.0.0.1#1053 -server=/do.lymstsc.com/127.0.0.1#1053 -server=/domed.shenbimall.com/127.0.0.1#1053 -server=/do-not-tracker.org/127.0.0.1#1053 -server=/dontblockme.modaco.com/127.0.0.1#1053 -server=/dopa.com/127.0.0.1#1053 -server=/dot2.eporner.com/127.0.0.1#1053 -server=/dotcounter.douyutv.com/127.0.0.1#1053 -server=/dot.eporner.com/127.0.0.1#1053 -server=/dotmore.com.tw/127.0.0.1#1053 -server=/dot.net/127.0.0.1#1053 -server=/dou777.com/127.0.0.1#1053 -server=/douban.com/127.0.0.1#1053 -server=/doubanio.com/127.0.0.1#1053 -server=/doub.io/127.0.0.1#1053 -server=/doubleclick.net/127.0.0.1#1053 -server=/doubleplay-conf-yql.media.yahoo.com/127.0.0.1#1053 -server=/doubleverify.com/127.0.0.1#1053 -server=/doudao.cn/127.0.0.1#1053 -server=/doudouguo.com/127.0.0.1#1053 -server=/dougou88.com/127.0.0.1#1053 -server=/doumob.com/127.0.0.1#1053 -server=/douyin.com/127.0.0.1#1053 -server=/douyu.com/127.0.0.1#1053 -server=/douyu.tv/127.0.0.1#1053 -server=/douyutv.com/127.0.0.1#1053 -server=/dovemetrics.com/127.0.0.1#1053 -server=/dowjones.com/127.0.0.1#1053 -server=/down.360safe.com/127.0.0.1#1053 -server=/down.91wangmeng.com/127.0.0.1#1053 -server=/down.bugeyu.com/127.0.0.1#1053 -server=/down.dashendown.com/127.0.0.1#1053 -server=/down.diannaodian.com/127.0.0.1#1053 -server=/downlaod.xiaocen.com/127.0.0.1#1053 -server=/down.laomaotao.net/127.0.0.1#1053 -server=/download.123cw.cn/127.0.0.1#1053 -server=/download.2345.com/127.0.0.1#1053 -server=/download3.123cw.cn/127.0.0.1#1053 -server=/download.350.com/127.0.0.1#1053 -server=/downloada.dewmobile.net/127.0.0.1#1053 -server=/download.bav.baidu.com/127.0.0.1#1053 -server=/downloadb.dewmobile.net/127.0.0.1#1053 -server=/download.coolguang.com/127.0.0.1#1053 -server=/download.fuyuncc.com/127.0.0.1#1053 -server=/download.mediaget.com/127.0.0.1#1053 -server=/download.qianka.com/127.0.0.1#1053 -server=/download.sd.baidu.com/127.0.0.1#1053 -server=/download.sj.qq.com/127.0.0.1#1053 -server=/download.zhushou.sogou.com/127.0.0.1#1053 -server=/downmobile.kugou.com/127.0.0.1#1053 -server=/down.winads.cn/127.0.0.1#1053 -server=/down.winbaicai.com/127.0.0.1#1053 -server=/down.xiazaidc.com/127.0.0.1#1053 -server=/down.xiazaiyuan.net/127.0.0.1#1053 -server=/dp.559.cc/127.0.0.1#1053 -server=/dpm.demdex.net/127.0.0.1#1053 -server=/d.pr/127.0.0.1#1053 -server=/dps.499.cn/127.0.0.1#1053 -server=/dps.shouji56.com/127.0.0.1#1053 -server=/dps.wtdtjs.com/127.0.0.1#1053 -server=/dpvc1.qqyy.com/127.0.0.1#1053 -server=/dpvc2.qqyy.com/127.0.0.1#1053 -server=/dpvc.39.net/127.0.0.1#1053 -server=/dpvchos.qqyy.com/127.0.0.1#1053 -server=/dpvcimg.qqyy.com/127.0.0.1#1053 -server=/dqq.lnfund.org.cn/127.0.0.1#1053 -server=/dqsft.com/127.0.0.1#1053 -server=/dragoncent.com/127.0.0.1#1053 -server=/drd.hauchi.com.tw/127.0.0.1#1053 -server=/drdj.m.gxwztv.com/127.0.0.1#1053 -server=/drdwy.com/127.0.0.1#1053 -server=/dreamfull.cn/127.0.0.1#1053 -server=/dressimage.img-cn-beijing.aliyuncs.com/127.0.0.1#1053 -server=/d.rexuebi.com/127.0.0.1#1053 -server=/dr.holaworld.cn/127.0.0.1#1053 -server=/dribbble.com/127.0.0.1#1053 -server=/drlsf.com/127.0.0.1#1053 -server=/drm.cmgame.com/127.0.0.1#1053 -server=/drmcmm.baidu.com/127.0.0.1#1053 -server=/droplr.com/127.0.0.1#1053 -server=/dropsearn.com/127.0.0.1#1053 -server=/drsw.m.yuyouge.com/127.0.0.1#1053 -server=/d.ruiwen.com/127.0.0.1#1053 -server=/drvmy.ats68.cn/127.0.0.1#1053 -server=/drxrc.com/127.0.0.1#1053 -server=/dsadas.hydp188.com/127.0.0.1#1053 -server=/dsaeerf.com/127.0.0.1#1053 -server=/dshrx.com/127.0.0.1#1053 -server=/ds.jlbksy.com/127.0.0.1#1053 -server=/dsjsee.dqgpb.com/127.0.0.1#1053 -server=/ds-ll.serving-sys.com/127.0.0.1#1053 -server=/dsp.adfarm1.adition.com/127.0.0.1#1053 -server=/ds-pc.admsger.com/127.0.0.1#1053 -server=/dsp-click.youdao.com/127.0.0.1#1053 -server=/dsp.com/127.0.0.1#1053 -server=/dsp.hypers.com.cn/127.0.0.1#1053 -server=/dsp-impr2.youdao.com/127.0.0.1#1053 -server=/dsp-impr.youdao.com/127.0.0.1#1053 -server=/dspmy.ge95.com/127.0.0.1#1053 -server=/dsp.pro.cn/127.0.0.1#1053 -server=/dsp.send.microad-cn.com/127.0.0.1#1053 -server=/dspserver.ad.cmvideo.cn/127.0.0.1#1053 -server=/dsp.simba.taobao.com/127.0.0.1#1053 -server=/dsp.toutiao.com/127.0.0.1#1053 -server=/ds-pv.iqu-operation.com/127.0.0.1#1053 -server=/dsp.youdao.com/127.0.0.1#1053 -server=/ds.serving-sys.com/127.0.0.1#1053 -server=/dssott.com/127.0.0.1#1053 -server=/dsxdn.com/127.0.0.1#1053 -server=/dt.adsafeprotected.com/127.0.0.1#1053 -server=/d.thelocal.com/127.0.0.1#1053 -server=/d.tjgxzs.com/127.0.0.1#1053 -server=/dtlgalleryint.cloudapp.net/127.0.0.1#1053 -server=/d.tonghua5.com/127.0.0.1#1053 -server=/d-track.send.microad-cn.com/127.0.0.1#1053 -server=/dtrk.slimcdn.com/127.0.0.1#1053 -server=/dts.akamai.startappexchange.com/127.0.0.1#1053 -server=/d.turn.com/127.0.0.1#1053 -server=/duanat.com/127.0.0.1#1053 -server=/duapp.com/127.0.0.1#1053 -server=/duapps.com/127.0.0.1#1053 -server=/duckduckgo.com/127.0.0.1#1053 -server=/dueapp.com/127.0.0.1#1053 -server=/dugbvb.com/127.0.0.1#1053 -server=/dugesheying.com/127.0.0.1#1053 -server=/duiwai.baidu.com/127.0.0.1#1053 -server=/dumedia.ru/127.0.0.1#1053 -server=/duneanalytics.com/127.0.0.1#1053 -server=/d.union.ijinshan.com/127.0.0.1#1053 -server=/duokan.com/127.0.0.1#1053 -server=/duolingo.cn/127.0.0.1#1053 -server=/duolingo.com/127.0.0.1#1053 -server=/duoshuo.com/127.0.0.1#1053 -server=/duoyidd.com/127.0.0.1#1053 -server=/dushimj.com/127.0.0.1#1053 -server=/duusuu.com/127.0.0.1#1053 -server=/duyihu.net/127.0.0.1#1053 -server=/dv8c1t.cn/127.0.0.1#1053 -server=/dvb.pandora.xiaomi.com/127.0.0.1#1053 -server=/dvr8.com/127.0.0.1#1053 -server=/dvs.china.com/127.0.0.1#1053 -server=/dvsend.china.com/127.0.0.1#1053 -server=/dvser02.china.com/127.0.0.1#1053 -server=/dvser.china.com/127.0.0.1#1053 -server=/dvx-android.0.0.0.0.cn/127.0.0.1#1053 -server=/dw998.com/127.0.0.1#1053 -server=/dwa.okwan.cn/127.0.0.1#1053 -server=/dw.com/127.0.0.1#1053 -server=/dwh5.com/127.0.0.1#1053 -server=/dw.koudaibl.com/127.0.0.1#1053 -server=/dw.xcar.com.cn/127.0.0.1#1053 -server=/dx1200.com/127.0.0.1#1053 -server=/d.xinshipu.com/127.0.0.1#1053 -server=/dxp.baidu.com/127.0.0.1#1053 -server=/dxpmedia.com/127.0.0.1#1053 -server=/dxprla.m.qxs.la/127.0.0.1#1053 -server=/dxssiyi.com/127.0.0.1#1053 -server=/dyb.jdcbuy.com/127.0.0.1#1053 -server=/dydab.com/127.0.0.1#1053 -server=/dydx.exchange/127.0.0.1#1053 -server=/d.yjbys.com/127.0.0.1#1053 -server=/dynamic.aol.com/127.0.0.1#1053 -server=/dynamics.com/127.0.0.1#1053 -server=/dynamic.zol.com.cn/127.0.0.1#1053 -server=/dyn.tnaflix.com/127.0.0.1#1053 -server=/d.yoyi.com.cn/127.0.0.1#1053 -server=/d.yoyi.tv/127.0.0.1#1053 -server=/dytt8.net/127.0.0.1#1053 -server=/dz2017.zdzxyplyt.com/127.0.0.1#1053 -server=/dzais.com/127.0.0.1#1053 -server=/dzisou.com/127.0.0.1#1053 -server=/dzjzg.com/127.0.0.1#1053 -server=/dzl.baidu.com/127.0.0.1#1053 -server=/dzz.wankeedu.com/127.0.0.1#1053 -server=/e.0.0.0.0.cn/127.0.0.1#1053 -server=/e.0.0.0.0.com.cn/127.0.0.1#1053 -server=/e.027blzs.com/127.0.0.1#1053 -server=/e.0531mnk.net/127.0.0.1#1053 -server=/e.1919388.net/127.0.0.1#1053 -server=/e.28487.net/127.0.0.1#1053 -server=/e.51xmgys.com/127.0.0.1#1053 -server=/e7001.com/127.0.0.1#1053 -server=/e7002.com/127.0.0.1#1053 -server=/e7009.com/127.0.0.1#1053 -server=/e70123.com/127.0.0.1#1053 -server=/e7015.com/127.0.0.1#1053 -server=/e701.net/127.0.0.1#1053 -server=/e704.net/127.0.0.1#1053 -server=/e705.net/127.0.0.1#1053 -server=/e706.net/127.0.0.1#1053 -server=/e708.net/127.0.0.1#1053 -server=/e719.net/127.0.0.1#1053 -server=/e.91.com/127.0.0.1#1053 -server=/e9377f.com/127.0.0.1#1053 -server=/ea778a21c7.com/127.0.0.1#1053 -server=/e.aa985.cn/127.0.0.1#1053 -server=/e.acaog.com/127.0.0.1#1053 -server=/e.acaox.com/127.0.0.1#1053 -server=/eacash.streamplay.to/127.0.0.1#1053 -server=/e.admin60.com/127.0.0.1#1053 -server=/e.afvfe.cn/127.0.0.1#1053 -server=/e.anmeilai.net/127.0.0.1#1053 -server=/eap.big5.enorth.com.cn/127.0.0.1#1053 -server=/eap.enorth.com.cn/127.0.0.1#1053 -server=/e.apxyz.com/127.0.0.1#1053 -server=/earni.fi/127.0.0.1#1053 -server=/easou.com/127.0.0.1#1053 -server=/easybib.com/127.0.0.1#1053 -server=/easyrecoverychina.com/127.0.0.1#1053 -server=/e.baidu.com/127.0.0.1#1053 -server=/e.bapkt.com/127.0.0.1#1053 -server=/e.bbvjs.com/127.0.0.1#1053 -server=/e.bentengcn.com/127.0.0.1#1053 -server=/e.bokanedu.net/127.0.0.1#1053 -server=/ebook.res.meizu.com/127.0.0.1#1053 -server=/ebp.renren.com/127.0.0.1#1053 -server=/ebscohost.com/127.0.0.1#1053 -server=/e.bsnnk.com/127.0.0.1#1053 -server=/e.bvoer.com/127.0.0.1#1053 -server=/e.cbeif.com/127.0.0.1#1053 -server=/e.ccunf.com/127.0.0.1#1053 -server=/e.cdfzcz.com/127.0.0.1#1053 -server=/e.chfuw.com/127.0.0.1#1053 -server=/ecitic.com/127.0.0.1#1053 -server=/ecitic.net/127.0.0.1#1053 -server=/e.cjieh.com/127.0.0.1#1053 -server=/ec.kejet.net/127.0.0.1#1053 -server=/e.ckikq.com/127.0.0.1#1053 -server=/eclick.120ask.com/127.0.0.1#1053 -server=/eclick.360doc.com/127.0.0.1#1053 -server=/eclick.baidu.com/127.0.0.1#1053 -server=/eclkspbn.com/127.0.0.1#1053 -server=/ecma.bdimg.com/127.0.0.1#1053 -server=/ecmb.bdimg.com/127.0.0.1#1053 -server=/ecmc.bdimg.com/127.0.0.1#1053 -server=/e.cn-3drp.com/127.0.0.1#1053 -server=/e.codlw.com/127.0.0.1#1053 -server=/e.coenr.com/127.0.0.1#1053 -server=/economist.com/127.0.0.1#1053 -server=/e.crashlytics.com/127.0.0.1#1053 -server=/ecuc123.net/127.0.0.1#1053 -server=/e.cuomm.com/127.0.0.1#1053 -server=/e.czggcj.com/127.0.0.1#1053 -server=/ed.aijielang.cn/127.0.0.1#1053 -server=/e.daishuxy.com/127.0.0.1#1053 -server=/e.danrs.com/127.0.0.1#1053 -server=/eddong.com/127.0.0.1#1053 -server=/e.deimm.com/127.0.0.1#1053 -server=/edesf.xyzxmark.cn/127.0.0.1#1053 -server=/edgecastcdn.net/127.0.0.1#1053 -server=/edgedatg.com/127.0.0.1#1053 -server=/edgekey.net/127.0.0.1#1053 -server=/edge.quantserve.com/127.0.0.1#1053 -server=/edge.sharethis.com/127.0.0.1#1053 -server=/edgesuite.net/127.0.0.1#1053 -server=/edge.yunjiasu.com/127.0.0.1#1053 -server=/edigitalsurvey.com/127.0.0.1#1053 -server=/e.diogv.com/127.0.0.1#1053 -server=/e.diupp.com/127.0.0.1#1053 -server=/ediuschina.com/127.0.0.1#1053 -server=/edncui.net/127.0.0.1#1053 -server=/e.dnfeu.com/127.0.0.1#1053 -server=/ed.sczhilong.cn/127.0.0.1#1053 -server=/e.dsjre.com/127.0.0.1#1053 -server=/eduancm.com/127.0.0.1#1053 -server=/edu.cn/127.0.0.1#1053 -server=/e.dunmm.com/127.0.0.1#1053 -server=/eduzzjy.com/127.0.0.1#1053 -server=/e.dxmci.com/127.0.0.1#1053 -server=/e.dzairen.com/127.0.0.1#1053 -server=/ee4kdushuba.com/127.0.0.1#1053 -server=/e.e7001.com/127.0.0.1#1053 -server=/e.e70123.com/127.0.0.1#1053 -server=/eeee500.com/127.0.0.1#1053 -server=/eee.eh39.co/127.0.0.1#1053 -server=/eee.kj78.org/127.0.0.1#1053 -server=/eee.ttyy888.co/127.0.0.1#1053 -server=/e.ehxyz.com/127.0.0.1#1053 -server=/e.emgwq.com/127.0.0.1#1053 -server=/e.enjuk.com/127.0.0.1#1053 -server=/e.ennmt.com/127.0.0.1#1053 -server=/eezdx.erc.18183.com/127.0.0.1#1053 -server=/e.fbaix.com/127.0.0.1#1053 -server=/e.fbaot.com/127.0.0.1#1053 -server=/effectivemeasure.com/127.0.0.1#1053 -server=/effectivemeasure.net/127.0.0.1#1053 -server=/eff.inte.sogou.com/127.0.0.1#1053 -server=/e.fimky.com/127.0.0.1#1053 -server=/e.fkkse.com/127.0.0.1#1053 -server=/e.fkogs.com/127.0.0.1#1053 -server=/e.focuscat.com/127.0.0.1#1053 -server=/efproject.net/127.0.0.1#1053 -server=/e.fstaw.com/127.0.0.1#1053 -server=/e.fwjoi.com/127.0.0.1#1053 -server=/e.fzyda.com/127.0.0.1#1053 -server=/e.gbieg.com/127.0.0.1#1053 -server=/e.gglay.com/127.0.0.1#1053 -server=/e.gxjfh.com/127.0.0.1#1053 -server=/e.gxkyl.com/127.0.0.1#1053 -server=/e.harbinbaojia.net/127.0.0.1#1053 -server=/ehd.baike.com/127.0.0.1#1053 -server=/e.hellomingpian.com/127.0.0.1#1053 -server=/e.hgrqp.com/127.0.0.1#1053 -server=/ehg-youtube.hitbox.com/127.0.0.1#1053 -server=/e.hissq.com/127.0.0.1#1053 -server=/e.hjryl.com/127.0.0.1#1053 -server=/e.hk7799.net/127.0.0.1#1053 -server=/e.hkmqp.com/127.0.0.1#1053 -server=/e.hmhqp.com/127.0.0.1#1053 -server=/e.hogyp.com/127.0.0.1#1053 -server=/e.hpzyl.com/127.0.0.1#1053 -server=/e.htper.com/127.0.0.1#1053 -server=/e.huaas.com/127.0.0.1#1053 -server=/e.hunpp.com/127.0.0.1#1053 -server=/e.huoas.com/127.0.0.1#1053 -server=/e.hurnt.com/127.0.0.1#1053 -server=/ehxyz.com/127.0.0.1#1053 -server=/e.hyzui.com/127.0.0.1#1053 -server=/e.icyrd.com/127.0.0.1#1053 -server=/e.iierq.com/127.0.0.1#1053 -server=/ein.51yingfa.com/127.0.0.1#1053 -server=/e.infvb.com/127.0.0.1#1053 -server=/e.irauz.com/127.0.0.1#1053 -server=/e.irkuj.com/127.0.0.1#1053 -server=/e.iruad.com/127.0.0.1#1053 -server=/e.ishowms.com/127.0.0.1#1053 -server=/eiv.baidu.com/127.0.0.1#1053 -server=/e.jdaot.com/127.0.0.1#1053 -server=/e.jgkto.com/127.0.0.1#1053 -server=/e.jiaas.com/127.0.0.1#1053 -server=/e.jiirz.com/127.0.0.1#1053 -server=/e.jioeg.com/127.0.0.1#1053 -server=/e.jkert.com/127.0.0.1#1053 -server=/e.jlkja.com/127.0.0.1#1053 -server=/e.jltdbyq.com/127.0.0.1#1053 -server=/e.jnsdkjzs.com/127.0.0.1#1053 -server=/e.joyxv.com/127.0.0.1#1053 -server=/e.juyzr.com/127.0.0.1#1053 -server=/e.jwiyr.com/127.0.0.1#1053 -server=/e.jxxiangchu.com/127.0.0.1#1053 -server=/ejzr.golden1.sogou.com/127.0.0.1#1053 -server=/e.kcooy.com/127.0.0.1#1053 -server=/ekeide.com/127.0.0.1#1053 -server=/e.kewro.com/127.0.0.1#1053 -server=/e.khuoy.com/127.0.0.1#1053 -server=/e.kjfhe.com/127.0.0.1#1053 -server=/e.kjhfy.com/127.0.0.1#1053 -server=/e.kl6636.net/127.0.0.1#1053 -server=/e.ksttwz.com/127.0.0.1#1053 -server=/e.kunpp.com/127.0.0.1#1053 -server=/e.kwjkd.com/127.0.0.1#1053 -server=/e.kxhie.com/127.0.0.1#1053 -server=/e.lancedu.com/127.0.0.1#1053 -server=/eland.doublemax.net/127.0.0.1#1053 -server=/e.lfdydk.com/127.0.0.1#1053 -server=/e.lovezhishou.com/127.0.0.1#1053 -server=/els-cdn.com/127.0.0.1#1053 -server=/elsevier.com/127.0.0.1#1053 -server=/e.lyjz001.com/127.0.0.1#1053 -server=/e.lzytt.com/127.0.0.1#1053 -server=/emarbox.com/127.0.0.1#1053 -server=/em.baidu.com/127.0.0.1#1053 -server=/e.md0z4dh.com/127.0.0.1#1053 -server=/e.meizhuanghe.com/127.0.0.1#1053 -server=/emerald.com/127.0.0.1#1053 -server=/e.miaoxinqipei.com/127.0.0.1#1053 -server=/e.mightiger.net/127.0.0.1#1053 -server=/e.miiuv.com/127.0.0.1#1053 -server=/e.mmkvi.com/127.0.0.1#1053 -server=/emoi-cncdn.bing.com/127.0.0.1#1053 -server=/emoticon.sns.iqiyi.com/127.0.0.1#1053 -server=/e.mozist.com/127.0.0.1#1053 -server=/e.mqgpo.com/127.0.0.1#1053 -server=/e.mrsasharingspace.com/127.0.0.1#1053 -server=/e.mrtuo.com/127.0.0.1#1053 -server=/e-msedge.net/127.0.0.1#1053 -server=/emss.zjhim.com/127.0.0.1#1053 -server=/e.mushizhubao.com/127.0.0.1#1053 -server=/encoretvb.com/127.0.0.1#1053 -server=/endnote.com/127.0.0.1#1053 -server=/e.nduop.com/127.0.0.1#1053 -server=/e.neijh.com/127.0.0.1#1053 -server=/e.nejup.com/127.0.0.1#1053 -server=/e.nernv.com/127.0.0.1#1053 -server=/e.nexac.com/127.0.0.1#1053 -server=/e.nfkos.com/127.0.0.1#1053 -server=/engadget.com/127.0.0.1#1053 -server=/engineeringvillage.com/127.0.0.1#1053 -server=/engine.lvehaisen.com/127.0.0.1#1053 -server=/engine.tuia.cn/127.0.0.1#1053 -server=/engkoo.com/127.0.0.1#1053 -server=/e.nmtouzi.com/127.0.0.1#1053 -server=/e.nnfiy.com/127.0.0.1#1053 -server=/en.shenyun.com/127.0.0.1#1053 -server=/en.shenyun.org/127.0.0.1#1053 -server=/ent1.12584.cn/127.0.0.1#1053 -server=/entrust.net/127.0.0.1#1053 -server=/entry.baidu.com/127.0.0.1#1053 -server=/e.nwxzs.com/127.0.0.1#1053 -server=/e.nxypz.com/127.0.0.1#1053 -server=/e.oesnw.com/127.0.0.1#1053 -server=/e.okfhn.com/127.0.0.1#1053 -server=/e.opqsr.com/127.0.0.1#1053 -server=/eosflare.io/127.0.0.1#1053 -server=/eos.io/127.0.0.1#1053 -server=/eospark.com/127.0.0.1#1053 -server=/eostracker.io/127.0.0.1#1053 -server=/e.oyrim.com/127.0.0.1#1053 -server=/e-p4p.163.com/127.0.0.1#1053 -server=/e.pbino.com/127.0.0.1#1053 -server=/epernn.cn/127.0.0.1#1053 -server=/e.picbr.com/127.0.0.1#1053 -server=/e.plerv.com/127.0.0.1#1053 -server=/epochtimes.org/127.0.0.1#1053 -server=/epochweekly.com/127.0.0.1#1053 -server=/e.pomkl.com/127.0.0.1#1053 -server=/e.poonscn.com/127.0.0.1#1053 -server=/epowernetworktrackerimages.s3.amazonaws.com/127.0.0.1#1053 -server=/epro.sogou.com/127.0.0.1#1053 -server=/e.pubbirdf.com/127.0.0.1#1053 -server=/e.puooi.com/127.0.0.1#1053 -server=/e.pwjhg.com/127.0.0.1#1053 -server=/e.pyerc.com/127.0.0.1#1053 -server=/e.qiaoyuwang.com/127.0.0.1#1053 -server=/e.qingzhencai.net/127.0.0.1#1053 -server=/e.qiyunmuye.com/127.0.0.1#1053 -server=/e.qsove.com/127.0.0.1#1053 -server=/e.qvxyz.com/127.0.0.1#1053 -server=/e.qxfly.com/127.0.0.1#1053 -server=/er.dlhygj.com/127.0.0.1#1053 -server=/erdoscs.com/127.0.0.1#1053 -server=/erebor.douban.com/127.0.0.1#1053 -server=/ereg.adobe.com/127.0.0.1#1053 -server=/ereg.wip3.adobe.com/127.0.0.1#1053 -server=/e.resmv.com/127.0.0.1#1053 -server=/e.ricpt.com/127.0.0.1#1053 -server=/e.rmwdn.com/127.0.0.1#1053 -server=/e.romgv.com/127.0.0.1#1053 -server=/ers.baidu.com/127.0.0.1#1053 -server=/erwqw.zh1155.com/127.0.0.1#1053 -server=/erwr.ydjskvpd.com/127.0.0.1#1053 -server=/e.sanitwealth.com/127.0.0.1#1053 -server=/e.shenyunkeji.com/127.0.0.1#1053 -server=/e.sjuqc.com/127.0.0.1#1053 -server=/e.sosjyx.com/127.0.0.1#1053 -server=/espn-ak.starwave.com/127.0.0.1#1053 -server=/esptj.com/127.0.0.1#1053 -server=/esrpxyahzna.bid/127.0.0.1#1053 -server=/e.srrux.com/127.0.0.1#1053 -server=/e.suehy.com/127.0.0.1#1053 -server=/e.szqifu.com/127.0.0.1#1053 -server=/e.t71q.com/127.0.0.1#1053 -server=/e.tdtsd.com/127.0.0.1#1053 -server=/eteun.cn/127.0.0.1#1053 -server=/ethereum.cn/127.0.0.1#1053 -server=/ethereum.foundation/127.0.0.1#1053 -server=/ethereum-magicians.org/127.0.0.1#1053 -server=/ethereum.org/127.0.0.1#1053 -server=/ethereum.stackexchange.com/127.0.0.1#1053 -server=/ethermine.org/127.0.0.1#1053 -server=/ethernodes.org/127.0.0.1#1053 -server=/etherscan.com/127.0.0.1#1053 -server=/etherscan.io/127.0.0.1#1053 -server=/ethfans.org/127.0.0.1#1053 -server=/ethgasstation.info/127.0.0.1#1053 -server=/ethod.gzgmjcx.com/127.0.0.1#1053 -server=/e.tiantianedu.net/127.0.0.1#1053 -server=/e.tick0.com/127.0.0.1#1053 -server=/e.tiojk.com/127.0.0.1#1053 -server=/etl.xlmc.sandai.net/127.0.0.1#1053 -server=/etl.xlmc.sec.miui.com/127.0.0.1#1053 -server=/e.tuoaa.com/127.0.0.1#1053 -server=/eudic.net/127.0.0.1#1053 -server=/e.ueram.com/127.0.0.1#1053 -server=/eu-gmtdmp.gd1.mookie1.com/127.0.0.1#1053 -server=/e.uissm.com/127.0.0.1#1053 -server=/eum-appdynamics.com/127.0.0.1#1053 -server=/eurekavpt.com/127.0.0.1#1053 -server=/eus.rubiconproject.com/127.0.0.1#1053 -server=/euwidget.imshopping.com/127.0.0.1#1053 -server=/e.v02u9.cn/127.0.0.1#1053 -server=/eva.ucas.com/127.0.0.1#1053 -server=/e.vaxyz.com/127.0.0.1#1053 -server=/e.vbaiu.com/127.0.0.1#1053 -server=/evefashion.cn/127.0.0.1#1053 -server=/event.ksosoft.com/127.0.0.1#1053 -server=/eventlog.hd.baofeng.com/127.0.0.1#1053 -server=/events-api.outfit7.net/127.0.0.1#1053 -server=/events.kalooga.com/127.0.0.1#1053 -server=/events.pingan.com/127.0.0.1#1053 -server=/evernote.com/127.0.0.1#1053 -server=/eviltracker.net/127.0.0.1#1053 -server=/evoke-windowsservices-tas.msedge/127.0.0.1#1053 -server=/e.vouky.com/127.0.0.1#1053 -server=/e.vvocm.com/127.0.0.1#1053 -server=/ew16d.package12.com/127.0.0.1#1053 -server=/ewapool.net/127.0.0.1#1053 -server=/e.wcjup.com/127.0.0.1#1053 -server=/e.weixingshexiangji.net/127.0.0.1#1053 -server=/e.wikigifth.com/127.0.0.1#1053 -server=/e.wjhehaofc.com/127.0.0.1#1053 -server=/e.wkjhd.com/127.0.0.1#1053 -server=/e.wnxcg.com/127.0.0.1#1053 -server=/e.wonwg.com/127.0.0.1#1053 -server=/ewqcxz.com/127.0.0.1#1053 -server=/e.wsxxu.com/127.0.0.1#1053 -server=/e.x.cn.xtgreat.com/127.0.0.1#1053 -server=/e.xdkje.com/127.0.0.1#1053 -server=/exdynsrv.com/127.0.0.1#1053 -server=/e.xeihy.com/127.0.0.1#1053 -server=/e.xetvb.com/127.0.0.1#1053 -server=/e.xiangchim0.com/127.0.0.1#1053 -server=/e.xikdn.com/127.0.0.1#1053 -server=/exit.macandbumble.com/127.0.0.1#1053 -server=/e.xkqpco.com.com/127.0.0.1#1053 -server=/e.xlsschina15.net/127.0.0.1#1053 -server=/e.xmgysweb.com/127.0.0.1#1053 -server=/ex.mobmore.com/127.0.0.1#1053 -server=/exoclick.com/127.0.0.1#1053 -server=/exp.17wo.cn/127.0.0.1#1053 -server=/exp.3g.ifeng.com/127.0.0.1#1053 -server=/e.xpjis.com/127.0.0.1#1053 -server=/explorebing.com/127.0.0.1#1053 -server=/expo123.net/127.0.0.1#1053 -server=/exp.qumi.com/127.0.0.1#1053 -server=/exp-tas.com/127.0.0.1#1053 -server=/ex.puata.info/127.0.0.1#1053 -server=/extmatrix.com/127.0.0.1#1053 -server=/extmoney.i1608.com/127.0.0.1#1053 -server=/extstat.com/127.0.0.1#1053 -server=/ext.theglobalweb.com/127.0.0.1#1053 -server=/e.xxkio.com/127.0.0.1#1053 -server=/e.yageben.com/127.0.0.1#1053 -server=/e.yangjingbang.net/127.0.0.1#1053 -server=/eyd77s.com/127.0.0.1#1053 -server=/e.yerpt.com/127.0.0.1#1053 -server=/eye.swfchan.com/127.0.0.1#1053 -server=/e.yicang8.com/127.0.0.1#1053 -server=/e.yidulive.net/127.0.0.1#1053 -server=/e.yingchengtou.com/127.0.0.1#1053 -server=/e.ynnke.com/127.0.0.1#1053 -server=/eyny.com/127.0.0.1#1053 -server=/e.yoiur.com/127.0.0.1#1053 -server=/eyouv.cn/127.0.0.1#1053 -server=/e.youweiprint.com/127.0.0.1#1053 -server=/e.ysdangan.com/127.0.0.1#1053 -server=/e.ysdhe.com/127.0.0.1#1053 -server=/e.yuxyz.com/127.0.0.1#1053 -server=/e.ywbwsm.com/127.0.0.1#1053 -server=/e.yycqc.com/127.0.0.1#1053 -server=/e.yyeks.com/127.0.0.1#1053 -server=/e.yyjhf.com/127.0.0.1#1053 -server=/ez33.org.cn/127.0.0.1#1053 -server=/e.zabxb.com/127.0.0.1#1053 -server=/e.zhuyuanp.club/127.0.0.1#1053 -server=/e.zhuyuanp.shop/127.0.0.1#1053 -server=/e.zhuyuanp.top/127.0.0.1#1053 -server=/ezine.oupeng.com/127.0.0.1#1053 -server=/e.zjkdaikuan.com/127.0.0.1#1053 -server=/e.zkwsdf.com/127.0.0.1#1053 -server=/ezucods.cn/127.0.0.1#1053 -server=/e.zunss.com/127.0.0.1#1053 -server=/f1.06ps.com/127.0.0.1#1053 -server=/f1190.com/127.0.0.1#1053 -server=/f1.bizhiku.net/127.0.0.1#1053 -server=/f1c.i.biquge5200.com/127.0.0.1#1053 -server=/f1esports.com/127.0.0.1#1053 -server=/f1.luoshenbest.cn/127.0.0.1#1053 -server=/f1manager.com/127.0.0.1#1053 -server=/f1.meishichina.com/127.0.0.1#1053 -server=/f1.p0y.cn/127.0.0.1#1053 -server=/f1.pig66.com/127.0.0.1#1053 -server=/f1play.com/127.0.0.1#1053 -server=/f2.p0y.cn/127.0.0.1#1053 -server=/f2pool.com/127.0.0.1#1053 -server=/f2zd.com/127.0.0.1#1053 -server=/f3.mi-stat.gslb.mi-idc.com/127.0.0.1#1053 -server=/f3.vedeh.com/127.0.0.1#1053 -server=/f.520tingshu.com/127.0.0.1#1053 -server=/f56g.me/127.0.0.1#1053 -server=/f5.dfcwg.com/127.0.0.1#1053 -server=/f5.mtqys.com/127.0.0.1#1053 -server=/f6ce.com/127.0.0.1#1053 -server=/f70123.com/127.0.0.1#1053 -server=/f8272.com/127.0.0.1#1053 -server=/fa.163.com/127.0.0.1#1053 -server=/fabric.io/127.0.0.1#1053 -server=/facebookma.cn/127.0.0.1#1053 -server=/faggrim.com/127.0.0.1#1053 -server=/fair.sogou.com/127.0.0.1#1053 -server=/falundata.com/127.0.0.1#1053 -server=/falundata.org/127.0.0.1#1053 -server=/fancyapi.com/127.0.0.1#1053 -server=/fan.liuxiaoer.com/127.0.0.1#1053 -server=/fanqianbb.com/127.0.0.1#1053 -server=/fans.bestvogue.com/127.0.0.1#1053 -server=/fansi365.com/127.0.0.1#1053 -server=/fan.twitch.tv/127.0.0.1#1053 -server=/fan-yong.com/127.0.0.1#1053 -server=/farm-cn.plista.com/127.0.0.1#1053 -server=/fastable.com/127.0.0.1#1053 -server=/fastapi.net/127.0.0.1#1053 -server=/fastcache.com.cn/127.0.0.1#1053 -server=/fast-cdn.dianjoy.com/127.0.0.1#1053 -server=/fastclick.com/127.0.0.1#1053 -server=/fastclick.net/127.0.0.1#1053 -server=/fast.com/127.0.0.1#1053 -server=/fastly.bench.cedexis.com/127.0.0.1#1053 -server=/fastly.net/127.0.0.1#1053 -server=/fastmail.com/127.0.0.1#1053 -server=/fastpopunder.com/127.0.0.1#1053 -server=/fasttrackreadysupport.com/127.0.0.1#1053 -server=/fathionmall.com/127.0.0.1#1053 -server=/fav.simba.taobao.com/127.0.0.1#1053 -server=/fbcdn.net/127.0.0.1#1053 -server=/fbc.ffychb.com/127.0.0.1#1053 -server=/fb.com/127.0.0.1#1053 -server=/fb.me/127.0.0.1#1053 -server=/fbsbx.com/127.0.0.1#1053 -server=/fb.xk.miui.com/127.0.0.1#1053 -server=/fc2.com/127.0.0.1#1053 -server=/fccxgjg.com/127.0.0.1#1053 -server=/fc-feed.cdn.bcebos.com/127.0.0.1#1053 -server=/fclick.baidu.com/127.0.0.1#1053 -server=/fcsass.org.cn/127.0.0.1#1053 -server=/fd7c.com/127.0.0.1#1053 -server=/fd.anzhi.com/127.0.0.1#1053 -server=/f.doodlemobile.com/127.0.0.1#1053 -server=/fd.qchannel03.cn/127.0.0.1#1053 -server=/fds.api.moji.com/127.0.0.1#1053 -server=/fe1-au.imrworldwide.com/127.0.0.1#1053 -server=/fe2-au.imrworldwide.com/127.0.0.1#1053 -server=/fe3-au.imrworldwide.com/127.0.0.1#1053 -server=/fe-au.imrworldwide.com/127.0.0.1#1053 -server=/feedback.whalecloud.com/127.0.0.1#1053 -server=/feed.baidu.com/127.0.0.1#1053 -server=/feedburner.com/127.0.0.1#1053 -server=/feedly.com/127.0.0.1#1053 -server=/feeds.logicbuy.com/127.0.0.1#1053 -server=/feedsportal.com/127.0.0.1#1053 -server=/feeds.videosz.com/127.0.0.1#1053 -server=/feed.theta.sogou.com/127.0.0.1#1053 -server=/fei232.bhzje7ua9.com/127.0.0.1#1053 -server=/feidalu.com/127.0.0.1#1053 -server=/feifish66.com/127.0.0.1#1053 -server=/feih.com.cn/127.0.0.1#1053 -server=/feitianma.com/127.0.0.1#1053 -server=/feixin2.com/127.0.0.1#1053 -server=/fe.lea.lycos.co.uk/127.0.0.1#1053 -server=/femalefounderscomp.com/127.0.0.1#1053 -server=/fembsflungod.com/127.0.0.1#1053 -server=/fen.dkdlsj.com/127.0.0.1#1053 -server=/fengbuy.com/127.0.0.1#1053 -server=/feng.com/127.0.0.1#1053 -server=/fenggejiaju.com/127.0.0.1#1053 -server=/fenqihome.com/127.0.0.1#1053 -server=/fenvm.com/127.0.0.1#1053 -server=/fexclick.baidu.com/127.0.0.1#1053 -server=/f.f70123.com/127.0.0.1#1053 -server=/ffb.feihuo.com/127.0.0.1#1053 -server=/fff.yuyouge.com/127.0.0.1#1053 -server=/ffhtek.com/127.0.0.1#1053 -server=/f.fj95560.com/127.0.0.1#1053 -server=/fflsn.com/127.0.0.1#1053 -server=/ff.nsg.org.ua/127.0.0.1#1053 -server=/ffre.ffrepair.com/127.0.0.1#1053 -server=/ffychb.com/127.0.0.1#1053 -server=/fge9vbrzwt.bid/127.0.0.1#1053 -server=/fghmc.ga25.com/127.0.0.1#1053 -server=/fghm.ga25.com/127.0.0.1#1053 -server=/fghmimg.ga25.com/127.0.0.1#1053 -server=/fgmtv.org/127.0.0.1#1053 -server=/f.haoxinjaju.com/127.0.0.1#1053 -server=/f.hongm.com/127.0.0.1#1053 -server=/fiftythree.com/127.0.0.1#1053 -server=/file.bmob.cn/127.0.0.1#1053 -server=/filecoin.io/127.0.0.1#1053 -server=/files2.sogou.com/127.0.0.1#1053 -server=/fimserve.ign.com/127.0.0.1#1053 -server=/findicons.com/127.0.0.1#1053 -server=/finding.hardwareheaven.com/127.0.0.1#1053 -server=/findnsave.idahostatesman.com/127.0.0.1#1053 -server=/finead.cn/127.0.0.1#1053 -server=/fips.uimserv.net/127.0.0.1#1053 -server=/firebaseio.com/127.0.0.1#1053 -server=/firefang.cn/127.0.0.1#1053 -server=/firefox.com/127.0.0.1#1053 -server=/fir.im/127.0.0.1#1053 -server=/fjkst.com/127.0.0.1#1053 -server=/fjlqqc.com/127.0.0.1#1053 -server=/fjmeyer.com/127.0.0.1#1053 -server=/fkku194.com/127.0.0.1#1053 -server=/flash.2144.com/127.0.0.1#1053 -server=/flashbots.net/127.0.0.1#1053 -server=/flashtalking.com/127.0.0.1#1053 -server=/flexibits.com/127.0.0.1#1053 -server=/flickr.com/127.0.0.1#1053 -server=/flipboard.com/127.0.0.1#1053 -server=/flipkart.com/127.0.0.1#1053 -server=/flipwithsurface.com/127.0.0.1#1053 -server=/flitto.com/127.0.0.1#1053 -server=/float.kankan.com/127.0.0.1#1053 -server=/flowcodeapp.com/127.0.0.1#1053 -server=/fls-na.amazon.com/127.0.0.1#1053 -server=/flstudiochina.com/127.0.0.1#1053 -server=/fluidpreview.com/127.0.0.1#1053 -server=/flurry.cachefly.net/127.0.0.1#1053 -server=/flurry.com/127.0.0.1#1053 -server=/flux.faloo.com/127.0.0.1#1053 -server=/flv.dotmore.com.tw/127.0.0.1#1053 -server=/flv.ytshuirun.com/127.0.0.1#1053 -server=/flwja.com/127.0.0.1#1053 -server=/flxvpn.net/127.0.0.1#1053 -server=/fmgoal.com/127.0.0.1#1053 -server=/fm.p0y.cn/127.0.0.1#1053 -server=/fnkjj.com/127.0.0.1#1053 -server=/focuscat.com/127.0.0.1#1053 -server=/focusprolight.com/127.0.0.1#1053 -server=/footprintdns.com/127.0.0.1#1053 -server=/formula1.com/127.0.0.1#1053 -server=/formysql.com/127.0.0.1#1053 -server=/forzamotorsport.net/127.0.0.1#1053 -server=/forzaracingchampionship.com/127.0.0.1#1053 -server=/forzarc.com/127.0.0.1#1053 -server=/fota4.adups.cn/127.0.0.1#1053 -server=/fotao9.com/127.0.0.1#1053 -server=/founseezb.cn/127.0.0.1#1053 -server=/fox.com/127.0.0.1#1053 -server=/foxdcg.com/127.0.0.1#1053 -server=/foxplus.com/127.0.0.1#1053 -server=/fozhu.rrsdl.com/127.0.0.1#1053 -server=/fpb.51edu.com/127.0.0.1#1053 -server=/fpbbdx1.51240.com/127.0.0.1#1053 -server=/fpbjiansuo.mn586.com/127.0.0.1#1053 -server=/fpb.kuhou.com/127.0.0.1#1053 -server=/fpb.mn586.com/127.0.0.1#1053 -server=/fpdownload.macromedia.com/127.0.0.1#1053 -server=/fp.fraudmetrix.cn/127.0.0.1#1053 -server=/fptest.fraudmetrix.cn/127.0.0.1#1053 -server=/f.qcwzx.net.cn/127.0.0.1#1053 -server=/fqtra.com/127.0.0.1#1053 -server=/frame.enet.com.cn/127.0.0.1#1053 -server=/fraudmetrix.cn/127.0.0.1#1053 -server=/frdhq.cn/127.0.0.1#1053 -server=/frdic.com/127.0.0.1#1053 -server=/free.aol.com/127.0.0.1#1053 -server=/freecodecs.us.intellitxt.com/127.0.0.1#1053 -server=/freedrive.cn/127.0.0.1#1053 -server=/freeopenProxy.com/127.0.0.1#1053 -server=/freexxxvideoclip.aebn.net/127.0.0.1#1053 -server=/fresh-ideas.cc/127.0.0.1#1053 -server=/fsjsp.com/127.0.0.1#1053 -server=/fsr.lenovomm.com/127.0.0.1#1053 -server=/fst360.com/127.0.0.1#1053 -server=/fs.uc.nearme.com.cn/127.0.0.1#1053 -server=/fs-uc-nearme-com-cn.oss-cn-hangzhou.aliyuncs.com/127.0.0.1#1053 -server=/fsyzcs.com/127.0.0.1#1053 -server=/fthcz.com/127.0.0.1#1053 -server=/ft.moad.cn/127.0.0.1#1053 -server=/ft.pnop.com/127.0.0.1#1053 -server=/ftx.com/127.0.0.1#1053 -server=/fu68.com/127.0.0.1#1053 -server=/fubo.tv/127.0.0.1#1053 -server=/fucnm.com/127.0.0.1#1053 -server=/fujianryt.com/127.0.0.1#1053 -server=/fullstory.com/127.0.0.1#1053 -server=/funshion.net.cn/127.0.0.1#1053 -server=/fun.ynet.com/127.0.0.1#1053 -server=/fusion.qq.com/127.0.0.1#1053 -server=/fus.lenovomm.com/127.0.0.1#1053 -server=/fv99.com/127.0.0.1#1053 -server=/fw.adsafeprotected.com/127.0.0.1#1053 -server=/fwmrm.net/127.0.0.1#1053 -server=/fwt0.com/127.0.0.1#1053 -server=/fw.vpon.com/127.0.0.1#1053 -server=/fxc.aiquxs.com/127.0.0.1#1053 -server=/fxmacd.com/127.0.0.1#1053 -server=/fxtducb.cn/127.0.0.1#1053 -server=/fxxgw.com/127.0.0.1#1053 -server=/fych.uranus.sogou.com/127.0.0.1#1053 -server=/fydgold132.com/127.0.0.1#1053 -server=/f.yijikm.com/127.0.0.1#1053 -server=/fytza.cn/127.0.0.1#1053 -server=/f.yueyetiyu.com/127.0.0.1#1053 -server=/fz863.com/127.0.0.1#1053 -server=/fz.letv.com/127.0.0.1#1053 -server=/fzlm.net/127.0.0.1#1053 -server=/fzz.cloud.1234507.com/127.0.0.1#1053 -server=/fzz.shgqjr.com/127.0.0.1#1053 -server=/g1.0573ren.com/127.0.0.1#1053 -server=/g1.08160.cn/127.0.0.1#1053 -server=/g1.163.com/127.0.0.1#1053 -server=/g.163.com/127.0.0.1#1053 -server=/g1c5.com/127.0.0.1#1053 -server=/g1f5.com/127.0.0.1#1053 -server=/g1.taijuba.com/127.0.0.1#1053 -server=/g2.ousns.net/127.0.0.1#1053 -server=/g3.iqilu.com/127.0.0.1#1053 -server=/g3.letv.com/127.0.0.1#1053 -server=/g4.iqilu.com/127.0.0.1#1053 -server=/g.51network.com/127.0.0.1#1053 -server=/g.6sfg.com/127.0.0.1#1053 -server=/g9s.sgzs999.com/127.0.0.1#1053 -server=/gabia.net/127.0.0.1#1053 -server=/g.ad8.cc/127.0.0.1#1053 -server=/gad.kugou.com/127.0.0.1#1053 -server=/gadwhy.com/127.0.0.1#1053 -server=/gafxa.code.mytanwan.com/127.0.0.1#1053 -server=/g.akamaiedge.net/127.0.0.1#1053 -server=/galaxy.sogoucdn.com/127.0.0.1#1053 -server=/g.aligames.com/127.0.0.1#1053 -server=/game.9xzj.com/127.0.0.1#1053 -server=/gameads.digyourowngrave.com/127.0.0.1#1053 -server=/gamead.swjoy.com/127.0.0.1#1053 -server=/game.baichuanhd.cn/127.0.0.1#1053 -server=/gamebox.kugou.com/127.0.0.1#1053 -server=/gamecenter.iqiyi.com/127.0.0.1#1053 -server=/game.html5.qq.com/127.0.0.1#1053 -server=/game.kugou.com/127.0.0.1#1053 -server=/game.kuwo.cn/127.0.0.1#1053 -server=/gameloft.com/127.0.0.1#1053 -server=/gamepass.com/127.0.0.1#1053 -server=/game.pps.tv/127.0.0.1#1053 -server=/game.qidian.com/127.0.0.1#1053 -server=/gamer.com.tw/127.0.0.1#1053 -server=/game-res.meizu.com/127.0.0.1#1053 -server=/game.res.meizu.com/127.0.0.1#1053 -server=/game.rising.cn/127.0.0.1#1053 -server=/gamesstack.com/127.0.0.1#1053 -server=/game.subway.uu.cc/127.0.0.1#1053 -server=/gameuxmasterguide.com/127.0.0.1#1053 -server=/game.weibo.cn/127.0.0.1#1053 -server=/game.weibo.com/127.0.0.1#1053 -server=/gamex.mobile.youku.com/127.0.0.1#1053 -server=/ganjituiguang.ganji.com/127.0.0.1#1053 -server=/gao.ynet.com/127.0.0.1#1053 -server=/garena.com/127.0.0.1#1053 -server=/garmin.com/127.0.0.1#1053 -server=/gas.data.pplive.com/127.0.0.1#1053 -server=/gate.ac/127.0.0.1#1053 -server=/gate.hockeyapp.net/127.0.0.1#1053 -server=/gate.io/127.0.0.1#1053 -server=/gateway.fortunelounge.com/127.0.0.1#1053 -server=/gateways.s3.amazonaws.com/127.0.0.1#1053 -server=/g.baidu.com/127.0.0.1#1053 -server=/gb.corp.163.com/127.0.0.1#1053 -server=/g.bitauto.com/127.0.0.1#1053 -server=/g.brothersoft.com/127.0.0.1#1053 -server=/gcapi.sy.kugou.com/127.0.0.1#1053 -server=/gcdn.2mdn.net/127.0.0.1#1053 -server=/g.chuiyao.com/127.0.0.1#1053 -server=/gc.keefung-zs.com/127.0.0.1#1053 -server=/gclick.cn/127.0.0.1#1053 -server=/g.co/127.0.0.1#1053 -server=/gcr.io/127.0.0.1#1053 -server=/gcs1.cn/127.0.0.1#1053 -server=/g.daman.cc/127.0.0.1#1053 -server=/gdbly.com/127.0.0.1#1053 -server=/gd.cnhange.cn/127.0.0.1#1053 -server=/gdgy56.com/127.0.0.1#1053 -server=/gd.jqgc.com/127.0.0.1#1053 -server=/gdskywings.com/127.0.0.1#1053 -server=/gdsqwy.org/127.0.0.1#1053 -server=/gd.vodtw.com/127.0.0.1#1053 -server=/gdyn.cnn.com/127.0.0.1#1053 -server=/g.d.yoyi.tv/127.0.0.1#1053 -server=/ge95.com/127.0.0.1#1053 -server=/gears5.com/127.0.0.1#1053 -server=/gearspop.com/127.0.0.1#1053 -server=/gearstactics.com/127.0.0.1#1053 -server=/geetest.com/127.0.0.1#1053 -server=/geili.co/127.0.0.1#1053 -server=/geiyujieda.com/127.0.0.1#1053 -server=/gemini.com/127.0.0.1#1053 -server=/gemini.yahoo.com/127.0.0.1#1053 -server=/gen.alicdn.com/127.0.0.1#1053 -server=/geni.us/127.0.0.1#1053 -server=/gentags.com/127.0.0.1#1053 -server=/gentags.net/127.0.0.1#1053 -server=/geo2.adobe.com/127.0.0.1#1053 -server=/geobanner.alt.com/127.0.0.1#1053 -server=/geobanner.friendfinder.com/127.0.0.1#1053 -server=/geobanner.passion.com/127.0.0.1#1053 -server=/geobanner.socialflirt.com/127.0.0.1#1053 -server=/geo.cliphunter.com/127.0.0.1#1053 -server=/geo.connexionsecure.com/127.0.0.1#1053 -server=/geo.frtya.com/127.0.0.1#1053 -server=/geo.frtyd.com/127.0.0.1#1053 -server=/geo.gridsumdissector.com/127.0.0.1#1053 -server=/geo.moatads.com/127.0.0.1#1053 -server=/geoshopping.nzherald.co.nz/127.0.0.1#1053 -server=/geo.yahoo.com/127.0.0.1#1053 -server=/geryi.com/127.0.0.1#1053 -server=/get3.adobe.com/127.0.0.1#1053 -server=/getblueshift.com/127.0.0.1#1053 -server=/getcloudapp.com/127.0.0.1#1053 -server=/getfoxyProxy.org/127.0.0.1#1053 -server=/get.how/127.0.0.1#1053 -server=/getlantern.org/127.0.0.1#1053 -server=/getmdl.io/127.0.0.1#1053 -server=/getmicrosoftkey.com/127.0.0.1#1053 -server=/getnormalizedurl.com/127.0.0.1#1053 -server=/getpricetag.com/127.0.0.1#1053 -server=/get.thefile.me/127.0.0.1#1053 -server=/gewuwen.com/127.0.0.1#1053 -server=/gf108.com/127.0.0.1#1053 -server=/g.f11w.com/127.0.0.1#1053 -server=/gf1352.com/127.0.0.1#1053 -server=/g.f5gh.com/127.0.0.1#1053 -server=/gfd80.com/127.0.0.1#1053 -server=/gfh.ahfzly.com/127.0.0.1#1053 -server=/gfw.press/127.0.0.1#1053 -server=/gfx.infomine.com/127.0.0.1#1053 -server=/gfx.ms/127.0.0.1#1053 -server=/gg0376.com/127.0.0.1#1053 -server=/gg.0598yu.com/127.0.0.1#1053 -server=/gg1.yszyz.com/127.0.0.1#1053 -server=/gg2.51cto.com/127.0.0.1#1053 -server=/gg2.dss9927.com/127.0.0.1#1053 -server=/gg3.51cto.com/127.0.0.1#1053 -server=/gg.5173.com/127.0.0.1#1053 -server=/gg.51cto.com/127.0.0.1#1053 -server=/gg570.com/127.0.0.1#1053 -server=/gg86.pinggu.org/127.0.0.1#1053 -server=/gg8888.cnfol.com/127.0.0.1#1053 -server=/gg.amblrgg.live/127.0.0.1#1053 -server=/gg.anqu.com/127.0.0.1#1053 -server=/ggb.douguo.com/127.0.0.1#1053 -server=/gg.blueidea.com/127.0.0.1#1053 -server=/gg.caixin.com/127.0.0.1#1053 -server=/ggcode.2345.com/127.0.0.1#1053 -server=/gg.cs090.com/127.0.0.1#1053 -server=/ggdoubi.com/127.0.0.1#1053 -server=/gg.dsxdn.com/127.0.0.1#1053 -server=/gg.gao7.com/127.0.0.1#1053 -server=/ggg.zj.com/127.0.0.1#1053 -server=/gg.haianw.com/127.0.0.1#1053 -server=/gg.huangye88.com/127.0.0.1#1053 -server=/gg.jkmeishi.com/127.0.0.1#1053 -server=/gg.jtertp.com/127.0.0.1#1053 -server=/gg.kugou.com/127.0.0.1#1053 -server=/ggle.lywf.me/127.0.0.1#1053 -server=/gg.meitu.com/127.0.0.1#1053 -server=/ggmm777.com/127.0.0.1#1053 -server=/ggmmqq.com/127.0.0.1#1053 -server=/ggpht.com/127.0.0.1#1053 -server=/gg.ptfish.com/127.0.0.1#1053 -server=/g.gridsum.com/127.0.0.1#1053 -server=/ggr.yxdown.com/127.0.0.1#1053 -server=/ggs.myzaker.com/127.0.0.1#1053 -server=/gg.sonhoo.com/127.0.0.1#1053 -server=/gg.stargame.com/127.0.0.1#1053 -server=/gg.uuu9.com/127.0.0.1#1053 -server=/gg.vidown.cn/127.0.0.1#1053 -server=/ggw.gusuwang.com/127.0.0.1#1053 -server=/ggw.watertu.com/127.0.0.1#1053 -server=/ggxt.net/127.0.0.1#1053 -server=/gg.xywy.com/127.0.0.1#1053 -server=/gg.yxdown.com/127.0.0.1#1053 -server=/gg.zhongyao1.com/127.0.0.1#1053 -server=/g.haluoha.com/127.0.0.1#1053 -server=/ghcr.io/127.0.0.1#1053 -server=/ghostnoteapp.com/127.0.0.1#1053 -server=/g.hsw.cn/127.0.0.1#1053 -server=/gif.lu.sogoucdn.com/127.0.0.1#1053 -server=/gigjam.com/127.0.0.1#1053 -server=/gimg.baidu.com/127.0.0.1#1053 -server=/gimg.bitauto.com/127.0.0.1#1053 -server=/girlcc.cc/127.0.0.1#1053 -server=/gitbook.com/127.0.0.1#1053 -server=/git.io/127.0.0.1#1053 -server=/gitlab.com/127.0.0.1#1053 -server=/gitlab.io/127.0.0.1#1053 -server=/gitv.tv/127.0.0.1#1053 -server=/gi.xi.gxabj.com/127.0.0.1#1053 -server=/gj500.com/127.0.0.1#1053 -server=/gjghy.com/127.0.0.1#1053 -server=/gjreg.code.weddingeeos.com/127.0.0.1#1053 -server=/g.koowo.com/127.0.0.1#1053 -server=/glassnode.com/127.0.0.1#1053 -server=/glasszz.com/127.0.0.1#1053 -server=/gload.adhood.com/127.0.0.1#1053 -server=/global.msads.net/127.0.0.1#1053 -server=/globalsign.com/127.0.0.1#1053 -server=/global.ymtracking.com/127.0.0.1#1053 -server=/gm682.com/127.0.0.1#1053 -server=/gma1.com/127.0.0.1#1053 -server=/gmail.com/127.0.0.1#1053 -server=/g.mnw.cn/127.0.0.1#1053 -server=/gmocloud.com/127.0.0.1#1053 -server=/gmodules.com/127.0.0.1#1053 -server=/gmota.g188.net/127.0.0.1#1053 -server=/gmtdmp.mookie1.com/127.0.0.1#1053 -server=/go.com/127.0.0.1#1053 -server=/godaddy.com/127.0.0.1#1053 -server=/godic.net/127.0.0.1#1053 -server=/go-disneyworldgo.com/127.0.0.1#1053 -server=/godloveme.cn/127.0.0.1#1053 -server=/gog9.qzdfc.com/127.0.0.1#1053 -server=/go.gogolm.xyz/127.0.0.1#1053 -server=/go.gotourls.bid/127.0.0.1#1053 -server=/go.gotourl.xyz/127.0.0.1#1053 -server=/go.hangzhou.com.cn/127.0.0.1#1053 -server=/go.jp/127.0.0.1#1053 -server=/golang.org/127.0.0.1#1053 -server=/golden1.sogou.com/127.0.0.1#1053 -server=/go-mpulse.net/127.0.0.1#1053 -server=/gongm.in/127.0.0.1#1053 -server=/goodread.com/127.0.0.1#1053 -server=/goodreaders.com/127.0.0.1#1053 -server=/goodreads.com/127.0.0.1#1053 -server=/good.ta80.com/127.0.0.1#1053 -server=/goofish.com/127.0.0.1#1053 -server=/goo.gl/127.0.0.1#1053 -server=/googleadsserving.cn/127.0.0.1#1053 -server=/googlecommerce.com/127.0.0.1#1053 -server=/googlesyndication.com/127.0.0.1#1053 -server=/googlevideo.com/127.0.0.1#1053 -server=/goolpter.com/127.0.0.1#1053 -server=/go.onclasrv.com/127.0.0.1#1053 -server=/gopig.io/127.0.0.1#1053 -server=/gorgon.youdao.com/127.0.0.1#1053 -server=/gosetsuden.jp/127.0.0.1#1053 -server=/go.sohu.com/127.0.0.1#1053 -server=/gosquared.com/127.0.0.1#1053 -server=/gotcosmos.com/127.0.0.1#1053 -server=/goto.sogou.com/127.0.0.1#1053 -server=/gotourl.xyz/127.0.0.1#1053 -server=/goto.www.iciba.com/127.0.0.1#1053 -server=/goufanli100.com/127.0.0.1#1053 -server=/g.ousns.net/127.0.0.1#1053 -server=/go.util.zlibs.com/127.0.0.1#1053 -server=/gouwubang.com/127.0.0.1#1053 -server=/gouzhibao.cn/127.0.0.1#1053 -server=/gov.cn/127.0.0.1#1053 -server=/govgift.com/127.0.0.1#1053 -server=/govids.net/127.0.0.1#1053 -server=/gp.jstv.com/127.0.0.1#1053 -server=/gpydym.cn/127.0.0.1#1053 -server=/gqswg.com/127.0.0.1#1053 -server=/grand.ele.me/127.0.0.1#1053 -server=/graphengine.io/127.0.0.1#1053 -server=/gravatar.com/127.0.0.1#1053 -server=/green.erne.co/127.0.0.1#1053 -server=/greenhouseglobal.cn/127.0.0.1#1053 -server=/greenxfs.down.123ch.cn/127.0.0.1#1053 -server=/gridsum.com/127.0.0.1#1053 -server=/gridsumdissector.cn/127.0.0.1#1053 -server=/gridsumdissector.com/127.0.0.1#1053 -server=/groupa.onlylady.com/127.0.0.1#1053 -server=/groupme.com/127.0.0.1#1053 -server=/growingio.com/127.0.0.1#1053 -server=/g.rs.yoyi.com.cn/127.0.0.1#1053 -server=/gs307.com/127.0.0.1#1053 -server=/g.s8dj.com/127.0.0.1#1053 -server=/gso0.com/127.0.0.1#1053 -server=/gstat.bitauto.com/127.0.0.1#1053 -server=/gstatic.cn/127.0.0.1#1053 -server=/gstatic.com/127.0.0.1#1053 -server=/g.szdn1ms.com/127.0.0.1#1053 -server=/gt4ec.net/127.0.0.1#1053 -server=/gtags.net/127.0.0.1#1053 -server=/gtimg.com/127.0.0.1#1053 -server=/gtmucs.cn/127.0.0.1#1053 -server=/gt.yy.com/127.0.0.1#1053 -server=/guang.lesports.com/127.0.0.1#1053 -server=/guang.sdsgwy.com/127.0.0.1#1053 -server=/guangzhuiyuan.com/127.0.0.1#1053 -server=/guangzizai.com/127.0.0.1#1053 -server=/guanjia.baidu.com/127.0.0.1#1053 -server=/guduopu.com/127.0.0.1#1053 -server=/guess.h.qhimg.com/127.0.0.1#1053 -server=/guestworld.tripod.lycos.com/127.0.0.1#1053 -server=/gug.ku6cdn.com/127.0.0.1#1053 -server=/gugulonger.cn/127.0.0.1#1053 -server=/guidashu.com/127.0.0.1#1053 -server=/guitarpro.cc/127.0.0.1#1053 -server=/gum.criteo.com/127.0.0.1#1053 -server=/gunsamerica.com/127.0.0.1#1053 -server=/guohead.com/127.0.0.1#1053 -server=/guomob.com/127.0.0.1#1053 -server=/guoshennet.com/127.0.0.1#1053 -server=/gu.qlogo.cn/127.0.0.1#1053 -server=/g.usingde.com/127.0.0.1#1053 -server=/g.uusee.com/127.0.0.1#1053 -server=/gvt0.com/127.0.0.1#1053 -server=/gvt1.com/127.0.0.1#1053 -server=/g.w5b454.com/127.0.0.1#1053 -server=/gw5.push.mcp.weibo.cn/127.0.0.1#1053 -server=/gw630.com/127.0.0.1#1053 -server=/gw6.push.mcp.weibo.cn/127.0.0.1#1053 -server=/g.wan.2345.com/127.0.0.1#1053 -server=/g.wan.douyu.com/127.0.0.1#1053 -server=/g.wrating.com/127.0.0.1#1053 -server=/gwtproject.org/127.0.0.1#1053 -server=/gx38.cn/127.0.0.1#1053 -server=/g.x.cn.xtgreat.com/127.0.0.1#1053 -server=/gxdhgb.com/127.0.0.1#1053 -server=/gxe.husky.sogou.com/127.0.0.1#1053 -server=/g.x.evolife.cn/127.0.0.1#1053 -server=/gyca9f.dahuangcheng.cn/127.0.0.1#1053 -server=/g.yccdn.com/127.0.0.1#1053 -server=/gydag.com/127.0.0.1#1053 -server=/gyrtg.com/127.0.0.1#1053 -server=/gz00005.top/127.0.0.1#1053 -server=/gz.hxdaka.com/127.0.0.1#1053 -server=/gzktpf.com/127.0.0.1#1053 -server=/gzlykj.cn/127.0.0.1#1053 -server=/gzmjnx.cn/127.0.0.1#1053 -server=/gzqudou.com/127.0.0.1#1053 -server=/g.zx-jsp.com/127.0.0.1#1053 -server=/h01.hotrank.com.tw/127.0.0.1#1053 -server=/h1.18sd.cn/127.0.0.1#1053 -server=/h2.18sd.cn/127.0.0.1#1053 -server=/h5-api.feiersmart.com/127.0.0.1#1053 -server=/h5.holalauncher.com/127.0.0.1#1053 -server=/h5.jiumaster.com/127.0.0.1#1053 -server=/h5.pk1179.com/127.0.0.1#1053 -server=/h5.super-dreamers.com/127.0.0.1#1053 -server=/h5.taihao.cc/127.0.0.1#1053 -server=/h8.bec.com/127.0.0.1#1053 -server=/h9377c.com/127.0.0.1#1053 -server=/hackmd.io/127.0.0.1#1053 -server=/haibian.com/127.0.0.1#1053 -server=/haitaoad.nosdn.127.net/127.0.0.1#1053 -server=/haiwai-ic.ksosoft.com/127.0.0.1#1053 -server=/haiwengji.net/127.0.0.1#1053 -server=/haiyunpush.com/127.0.0.1#1053 -server=/hanju18.net/127.0.0.1#1053 -server=/hao123.com/127.0.0.1#1053 -server=/hao123rt.com/127.0.0.1#1053 -server=/hao123.xywy.com/127.0.0.1#1053 -server=/hao549.com/127.0.0.1#1053 -server=/hao61.net/127.0.0.1#1053 -server=/hao.7654.com/127.0.0.1#1053 -server=/hao916.com/127.0.0.1#1053 -server=/hao934.com/127.0.0.1#1053 -server=/haoghost.com/127.0.0.1#1053 -server=/haohaowan8.com/127.0.0.1#1053 -server=/haolew.com/127.0.0.1#1053 -server=/hao.qquu8.com/127.0.0.1#1053 -server=/haoshengtoys.com/127.0.0.1#1053 -server=/haosou.com/127.0.0.1#1053 -server=/haostat.qihoo.com/127.0.0.1#1053 -server=/hao.tiandi.com/127.0.0.1#1053 -server=/hao.uc.cn/127.0.0.1#1053 -server=/hapic1.jhkxwl.com/127.0.0.1#1053 -server=/happyon.jp/127.0.0.1#1053 -server=/hascosafety.com/127.0.0.1#1053 -server=/hats.haibao.cn/127.0.0.1#1053 -server=/hayabusa.io/127.0.0.1#1053 -server=/hbabit.com/127.0.0.1#1053 -server=/hbalx.cn/127.0.0.1#1053 -server=/hbdt.luomi.com/127.0.0.1#1053 -server=/hbfile.net/127.0.0.1#1053 -server=/hblinwei.com/127.0.0.1#1053 -server=/hbngfy.com/127.0.0.1#1053 -server=/hboasia.com/127.0.0.1#1053 -server=/hbo.com/127.0.0.1#1053 -server=/hbogoasia.com/127.0.0.1#1053 -server=/hbogoasia.id/127.0.0.1#1053 -server=/hbogoasia.ph/127.0.0.1#1053 -server=/hbogo.com/127.0.0.1#1053 -server=/hbogo.co.th/127.0.0.1#1053 -server=/hbogo.eu/127.0.0.1#1053 -server=/hbomaxcdn.com/127.0.0.1#1053 -server=/hbomax.com/127.0.0.1#1053 -server=/hbonow.com/127.0.0.1#1053 -server=/hbyyzm.com/127.0.0.1#1053 -server=/h.canmg.cn/127.0.0.1#1053 -server=/hc.baidu.com/127.0.0.1#1053 -server=/hccms.com.cn/127.0.0.1#1053 -server=/hcreditx.com/127.0.0.1#1053 -server=/hdad.baike.com/127.0.0.1#1053 -server=/hda.maxli.cn/127.0.0.1#1053 -server=/hdb.maxli.cn/127.0.0.1#1053 -server=/hdchina.org/127.0.0.1#1053 -server=/hdcmct.org/127.0.0.1#1053 -server=/hdggcdn.bayimob.com/127.0.0.1#1053 -server=/hdhkwl.com/127.0.0.1#1053 -server=/hdj.baidu.com/127.0.0.1#1053 -server=/hd.jiedaibao.com/127.0.0.1#1053 -server=/hdslb.com/127.0.0.1#1053 -server=/hd.ylddq.com/127.0.0.1#1053 -server=/he2d.com/127.0.0.1#1053 -server=/health1.12584.cn/127.0.0.1#1053 -server=/heavenmedia.v3g4s.com/127.0.0.1#1053 -server=/hechaocheng.cn/127.0.0.1#1053 -server=/hecochain.com/127.0.0.1#1053 -server=/heco-scan.com/127.0.0.1#1053 -server=/hecoview.com/127.0.0.1#1053 -server=/heefwozhlxgz.com/127.0.0.1#1053 -server=/hefan365.com/127.0.0.1#1053 -server=/heib10.top/127.0.0.1#1053 -server=/heib12.top/127.0.0.1#1053 -server=/heimo.rrsdl.com/127.0.0.1#1053 -server=/hejban.youwatch.org/127.0.0.1#1053 -server=/hejingroup.cn/127.0.0.1#1053 -server=/help.baotangwang.cn/127.0.0.1#1053 -server=/helpshift.com/127.0.0.1#1053 -server=/help.yunaq.com/127.0.0.1#1053 -server=/here.com/127.0.0.1#1053 -server=/heremaps.cn/127.0.0.1#1053 -server=/here.net/127.0.0.1#1053 -server=/heroku.com/127.0.0.1#1053 -server=/hesxz.com/127.0.0.1#1053 -server=/heyzap.com/127.0.0.1#1053 -server=/hfjuki.com/127.0.0.1#1053 -server=/hfsteel.net/127.0.0.1#1053 -server=/hg417.bet/127.0.0.1#1053 -server=/hg89038.com/127.0.0.1#1053 -server=/hg89068.com/127.0.0.1#1053 -server=/hg89078.com/127.0.0.1#1053 -server=/hgame.com/127.0.0.1#1053 -server=/hh6666.com/127.0.0.1#1053 -server=/hhlian.com/127.0.0.1#1053 -server=/hhly88.com/127.0.0.1#1053 -server=/h.holder.com.ua/127.0.0.1#1053 -server=/hhppyt.com/127.0.0.1#1053 -server=/hhqda.pop.t5yx.cn/127.0.0.1#1053 -server=/hi686.com/127.0.0.1#1053 -server=/hi760.com/127.0.0.1#1053 -server=/hi9377.com/127.0.0.1#1053 -server=/hiad.myweb.hinet.net/127.0.0.1#1053 -server=/hiad.vmall.com/127.0.0.1#1053 -server=/higame123.com/127.0.0.1#1053 -server=/hilltopads.net/127.0.0.1#1053 -server=/himandy.com/127.0.0.1#1053 -server=/hipersushiads.com/127.0.0.1#1053 -server=/h.irs01.com/127.0.0.1#1053 -server=/histats.com/127.0.0.1#1053 -server=/hitlog2.chosun.com/127.0.0.1#1053 -server=/hitslink.com/127.0.0.1#1053 -server=/hitun.io/127.0.0.1#1053 -server=/hit.webcentre.lycos.co.uk/127.0.0.1#1053 -server=/hivecn.cn/127.0.0.1#1053 -server=/hivedata.cc/127.0.0.1#1053 -server=/hjc1990.com/127.0.0.1#1053 -server=/hjfile.cn/127.0.0.1#1053 -server=/hk9600.com/127.0.0.1#1053 -server=/hk-cdn.effectivemeasure.net/127.0.0.1#1053 -server=/hkfuy.com/127.0.0.1#1053 -server=/hk.jtsh123.com/127.0.0.1#1053 -server=/hk.napi.ucweb.com/127.0.0.1#1053 -server=/hkserversolution.com/127.0.0.1#1053 -server=/hl2rcv.adobe.com/127.0.0.1#1053 -server=/h.laojiayoufang.com/127.0.0.1#1053 -server=/hldwmly.com/127.0.0.1#1053 -server=/hl.kuzu.com/127.0.0.1#1053 -server=/hl.quw18.com/127.0.0.1#1053 -server=/hlrcv.stage.adobe.com/127.0.0.1#1053 -server=/hmp33.com/127.0.0.1#1053 -server=/h.msn.com/127.0.0.1#1053 -server=/hmttoly.com/127.0.0.1#1053 -server=/hmyangshengji.com/127.0.0.1#1053 -server=/hnasd.com/127.0.0.1#1053 -server=/hnctsm.com/127.0.0.1#1053 -server=/hndiyikj.com/127.0.0.1#1053 -server=/hnxxjn.com/127.0.0.1#1053 -server=/hnyny.com/127.0.0.1#1053 -server=/hockeyapp.net/127.0.0.1#1053 -server=/hoisin.coocaatv.com/127.0.0.1#1053 -server=/hollisterco.com/127.0.0.1#1053 -server=/hololens.com/127.0.0.1#1053 -server=/home520.com/127.0.0.1#1053 -server=/homedepot.com/127.0.0.1#1053 -server=/hongxiu.com/127.0.0.1#1053 -server=/hootsuite.com/127.0.0.1#1053 -server=/hoplink.ksosoft.com/127.0.0.1#1053 -server=/hosting.miarroba.info/127.0.0.1#1053 -server=/hot.browser.miui.com/127.0.0.1#1053 -server=/hotmail/127.0.0.1#1053 -server=/hotmail.co/127.0.0.1#1053 -server=/hotmail.com/127.0.0.1#1053 -server=/hotmail.eu/127.0.0.1#1053 -server=/hotmail.net/127.0.0.1#1053 -server=/hotmail.org/127.0.0.1#1053 -server=/hot-mob.com/127.0.0.1#1053 -server=/hot.m.shouji.360tpcdn.com/127.0.0.1#1053 -server=/hotrank.com.tw/127.0.0.1#1053 -server=/houdaolj.com/127.0.0.1#1053 -server=/houtai.2345.com/127.0.0.1#1053 -server=/houyi.baofeng.net/127.0.0.1#1053 -server=/howtoforge.com/127.0.0.1#1053 -server=/hpd.baidu.com/127.0.0.1#1053 -server=/hpqxznpb.bid/127.0.0.1#1053 -server=/hp.smiler-ad.com/127.0.0.1#1053 -server=/hqgjcm.com/127.0.0.1#1053 -server=/hr41.cn/127.0.0.1#1053 -server=/hr44.com/127.0.0.1#1053 -server=/hslyqs.com/127.0.0.1#1053 -server=/h.sora.yoyi.com.cn/127.0.0.1#1053 -server=/hs.qhupdate.com/127.0.0.1#1053 -server=/htfmbt.com/127.0.0.1#1053 -server=/htjsk.com/127.0.0.1#1053 -server=/html.350.com/127.0.0.1#1053 -server=/html5rocks.com/127.0.0.1#1053 -server=/html.sunday8.com/127.0.0.1#1053 -server=/html.yuntzs.com/127.0.0.1#1053 -server=/httpdns.push.oppomobile.com/127.0.0.1#1053 -server=/ht.www.sogou.com/127.0.0.1#1053 -server=/huahuaka.com/127.0.0.1#1053 -server=/huashengtai.net/127.0.0.1#1053 -server=/huashuowork.com/127.0.0.1#1053 -server=/huaxinxunye.cn/127.0.0.1#1053 -server=/huayi65.com/127.0.0.1#1053 -server=/hub5pn.wap.sandai.net/127.0.0.1#1053 -server=/hubojd.com/127.0.0.1#1053 -server=/hudong.pl.youku.com/127.0.0.1#1053 -server=/huichuan.sm.cn/127.0.0.1#1053 -server=/huimee.net/127.0.0.1#1053 -server=/huishenghuiying.com/127.0.0.1#1053 -server=/huishenghuiying.com.cn/127.0.0.1#1053 -server=/hujiang.com/127.0.0.1#1053 -server=/huluad.com/127.0.0.1#1053 -server=/hulu.com/127.0.0.1#1053 -server=/hulu.hb.omtrdc.net/127.0.0.1#1053 -server=/huluim.com/127.0.0.1#1053 -server=/hulu.jp/127.0.0.1#1053 -server=/hulumail.com/127.0.0.1#1053 -server=/huluqa.com/127.0.0.1#1053 -server=/hulu.sc.omtrdc.net/127.0.0.1#1053 -server=/hulustream.com/127.0.0.1#1053 -server=/humanding.com/127.0.0.1#1053 -server=/hummingbird.ms/127.0.0.1#1053 -server=/hunpingou.com/127.0.0.1#1053 -server=/huobiasia.vip/127.0.0.1#1053 -server=/huobi.br.com/127.0.0.1#1053 -server=/huobi.com/127.0.0.1#1053 -server=/huobi.co.ma/127.0.0.1#1053 -server=/huobigroup.com/127.0.0.1#1053 -server=/huobi.me/127.0.0.1#1053 -server=/huobi.pro/127.0.0.1#1053 -server=/huobi.sc/127.0.0.1#1053 -server=/huobitoken.com/127.0.0.1#1053 -server=/huobi.ug/127.0.0.1#1053 -server=/huobi.ws/127.0.0.1#1053 -server=/huodonghezi.com/127.0.0.1#1053 -server=/huodong.pl.youku.com/127.0.0.1#1053 -server=/huodong.vip.youku.com/127.0.0.1#1053 -server=/huoying666.com/127.0.0.1#1053 -server=/hv.code.tanwanyx.com/127.0.0.1#1053 -server=/hw6.com/127.0.0.1#1053 -server=/hwt.player888.cn/127.0.0.1#1053 -server=/hxadt.com/127.0.0.1#1053 -server=/hxcdn.net/127.0.0.1#1053 -server=/hxjs.tool.hexun.com/127.0.0.1#1053 -server=/hxsame.hexun.com/127.0.0.1#1053 -server=/hxspc.com/127.0.0.1#1053 -server=/hxstfxx.cn/127.0.0.1#1053 -server=/hxueu.code.weddingeeos.com/127.0.0.1#1053 -server=/hxyifu.com/127.0.0.1#1053 -server=/hxyx360.com/127.0.0.1#1053 -server=/hyfh.benbaisteel.com/127.0.0.1#1053 -server=/hyfyuan.com/127.0.0.1#1053 -server=/hyperpromote.com/127.0.0.1#1053 -server=/hypersnap.net/127.0.0.1#1053 -server=/hys4.com/127.0.0.1#1053 -server=/hystq.com/127.0.0.1#1053 -server=/hytgj.com/127.0.0.1#1053 -server=/hyz86.com/127.0.0.1#1053 -server=/hzaibi.com/127.0.0.1#1053 -server=/hzdmacore.kejet.net/127.0.0.1#1053 -server=/hzhyhm.com/127.0.0.1#1053 -server=/hz.miercn.com/127.0.0.1#1053 -server=/hz.netease.com/127.0.0.1#1053 -server=/hz.shouyoutv.com/127.0.0.1#1053 -server=/hzsod71wov.me/127.0.0.1#1053 -server=/hzxfmc.com/127.0.0.1#1053 -server=/hz.youku.com/127.0.0.1#1053 -server=/hzyuw.com/127.0.0.1#1053 -server=/i1236.net/127.0.0.1#1053 -server=/i2.akjunshi.com/127.0.0.1#1053 -server=/i3818.com/127.0.0.1#1053 -server=/i5.akjunshi.com/127.0.0.1#1053 -server=/i92xue.com/127.0.0.1#1053 -server=/ia.ctags.cn/127.0.0.1#1053 -server=/iadc.qwapi.com/127.0.0.1#1053 -server=/iadctest.qwapi.com/127.0.0.1#1053 -server=/iad.g.163.com/127.0.0.1#1053 -server=/iadmatvideo.nosdn.127.net/127.0.0.1#1053 -server=/iadmusicmat.music.126.net/127.0.0.1#1053 -server=/iadsdk.apple.com/127.0.0.1#1053 -server=/iads.xinmin.cn/127.0.0.1#1053 -server=/iam.soy/127.0.0.1#1053 -server=/ib.adnxs.co/127.0.0.1#1053 -server=/ibafnw.cn/127.0.0.1#1053 -server=/ibanners.empoweredcomms.com.au/127.0.0.1#1053 -server=/i.bigmir.net/127.0.0.1#1053 -server=/i-cable.com/127.0.0.1#1053 -server=/icast.cn/127.0.0.1#1053 -server=/icbc.com.cn/127.0.0.1#1053 -server=/icdxc.com/127.0.0.1#1053 -server=/icedropper.com/127.0.0.1#1053 -server=/icevirtuallibrary.com/127.0.0.1#1053 -server=/ichaosheng.com/127.0.0.1#1053 -server=/iciba.com/127.0.0.1#1053 -server=/i.clkservice.youdao.com/127.0.0.1#1053 -server=/icloud.com/127.0.0.1#1053 -server=/icloud-content.com/127.0.0.1#1053 -server=/icn.southmoney.com/127.0.0.1#1053 -server=/ico.58pic.com/127.0.0.1#1053 -server=/icoco.com/127.0.0.1#1053 -server=/icodrops.com/127.0.0.1#1053 -server=/icon.cnmo.com/127.0.0.1#1053 -server=/icons8.com/127.0.0.1#1053 -server=/icons.mydrivers.com/127.0.0.1#1053 -server=/iconworkshop.cn/127.0.0.1#1053 -server=/ic.wps.cn/127.0.0.1#1053 -server=/id528.com/127.0.0.1#1053 -server=/ida.cnool.net/127.0.0.1#1053 -server=/idasai.com/127.0.0.1#1053 -server=/idcot.com/127.0.0.1#1053 -server=/idcqi.com/127.0.0.1#1053 -server=/identified.cn/127.0.0.1#1053 -server=/idianfang.com/127.0.0.1#1053 -server=/id.jiathis.com/127.0.0.1#1053 -server=/idm-su.baidu.com/127.0.0.1#1053 -server=/i.dreamfull.cn/127.0.0.1#1053 -server=/ids1.deliver.ifeng.com/127.0.0.1#1053 -server=/ids.deliver.ifeng.com/127.0.0.1#1053 -server=/idx.m.hub.sandai.net/127.0.0.1#1053 -server=/ie10.com/127.0.0.1#1053 -server=/ie11.com/127.0.0.1#1053 -server=/ie8.co/127.0.0.1#1053 -server=/ie8eamus.com/127.0.0.1#1053 -server=/ie9.com/127.0.0.1#1053 -server=/iebar.baidu.com/127.0.0.1#1053 -server=/ieee.org/127.0.0.1#1053 -server=/ieonline.microsoft.com/127.0.0.1#1053 -server=/if1512.com/127.0.0.1#1053 -server=/ifacelog.iqiyi.com/127.0.0.1#1053 -server=/ifengad.3g.ifeng.com/127.0.0.1#1053 -server=/ifeng.com/127.0.0.1#1053 -server=/ifengimg.com/127.0.0.1#1053 -server=/i.flow.browser.oppomobile.com/127.0.0.1#1053 -server=/iflyad.bj.openstorage.cn/127.0.0.1#1053 -server=/iframe.travel.yahoo.com/127.0.0.1#1053 -server=/ift.tt/127.0.0.1#1053 -server=/ifttt.com/127.0.0.1#1053 -server=/igj5y.yongchanghengyuan.com/127.0.0.1#1053 -server=/ig.nukefans.net/127.0.0.1#1053 -server=/i.go.sohu.com/127.0.0.1#1053 -server=/ih.adscale.de/127.0.0.1#1053 -server=/i.haloapps.com/127.0.0.1#1053 -server=/i.hao61.net/127.0.0.1#1053 -server=/i.holalauncher.com/127.0.0.1#1053 -server=/ihualun.com/127.0.0.1#1053 -server=/ihuanmei.com/127.0.0.1#1053 -server=/i.huilixieye.net/127.0.0.1#1053 -server=/iia1.pikacn.com/127.0.0.1#1053 -server=/iiad.com/127.0.0.1#1053 -server=/iiewl.com/127.0.0.1#1053 -server=/iii.6park.com/127.0.0.1#1053 -server=/iis1.deliver.ifeng.com/127.0.0.1#1053 -server=/iis3g.deliver.ifeng.com/127.0.0.1#1053 -server=/iisl7wpf.me/127.0.0.1#1053 -server=/i.jiathis.com/127.0.0.1#1053 -server=/i.jyhwt.cn/127.0.0.1#1053 -server=/ikcode.baidu.com/127.0.0.1#1053 -server=/il8r.com/127.0.0.1#1053 -server=/i.l.cnn.net/127.0.0.1#1053 -server=/i.liadm.com/127.0.0.1#1053 -server=/im1.56zzw.com/127.0.0.1#1053 -server=/im64.jpush.cn/127.0.0.1#1053 -server=/ima3vpaid.appspot.com/127.0.0.1#1053 -server=/imads.rediff.com/127.0.0.1#1053 -server=/image.139y.com/127.0.0.1#1053 -server=/image.9duw.com/127.0.0.1#1053 -server=/image.box.xiaomi.com/127.0.0.1#1053 -server=/image.fsyule.net/127.0.0.1#1053 -server=/image.gentags.com/127.0.0.1#1053 -server=/image.haiyunx.com/127.0.0.1#1053 -server=/image.hh010.com/127.0.0.1#1053 -server=/image.hj217.com/127.0.0.1#1053 -server=/imagelx.yidianzixun.com/127.0.0.1#1053 -server=/image.p4p.sogou.com/127.0.0.1#1053 -server=/image.qj175.com/127.0.0.1#1053 -server=/images9999.com/127.0.0.1#1053 -server=/images-amazon.com/127.0.0.1#1053 -server=/images.avsmt.cn/127.0.0.1#1053 -server=/images.chinaz.com/127.0.0.1#1053 -server=/images.enet.com.cn/127.0.0.1#1053 -server=/images.fastclick.net/127.0.0.1#1053 -server=/images.gxsky.com/127.0.0.1#1053 -server=/imageshack.us/127.0.0.1#1053 -server=/images.intellitxt.com/127.0.0.1#1053 -server=/images.millennialmedia.com/127.0.0.1#1053 -server=/images.pagechoice.net/127.0.0.1#1053 -server=/images.sohu.com/127.0.0.1#1053 -server=/images.startappservice.com/127.0.0.1#1053 -server=/images.tyyjzs.cn/127.0.0.1#1053 -server=/imageter.com/127.0.0.1#1053 -server=/image.zzd.sm.cn/127.0.0.1#1053 -server=/imaginecup.pl/127.0.0.1#1053 -server=/imagzine.oppomobile.com/127.0.0.1#1053 -server=/i.ma.social-touch.com/127.0.0.1#1053 -server=/imedia.bokecc.com/127.0.0.1#1053 -server=/imeijiajia.com/127.0.0.1#1053 -server=/imf.org/127.0.0.1#1053 -server=/imfsr.lenovomm.com/127.0.0.1#1053 -server=/img01.taotaosou.cn/127.0.0.1#1053 -server=/img0.egou.com/127.0.0.1#1053 -server=/img1.126.net/127.0.0.1#1053 -server=/img1.18183.com/127.0.0.1#1053 -server=/img.12584.cn/127.0.0.1#1053 -server=/img18.com/127.0.0.1#1053 -server=/img1.jintang114.org/127.0.0.1#1053 -server=/img1.km.com/127.0.0.1#1053 -server=/img1.mekbet.com/127.0.0.1#1053 -server=/img1.nend.net/127.0.0.1#1053 -server=/img1.pcfg.cache.wps.cn/127.0.0.1#1053 -server=/img1.pszyzxh.org/127.0.0.1#1053 -server=/img2.126.net/127.0.0.1#1053 -server=/img2.578965.com/127.0.0.1#1053 -server=/img2.cs153.com/127.0.0.1#1053 -server=/img2.hrccb.com/127.0.0.1#1053 -server=/img2.jiuzhilan.com/127.0.0.1#1053 -server=/img2.km.com/127.0.0.1#1053 -server=/img2.qekun.com/127.0.0.1#1053 -server=/img3.126.net/127.0.0.1#1053 -server=/img3.fy1g.com/127.0.0.1#1053 -server=/img3.km.com/127.0.0.1#1053 -server=/img.3sjt.com/127.0.0.1#1053 -server=/img4me.com/127.0.0.1#1053 -server=/img6.126.net/127.0.0.1#1053 -server=/img80.net/127.0.0.1#1053 -server=/img.88ads.com/127.0.0.1#1053 -server=/img.9duw.com/127.0.0.1#1053 -server=/imgad0.3conline.com/127.0.0.1#1053 -server=/imgad0.pconline.com.cn/127.0.0.1#1053 -server=/img.adbox.sina.com.cn/127.0.0.1#1053 -server=/img.adnyg.com/127.0.0.1#1053 -server=/img-ad.oupeng.com/127.0.0.1#1053 -server=/imgadpai.thepaper.cn/127.0.0.1#1053 -server=/imgad.thepaper.cn/127.0.0.1#1053 -server=/img.ad.zhangyue.com/127.0.0.1#1053 -server=/imgaliyun.da.mgtv.com/127.0.0.1#1053 -server=/imgaliyun.res.mgtv.com/127.0.0.1#1053 -server=/img.amp.ad.sina.com.cn/127.0.0.1#1053 -server=/imgapp.yeyou.com/127.0.0.1#1053 -server=/imgc.cymzc.com/127.0.0.1#1053 -server=/img-cdn-spot.ymcdn.cn/127.0.0.1#1053 -server=/imgcdn.wapx.cn/127.0.0.1#1053 -server=/img.cmm.xmfish.com/127.0.0.1#1053 -server=/img.cxxyft.com/127.0.0.1#1053 -server=/img.dawenxue.org/127.0.0.1#1053 -server=/img-dsp.oss-cn-beijing.aliyuncs.com/127.0.0.1#1053 -server=/img.dydab.com/127.0.0.1#1053 -server=/img.ercfh.com/127.0.0.1#1053 -server=/imges.wu65.com/127.0.0.1#1053 -server=/img.fd7c.com/127.0.0.1#1053 -server=/img.feitian001.com/127.0.0.1#1053 -server=/img.gaore.com/127.0.0.1#1053 -server=/imgg.marketgid.com/127.0.0.1#1053 -server=/imgg.mgid.com/127.0.0.1#1053 -server=/img.gz9d.com/127.0.0.1#1053 -server=/img.il8r.com/127.0.0.1#1053 -server=/img.img18.com/127.0.0.1#1053 -server=/img.jgchq.com/127.0.0.1#1053 -server=/img.jizzads.com/127.0.0.1#1053 -server=/img.kanuxian.cn/127.0.0.1#1053 -server=/img.khlxw.com/127.0.0.1#1053 -server=/img.kuwanpx.com/127.0.0.1#1053 -server=/img.libdd.com/127.0.0.1#1053 -server=/img.ly/127.0.0.1#1053 -server=/img.ma.social-touch.com/127.0.0.1#1053 -server=/img.meipic.net/127.0.0.1#1053 -server=/imgp.cymzc.com/127.0.0.1#1053 -server=/img-prod-cms-rt-microsoft-com/127.0.0.1#1053 -server=/img-prod-cms-rt-microsoft-com.akamaized.net/127.0.0.1#1053 -server=/img.qdscgj.com/127.0.0.1#1053 -server=/img.qqgeshou.com/127.0.0.1#1053 -server=/img.s8bbs.com/127.0.0.1#1053 -server=/img.scupio.com/127.0.0.1#1053 -server=/img.sheyuansu.com/127.0.0.1#1053 -server=/img-s-msn-com.akamaized.net/127.0.0.1#1053 -server=/imgsreview.dftoutiao.com/127.0.0.1#1053 -server=/img.supfast.net/127.0.0.1#1053 -server=/img.tan5858.com/127.0.0.1#1053 -server=/img.taotaosou.cn/127.0.0.1#1053 -server=/img.tcdxt.com/127.0.0.1#1053 -server=/img.toppr.com.cn/127.0.0.1#1053 -server=/img.twcczhu.com/127.0.0.1#1053 -server=/imgur.com/127.0.0.1#1053 -server=/img.uyangyong.cn/127.0.0.1#1053 -server=/img.wan.sogou.com/127.0.0.1#1053 -server=/img.wuben56.com/127.0.0.1#1053 -server=/img.xa9t.com/127.0.0.1#1053 -server=/img.xcy8.com/127.0.0.1#1053 -server=/img.xiacaidd.com/127.0.0.1#1053 -server=/img.xuenb.com/127.0.0.1#1053 -server=/img.yingshidiguo.cn/127.0.0.1#1053 -server=/img.yuyue007.cn/127.0.0.1#1053 -server=/img.zsj18.com/127.0.0.1#1053 -server=/img.zuowen8.com/127.0.0.1#1053 -server=/img.zx590.com/127.0.0.1#1053 -server=/imindmap.cc/127.0.0.1#1053 -server=/im.jpush.cn/127.0.0.1#1053 -server=/i.mmcdn.cn/127.0.0.1#1053 -server=/immob.cn/127.0.0.1#1053 -server=/imneinei.com/127.0.0.1#1053 -server=/i-mobile.co.jp/127.0.0.1#1053 -server=/imore.com/127.0.0.1#1053 -server=/im.ov.yahoo.co.jp/127.0.0.1#1053 -server=/imp.asahi.com/127.0.0.1#1053 -server=/imp.gentags.net/127.0.0.1#1053 -server=/imp.go.sohu.com/127.0.0.1#1053 -server=/imp.madserving.com/127.0.0.1#1053 -server=/imp.optaim.com/127.0.0.1#1053 -server=/imp.pdb.madserving.com/127.0.0.1#1053 -server=/impression.gridsumdissector.com/127.0.0.1#1053 -server=/impservice2.youdao.com/127.0.0.1#1053 -server=/impservice.dictapp.youdao.com/127.0.0.1#1053 -server=/impservice-test.dictapp.youdao.com/127.0.0.1#1053 -server=/impservicetest.dictapp.youdao.com/127.0.0.1#1053 -server=/impservice.youdao.com/127.0.0.1#1053 -server=/imp.xgo.com.cn/127.0.0.1#1053 -server=/imp.zdnet.com.cn/127.0.0.1#1053 -server=/imp.zol.com.cn/127.0.0.1#1053 -server=/imrworldwide.com/127.0.0.1#1053 -server=/imtoken.fans/127.0.0.1#1053 -server=/in1.feed.uu.cc/127.0.0.1#1053 -server=/in1.secure.uu.cc/127.0.0.1#1053 -server=/inad.com/127.0.0.1#1053 -server=/inapp.1sapp.com/127.0.0.1#1053 -server=/inccnd.com/127.0.0.1#1053 -server=/inclk.com/127.0.0.1#1053 -server=/include.xs2345.com/127.0.0.1#1053 -server=/indazn.com/127.0.0.1#1053 -server=/indaznlab.com/127.0.0.1#1053 -server=/index.woai310.com/127.0.0.1#1053 -server=/indieclick.3janecdn.com/127.0.0.1#1053 -server=/info4.video.qq.com/127.0.0.1#1053 -server=/info6.video.qq.com/127.0.0.1#1053 -server=/infocenter.meizu.com/127.0.0.1#1053 -server=/info.downsave.com/127.0.0.1#1053 -server=/info.gomlab.com/127.0.0.1#1053 -server=/info.meihua.docer.com/127.0.0.1#1053 -server=/info.pinyin.sogou.com/127.0.0.1#1053 -server=/info.sec.miui.com/127.0.0.1#1053 -server=/info.stockstar.com/127.0.0.1#1053 -server=/info.yitsoftware.com/127.0.0.1#1053 -server=/ingads.com/127.0.0.1#1053 -server=/ingameads.gameloft.com/127.0.0.1#1053 -server=/ingress.com/127.0.0.1#1053 -server=/in.gyeet.com/127.0.0.1#1053 -server=/ini.litingxin.cn/127.0.0.1#1053 -server=/init.phpwind.com/127.0.0.1#1053 -server=/init.phpwind.net/127.0.0.1#1053 -server=/init.startappexchange.com/127.0.0.1#1053 -server=/ini.update.360safe.com/127.0.0.1#1053 -server=/in.jxhcyc.com/127.0.0.1#1053 -server=/in.mengpr.com/127.0.0.1#1053 -server=/in.mgwcn.com/127.0.0.1#1053 -server=/innity.com/127.0.0.1#1053 -server=/innity.net/127.0.0.1#1053 -server=/inoprosport.su/127.0.0.1#1053 -server=/inoreader.com/127.0.0.1#1053 -server=/in.qzkxt.com/127.0.0.1#1053 -server=/insder.co/127.0.0.1#1053 -server=/insenz.com/127.0.0.1#1053 -server=/inside.bitcomet.com/127.0.0.1#1053 -server=/insiderdevtour.com/127.0.0.1#1053 -server=/inskin.vo.llnwd.net/127.0.0.1#1053 -server=/inst.360safe.com/127.0.0.1#1053 -server=/instabug.com/127.0.0.1#1053 -server=/install2.kugou.com/127.0.0.1#1053 -server=/install.kugou.com/127.0.0.1#1053 -server=/install.sidesearch.lycos.com/127.0.0.1#1053 -server=/instapaper.com/127.0.0.1#1053 -server=/instreet.cn/127.0.0.1#1053 -server=/instructables.com/127.0.0.1#1053 -server=/int.dpool.sina.com.cn/127.0.0.1#1053 -server=/intellitxt.com/127.0.0.1#1053 -server=/intely.cn/127.0.0.1#1053 -server=/inter1ads.com/127.0.0.1#1053 -server=/interaction.bayimob.com/127.0.0.1#1053 -server=/interactive.huanqiu.com/127.0.0.1#1053 -server=/interest.mix.sina.com.cn/127.0.0.1#1053 -server=/inter.iqiyi.com/127.0.0.1#1053 -server=/internetexplorer.co/127.0.0.1#1053 -server=/internetexplorer.com/127.0.0.1#1053 -server=/inte.sogoucdn.com/127.0.0.1#1053 -server=/inte.sogou.com/127.0.0.1#1053 -server=/inte.theta.sogoucdn.com/127.0.0.1#1053 -server=/intl.iqiyi.com/127.0.0.1#1053 -server=/intotheblock.com/127.0.0.1#1053 -server=/intunewiki.com/127.0.0.1#1053 -server=/in.zog.link/127.0.0.1#1053 -server=/ioc.mmakd.top/127.0.0.1#1053 -server=/io.io/127.0.0.1#1053 -server=/iop.org/127.0.0.1#1053 -server=/ios.bugly.qq.com/127.0.0.1#1053 -server=/ios-dc.51y5.net/127.0.0.1#1053 -server=/ios-informationplatform.wps.cn/127.0.0.1#1053 -server=/iosipa.b0.upaiyun.com/127.0.0.1#1053 -server=/ios.video.mpush.qq.com/127.0.0.1#1053 -server=/iotinactionevents.com/127.0.0.1#1053 -server=/ip2.pxene.com/127.0.0.1#1053 -server=/ipaddress.com/127.0.0.1#1053 -server=/ipengtai.huanqiu.com/127.0.0.1#1053 -server=/iperceptions.com/127.0.0.1#1053 -server=/ipfs.io/127.0.0.1#1053 -server=/ip.hivps.xyz/127.0.0.1#1053 -server=/iphonelog.shouji.baofeng.com/127.0.0.1#1053 -server=/ipic.staticsdo.com/127.0.0.1#1053 -server=/ipinyou.com/127.0.0.1#1053 -server=/ipm.atm.cp31.ott.cibntv.net/127.0.0.1#1053 -server=/ipm.atm.youku.com/127.0.0.1#1053 -server=/ipn.li/127.0.0.1#1053 -server=/ip.sb/127.0.0.1#1053 -server=/iq.com/127.0.0.1#1053 -server=/iqiyi.com/127.0.0.1#1053 -server=/iqiyi.irs01.com/127.0.0.1#1053 -server=/iqiyipic.com/127.0.0.1#1053 -server=/ir.mail.126.com/127.0.0.1#1053 -server=/ir.mail.163.com/127.0.0.1#1053 -server=/ir.mail.yeah.net/127.0.0.1#1053 -server=/iroby.com/127.0.0.1#1053 -server=/irpmt.mail.163.com/127.0.0.1#1053 -server=/irs01.com/127.0.0.1#1053 -server=/irs01.net/127.0.0.1#1053 -server=/irs09.com/127.0.0.1#1053 -server=/is.gd/127.0.0.1#1053 -server=/ishop789.com/127.0.0.1#1053 -server=/ishowbg.com/127.0.0.1#1053 -server=/ishowsapp.com/127.0.0.1#1053 -server=/i.ssix.io/127.0.0.1#1053 -server=/issuu.com/127.0.0.1#1053 -server=/istreamsche.com/127.0.0.1#1053 -server=/i.syasn.com/127.0.0.1#1053 -server=/i.tansuotv.com/127.0.0.1#1053 -server=/itaoxiaoshuo.com/127.0.0.1#1053 -server=/items.bingdiantao.com/127.0.0.1#1053 -server=/item.ttkvod.com/127.0.0.1#1053 -server=/itgonglun.com/127.0.0.1#1053 -server=/ithome.com/127.0.0.1#1053 -server=/its-dori.tumblr.com/127.0.0.1#1053 -server=/its.fugetech.com/127.0.0.1#1053 -server=/itun.es/127.0.0.1#1053 -server=/itunes.com/127.0.0.1#1053 -server=/itv.hexun.com/127.0.0.1#1053 -server=/iutr.uozwys.top/127.0.0.1#1053 -server=/iuuff.com/127.0.0.1#1053 -server=/ivy.pcauto.com.cn/127.0.0.1#1053 -server=/ivy.pcbaby.com.cn/127.0.0.1#1053 -server=/ivy.pclady.com.cn/127.0.0.1#1053 -server=/ivy.pconline.com.cn/127.0.0.1#1053 -server=/i.w55c.net/127.0.0.1#1053 -server=/iwanad.baidu.com/127.0.0.1#1053 -server=/iwan.sogou.com/127.0.0.1#1053 -server=/ixdzs.com/127.0.0.1#1053 -server=/ixpub.net/127.0.0.1#1053 -server=/ixquick.com/127.0.0.1#1053 -server=/iyes.youku.com/127.0.0.1#1053 -server=/i.zhuoyaju.com/127.0.0.1#1053 -server=/j17.shangc.net/127.0.0.1#1053 -server=/j17.xiumu.cn/127.0.0.1#1053 -server=/j1.piaobing.com/127.0.0.1#1053 -server=/j520s.gzcl999.cn/127.0.0.1#1053 -server=/j.6avz.com/127.0.0.1#1053 -server=/j7182.hfxcsl.cn/127.0.0.1#1053 -server=/ja1.gamersky.com/127.0.0.1#1053 -server=/ja9377.com/127.0.0.1#1053 -server=/jackaow.com/127.0.0.1#1053 -server=/jack.okkkk.com/127.0.0.1#1053 -server=/ja.gamersky.com/127.0.0.1#1053 -server=/jagcn.com/127.0.0.1#1053 -server=/jamanetwork.com/127.0.0.1#1053 -server=/japonx.com/127.0.0.1#1053 -server=/japonx.net/127.0.0.1#1053 -server=/japonx.tv/127.0.0.1#1053 -server=/japonx.vip/127.0.0.1#1053 -server=/japronx.com/127.0.0.1#1053 -server=/japronx.net/127.0.0.1#1053 -server=/japronx.tv/127.0.0.1#1053 -server=/japronx.vip/127.0.0.1#1053 -server=/jav23.com/127.0.0.1#1053 -server=/javbus.com/127.0.0.1#1053 -server=/javhd.com/127.0.0.1#1053 -server=/jaxx.io/127.0.0.1#1053 -server=/jb.4hw.com.cn/127.0.0.1#1053 -server=/j.baminw.cn/127.0.0.1#1053 -server=/jb.asqql.com/127.0.0.1#1053 -server=/jbcbuy.com/127.0.0.1#1053 -server=/jbc.org/127.0.0.1#1053 -server=/jb.dianshu119.com/127.0.0.1#1053 -server=/jb.eastlady.cn/127.0.0.1#1053 -server=/jb.ecar168.cn/127.0.0.1#1053 -server=/jbflil.cn/127.0.0.1#1053 -server=/j.biquge520.cc/127.0.0.1#1053 -server=/jb.mbaidu.top/127.0.0.1#1053 -server=/jb.mnkan.com/127.0.0.1#1053 -server=/j.br.baidu.com/127.0.0.1#1053 -server=/jb.tupianzj.com/127.0.0.1#1053 -server=/jbyy010.com/127.0.0.1#1053 -server=/jc1.dayfund.cn/127.0.0.1#1053 -server=/jc.anhuilitian.net/127.0.0.1#1053 -server=/j.ccnovel.com/127.0.0.1#1053 -server=/j.chaorenjiaoshi.com/127.0.0.1#1053 -server=/jct.maptu.cn/127.0.0.1#1053 -server=/jc.xuqinqi.cn/127.0.0.1#1053 -server=/jczzjx.com/127.0.0.1#1053 -server=/jdb.jiudingcapital.cn/127.0.0.1#1053 -server=/jdb.jiudingcapital.com/127.0.0.1#1053 -server=/jd.com/127.0.0.1#1053 -server=/jd.c-ptsp.com.cn/127.0.0.1#1053 -server=/jddaw.com/127.0.0.1#1053 -server=/jdg.bjygfd.com/127.0.0.1#1053 -server=/jd.hk/127.0.0.1#1053 -server=/j.dipowang.cn/127.0.0.1#1053 -server=/jdkic.com/127.0.0.1#1053 -server=/jdlcg.cn/127.0.0.1#1053 -server=/jdlhg.com/127.0.0.1#1053 -server=/jdw.zjuwjdc.com/127.0.0.1#1053 -server=/jebe.renren.com/127.0.0.1#1053 -server=/jebe.xnimg.cn/127.0.0.1#1053 -server=/jellyfish.pandora.xiaomi.com/127.0.0.1#1053 -server=/jermr.com/127.0.0.1#1053 -server=/jesgoo.com/127.0.0.1#1053 -server=/j.fd7c.com/127.0.0.1#1053 -server=/jfhe.0769371.com/127.0.0.1#1053 -server=/jfm4.pop.baofeng.net/127.0.0.1#1053 -server=/jfqkj.com/127.0.0.1#1053 -server=/jf.winads.cn/127.0.0.1#1053 -server=/jgchq.com/127.0.0.1#1053 -server=/jghcy.com/127.0.0.1#1053 -server=/jhakie.com/127.0.0.1#1053 -server=/j.hbwcl.com/127.0.0.1#1053 -server=/j.hongyangpai.com/127.0.0.1#1053 -server=/jhtcdj.com/127.0.0.1#1053 -server=/jhu.edu/127.0.0.1#1053 -server=/jhzl001.com/127.0.0.1#1053 -server=/jiaheyonggu.com/127.0.0.1#1053 -server=/jiajv.net/127.0.0.1#1053 -server=/jianbaimei.com/127.0.0.1#1053 -server=/jianduankm.com/127.0.0.1#1053 -server=/jianmei123.com/127.0.0.1#1053 -server=/jianshuapi.com/127.0.0.1#1053 -server=/jianshu.com/127.0.0.1#1053 -server=/jianshu.io/127.0.0.1#1053 -server=/jiansuo.dsxdn.com/127.0.0.1#1053 -server=/jiaoben.eastday.com/127.0.0.1#1053 -server=/jiaoben.ganji.cn/127.0.0.1#1053 -server=/jiaoben.jucanw.com/127.0.0.1#1053 -server=/jiaoben.junmeng.com/127.0.0.1#1053 -server=/jiaoben.xinshipu.cn/127.0.0.1#1053 -server=/jias.haotxt.com/127.0.0.1#1053 -server=/jiathis.com/127.0.0.1#1053 -server=/jiawen88.com/127.0.0.1#1053 -server=/jiayi1.oss-cn-shanghai.aliyuncs.com/127.0.0.1#1053 -server=/ji.dazhantai.com/127.0.0.1#1053 -server=/jiedaibao.com/127.0.0.1#1053 -server=/jiehantai.com/127.0.0.1#1053 -server=/jiehunmishu.com/127.0.0.1#1053 -server=/jifeidandar.com/127.0.0.1#1053 -server=/jifen.2345.com/127.0.0.1#1053 -server=/jihehuaban.com/127.0.0.1#1053 -server=/jihehuaban.com.cn/127.0.0.1#1053 -server=/jimdo.com/127.0.0.1#1053 -server=/jimeilm.com/127.0.0.1#1053 -server=/jindu179.com/127.0.0.1#1053 -server=/jing.58.com/127.0.0.1#1053 -server=/jingdian230.meilika.net/127.0.0.1#1053 -server=/jinghuazhijia.com/127.0.0.1#1053 -server=/jinsha11833.com/127.0.0.1#1053 -server=/jinshagt222.com/127.0.0.1#1053 -server=/jira.vpon.com/127.0.0.1#1053 -server=/jisucn.com/127.0.0.1#1053 -server=/jiubuhua.com/127.0.0.1#1053 -server=/jiuku.cc/127.0.0.1#1053 -server=/jiu.njdkgm.com/127.0.0.1#1053 -server=/jiyou2014.com/127.0.0.1#1053 -server=/jizzads.com/127.0.0.1#1053 -server=/jj123.com.cn/127.0.0.1#1053 -server=/jjhd47.115seo.com/127.0.0.1#1053 -server=/j.jimeilm.com/127.0.0.1#1053 -server=/jjxgly.com/127.0.0.1#1053 -server=/jjx.xjtxcj.com/127.0.0.1#1053 -server=/jjyy.gaopengqcdz.cn/127.0.0.1#1053 -server=/jk939.com/127.0.0.1#1053 -server=/j.kfd3sm2c.com/127.0.0.1#1053 -server=/jkjjkj.top/127.0.0.1#1053 -server=/jkmxy.com/127.0.0.1#1053 -server=/jl027.com/127.0.0.1#1053 -server=/jlssbz.com/127.0.0.1#1053 -server=/jmonitor.jiuzhilan.com/127.0.0.1#1053 -server=/j.mp/127.0.0.1#1053 -server=/jmsyzj.com/127.0.0.1#1053 -server=/jmxlaser.com/127.0.0.1#1053 -server=/jndczg.com/127.0.0.1#1053 -server=/jnrsjm.com/127.0.0.1#1053 -server=/jnsdkjzs.com/127.0.0.1#1053 -server=/jnsz.net.cn/127.0.0.1#1053 -server=/jnyngg.cn/127.0.0.1#1053 -server=/johtzj.com/127.0.0.1#1053 -server=/joinms.com/127.0.0.1#1053 -server=/joinms.com.cn/127.0.0.1#1053 -server=/joinmva.com/127.0.0.1#1053 -server=/jointreport-switch.com/127.0.0.1#1053 -server=/jomodns.com/127.0.0.1#1053 -server=/joox.com/127.0.0.1#1053 -server=/jossuer.net/127.0.0.1#1053 -server=/joyfuldoors.com/127.0.0.1#1053 -server=/jp88.cc/127.0.0.1#1053 -server=/jp.as.pptv.com/127.0.0.1#1053 -server=/jpg.cooguo.com/127.0.0.1#1053 -server=/jpg.inte.sogoucdn.com/127.0.0.1#1053 -server=/jph.itiexue.net/127.0.0.1#1053 -server=/jpush.cn/127.0.0.1#1053 -server=/jpush.html5.qq.com/127.0.0.1#1053 -server=/j.qijijs.top/127.0.0.1#1053 -server=/j.qiqivv.com/127.0.0.1#1053 -server=/j.qiqiww.com/127.0.0.1#1053 -server=/jqmt.qq.com/127.0.0.1#1053 -server=/jqz9.com/127.0.0.1#1053 -server=/jrdkc.com/127.0.0.1#1053 -server=/jrhaigou.com/127.0.0.1#1053 -server=/jrpt.jrptweb.org/127.0.0.1#1053 -server=/js.05sun.com/127.0.0.1#1053 -server=/js1151.yongkang6.com/127.0.0.1#1053 -server=/js1151.zhudiaosz.com/127.0.0.1#1053 -server=/js1157.yongkang6.com/127.0.0.1#1053 -server=/j.s11.cn/127.0.0.1#1053 -server=/js123.0937jyg.com/127.0.0.1#1053 -server=/js1.2abc8.com/127.0.0.1#1053 -server=/js.133u.com/127.0.0.1#1053 -server=/js.139y.com/127.0.0.1#1053 -server=/js1516.0937jyg.com/127.0.0.1#1053 -server=/js1517.0937jyg.com/127.0.0.1#1053 -server=/js.1688988.com/127.0.0.1#1053 -server=/js1.nend.net/127.0.0.1#1053 -server=/js-1.pchome.net/127.0.0.1#1053 -server=/js1.xbaixing.com/127.0.0.1#1053 -server=/js1.zuocai.tv/127.0.0.1#1053 -server=/js.2011.8684.com/127.0.0.1#1053 -server=/js205.dupinpu.com/127.0.0.1#1053 -server=/js2254.hfxcsl.cn/127.0.0.1#1053 -server=/js2553.xjzyq.com/127.0.0.1#1053 -server=/js257.0937jyg.com/127.0.0.1#1053 -server=/js2672.xjzyq.com/127.0.0.1#1053 -server=/js3492.yongkang6.com/127.0.0.1#1053 -server=/js3743.yongkang6.com/127.0.0.1#1053 -server=/js3768.zhudiaosz.com/127.0.0.1#1053 -server=/js3810.yongkang6.com/127.0.0.1#1053 -server=/js3810.zhudiaosz.com/127.0.0.1#1053 -server=/js412.0937jyg.com/127.0.0.1#1053 -server=/js412.yexfes.com/127.0.0.1#1053 -server=/js412.yqjxzw.com/127.0.0.1#1053 -server=/js4163.yongkang6.com/127.0.0.1#1053 -server=/js4273.zhudiaosz.com/127.0.0.1#1053 -server=/js453.zhudiaosz.com/127.0.0.1#1053 -server=/js.45bubu.com/127.0.0.1#1053 -server=/js4.eastmoney.com/127.0.0.1#1053 -server=/js.4hw.com.cn/127.0.0.1#1053 -server=/js.5068.com/127.0.0.1#1053 -server=/js50.yxlady.com/127.0.0.1#1053 -server=/js5162.yongkang6.com/127.0.0.1#1053 -server=/js.51taifu.com/127.0.0.1#1053 -server=/js.578965.com/127.0.0.1#1053 -server=/js.5iydz.com/127.0.0.1#1053 -server=/js6882.jianbangjiaoyu.com/127.0.0.1#1053 -server=/js6882.mengchengbao.com/127.0.0.1#1053 -server=/js7004.hnfpgm.com/127.0.0.1#1053 -server=/js7129.dlkjgjmy.com/127.0.0.1#1053 -server=/js7129.shxqeps.com/127.0.0.1#1053 -server=/js7152.shxqeps.com/127.0.0.1#1053 -server=/js7405.mengchengbao.com/127.0.0.1#1053 -server=/js74.0937jyg.com/127.0.0.1#1053 -server=/js74.yexfes.com/127.0.0.1#1053 -server=/js74.yqjxzw.com/127.0.0.1#1053 -server=/js84.enyayinxiang.com/127.0.0.1#1053 -server=/js883.hnfpgm.com/127.0.0.1#1053 -server=/js883.yongkang6.com/127.0.0.1#1053 -server=/js9318.bllzgqbyp.com/127.0.0.1#1053 -server=/js.9669.cn/127.0.0.1#1053 -server=/jsadt.com/127.0.0.1#1053 -server=/js.adxkj.com/127.0.0.1#1053 -server=/js-agent.newrelic.com/127.0.0.1#1053 -server=/js-apac-ss.ysm.yahoo.com/127.0.0.1#1053 -server=/js.bju888.com/127.0.0.1#1053 -server=/jsboxbbs.com/127.0.0.1#1053 -server=/jsb.qianzhan.com/127.0.0.1#1053 -server=/js.bxwns.com/127.0.0.1#1053 -server=/js.bxwxtxt.com/127.0.0.1#1053 -server=/j.sc1369.com/127.0.0.1#1053 -server=/jsc.adskeeper.co.uk/127.0.0.1#1053 -server=/js.cdjqjy.com/127.0.0.1#1053 -server=/jscdn.99pps.com/127.0.0.1#1053 -server=/jsc.marketgid.com/127.0.0.1#1053 -server=/jsc.mgid.com/127.0.0.1#1053 -server=/js.cncrk.com/127.0.0.1#1053 -server=/js.cnmo.com/127.0.0.1#1053 -server=/js.cnscdj.com/127.0.0.1#1053 -server=/jscode.jbzj.com/127.0.0.1#1053 -server=/js.ctags.cn/127.0.0.1#1053 -server=/js.daxueshengqiandai.com/127.0.0.1#1053 -server=/js.dkqapp.cn/127.0.0.1#1053 -server=/j.sdqoi2d.com/127.0.0.1#1053 -server=/js.duotegame.com/127.0.0.1#1053 -server=/js.ea3w.com/127.0.0.1#1053 -server=/js.feitian001.com/127.0.0.1#1053 -server=/js.fengniao.com/127.0.0.1#1053 -server=/js.firefang.cn/127.0.0.1#1053 -server=/js.gewuwen.com/127.0.0.1#1053 -server=/jshint.com/127.0.0.1#1053 -server=/js.hkslg520.com/127.0.0.1#1053 -server=/js.hslyqs.com/127.0.0.1#1053 -server=/js.icast.cn/127.0.0.1#1053 -server=/js.idgdmg.com.cn/127.0.0.1#1053 -server=/js.jianbaimei.com/127.0.0.1#1053 -server=/jsjs.nthyn.com/127.0.0.1#1053 -server=/js.jxabp.com.cn/127.0.0.1#1053 -server=/jskrnekewe.mofans.net/127.0.0.1#1053 -server=/js.lieqitianxia.cn/127.0.0.1#1053 -server=/jsm.39yst.com/127.0.0.1#1053 -server=/jsm.9939.com/127.0.0.1#1053 -server=/js.mbaidu.top/127.0.0.1#1053 -server=/js.mingxianshanghang.cn/127.0.0.1#1053 -server=/js.mnkan.com/127.0.0.1#1053 -server=/js.moatads.com/127.0.0.1#1053 -server=/js.mumayi.net/127.0.0.1#1053 -server=/jsmwd.com/127.0.0.1#1053 -server=/jsnp.golden1.sogou.com/127.0.0.1#1053 -server=/jsnywl.kfi8.com/127.0.0.1#1053 -server=/json.gewuwen.com/127.0.0.1#1053 -server=/js.paochala.net/127.0.0.1#1053 -server=/jspg.cc/127.0.0.1#1053 -server=/js.ptmind.com/127.0.0.1#1053 -server=/js.pub.tom.com/127.0.0.1#1053 -server=/js.pyangzi.com/127.0.0.1#1053 -server=/jsqmt.qq.com/127.0.0.1#1053 -server=/js.revsci.net/127.0.0.1#1053 -server=/js.ruiwen.com/127.0.0.1#1053 -server=/js.saiqizhi.com/127.0.0.1#1053 -server=/js.sanwen.net/127.0.0.1#1053 -server=/jssd.uumeitu.com/127.0.0.1#1053 -server=/js.soduso.cc/127.0.0.1#1053 -server=/js.soonyou123.com/127.0.0.1#1053 -server=/js.start1999.com/127.0.0.1#1053 -server=/js.szande.com.cn/127.0.0.1#1053 -server=/jstor.org/127.0.0.1#1053 -server=/js.ubaike.cn/127.0.0.1#1053 -server=/js.um0592.com/127.0.0.1#1053 -server=/js.union-wifi.com/127.0.0.1#1053 -server=/js.wo-x.cn/127.0.0.1#1053 -server=/js.wu65.com/127.0.0.1#1053 -server=/js.xiansuper.com/127.0.0.1#1053 -server=/js.xtgreat.com/127.0.0.1#1053 -server=/js.xuexila.com/127.0.0.1#1053 -server=/js.ydeprint.com/127.0.0.1#1053 -server=/js.yixui.com/127.0.0.1#1053 -server=/js.ylunion.com/127.0.0.1#1053 -server=/js.yoyi.tv/127.0.0.1#1053 -server=/js.zol.com.cn/127.0.0.1#1053 -server=/js.zyrfanli.com/127.0.0.1#1053 -server=/jtug.code.poyang.com/127.0.0.1#1053 -server=/jtvnw.net/127.0.0.1#1053 -server=/jtxh.net/127.0.0.1#1053 -server=/jtys8.com/127.0.0.1#1053 -server=/jt.yunxiufang.net/127.0.0.1#1053 -server=/ju33.com/127.0.0.1#1053 -server=/juicyads.com/127.0.0.1#1053 -server=/jumpe.58xmgys.com/127.0.0.1#1053 -server=/jump.luna.58.com/127.0.0.1#1053 -server=/jumpluna.58.com/127.0.0.1#1053 -server=/jumpm.58xmgys.com/127.0.0.1#1053 -server=/jundazulin.com/127.0.0.1#1053 -server=/junfull.com/127.0.0.1#1053 -server=/juren0.com/127.0.0.1#1053 -server=/jusha.com/127.0.0.1#1053 -server=/justgetflux.com/127.0.0.1#1053 -server=/jutou5.com/127.0.0.1#1053 -server=/juzi.cn/127.0.0.1#1053 -server=/juzilm.com/127.0.0.1#1053 -server=/j.wan.liebao.cn/127.0.0.1#1053 -server=/jwg365.cn/127.0.0.1#1053 -server=/j.wit.qq.com/127.0.0.1#1053 -server=/jwpcdn.com/127.0.0.1#1053 -server=/jwplayer.com/127.0.0.1#1053 -server=/jwpltx.com/127.0.0.1#1053 -server=/jwqj.net/127.0.0.1#1053 -server=/jwt.ms/127.0.0.1#1053 -server=/jwz.3conline.com/127.0.0.1#1053 -server=/jx5m.com/127.0.0.1#1053 -server=/jxad.jx163.com/127.0.0.1#1053 -server=/jxbjt.com/127.0.0.1#1053 -server=/jxfxsw.com/127.0.0.1#1053 -server=/j.xinshipu.com/127.0.0.1#1053 -server=/jxjzny.com/127.0.0.1#1053 -server=/jxlog.istreamsche.com/127.0.0.1#1053 -server=/jxlqgs.com/127.0.0.1#1053 -server=/jxxiangchu.com/127.0.0.1#1053 -server=/jyc.njxczy.com/127.0.0.1#1053 -server=/jyd.fjzdmy.com/127.0.0.1#1053 -server=/j.yljiaoluo.com/127.0.0.1#1053 -server=/jystea.com/127.0.0.1#1053 -server=/j.ytbt.cc/127.0.0.1#1053 -server=/jyz.fjtzjy.com/127.0.0.1#1053 -server=/j.zhdap.com/127.0.0.1#1053 -server=/jzkapp.com/127.0.0.1#1053 -server=/jzm81.com/127.0.0.1#1053 -server=/k1w5.me/127.0.0.1#1053 -server=/k2team.kyiv.ua/127.0.0.1#1053 -server=/k3bos.com/127.0.0.1#1053 -server=/k.85wa.cn/127.0.0.1#1053 -server=/kafka8.com/127.0.0.1#1053 -server=/kaitongyewu.com/127.0.0.1#1053 -server=/kakaocdn.net/127.0.0.1#1053 -server=/kakao.co.kr/127.0.0.1#1053 -server=/kakao.com/127.0.0.1#1053 -server=/karger.com/127.0.0.1#1053 -server=/karma.mdpcdn.com/127.0.0.1#1053 -server=/kas.keydot.net/127.0.0.1#1053 -server=/kat.cr/127.0.0.1#1053 -server=/kawa11.space/127.0.0.1#1053 -server=/kbnetworkz.s3.amazonaws.com/127.0.0.1#1053 -server=/k.ctsywy.com/127.0.0.1#1053 -server=/kddtri.cn/127.0.0.1#1053 -server=/kejet.com/127.0.0.1#1053 -server=/kejet.net/127.0.0.1#1053 -server=/kele4.com/127.0.0.1#1053 -server=/kenengba.com/127.0.0.1#1053 -server=/kermit.macnn.com/127.0.0.1#1053 -server=/ker.pic2pic.site/127.0.0.1#1053 -server=/keryt.jnservo.com/127.0.0.1#1053 -server=/ketchapp.org/127.0.0.1#1053 -server=/keydot.net/127.0.0.1#1053 -server=/keyhole.com/127.0.0.1#1053 -server=/keyrun.cn/127.0.0.1#1053 -server=/keyrun.com/127.0.0.1#1053 -server=/keyshot.cc/127.0.0.1#1053 -server=/keystone.mwbsys.com/127.0.0.1#1053 -server=/keyyou.net/127.0.0.1#1053 -server=/kfewaz.zh1155.com/127.0.0.1#1053 -server=/kfhuihe.net/127.0.0.1#1053 -server=/kfluoa.com/127.0.0.1#1053 -server=/kfs.io/127.0.0.1#1053 -server=/kgcjgsa8.net/127.0.0.1#1053 -server=/kgmobilestat.kugou.com/127.0.0.1#1053 -server=/kguke.com/127.0.0.1#1053 -server=/kho3au7l4z.me/127.0.0.1#1053 -server=/kicnse.com/127.0.0.1#1053 -server=/kidgrid.tv/127.0.0.1#1053 -server=/kik.com/127.0.0.1#1053 -server=/kingdeecn.cn/127.0.0.1#1053 -server=/kingwam.com/127.0.0.1#1053 -server=/kio.quanliyouxi.cn/127.0.0.1#1053 -server=/kiss.blockplus.cc/127.0.0.1#1053 -server=/kjgen.com/127.0.0.1#1053 -server=/kk7kk.com/127.0.0.1#1053 -server=/kkbox.com/127.0.0.1#1053 -server=/kkbox.com.tw/127.0.0.1#1053 -server=/kkcaicai.com/127.0.0.1#1053 -server=/kkpgv2.kankan.com/127.0.0.1#1053 -server=/kkpgv.kankan.com/127.0.0.1#1053 -server=/kktv.com.tw/127.0.0.1#1053 -server=/kktv.me/127.0.0.1#1053 -server=/kld666.com/127.0.0.1#1053 -server=/kldmm.com/127.0.0.1#1053 -server=/klip.me/127.0.0.1#1053 -server=/klsdmr.com/127.0.0.1#1053 -server=/kl-toys.com/127.0.0.1#1053 -server=/klz28.com/127.0.0.1#1053 -server=/kmadou.com/127.0.0.1#1053 -server=/kmd365.com/127.0.0.1#1053 -server=/km.jianduankm.com/127.0.0.1#1053 -server=/kmwqxqh.com/127.0.0.1#1053 -server=/kn.aishake.cn/127.0.0.1#1053 -server=/kn.archrug.com/127.0.0.1#1053 -server=/kn.barnfps.com/127.0.0.1#1053 -server=/kn.bjbrtc.com/127.0.0.1#1053 -server=/kn.chapnap.com/127.0.0.1#1053 -server=/kn.chgdf.cn/127.0.0.1#1053 -server=/kn.czzdf.com/127.0.0.1#1053 -server=/kn.dyscsm.cn/127.0.0.1#1053 -server=/knet.cn/127.0.0.1#1053 -server=/knewone.com/127.0.0.1#1053 -server=/kn.gzcce.cn/127.0.0.1#1053 -server=/kn.jzhrty.cn/127.0.0.1#1053 -server=/knnwdyou.com/127.0.0.1#1053 -server=/kn.nykps.com/127.0.0.1#1053 -server=/kn.qhdfxkj.com/127.0.0.1#1053 -server=/kn.qqqmdq.com/127.0.0.1#1053 -server=/kn.qzdaren.com/127.0.0.1#1053 -server=/kn.ynmhg.cn/127.0.0.1#1053 -server=/kn.zstjy.com/127.0.0.1#1053 -server=/kn.zzdahan.com/127.0.0.1#1053 -server=/kob.adxkj.com/127.0.0.1#1053 -server=/kobobooks.com/127.0.0.1#1053 -server=/kobo.com/127.0.0.1#1053 -server=/kochava.com/127.0.0.1#1053 -server=/kod4pc293.com/127.0.0.1#1053 -server=/koowo.com/127.0.0.1#1053 -server=/kooyum.com/127.0.0.1#1053 -server=/korbit.co.kr/127.0.0.1#1053 -server=/koukou7.com/127.0.0.1#1053 -server=/kovjo.com/127.0.0.1#1053 -server=/kqy1.com/127.0.0.1#1053 -server=/kraken.com/127.0.0.1#1053 -server=/kr.sybspools.com/127.0.0.1#1053 -server=/krux.net/127.0.0.1#1053 -server=/ksdsuzhou.com/127.0.0.1#1053 -server=/ksr.juuhe.com/127.0.0.1#1053 -server=/ksrsy.com/127.0.0.1#1053 -server=/kstj.baidu.com/127.0.0.1#1053 -server=/kt220.com/127.0.0.1#1053 -server=/ktivn.uranus.sogou.com/127.0.0.1#1053 -server=/ktunions.com/127.0.0.1#1053 -server=/ktv0311.com/127.0.0.1#1053 -server=/ku63.com/127.0.0.1#1053 -server=/ku9377.com/127.0.0.1#1053 -server=/kuaidi100.com/127.0.0.1#1053 -server=/kuaigao.rrsdl.com/127.0.0.1#1053 -server=/kuaikaiapp.com/127.0.0.1#1053 -server=/kuaikan.netmon.360safe.com/127.0.0.1#1053 -server=/kuaipai666.cn/127.0.0.1#1053 -server=/kuaizip.com/127.0.0.1#1053 -server=/kualianyingxiao.cn/127.0.0.1#1053 -server=/kucoin.com/127.0.0.1#1053 -server=/kudifish.com/127.0.0.1#1053 -server=/kugou.com/127.0.0.1#1053 -server=/kuguopush.com/127.0.0.1#1053 -server=/kumihua.com/127.0.0.1#1053 -server=/kumo.com/127.0.0.1#1053 -server=/kuwoyy.com/127.0.0.1#1053 -server=/kuyic.m.gxwztv.com/127.0.0.1#1053 -server=/kuzai.cooguo.com/127.0.0.1#1053 -server=/kwmsg.kuwo.cn/127.0.0.1#1053 -server=/kw.ra.icast.cn/127.0.0.1#1053 -server=/kwurl.ucweb.com/127.0.0.1#1053 -server=/kxlogo.knet.cn/127.0.0.1#1053 -server=/kxmav2.com/127.0.0.1#1053 -server=/kxrxh.com/127.0.0.1#1053 -server=/kyad88.com/127.0.0.1#1053 -server=/kyzhecmvpiaw.com/127.0.0.1#1053 -server=/l1.soarfi.cn/127.0.0.1#1053 -server=/l2.soarfi.cn/127.0.0.1#1053 -server=/l9bdhcgihw.neihanw.com/127.0.0.1#1053 -server=/labs.ra.icast.cn/127.0.0.1#1053 -server=/l.adiers.com/127.0.0.1#1053 -server=/laigame7.com/127.0.0.1#1053 -server=/laiququan.com/127.0.0.1#1053 -server=/lajizhan.org/127.0.0.1#1053 -server=/lan.btwan5.com/127.0.0.1#1053 -server=/langchars.com/127.0.0.1#1053 -server=/langjiyisheng.com/127.0.0.1#1053 -server=/lansha.tv/127.0.0.1#1053 -server=/lanxiangji.com/127.0.0.1#1053 -server=/laomaotao.net/127.0.0.1#1053 -server=/laoqu123.com/127.0.0.1#1053 -server=/lashou1000.com/127.0.0.1#1053 -server=/latampartneruniversity.com/127.0.0.1#1053 -server=/l.betrad.com/127.0.0.1#1053 -server=/lb.gtimg.com/127.0.0.1#1053 -server=/lbstatic-a.akamaihd.net/127.0.0.1#1053 -server=/lb.statsevent.com/127.0.0.1#1053 -server=/lbszb.tongbu.com/127.0.0.1#1053 -server=/lc.jiathis.com/127.0.0.1#1053 -server=/lcs.dev.surepush.cn/127.0.0.1#1053 -server=/ld.kuaigames.com/127.0.0.1#1053 -server=/ld.mediaget.com/127.0.0.1#1053 -server=/ldpgl.code.mytanwan.com/127.0.0.1#1053 -server=/lds.lenovomm.com/127.0.0.1#1053 -server=/lds.zui.com/127.0.0.1#1053 -server=/ldy.350.com/127.0.0.1#1053 -server=/ldy.adqku.cn/127.0.0.1#1053 -server=/le4le.com/127.0.0.1#1053 -server=/leadboltads.net/127.0.0.1#1053 -server=/leadboltapps.net/127.0.0.1#1053 -server=/leadboltmobile.net/127.0.0.1#1053 -server=/leadbolt.net/127.0.0.1#1053 -server=/leancloud.com/127.0.0.1#1053 -server=/lecloud.com/127.0.0.1#1053 -server=/ledou.dl.uu.cc/127.0.0.1#1053 -server=/leetcode.com/127.0.0.1#1053 -server=/leeyuoxs.com/127.0.0.1#1053 -server=/legozu.com/127.0.0.1#1053 -server=/lele999.com/127.0.0.1#1053 -server=/lemicp.com/127.0.0.1#1053 -server=/lenzmx.com/127.0.0.1#1053 -server=/lessplay.com/127.0.0.1#1053 -server=/letvcloud.com/127.0.0.1#1053 -server=/letv.com/127.0.0.1#1053 -server=/letv.irs01.com/127.0.0.1#1053 -server=/leztc.com/127.0.0.1#1053 -server=/lflili.com/127.0.0.1#1053 -server=/lfyuanai.com/127.0.0.1#1053 -server=/lg2.jointreport-switch.com/127.0.0.1#1053 -server=/lg4.jointreport-switch.com/127.0.0.1#1053 -server=/lhafy.com/127.0.0.1#1053 -server=/lhengilin.com/127.0.0.1#1053 -server=/lhusy.com/127.0.0.1#1053 -server=/liangao.com/127.0.0.1#1053 -server=/liangziweixg.com/127.0.0.1#1053 -server=/li.anyysz.com/127.0.0.1#1053 -server=/liba.haotv8.com/127.0.0.1#1053 -server=/libguides.com/127.0.0.1#1053 -server=/lib.haotv8.com/127.0.0.1#1053 -server=/libs.tvmao.cn/127.0.0.1#1053 -server=/libsyn.com/127.0.0.1#1053 -server=/licdn.com/127.0.0.1#1053 -server=/license.lumion3d.com/127.0.0.1#1053 -server=/license.lumion3d.net/127.0.0.1#1053 -server=/licenses.ashampoo.com/127.0.0.1#1053 -server=/licensing.tableausoftware.com/127.0.0.1#1053 -server=/liebertpub.com/127.0.0.1#1053 -server=/life.e0575.com/127.0.0.1#1053 -server=/life.imagepix.org/127.0.0.1#1053 -server=/lightboxcdn.com/127.0.0.1#1053 -server=/lightning.community/127.0.0.1#1053 -server=/lightning.engineering/127.0.0.1#1053 -server=/lightson.vpsboard.com/127.0.0.1#1053 -server=/like.com/127.0.0.1#1053 -server=/line-apps.com/127.0.0.1#1053 -server=/line-cdn.net/127.0.0.1#1053 -server=/lin.ee/127.0.0.1#1053 -server=/line.me/127.0.0.1#1053 -server=/line.naver.jp/127.0.0.1#1053 -server=/line-scdn.net/127.0.0.1#1053 -server=/linetv.tw/127.0.0.1#1053 -server=/linezing.com/127.0.0.1#1053 -server=/lingdian98.com/127.0.0.1#1053 -server=/linkbide.com/127.0.0.1#1053 -server=/linkedin.com/127.0.0.1#1053 -server=/linkeye.ximalaya.com/127.0.0.1#1053 -server=/linkpage.cn/127.0.0.1#1053 -server=/links.services.disqus.com/127.0.0.1#1053 -server=/linktech.cn/127.0.0.1#1053 -server=/linode.com/127.0.0.1#1053 -server=/linyao.dxsdb.com/127.0.0.1#1053 -server=/liquid.com/127.0.0.1#1053 -server=/lishuanghao.com/127.0.0.1#1053 -server=/listenother.com/127.0.0.1#1053 -server=/listlog.baofeng.net/127.0.0.1#1053 -server=/lithium.com/127.0.0.1#1053 -server=/litix.io/127.0.0.1#1053 -server=/littlehj.com/127.0.0.1#1053 -server=/liuliguo.com/127.0.0.1#1053 -server=/live.cn/127.0.0.1#1053 -server=/live.com/127.0.0.1#1053 -server=/live.com.akadns.net/127.0.0.1#1053 -server=/live.com.au/127.0.0.1#1053 -server=/live.eu/127.0.0.1#1053 -server=/livefilestore.com/127.0.0.1#1053 -server=/livehapp.com/127.0.0.1#1053 -server=/live.net/127.0.0.1#1053 -server=/livep.l.ott.video.qq.com/127.0.0.1#1053 -server=/lives.l.cp81.ott.cibntv.net/127.0.0.1#1053 -server=/lives.l.ott.video.qq.com/127.0.0.1#1053 -server=/lives.l.qq.com/127.0.0.1#1053 -server=/live.tvpot.daum.net/127.0.0.1#1053 -server=/liveupdate.mac.sandai.net/127.0.0.1#1053 -server=/livingyourambition.com/127.0.0.1#1053 -server=/lixiangmo.com/127.0.0.1#1053 -server=/liyuans.com/127.0.0.1#1053 -server=/lizhi.io/127.0.0.1#1053 -server=/ljrtb.cn/127.0.0.1#1053 -server=/lkf1.m.sanhao3.com/127.0.0.1#1053 -server=/ll38.com/127.0.0.1#1053 -server=/ll.a.hulu.com/127.0.0.1#1053 -server=/ll.gxsky.com/127.0.0.1#1053 -server=/ll.hudong.com/127.0.0.1#1053 -server=/llnwd.net/127.0.0.1#1053 -server=/ll.songlaoban.cn/127.0.0.1#1053 -server=/lm.dawenxue.org/127.0.0.1#1053 -server=/l.minisplat.cn/127.0.0.1#1053 -server=/lm.licenses.adobe.com/127.0.0.1#1053 -server=/lmlicenses.wip4.adobe.com/127.0.0.1#1053 -server=/lml.jfjsp.com/127.0.0.1#1053 -server=/l.mnjkw.cn/127.0.0.1#1053 -server=/lm.souid.com/127.0.0.1#1053 -server=/lmwap.awtks.com/127.0.0.1#1053 -server=/lm.xiashu.la/127.0.0.1#1053 -server=/lndjj.com/127.0.0.1#1053 -server=/lnk0.com/127.0.0.1#1053 -server=/lnk8z.com/127.0.0.1#1053 -server=/lnr2.com/127.0.0.1#1053 -server=/load77.exelator.com/127.0.0.1#1053 -server=/loading.baofeng5.baofeng.net/127.0.0.1#1053 -server=/loadm.exelator.com/127.0.0.1#1053 -server=/loandatec.com/127.0.0.1#1053 -server=/loanscan.io/127.0.0.1#1053 -server=/localbitcoinschain.com/127.0.0.1#1053 -server=/localbitcoins.com/127.0.0.1#1053 -server=/localizecdn.com/127.0.0.1#1053 -server=/localnetwork.uop/127.0.0.1#1053 -server=/localytics.com/127.0.0.1#1053 -server=/location.ximalaya.com/127.0.0.1#1053 -server=/locdrop.query.yahoo.com/127.0.0.1#1053 -server=/log1.17173.com/127.0.0.1#1053 -server=/log1.molitv.cn/127.0.0.1#1053 -server=/log2.air.yoyi.com.cn/127.0.0.1#1053 -server=/log2.molitv.cn/127.0.0.1#1053 -server=/log-dmp.suishenyun.cn/127.0.0.1#1053 -server=/logmein.com/127.0.0.1#1053 -server=/logonext.tv.kuyun.com/127.0.0.1#1053 -server=/logoshejishi.com/127.0.0.1#1053 -server=/logstat.caixin.com/127.0.0.1#1053 -server=/logstat.t.sfht.com/127.0.0.1#1053 -server=/logupdate.avlyun.sec.miui.com/127.0.0.1#1053 -server=/loldy.jiangmg.com/127.0.0.1#1053 -server=/lol.pnhfc.com/127.0.0.1#1053 -server=/lomark.cn/127.0.0.1#1053 -server=/londonprivaterentals.standard.co.uk/127.0.0.1#1053 -server=/looky.hyves.org/127.0.0.1#1053 -server=/lottery.kuaiya.cn/127.0.0.1#1053 -server=/lotuseed.com/127.0.0.1#1053 -server=/lovestyl.com/127.0.0.1#1053 -server=/lovfp.com/127.0.0.1#1053 -server=/lp1901.com/127.0.0.1#1053 -server=/lp.jiuzhilan.com/127.0.0.1#1053 -server=/lp.startapp.com/127.0.0.1#1053 -server=/lpsxssm.com/127.0.0.1#1053 -server=/lqmohun.com/127.0.0.1#1053 -server=/lrswl.com/127.0.0.1#1053 -server=/lstat.youku.com/127.0.0.1#1053 -server=/l.supfast.net/127.0.0.1#1053 -server=/ls.webmd.com/127.0.0.1#1053 -server=/lsxmg.com/127.0.0.1#1053 -server=/ltcprtc.com/127.0.0.1#1053 -server=/ltheanine.cn/127.0.0.1#1053 -server=/lthxz.cn/127.0.0.1#1053 -server=/lubosheng.cn/127.0.0.1#1053 -server=/lucifr.com/127.0.0.1#1053 -server=/lucting.cn/127.0.0.1#1053 -server=/lufax.com/127.0.0.1#1053 -server=/l.ujian.cc/127.0.0.1#1053 -server=/luoo.net/127.0.0.1#1053 -server=/luotediao.net/127.0.0.1#1053 -server=/lu.sogoucdn.com/127.0.0.1#1053 -server=/lu.sogou.com/127.0.0.1#1053 -server=/lvjian66.com/127.0.0.1#1053 -server=/lw1.cdmediaworld.com/127.0.0.1#1053 -server=/lw2.gamecopyworld.com/127.0.0.1#1053 -server=/lwnne.cn/127.0.0.1#1053 -server=/lwq.wangketuan.com/127.0.0.1#1053 -server=/lx167.com/127.0.0.1#1053 -server=/lxcdn.dl.files.xiaomi.net/127.0.0.1#1053 -server=/lxdns.com/127.0.0.1#1053 -server=/lxqcgj.com/127.0.0.1#1053 -server=/lxting.com/127.0.0.1#1053 -server=/lx-upload-log.yidianzixun.com/127.0.0.1#1053 -server=/lyaeccn.com/127.0.0.1#1053 -server=/lyapi.1391.com/127.0.0.1#1053 -server=/lycos-eu.imrworldwide.com/127.0.0.1#1053 -server=/lyhdream.com/127.0.0.1#1053 -server=/l.yidianzixun.com/127.0.0.1#1053 -server=/lyjk.1391.com/127.0.0.1#1053 -server=/l.ykimg.com/127.0.0.1#1053 -server=/lync.com/127.0.0.1#1053 -server=/lynndollin.com/127.0.0.1#1053 -server=/lyrymy.com/127.0.0.1#1053 -server=/lytubaobao.com/127.0.0.1#1053 -server=/lyunsd.cn/127.0.0.1#1053 -server=/lyztdz.com/127.0.0.1#1053 -server=/lz.chaelc.com/127.0.0.1#1053 -server=/lzjycy.com/127.0.0.1#1053 -server=/lzmm8.com/127.0.0.1#1053 -server=/lz.whafwl.com/127.0.0.1#1053 -server=/m.027blzs.com/127.0.0.1#1053 -server=/m.0531mnk.net/127.0.0.1#1053 -server=/m.107279.com/127.0.0.1#1053 -server=/m.118ex.cn/127.0.0.1#1053 -server=/m12.vc/127.0.0.1#1053 -server=/m.1768.com/127.0.0.1#1053 -server=/m.1919388.net/127.0.0.1#1053 -server=/m1.baidu.com/127.0.0.1#1053 -server=/m1.daumcdn.net/127.0.0.1#1053 -server=/m1.mgogo.com/127.0.0.1#1053 -server=/m1.xcy8.com/127.0.0.1#1053 -server=/m.28487.net/127.0.0.1#1053 -server=/m2.da.mgtv.com/127.0.0.1#1053 -server=/m2.qinsx.cn/127.0.0.1#1053 -server=/m.3987.com/127.0.0.1#1053 -server=/m3bnqqqw.com/127.0.0.1#1053 -server=/m.495495.com/127.0.0.1#1053 -server=/m.51xmgys.com/127.0.0.1#1053 -server=/m.52tushuo.com/127.0.0.1#1053 -server=/m.551144.com/127.0.0.1#1053 -server=/m5.apk.67mo.com/127.0.0.1#1053 -server=/m.640640.com/127.0.0.1#1053 -server=/m.649649.com/127.0.0.1#1053 -server=/m.7180443.com/127.0.0.1#1053 -server=/m.77vcd.com/127.0.0.1#1053 -server=/m-78.jp/127.0.0.1#1053 -server=/m.937920.com/127.0.0.1#1053 -server=/m9.xcdf.cn/127.0.0.1#1053 -server=/m9.xcy8.com/127.0.0.1#1053 -server=/ma1.meishij.net/127.0.0.1#1053 -server=/ma2.meishij.net/127.0.0.1#1053 -server=/ma.baidu.com/127.0.0.1#1053 -server=/m.abfirst.cn/127.0.0.1#1053 -server=/m.acaox.com/127.0.0.1#1053 -server=/maccms.tan5858.com/127.0.0.1#1053 -server=/m.achig.com/127.0.0.1#1053 -server=/macid.co/127.0.0.1#1053 -server=/mackeeper.com/127.0.0.1#1053 -server=/macplatform.wondershare.com/127.0.0.1#1053 -server=/macromedia.com/127.0.0.1#1053 -server=/macrumors.com/127.0.0.1#1053 -server=/m.adaog.com/127.0.0.1#1053 -server=/m-adash.m.taobao.com/127.0.0.1#1053 -server=/madewithcode.com/127.0.0.1#1053 -server=/madhouse.cn/127.0.0.1#1053 -server=/mad.kuuad.com/127.0.0.1#1053 -server=/madmini.com/127.0.0.1#1053 -server=/mad.m.maxthon.cn/127.0.0.1#1053 -server=/mads.amazon.com/127.0.0.1#1053 -server=/mads.aol.com/127.0.0.1#1053 -server=/mads.dailymail.co.uk/127.0.0.1#1053 -server=/madserving.com/127.0.0.1#1053 -server=/madsrevolution.net/127.0.0.1#1053 -server=/m.adxpop.com/127.0.0.1#1053 -server=/m.ad.zhangyue.com/127.0.0.1#1053 -server=/m.afoux.com/127.0.0.1#1053 -server=/magicwindow.cn/127.0.0.1#1053 -server=/magnetic.t.domdex.com/127.0.0.1#1053 -server=/maibahe300cc.com/127.0.0.1#1053 -server=/mainbx.com/127.0.0.1#1053 -server=/main.exdynsrv.com/127.0.0.1#1053 -server=/main.exoclick.com/127.0.0.1#1053 -server=/maipinshangmao.com/127.0.0.1#1053 -server=/mairuan.cn/127.0.0.1#1053 -server=/mairuan.com/127.0.0.1#1053 -server=/mairuan.com.cn/127.0.0.1#1053 -server=/mairuan.net/127.0.0.1#1053 -server=/mairuanwang.com/127.0.0.1#1053 -server=/maisoncherry.com/127.0.0.1#1053 -server=/mai.tn/127.0.0.1#1053 -server=/makecode.org/127.0.0.1#1053 -server=/makeding.com/127.0.0.1#1053 -server=/makerdao.com/127.0.0.1#1053 -server=/makersplace.com/127.0.0.1#1053 -server=/malacca.inveno.com/127.0.0.1#1053 -server=/mam.netease.com/127.0.0.1#1053 -server=/managedmeetingrooms.com/127.0.0.1#1053 -server=/manage.wdfans.cn/127.0.0.1#1053 -server=/mangaup.jp/127.0.0.1#1053 -server=/manhuaren.com/127.0.0.1#1053 -server=/m.anmeilai.net/127.0.0.1#1053 -server=/m.anzhuotan.com/127.0.0.1#1053 -server=/maomaotang.com/127.0.0.1#1053 -server=/mapblast.com/127.0.0.1#1053 -server=/map.dxpmedia.com/127.0.0.1#1053 -server=/map.media6degrees.com/127.0.0.1#1053 -server=/mapping.yoyi.com.cn/127.0.0.1#1053 -server=/mappoint.com/127.0.0.1#1053 -server=/m.apxyz.com/127.0.0.1#1053 -server=/m.aqiudaohang.com/127.0.0.1#1053 -server=/market.178.com/127.0.0.1#1053 -server=/market.21cn.com/127.0.0.1#1053 -server=/market.52pk.com/127.0.0.1#1053 -server=/market.duowan.com/127.0.0.1#1053 -server=/marketgid.com/127.0.0.1#1053 -server=/marketing.888.com/127.0.0.1#1053 -server=/marketing.etouch.cn/127.0.0.1#1053 -server=/marketingsolutions.yahoo.com/127.0.0.1#1053 -server=/marketo.com/127.0.0.1#1053 -server=/marketo.net/127.0.0.1#1053 -server=/marketwatch.com/127.0.0.1#1053 -server=/masalladeloslimites.com/127.0.0.1#1053 -server=/masdk.3g.qq.com/127.0.0.1#1053 -server=/mashable.com/127.0.0.1#1053 -server=/maskbaby.com.cn/127.0.0.1#1053 -server=/m.assigned.cn/127.0.0.1#1053 -server=/mass.mall044.com/127.0.0.1#1053 -server=/masternodes.online/127.0.0.1#1053 -server=/master.wap.dphub.sandai.net/127.0.0.1#1053 -server=/match.adsby.bidtheatre.com/127.0.0.1#1053 -server=/match.c8.net.ua/127.0.0.1#1053 -server=/matching.targeterra.com/127.0.0.1#1053 -server=/match.p4p.1688.com/127.0.0.1#1053 -server=/match.prod.bidr.io/127.0.0.1#1053 -server=/match.rtbidder.net/127.0.0.1#1053 -server=/match.rundsp.com/127.0.0.1#1053 -server=/material.io/127.0.0.1#1053 -server=/material.istreamsche.com/127.0.0.1#1053 -server=/material.mtty.xin/127.0.0.1#1053 -server=/mathjax.org/127.0.0.1#1053 -server=/mathtag.com/127.0.0.1#1053 -server=/mathtype.cn/127.0.0.1#1053 -server=/m.aty.cp45.ott.cibntv.net/127.0.0.1#1053 -server=/m.aty.snmsohu.aisee.tv/127.0.0.1#1053 -server=/maven.org/127.0.0.1#1053 -server=/maw.wnbfw.com/127.0.0.1#1053 -server=/max.com/127.0.0.1#1053 -server=/m.axsre.com/127.0.0.1#1053 -server=/maxwebsearch.com/127.0.0.1#1053 -server=/maysunmedia.com/127.0.0.1#1053 -server=/mbai.cn/127.0.0.1#1053 -server=/m.baidu.com.yiqisee.cn/127.0.0.1#1053 -server=/m.baidu.com.zhiduo.org/127.0.0.1#1053 -server=/m.bailingjiankang.com/127.0.0.1#1053 -server=/m.baiyangzs.com/127.0.0.1#1053 -server=/m.bapkt.com/127.0.0.1#1053 -server=/m.bbvjs.com/127.0.0.1#1053 -server=/mbcloud.com/127.0.0.1#1053 -server=/m.bdiae.com/127.0.0.1#1053 -server=/mbdlog.iqiyi.com/127.0.0.1#1053 -server=/mbd.weathercn.com/127.0.0.1#1053 -server=/m.beacon.sina.com.cn/127.0.0.1#1053 -server=/m.bentengcn.com/127.0.0.1#1053 -server=/mb.hockeybuzz.com/127.0.0.1#1053 -server=/m.biquge5200.cc/127.0.0.1#1053 -server=/m.bokanedu.net/127.0.0.1#1053 -server=/mbrowser.news.haosou.com/127.0.0.1#1053 -server=/mbrowser.news.so.com/127.0.0.1#1053 -server=/m.bsnnk.com/127.0.0.1#1053 -server=/m.bss.pandora.xiaomi.com/127.0.0.1#1053 -server=/mbs.weathercn.com/127.0.0.1#1053 -server=/m.bvoer.com/127.0.0.1#1053 -server=/m.bvosv.com/127.0.0.1#1053 -server=/mb.yidianzixun.com/127.0.0.1#1053 -server=/mb.zam.com/127.0.0.1#1053 -server=/m.casbanlly.com/127.0.0.1#1053 -server=/m.cbeif.com/127.0.0.1#1053 -server=/m.ccunf.com/127.0.0.1#1053 -server=/m.cdfzcz.com/127.0.0.1#1053 -server=/m.cenrs.com/127.0.0.1#1053 -server=/m.chenhuia.com/127.0.0.1#1053 -server=/m.chexiw.com/127.0.0.1#1053 -server=/m.chfuw.com/127.0.0.1#1053 -server=/m.cjieh.com/127.0.0.1#1053 -server=/m.ckikq.com/127.0.0.1#1053 -server=/mclick.simba.taobao.com/127.0.0.1#1053 -server=/m.clkservice.youdao.com/127.0.0.1#1053 -server=/m.cocounion.com/127.0.0.1#1053 -server=/m.codlw.com/127.0.0.1#1053 -server=/m.coenr.com/127.0.0.1#1053 -server=/mcore.vcgame.cn/127.0.0.1#1053 -server=/m.couas.com/127.0.0.1#1053 -server=/m.cqytjzgc.com/127.0.0.1#1053 -server=/m.ctsywy.com/127.0.0.1#1053 -server=/m.cudaojia.com/127.0.0.1#1053 -server=/m.cuoas.com/127.0.0.1#1053 -server=/m.cuoss.com/127.0.0.1#1053 -server=/mc.yandex.ru/127.0.0.1#1053 -server=/md0z4dh.com/127.0.0.1#1053 -server=/md.1drj.com/127.0.0.1#1053 -server=/m.daishuxy.com/127.0.0.1#1053 -server=/m.dante2007.com/127.0.0.1#1053 -server=/m.data.mob.com/127.0.0.1#1053 -server=/m.dbaiz.com/127.0.0.1#1053 -server=/mdc.meitustat.com/127.0.0.1#1053 -server=/mdex.co/127.0.0.1#1053 -server=/mdex.com/127.0.0.1#1053 -server=/mdex.me/127.0.0.1#1053 -server=/mdex.one/127.0.0.1#1053 -server=/m.dgaoz.com/127.0.0.1#1053 -server=/md.he9630.com/127.0.0.1#1053 -server=/m.diogv.com/127.0.0.1#1053 -server=/m.djhhy.com/127.0.0.1#1053 -server=/m.dnfeu.com/127.0.0.1#1053 -server=/m.doodlemobile.com/127.0.0.1#1053 -server=/mdotm.com/127.0.0.1#1053 -server=/mdpi.com/127.0.0.1#1053 -server=/mdpjnppsbjv.bid/127.0.0.1#1053 -server=/mdrecv.app.cntvwb.cn/127.0.0.1#1053 -server=/md.sh5e.com/127.0.0.1#1053 -server=/m.dsjre.com/127.0.0.1#1053 -server=/m.du1du.org/127.0.0.1#1053 -server=/m.duias.com/127.0.0.1#1053 -server=/m.duobao999.com/127.0.0.1#1053 -server=/m.dxmci.com/127.0.0.1#1053 -server=/me.afp.chinanews.com/127.0.0.1#1053 -server=/mealsandsteals.sandiego6.com/127.0.0.1#1053 -server=/me-cdn.effectivemeasure.net/127.0.0.1#1053 -server=/me.com/127.0.0.1#1053 -server=/medal.blog.csdn.net/127.0.0.1#1053 -server=/med.heyzap.com/127.0.0.1#1053 -server=/media.2011.8684.com/127.0.0.1#1053 -server=/media8.cn/127.0.0.1#1053 -server=/media-amazon.com/127.0.0.1#1053 -server=/media.cheshi-img.com/127.0.0.1#1053 -server=/media.fastclick.net/127.0.0.1#1053 -server=/media.jointreport-switch.com/127.0.0.1#1053 -server=/mediamgr.ugo.com/127.0.0.1#1053 -server=/mediaplex.com/127.0.0.1#1053 -server=/mediapro.pro.cn/127.0.0.1#1053 -server=/media-static.jointreport-switch.com/127.0.0.1#1053 -server=/media.tianjimedia.com/127.0.0.1#1053 -server=/media.trafficfactory.biz/127.0.0.1#1053 -server=/media.trafficjunky.net/127.0.0.1#1053 -server=/mediav.com/127.0.0.1#1053 -server=/medium.com/127.0.0.1#1053 -server=/m.edo5.com/127.0.0.1#1053 -server=/medrx.telstra.com.au/127.0.0.1#1053 -server=/m.ee-skin.com/127.0.0.1#1053 -server=/meetfasttrack.com/127.0.0.1#1053 -server=/meetyourdevices.com/127.0.0.1#1053 -server=/m.ee-vip.net/127.0.0.1#1053 -server=/m.efeiy.com/127.0.0.1#1053 -server=/mega.co.nz/127.0.0.1#1053 -server=/megajoy.com/127.0.0.1#1053 -server=/mega.nz/127.0.0.1#1053 -server=/megaupload.com/127.0.0.1#1053 -server=/m.ehxyz.com/127.0.0.1#1053 -server=/meimeidaren.com/127.0.0.1#1053 -server=/meiti1.net/127.0.0.1#1053 -server=/meitubeauty.meitudata.com/127.0.0.1#1053 -server=/meitumq.com/127.0.0.1#1053 -server=/meizu.com/127.0.0.1#1053 -server=/m.emgwq.com/127.0.0.1#1053 -server=/menghuanzs.com/127.0.0.1#1053 -server=/mengmengdas.com/127.0.0.1#1053 -server=/mengyuanwei.com/127.0.0.1#1053 -server=/m.enjuk.com/127.0.0.1#1053 -server=/m.ennmt.com/127.0.0.1#1053 -server=/mepn.com/127.0.0.1#1053 -server=/message.meitu.com/127.0.0.1#1053 -server=/messenger.com/127.0.0.1#1053 -server=/metatrader4.com/127.0.0.1#1053 -server=/metatrader5.com/127.0.0.1#1053 -server=/metok.sys.miui.com/127.0.0.1#1053 -server=/metrics.cnn.com/127.0.0.1#1053 -server=/me.videojj.com/127.0.0.1#1053 -server=/mexc.com/127.0.0.1#1053 -server=/mfan.iclick.com.cn/127.0.0.1#1053 -server=/m.fbaix.com/127.0.0.1#1053 -server=/m.fbaot.com/127.0.0.1#1053 -server=/m.fcaot.com/127.0.0.1#1053 -server=/m.fcuit.com/127.0.0.1#1053 -server=/m.fecjf.cn/127.0.0.1#1053 -server=/m.feirs.com/127.0.0.1#1053 -server=/m.fengwanwl.com/127.0.0.1#1053 -server=/m.fenrs.com/127.0.0.1#1053 -server=/m.fhxsw.org/127.0.0.1#1053 -server=/m.fimky.com/127.0.0.1#1053 -server=/m.fkkse.com/127.0.0.1#1053 -server=/m.fkogs.com/127.0.0.1#1053 -server=/mfm.video.qq.com/127.0.0.1#1053 -server=/m.focuscat.com/127.0.0.1#1053 -server=/m.fouas.com/127.0.0.1#1053 -server=/m.foumm.com/127.0.0.1#1053 -server=/mfp.deliver.ifeng.com/127.0.0.1#1053 -server=/mfsr.lenovomm.com/127.0.0.1#1053 -server=/m.fstaw.com/127.0.0.1#1053 -server=/m.fwjoi.com/127.0.0.1#1053 -server=/m.fxbga.com/127.0.0.1#1053 -server=/m.fzyda.com/127.0.0.1#1053 -server=/mg.5pk/127.0.0.1#1053 -server=/m.gameyun907.net/127.0.0.1#1053 -server=/m.ganrs.com/127.0.0.1#1053 -server=/m.gbieg.com/127.0.0.1#1053 -server=/m.gcaij.com/127.0.0.1#1053 -server=/m.gcheg.com/127.0.0.1#1053 -server=/m.gdt.vip1790.cn/127.0.0.1#1053 -server=/mg.games.sina.com.cn/127.0.0.1#1053 -server=/m.gglay.com/127.0.0.1#1053 -server=/mgid.com/127.0.0.1#1053 -server=/mgldzcls.com/127.0.0.1#1053 -server=/mgogo.com/127.0.0.1#1053 -server=/m.gtiou.com/127.0.0.1#1053 -server=/m.gtnde.com/127.0.0.1#1053 -server=/m.guaas.com/127.0.0.1#1053 -server=/m.guanren11.com/127.0.0.1#1053 -server=/m.guanren5.com/127.0.0.1#1053 -server=/m.guanren6.com/127.0.0.1#1053 -server=/m.guanren9.com/127.0.0.1#1053 -server=/m.guifei99.com/127.0.0.1#1053 -server=/m.gujinyue.com/127.0.0.1#1053 -server=/mgwcn.com/127.0.0.1#1053 -server=/m.gwdqp.com/127.0.0.1#1053 -server=/mgwl668.com/127.0.0.1#1053 -server=/m.gxkyl.com/127.0.0.1#1053 -server=/mg.yadro.ru/127.0.0.1#1053 -server=/m.haowj.com.cn/127.0.0.1#1053 -server=/m.harbinbaojia.net/127.0.0.1#1053 -server=/mhd.1391.com/127.0.0.1#1053 -server=/mhdpay.1391.com/127.0.0.1#1053 -server=/mhdtestks3.1391.com/127.0.0.1#1053 -server=/mhdufile.1391.com/127.0.0.1#1053 -server=/m.hellomingpian.com/127.0.0.1#1053 -server=/m.heygugu.com/127.0.0.1#1053 -server=/m.hhllyt.com/127.0.0.1#1053 -server=/m.hissq.com/127.0.0.1#1053 -server=/mhjk.1391.com/127.0.0.1#1053 -server=/m.hk7799.net/127.0.0.1#1053 -server=/m.hkmqp.com/127.0.0.1#1053 -server=/m.hmzsfmjc.com/127.0.0.1#1053 -server=/m.hogyp.com/127.0.0.1#1053 -server=/m.hot-mob.com/127.0.0.1#1053 -server=/m.hpfjy.com/127.0.0.1#1053 -server=/m.hpzyl.com/127.0.0.1#1053 -server=/m.hsbkr.com/127.0.0.1#1053 -server=/m.htper.com/127.0.0.1#1053 -server=/m.huanyuexpress.com/127.0.0.1#1053 -server=/mhuodong.elong.com/127.0.0.1#1053 -server=/m.huyulh.com/127.0.0.1#1053 -server=/m.hyzui.com/127.0.0.1#1053 -server=/miam4.cn/127.0.0.1#1053 -server=/miaobeichina.com/127.0.0.1#1053 -server=/miaopai.com/127.0.0.1#1053 -server=/miaozhen.com/127.0.0.1#1053 -server=/mibook-10006092.cos.myqcloud.com/127.0.0.1#1053 -server=/mickey.tv/127.0.0.1#1053 -server=/mi.com/127.0.0.1#1053 -server=/microad-cn.com/127.0.0.1#1053 -server=/microbit.org/127.0.0.1#1053 -server=/microsoft/127.0.0.1#1053 -server=/microsoft365.com/127.0.0.1#1053 -server=/microsoftaccountguard.com/127.0.0.1#1053 -server=/microsoftadc.com/127.0.0.1#1053 -server=/microsoftads.com/127.0.0.1#1053 -server=/microsoftadvertising.com/127.0.0.1#1053 -server=/microsoftadvertisingregionalawards.com/127.0.0.1#1053 -server=/microsoftaffiliates.com/127.0.0.1#1053 -server=/microsoftapps.azurewebsites.net/127.0.0.1#1053 -server=/microsoft.az/127.0.0.1#1053 -server=/microsoftazuread-sso.com/127.0.0.1#1053 -server=/microsoft.be/127.0.0.1#1053 -server=/microsoft.by/127.0.0.1#1053 -server=/microsoft.ca/127.0.0.1#1053 -server=/microsoft.cat/127.0.0.1#1053 -server=/microsoft.ch/127.0.0.1#1053 -server=/microsoft.cl/127.0.0.1#1053 -server=/microsoftcloud.com/127.0.0.1#1053 -server=/microsoftcloudsummit.com/127.0.0.1#1053 -server=/microsoftcloudworkshop.com/127.0.0.1#1053 -server=/microsoft.com/127.0.0.1#1053 -server=/microsoft.com.akadns.net/127.0.0.1#1053 -server=/microsoftcommunitytraining.com/127.0.0.1#1053 -server=/microsoft.com.nsatc.net/127.0.0.1#1053 -server=/microsoft.cz/127.0.0.1#1053 -server=/microsoft.de/127.0.0.1#1053 -server=/microsoftdiplomados.com/127.0.0.1#1053 -server=/microsoft.dk/127.0.0.1#1053 -server=/microsofteca.com/127.0.0.1#1053 -server=/microsoftedge.com/127.0.0.1#1053 -server=/microsoftedgeinsider.com/127.0.0.1#1053 -server=/microsoft.ee/127.0.0.1#1053 -server=/microsoftemail.com/127.0.0.1#1053 -server=/microsoft.es/127.0.0.1#1053 -server=/microsoftestore.com.hk/127.0.0.1#1053 -server=/microsoft.eu/127.0.0.1#1053 -server=/microsoft.fi/127.0.0.1#1053 -server=/microsoftgamestack.com/127.0.0.1#1053 -server=/microsoft.ge/127.0.0.1#1053 -server=/microsoft-give.com/127.0.0.1#1053 -server=/microsofthouse.com/127.0.0.1#1053 -server=/microsofthouse.net/127.0.0.1#1053 -server=/microsoft.hu/127.0.0.1#1053 -server=/microsoft-int.com/127.0.0.1#1053 -server=/microsoftinternetsafety.net/127.0.0.1#1053 -server=/microsoft.io/127.0.0.1#1053 -server=/microsoftiotcentral.com/127.0.0.1#1053 -server=/microsoftiotinsiderlabs.com/127.0.0.1#1053 -server=/microsoft.is/127.0.0.1#1053 -server=/microsoft.it/127.0.0.1#1053 -server=/microsoft.jp/127.0.0.1#1053 -server=/microsoftlatamaitour.com/127.0.0.1#1053 -server=/microsoftlatamholiday.com/127.0.0.1#1053 -server=/microsoftlinc.com/127.0.0.1#1053 -server=/microsoft.lt/127.0.0.1#1053 -server=/microsoft.lu/127.0.0.1#1053 -server=/microsoft.lv/127.0.0.1#1053 -server=/microsoft.md/127.0.0.1#1053 -server=/microsoftmxfilantropia.com/127.0.0.1#1053 -server=/microsoft.net/127.0.0.1#1053 -server=/microsoftnews.cc/127.0.0.1#1053 -server=/microsoftnews.cn/127.0.0.1#1053 -server=/microsoftnews.com/127.0.0.1#1053 -server=/microsoftnewsforkids.com/127.0.0.1#1053 -server=/microsoftnewsforkids.net/127.0.0.1#1053 -server=/microsoftnewsforkids.org/127.0.0.1#1053 -server=/microsoftnewskids.com/127.0.0.1#1053 -server=/microsoftnewskids.net/127.0.0.1#1053 -server=/microsoftnewskids.org/127.0.0.1#1053 -server=/microsoftnews.net/127.0.0.1#1053 -server=/microsoftnews.org/127.0.0.1#1053 -server=/microsoftol.com/127.0.0.1#1053 -server=/microsoftol.com.cn/127.0.0.1#1053 -server=/microsoft-online.cn/127.0.0.1#1053 -server=/microsoftonline.com/127.0.0.1#1053 -server=/microsoft-online.com.cn/127.0.0.1#1053 -server=/microsoftonline-p.com/127.0.0.1#1053 -server=/microsoftonline-p.net/127.0.0.1#1053 -server=/microsoftpartnercommunity.com/127.0.0.1#1053 -server=/microsoftpartnersolutions.com/127.0.0.1#1053 -server=/microsoft.pl/127.0.0.1#1053 -server=/microsoft-ppe.com/127.0.0.1#1053 -server=/microsoft.pt/127.0.0.1#1053 -server=/microsoftreactor.cn/127.0.0.1#1053 -server=/microsoftreactor.com.cn/127.0.0.1#1053 -server=/microsoftreactor.info/127.0.0.1#1053 -server=/microsoftreactor.net/127.0.0.1#1053 -server=/microsoftreactor.org/127.0.0.1#1053 -server=/microsoftready.com/127.0.0.1#1053 -server=/microsoft.red/127.0.0.1#1053 -server=/microsoft.ro/127.0.0.1#1053 -server=/microsoft.rs/127.0.0.1#1053 -server=/microsoft.ru/127.0.0.1#1053 -server=/microsoft-sap-events.com/127.0.0.1#1053 -server=/microsoft-sbs-domains.com/127.0.0.1#1053 -server=/microsoft.se/127.0.0.1#1053 -server=/microsoft.si/127.0.0.1#1053 -server=/microsoftsilverlight.com/127.0.0.1#1053 -server=/microsoftsilverlight.net/127.0.0.1#1053 -server=/microsoftsilverlight.org/127.0.0.1#1053 -server=/microsoftsiteselection.com/127.0.0.1#1053 -server=/microsoft-smb.cn/127.0.0.1#1053 -server=/microsoftsqlserver.com/127.0.0.1#1053 -server=/microsoftstore.com/127.0.0.1#1053 -server=/microsoftstore.com.cn/127.0.0.1#1053 -server=/microsoftstore.com.hk/127.0.0.1#1053 -server=/microsoftstream.com/127.0.0.1#1053 -server=/microsoftteams.com/127.0.0.1#1053 -server=/microsofttradein.com/127.0.0.1#1053 -server=/microsofttranslator.com/127.0.0.1#1053 -server=/microsoft.tv/127.0.0.1#1053 -server=/microsoft.ua/127.0.0.1#1053 -server=/microsoftusercontent.com/127.0.0.1#1053 -server=/microsoftuwp.com/127.0.0.1#1053 -server=/microsoft.uz/127.0.0.1#1053 -server=/microsoft.vn/127.0.0.1#1053 -server=/m.icyrd.com/127.0.0.1#1053 -server=/midas.rong360.com/127.0.0.1#1053 -server=/mid.houyi.baofeng.net/127.0.0.1#1053 -server=/midinfo.baofeng.com/127.0.0.1#1053 -server=/mie99.net/127.0.0.1#1053 -server=/m.ienkdaged.cn/127.0.0.1#1053 -server=/m.ienkdago.cn/127.0.0.1#1053 -server=/migc.g.mi.com/127.0.0.1#1053 -server=/migcreport.g.mi.com/127.0.0.1#1053 -server=/migrate.driveapi.micloud.xiaomi.net/127.0.0.1#1053 -server=/migu.kssws.ks-cdn.com/127.0.0.1#1053 -server=/mihui.com/127.0.0.1#1053 -server=/miidi.net/127.0.0.1#1053 -server=/mijifen.com/127.0.0.1#1053 -server=/milk.yesky.com.cn/127.0.0.1#1053 -server=/millennialmedia.com/127.0.0.1#1053 -server=/millwardbrownacsr.com/127.0.0.1#1053 -server=/mimg.126.net/127.0.0.1#1053 -server=/mimg.7791.com.cn/127.0.0.1#1053 -server=/mindmanager.cc/127.0.0.1#1053 -server=/mindmapper.cc/127.0.0.1#1053 -server=/mindnode.com/127.0.0.1#1053 -server=/minecraft.net/127.0.0.1#1053 -server=/minecraftshop.com/127.0.0.1#1053 -server=/minesage.com/127.0.0.1#1053 -server=/minfo.wps.cn/127.0.0.1#1053 -server=/m.infvb.com/127.0.0.1#1053 -server=/mingxianshanghang.cn/127.0.0.1#1053 -server=/mingysh.com/127.0.0.1#1053 -server=/mini2015.qq.com/127.0.0.1#1053 -server=/mini.cpc.sogou.com/127.0.0.1#1053 -server=/minidcsc.kugou.com/127.0.0.1#1053 -server=/mini.eastday.com/127.0.0.1#1053 -server=/mini.hao123.com/127.0.0.1#1053 -server=/mini.jijiplayer.com/127.0.0.1#1053 -server=/minipage.2345.com/127.0.0.1#1053 -server=/minisite.letv.com/127.0.0.1#1053 -server=/minisite.vidown.cn/127.0.0.1#1053 -server=/minisplat.cn/127.0.0.1#1053 -server=/miniye.xjts.cn/127.0.0.1#1053 -server=/mipcache.bdstatic.com/127.0.0.1#1053 -server=/mipujia.com/127.0.0.1#1053 -server=/mip.yuelvxing.com/127.0.0.1#1053 -server=/m.irauz.com/127.0.0.1#1053 -server=/m.irkuj.com/127.0.0.1#1053 -server=/m.iruad.com/127.0.0.1#1053 -server=/mis.g.mi.com/127.0.0.1#1053 -server=/m.ishowms.com/127.0.0.1#1053 -server=/miui.com/127.0.0.1#1053 -server=/miui.hdfdm.com/127.0.0.1#1053 -server=/miui.hftaili.com/127.0.0.1#1053 -server=/mivideo.g.mi.com/127.0.0.1#1053 -server=/miwifi.com/127.0.0.1#1053 -server=/mixer.cupid.ptqy.gitv.tv/127.0.0.1#1053 -server=/mixin.one/127.0.0.1#1053 -server=/mj70.cn/127.0.0.1#1053 -server=/m.jcwwxn.com/127.0.0.1#1053 -server=/m.jdaot.com/127.0.0.1#1053 -server=/m.jgkto.com/127.0.0.1#1053 -server=/m.jhcgood.com/127.0.0.1#1053 -server=/m.jieyixiu.com/127.0.0.1#1053 -server=/m.jiirz.com/127.0.0.1#1053 -server=/m.jinchaoyu.com/127.0.0.1#1053 -server=/m.jioeg.com/127.0.0.1#1053 -server=/m.jkert.com/127.0.0.1#1053 -server=/m.jlkja.com/127.0.0.1#1053 -server=/m.jltdbyq.com/127.0.0.1#1053 -server=/m.joyxv.com/127.0.0.1#1053 -server=/mjs.csyymp4.com/127.0.0.1#1053 -server=/m.juyzr.com/127.0.0.1#1053 -server=/m.jwiyr.com/127.0.0.1#1053 -server=/m.jyhwt.cn/127.0.0.1#1053 -server=/m.kcooy.com/127.0.0.1#1053 -server=/m.kejet.net/127.0.0.1#1053 -server=/m.kewro.com/127.0.0.1#1053 -server=/m.khuoy.com/127.0.0.1#1053 -server=/mkitgfs.com/127.0.0.1#1053 -server=/m.kjfhe.com/127.0.0.1#1053 -server=/m.kjhfy.com/127.0.0.1#1053 -server=/m.kl6636.net/127.0.0.1#1053 -server=/m.ksttwz.com/127.0.0.1#1053 -server=/m.kubiqq.com/127.0.0.1#1053 -server=/m.kwjkd.com/127.0.0.1#1053 -server=/m.kxhie.com/127.0.0.1#1053 -server=/m.laigame7.net/127.0.0.1#1053 -server=/m.lancedu.com/127.0.0.1#1053 -server=/m.laojiayoufang.com/127.0.0.1#1053 -server=/m.laoqu123.com/127.0.0.1#1053 -server=/mlb.did.ijinshan.com/127.0.0.1#1053 -server=/m.lfdydk.com/127.0.0.1#1053 -server=/mlgrrqymdsyk.com/127.0.0.1#1053 -server=/mlnbike.com/127.0.0.1#1053 -server=/mlog.aipai.com/127.0.0.1#1053 -server=/mlog.hiido.com/127.0.0.1#1053 -server=/mlog.m1905.cn/127.0.0.1#1053 -server=/mlog.search.xiaomi.net/127.0.0.1#1053 -server=/m.lovezhishou.com/127.0.0.1#1053 -server=/mlssoccer.com/127.0.0.1#1053 -server=/mlt01.com/127.0.0.1#1053 -server=/m.lusrg.cn/127.0.0.1#1053 -server=/m.lyjz001.com/127.0.0.1#1053 -server=/m.lzida.com/127.0.0.1#1053 -server=/m.lzytt.com/127.0.0.1#1053 -server=/mm.2436.cn/127.0.0.1#1053 -server=/mmais.com.cn/127.0.0.1#1053 -server=/mm.anqu.com/127.0.0.1#1053 -server=/m.maopuzw.com/127.0.0.1#1053 -server=/mmcc.yxlady.com/127.0.0.1#1053 -server=/mmdnn.com/127.0.0.1#1053 -server=/mmg.aty.cp45.ott.cibntv.net/127.0.0.1#1053 -server=/mmg.aty.snmsohu.aisee.tv/127.0.0.1#1053 -server=/m.mgogo.com/127.0.0.1#1053 -server=/m.mgsue.cn/127.0.0.1#1053 -server=/m.miaoxinqipei.com/127.0.0.1#1053 -server=/m.mightiger.net/127.0.0.1#1053 -server=/m.miiuv.com/127.0.0.1#1053 -server=/m.miupp.com/127.0.0.1#1053 -server=/mm.jgchq.com/127.0.0.1#1053 -server=/m.mmkvi.com/127.0.0.1#1053 -server=/mm.moquanad.com/127.0.0.1#1053 -server=/m.mouaa.com/127.0.0.1#1053 -server=/m.mqgpo.com/127.0.0.1#1053 -server=/m.mrtuo.com/127.0.0.1#1053 -server=/m.mtuoa.com/127.0.0.1#1053 -server=/m.mushizhubao.com/127.0.0.1#1053 -server=/m.mxguan.com/127.0.0.1#1053 -server=/m.nduop.com/127.0.0.1#1053 -server=/m.neijh.com/127.0.0.1#1053 -server=/m.nejup.com/127.0.0.1#1053 -server=/m.nernv.com/127.0.0.1#1053 -server=/m.nfkos.com/127.0.0.1#1053 -server=/mng-ads.com/127.0.0.1#1053 -server=/m.niegg.com/127.0.0.1#1053 -server=/mnkan.com/127.0.0.1#1053 -server=/m.nmtouzi.com/127.0.0.1#1053 -server=/m.nnfiy.com/127.0.0.1#1053 -server=/m.nouaa.com/127.0.0.1#1053 -server=/m.nthtcs.com/127.0.0.1#1053 -server=/m.ntxiangtai.com/127.0.0.1#1053 -server=/m.nuxyz.cn/127.0.0.1#1053 -server=/mnwan.com/127.0.0.1#1053 -server=/m.nwxzs.com/127.0.0.1#1053 -server=/mnxtu.com/127.0.0.1#1053 -server=/m.nxypz.com/127.0.0.1#1053 -server=/moad.cn/127.0.0.1#1053 -server=/moatads.com/127.0.0.1#1053 -server=/mobad.ijinshan.com/127.0.0.1#1053 -server=/mobadme.jp/127.0.0.1#1053 -server=/mobaliyun.res.mgtv.com/127.0.0.1#1053 -server=/mobclix.com/127.0.0.1#1053 -server=/mob.com/127.0.0.1#1053 -server=/mobfox.com/127.0.0.1#1053 -server=/mobgi.com/127.0.0.1#1053 -server=/mob.huimee.net/127.0.0.1#1053 -server=/mobile01.com/127.0.0.1#1053 -server=/mobile2.da.mgtv.com/127.0.0.1#1053 -server=/mobilead.kuwo.cn/127.0.0.1#1053 -server=/mobileads.google.com/127.0.0.1#1053 -server=/mobileads.msn.com/127.0.0.1#1053 -server=/mobileanalytics.us-east-1.amazonaws.com/127.0.0.1#1053 -server=/mobileapptracking.com/127.0.0.1#1053 -server=/mobile-collector.newrelic.com/127.0.0.1#1053 -server=/mobile.da.mgtv.com/127.0.0.1#1053 -server=/mobiledissector.com/127.0.0.1#1053 -server=/mobilelog.kugou.com/127.0.0.1#1053 -server=/mobilemsg.youku.com/127.0.0.1#1053 -server=/mobile-pubt.ele.me/127.0.0.1#1053 -server=/mobile-service.segment.com/127.0.0.1#1053 -server=/mobilityware.com/127.0.0.1#1053 -server=/mobiorg8.com/127.0.0.1#1053 -server=/mobisage.cn/127.0.0.1#1053 -server=/mobvista.com/127.0.0.1#1053 -server=/modmyi.com/127.0.0.1#1053 -server=/m.oesnw.com/127.0.0.1#1053 -server=/mo.haloapps.cn/127.0.0.1#1053 -server=/mohecm.com/127.0.0.1#1053 -server=/mojang.com/127.0.0.1#1053 -server=/moji.com/127.0.0.1#1053 -server=/moka.inte.sogoucdn.com/127.0.0.1#1053 -server=/moke.com/127.0.0.1#1053 -server=/mo.kugou.com/127.0.0.1#1053 -server=/momentumms.com/127.0.0.1#1053 -server=/monero.how/127.0.0.1#1053 -server=/money.qz828.com/127.0.0.1#1053 -server=/monitor.uu.qq.com/127.0.0.1#1053 -server=/mono-project.com/127.0.0.1#1053 -server=/mon.xtgreat.com/127.0.0.1#1053 -server=/moodoocrv.com.cn/127.0.0.1#1053 -server=/moogos.com/127.0.0.1#1053 -server=/mookie1.com/127.0.0.1#1053 -server=/moons.66bhy.com/127.0.0.1#1053 -server=/moonwish.com.cn/127.0.0.1#1053 -server=/m.opqsr.com/127.0.0.1#1053 -server=/mopub.com/127.0.0.1#1053 -server=/moquanad.com/127.0.0.1#1053 -server=/moren-1252794300.file.myqcloud.com/127.0.0.1#1053 -server=/mo.res.wpscdn.cn/127.0.0.1#1053 -server=/morphcharts.com/127.0.0.1#1053 -server=/mosa86.com/127.0.0.1#1053 -server=/m.osndy.com/127.0.0.1#1053 -server=/mostat.wps.cn/127.0.0.1#1053 -server=/mo.test.haloapps.com/127.0.0.1#1053 -server=/motohelpr.com/127.0.0.1#1053 -server=/motu.p4p.sina.com.cn/127.0.0.1#1053 -server=/motu.pagechoice.net/127.0.0.1#1053 -server=/mou.niu.xunlei.com/127.0.0.1#1053 -server=/moupdate10332052.wps.cn/127.0.0.1#1053 -server=/m.ourlj.com/127.0.0.1#1053 -server=/moutaihotel.cn/127.0.0.1#1053 -server=/moves-export.com/127.0.0.1#1053 -server=/movie.miaiche.cn/127.0.0.1#1053 -server=/moviesanywhere.com/127.0.0.1#1053 -server=/m.oyrim.com/127.0.0.1#1053 -server=/mp3buscador.com/127.0.0.1#1053 -server=/mp4.res.hunantv.com/127.0.0.1#1053 -server=/m.panda.voiceads.cn/127.0.0.1#1053 -server=/mpb1.iteye.com/127.0.0.1#1053 -server=/mpb2.iteye.com/127.0.0.1#1053 -server=/m.pbino.com/127.0.0.1#1053 -server=/mpg.de/127.0.0.1#1053 -server=/m.phonthing.com/127.0.0.1#1053 -server=/m.picbr.com/127.0.0.1#1053 -server=/m.pieaa.com/127.0.0.1#1053 -server=/m.plerv.com/127.0.0.1#1053 -server=/mpnevolution.com/127.0.0.1#1053 -server=/m.pomkl.com/127.0.0.1#1053 -server=/m.poonscn.com/127.0.0.1#1053 -server=/m.pougg.com/127.0.0.1#1053 -server=/mpp.vindicosuite.com/127.0.0.1#1053 -server=/m.prazpf.cn/127.0.0.1#1053 -server=/mpro.baidu.com/127.0.0.1#1053 -server=/mps.nbcuni.com/127.0.0.1#1053 -server=/mps.weekslw.com/127.0.0.1#1053 -server=/m.pubbirdf.com/127.0.0.1#1053 -server=/m.puooi.com/127.0.0.1#1053 -server=/mpush.cn/127.0.0.1#1053 -server=/m.pwjhg.com/127.0.0.1#1053 -server=/m.pyerc.com/127.0.0.1#1053 -server=/mpzw.com/127.0.0.1#1053 -server=/m.qcw.com/127.0.0.1#1053 -server=/m.qhuik.com/127.0.0.1#1053 -server=/m.qianka.com/127.0.0.1#1053 -server=/m.qingzhencai.net/127.0.0.1#1053 -server=/m.qiyunmuye.com/127.0.0.1#1053 -server=/mqqad.cs0309.html5.qq.com/127.0.0.1#1053 -server=/mqqad.html5.qq.com/127.0.0.1#1053 -server=/mqqadr.reader.qq.com/127.0.0.1#1053 -server=/mqq.zgdmsj.cn/127.0.0.1#1053 -server=/m.qsove.com/127.0.0.1#1053 -server=/m.qulishi.com/127.0.0.1#1053 -server=/m.qusub.com/127.0.0.1#1053 -server=/m.qvxyz.com/127.0.0.1#1053 -server=/mrelko.com/127.0.0.1#1053 -server=/m.rhcapass.com/127.0.0.1#1053 -server=/m.ricpt.com/127.0.0.1#1053 -server=/mrksys.com/127.0.0.1#1053 -server=/m.rmuqvq.cn/127.0.0.1#1053 -server=/m.rmwdn.com/127.0.0.1#1053 -server=/m.romgv.com/127.0.0.1#1053 -server=/m.rrsdl.com/127.0.0.1#1053 -server=/m.rwganw.cn/127.0.0.1#1053 -server=/ms365surfaceoffer.com/127.0.0.1#1053 -server=/msa.akadns6.net/127.0.0.1#1053 -server=/msads.net/127.0.0.1#1053 -server=/m.sanitwealth.com/127.0.0.1#1053 -server=/m.sanjiangge.com/127.0.0.1#1053 -server=/msappproxy.net/127.0.0.1#1053 -server=/msauth.cn/127.0.0.1#1053 -server=/msauthimages.net/127.0.0.1#1053 -server=/msauth.net/127.0.0.1#1053 -server=/ms.awqsaged.cn/127.0.0.1#1053 -server=/m.sbenx.com/127.0.0.1#1053 -server=/m.sbinx.com/127.0.0.1#1053 -server=/mschallenge2018.com/127.0.0.1#1053 -server=/mscimg.com/127.0.0.1#1053 -server=/msclick2.kuwo.cn/127.0.0.1#1053 -server=/ms.cmcm.com/127.0.0.1#1053 -server=/ms.cnczjy.com/127.0.0.1#1053 -server=/ms.continuedsys.cn/127.0.0.1#1053 -server=/msdn.com/127.0.0.1#1053 -server=/msecnd.net/127.0.0.1#1053 -server=/msedge.net/127.0.0.1#1053 -server=/m.sewxi.com/127.0.0.1#1053 -server=/msftauth.cn/127.0.0.1#1053 -server=/msftauthimages.net/127.0.0.1#1053 -server=/msftauth.net/127.0.0.1#1053 -server=/msftcenterone.cn/127.0.0.1#1053 -server=/msftconnecttest.com/127.0.0.1#1053 -server=/msfteducation.ca/127.0.0.1#1053 -server=/msftidentity.com/127.0.0.1#1053 -server=/msft.info/127.0.0.1#1053 -server=/msft.net/127.0.0.1#1053 -server=/msftnet.org/127.0.0.1#1053 -server=/msg2.video.qiyi.com/127.0.0.1#1053 -server=/msg.71.am/127.0.0.1#1053 -server=/msga.71.am/127.0.0.1#1053 -server=/msga.cupid.iqiyi.com/127.0.0.1#1053 -server=/msgamesresearch.com/127.0.0.1#1053 -server=/msgamestudios.com/127.0.0.1#1053 -server=/msga.ptqy.gitv.tv/127.0.0.1#1053 -server=/msg.c002.ottcn.com/127.0.0.1#1053 -server=/msg.iqiyi.com/127.0.0.1#1053 -server=/msg.m.letv.com/127.0.0.1#1053 -server=/msg.mobile.kugou.com/127.0.0.1#1053 -server=/msg.ptqy.gitv.tv/127.0.0.1#1053 -server=/msg.push.51y5.net/127.0.0.1#1053 -server=/msg.qy.net/127.0.0.1#1053 -server=/msg.video.qiyi.com/127.0.0.1#1053 -server=/msg.youku.com/127.0.0.1#1053 -server=/m.shenyunkeji.com/127.0.0.1#1053 -server=/mshow.fang.com/127.0.0.1#1053 -server=/msidentity.com/127.0.0.1#1053 -server=/ms.ienkdaccessible.cn/127.0.0.1#1053 -server=/ms.ienkdaccessory.cn/127.0.0.1#1053 -server=/msignitechina.com/127.0.0.1#1053 -server=/m.simba.taobao.com/127.0.0.1#1053 -server=/msinnovationchallenge.com/127.0.0.1#1053 -server=/msite.baidu.com/127.0.0.1#1053 -server=/m.sjaidu.com/127.0.0.1#1053 -server=/m.sjuqc.com/127.0.0.1#1053 -server=/ms.jyhwt.cn/127.0.0.1#1053 -server=/m.sjzhushou.com/127.0.0.1#1053 -server=/msltzer.cn/127.0.0.1#1053 -server=/msminico.cn/127.0.0.1#1053 -server=/msminico.com.cn/127.0.0.1#1053 -server=/m.smsksx.com/127.0.0.1#1053 -server=/ms.myyage.com/127.0.0.1#1053 -server=/msnclick.wrating.com/127.0.0.1#1053 -server=/msn.cn/127.0.0.1#1053 -server=/msn.com/127.0.0.1#1053 -server=/msn.com.cn/127.0.0.1#1053 -server=/msn.com.nsatc.net/127.0.0.1#1053 -server=/msn.com.tw/127.0.0.1#1053 -server=/msnewskids.com/127.0.0.1#1053 -server=/msnewskids.net/127.0.0.1#1053 -server=/msnewskids.org/127.0.0.1#1053 -server=/msnkids.com/127.0.0.1#1053 -server=/msnmaps.com/127.0.0.1#1053 -server=/msn.wrating.com/127.0.0.1#1053 -server=/msocdn.com/127.0.0.1#1053 -server=/msocsp.com/127.0.0.1#1053 -server=/msopentech.cn/127.0.0.1#1053 -server=/m.sosjyx.com/127.0.0.1#1053 -server=/mspairlift.com/127.0.0.1#1053 -server=/msphoneclick.kuwo.cn/127.0.0.1#1053 -server=/mspil.cn/127.0.0.1#1053 -server=/msra.cn/127.0.0.1#1053 -server=/msropendata.com/127.0.0.1#1053 -server=/m.srrux.com/127.0.0.1#1053 -server=/mssp.baidu.com/127.0.0.1#1053 -server=/ms-studiosmedia.com/127.0.0.1#1053 -server=/mstat.zol.com.cn/127.0.0.1#1053 -server=/mstea.ms/127.0.0.1#1053 -server=/msturing.org/127.0.0.1#1053 -server=/mstzym.com/127.0.0.1#1053 -server=/msudalosti.com/127.0.0.1#1053 -server=/m.suehy.com/127.0.0.1#1053 -server=/msunlimitedcloudsummit.com/127.0.0.1#1053 -server=/msvevent.com/127.0.0.1#1053 -server=/ms.vipstatic.com/127.0.0.1#1053 -server=/msxiaobing.com/127.0.0.1#1053 -server=/msxiaoice.com/127.0.0.1#1053 -server=/msxiaona.cn/127.0.0.1#1053 -server=/m.sxxca.com/127.0.0.1#1053 -server=/m.symaa.cn/127.0.0.1#1053 -server=/m.symab.cn/127.0.0.1#1053 -server=/m.symac.cn/127.0.0.1#1053 -server=/m.symad.cn/127.0.0.1#1053 -server=/m.symag.cn/127.0.0.1#1053 -server=/m.symaj.cn/127.0.0.1#1053 -server=/msypr.com/127.0.0.1#1053 -server=/m.szqifu.com/127.0.0.1#1053 -server=/m.tansuotv.com/127.0.0.1#1053 -server=/m.tcksbz888.com/127.0.0.1#1053 -server=/mti.35kds.com/127.0.0.1#1053 -server=/m.tiantianedu.net/127.0.0.1#1053 -server=/m.tiaopimiao.net/127.0.0.1#1053 -server=/m.tick0.com/127.0.0.1#1053 -server=/m.tiojk.com/127.0.0.1#1053 -server=/mtj.baidu.com/127.0.0.1#1053 -server=/mtl.ttsqgs.com/127.0.0.1#1053 -server=/mtrace.qq.com/127.0.0.1#1053 -server=/mtty-cdn.mtty.xin/127.0.0.1#1053 -server=/m.tuopp.com/127.0.0.1#1053 -server=/m.twldmx.com/127.0.0.1#1053 -server=/mtxsk.com/127.0.0.1#1053 -server=/m.txtxr.com/127.0.0.1#1053 -server=/mubite.cn/127.0.0.1#1053 -server=/m.uc123.com/127.0.0.1#1053 -server=/m.uczzd.cn/127.0.0.1#1053 -server=/m.ueram.com/127.0.0.1#1053 -server=/m.uissm.com/127.0.0.1#1053 -server=/munchkin.marketo.net/127.0.0.1#1053 -server=/music.163.com/127.0.0.1#1053 -server=/music.apple.com/127.0.0.1#1053 -server=/musik-mp3.info/127.0.0.1#1053 -server=/mvads.kugou.com/127.0.0.1#1053 -server=/m.vaxyz.com/127.0.0.1#1053 -server=/m.vbaou.com/127.0.0.1#1053 -server=/m.vbieu.com/127.0.0.1#1053 -server=/m.vbinu.com/127.0.0.1#1053 -server=/m.verpt.com/127.0.0.1#1053 -server=/m.vichc.com/127.0.0.1#1053 -server=/mvip.zhuba8.com/127.0.0.1#1053 -server=/m.vouky.com/127.0.0.1#1053 -server=/m.vpon.com/127.0.0.1#1053 -server=/m.vsxet.com/127.0.0.1#1053 -server=/mwa.xingyimin.com/127.0.0.1#1053 -server=/m.wcjup.com/127.0.0.1#1053 -server=/m.weboser.com/127.0.0.1#1053 -server=/m.weixingshexiangji.net/127.0.0.1#1053 -server=/m.wervp.com/127.0.0.1#1053 -server=/mwf-service.akamaized.net/127.0.0.1#1053 -server=/m.wgewj.cn/127.0.0.1#1053 -server=/m.wikigifth.com/127.0.0.1#1053 -server=/m.wjhehaofc.com/127.0.0.1#1053 -server=/m.wkjhd.com/127.0.0.1#1053 -server=/mwlucuvbyrff.com/127.0.0.1#1053 -server=/m.wnxcg.com/127.0.0.1#1053 -server=/m.wonwg.com/127.0.0.1#1053 -server=/m.wooboo.com.cn/127.0.0.1#1053 -server=/m.wrating.com/127.0.0.1#1053 -server=/m.wshufa.com/127.0.0.1#1053 -server=/m.wsxxu.com/127.0.0.1#1053 -server=/m.wuqutu.com/127.0.0.1#1053 -server=/m.wxhh678.com/127.0.0.1#1053 -server=/m.xcy8.com/127.0.0.1#1053 -server=/m.xdkje.com/127.0.0.1#1053 -server=/m.xeihy.com/127.0.0.1#1053 -server=/m.xetvb.com/127.0.0.1#1053 -server=/m.xhaiu.com/127.0.0.1#1053 -server=/mxhichina.com/127.0.0.1#1053 -server=/m.xiangchim0.com/127.0.0.1#1053 -server=/m.xikdn.com/127.0.0.1#1053 -server=/m.xingxd.com/127.0.0.1#1053 -server=/m.xkqpco.com/127.0.0.1#1053 -server=/m.xkqpco.com.com/127.0.0.1#1053 -server=/m.xlsschina15.net/127.0.0.1#1053 -server=/m.xmgysweb.com/127.0.0.1#1053 -server=/mxmrt.com/127.0.0.1#1053 -server=/m.xpjis.com/127.0.0.1#1053 -server=/mxpnl.com/127.0.0.1#1053 -server=/mxvp-ad-config-prod-1.zenmxapps.com/127.0.0.1#1053 -server=/mxvp-feature-toggle-prod-1.zenmxapps.com/127.0.0.1#1053 -server=/m.xxkio.com/127.0.0.1#1053 -server=/my1fc.m.b5200.net/127.0.0.1#1053 -server=/my1fimg.m.b5200.net/127.0.0.1#1053 -server=/myad.toocle.com/127.0.0.1#1053 -server=/m.yalayi.com/127.0.0.1#1053 -server=/m.yangjingbang.net/127.0.0.1#1053 -server=/mycleanmymac.com/127.0.0.1#1053 -server=/mycnnews.com/127.0.0.1#1053 -server=/mydas.mobi/127.0.0.1#1053 -server=/mydisplay.ctfile.com/127.0.0.1#1053 -server=/m.yes.youku.com/127.0.0.1#1053 -server=/myes.youku.com/127.0.0.1#1053 -server=/myetherwallet.com/127.0.0.1#1053 -server=/myfontastic.com/127.0.0.1#1053 -server=/myhomemsn.com/127.0.0.1#1053 -server=/m.yicang8.com/127.0.0.1#1053 -server=/myilibrary.com/127.0.0.1#1053 -server=/m.yingchengtou.com/127.0.0.1#1053 -server=/myjsym.zichenit.com/127.0.0.1#1053 -server=/mymicrosoft.com/127.0.0.1#1053 -server=/mymm.zichenit.com/127.0.0.1#1053 -server=/my.mobfox.com/127.0.0.1#1053 -server=/m.ynnke.com/127.0.0.1#1053 -server=/m.yoiur.com/127.0.0.1#1053 -server=/m.yooli.com/127.0.0.1#1053 -server=/m.youweiprint.com/127.0.0.1#1053 -server=/m.yoyi.com.cn/127.0.0.1#1053 -server=/mypikpak.com/127.0.0.1#1053 -server=/myqcloud.com/127.0.0.1#1053 -server=/m.ysdhe.com/127.0.0.1#1053 -server=/mytanwan.com/127.0.0.1#1053 -server=/mytvsuper.com/127.0.0.1#1053 -server=/mytzdhz.cn/127.0.0.1#1053 -server=/m.yuandajiayuan.com/127.0.0.1#1053 -server=/myunlu.com/127.0.0.1#1053 -server=/m.yuxyz.com/127.0.0.1#1053 -server=/m.ywbwsm.com/127.0.0.1#1053 -server=/myycrw.com/127.0.0.1#1053 -server=/m.yyeks.com/127.0.0.1#1053 -server=/m.yyjhf.com/127.0.0.1#1053 -server=/m.yzjlsb.com/127.0.0.1#1053 -server=/myzk1.com/127.0.0.1#1053 -server=/myzwqwe12.com/127.0.0.1#1053 -server=/m.zabxb.com/127.0.0.1#1053 -server=/m.zaoss.com/127.0.0.1#1053 -server=/m.zeiaa.com/127.0.0.1#1053 -server=/m.zenffs.cn/127.0.0.1#1053 -server=/m.zenwq.com/127.0.0.1#1053 -server=/m.zhuyuanp.club/127.0.0.1#1053 -server=/m.zhuyuanp.shop/127.0.0.1#1053 -server=/m.zhuyuanp.top/127.0.0.1#1053 -server=/m.zkwsdf.com/127.0.0.1#1053 -server=/m.zougg.com/127.0.0.1#1053 -server=/mzstatic.com/127.0.0.1#1053 -server=/m.zuopp.com/127.0.0.1#1053 -server=/mzy2014.com/127.0.0.1#1053 -server=/na1r.services.adobe.com/127.0.0.1#1053 -server=/na2m-pr.licenses.adobe.com/127.0.0.1#1053 -server=/n.ads3-adnow.com/127.0.0.1#1053 -server=/nai.cpxkvc.com/127.0.0.1#1053 -server=/name.com/127.0.0.1#1053 -server=/namedq.com/127.0.0.1#1053 -server=/namemek.com/127.0.0.1#1053 -server=/n.amoad.com/127.0.0.1#1053 -server=/n.a.mosenni.com/127.0.0.1#1053 -server=/nansen.ai/127.0.0.1#1053 -server=/naqigs.com/127.0.0.1#1053 -server=/nasa.gov/127.0.0.1#1053 -server=/nativeapp.toutiao.com/127.0.0.1#1053 -server=/nature.com/127.0.0.1#1053 -server=/navi.gd.chinamobile.com/127.0.0.1#1053 -server=/nav.winasdaq.com/127.0.0.1#1053 -server=/nbhxgjz.com/127.0.0.1#1053 -server=/nbjjd.com/127.0.0.1#1053 -server=/nbzq.net/127.0.0.1#1053 -server=/nc004x.corp.youdao.com/127.0.0.1#1053 -server=/nc045x.corp.youdao.com/127.0.0.1#1053 -server=/ncachear.com/127.0.0.1#1053 -server=/ncbi.nlm.nih.gov/127.0.0.1#1053 -server=/nchte.com/127.0.0.1#1053 -server=/nch.xnghmc.com/127.0.0.1#1053 -server=/nclog.mars.baofeng.net/127.0.0.1#1053 -server=/nclog.pad.baofeng.net/127.0.0.1#1053 -server=/n.cosbot.cn/127.0.0.1#1053 -server=/ncoyqc.com/127.0.0.1#1053 -server=/ndr.de/127.0.0.1#1053 -server=/ndtzx.com/127.0.0.1#1053 -server=/ndy.code.weddingeeos.com/127.0.0.1#1053 -server=/ne.1rtb.com/127.0.0.1#1053 -server=/ne9377.com/127.0.0.1#1053 -server=/neirong.baidu.com/127.0.0.1#1053 -server=/nend.net/127.0.0.1#1053 -server=/nest.youwatch.org/127.0.0.1#1053 -server=/netdna-cdn.com/127.0.0.1#1053 -server=/netease.com/127.0.0.1#1053 -server=/netflix.ca/127.0.0.1#1053 -server=/netflix.com/127.0.0.1#1053 -server=/netflix.com.au/127.0.0.1#1053 -server=/netflixdnstest10.com/127.0.0.1#1053 -server=/netflixdnstest1.com/127.0.0.1#1053 -server=/netflixdnstest2.com/127.0.0.1#1053 -server=/netflixdnstest3.com/127.0.0.1#1053 -server=/netflixdnstest4.com/127.0.0.1#1053 -server=/netflixdnstest5.com/127.0.0.1#1053 -server=/netflixdnstest6.com/127.0.0.1#1053 -server=/netflixdnstest7.com/127.0.0.1#1053 -server=/netflixdnstest8.com/127.0.0.1#1053 -server=/netflixdnstest9.com/127.0.0.1#1053 -server=/netflixinvestor.com/127.0.0.1#1053 -server=/netflix.net/127.0.0.1#1053 -server=/netflixstudios.com/127.0.0.1#1053 -server=/netflixtechblog.com/127.0.0.1#1053 -server=/netko0o.com/127.0.0.1#1053 -server=/netmarble.com/127.0.0.1#1053 -server=/net.rayjump.com/127.0.0.1#1053 -server=/netshelter.net/127.0.0.1#1053 -server=/netspidermm.indiatimes.com/127.0.0.1#1053 -server=/network.aufeminin.com/127.0.0.1#1053 -server=/networkbench.com/127.0.0.1#1053 -server=/network.business.com/127.0.0.1#1053 -server=/network.sofeminine.co.uk/127.0.0.1#1053 -server=/newapi.com/127.0.0.1#1053 -server=/newipnow.com/127.0.0.1#1053 -server=/new.ltheanine.cn/127.0.0.1#1053 -server=/newrelic.com/127.0.0.1#1053 -server=/news.51y5.net/127.0.0.1#1053 -server=/news.58.com/127.0.0.1#1053 -server=/news.cxxtv.com/127.0.0.1#1053 -server=/news-img.51y5.net/127.0.0.1#1053 -server=/news-log.51y5.net/127.0.0.1#1053 -server=/news-l.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/news-l.play.cp81.ott.cibntv.net/127.0.0.1#1053 -server=/news-l.play.ott.video.qq.com/127.0.0.1#1053 -server=/news.mpush.qq.com/127.0.0.1#1053 -server=/newspage.xilu.com/127.0.0.1#1053 -server=/news.push.126.net/127.0.0.1#1053 -server=/newspush.sinajs.cn/127.0.0.1#1053 -server=/news.s9377.com/127.0.0.1#1053 -server=/newswifiapi.dfshurufa.com/127.0.0.1#1053 -server=/news.xueyanshan.com/127.0.0.1#1053 -server=/newton-api.ele.me/127.0.0.1#1053 -server=/new.yokaunion.com/127.0.0.1#1053 -server=/new.zhqiu.com/127.0.0.1#1053 -server=/nex.163.com/127.0.0.1#1053 -server=/nexage.com/127.0.0.1#1053 -server=/nexstep.zdworks.com/127.0.0.1#1053 -server=/nextcps.com/127.0.0.1#1053 -server=/nextechafrica.net/127.0.0.1#1053 -server=/nextlnk9.com/127.0.0.1#1053 -server=/nextmedia.com/127.0.0.1#1053 -server=/nexus.ensighten.com/127.0.0.1#1053 -server=/nfh.cnshef.com/127.0.0.1#1053 -server=/nflxext.com/127.0.0.1#1053 -server=/nflximg.com/127.0.0.1#1053 -server=/nflximg.net/127.0.0.1#1053 -server=/nflxso.net/127.0.0.1#1053 -server=/nflxvideo.net/127.0.0.1#1053 -server=/nfoservers.com/127.0.0.1#1053 -server=/nftcalendar.io/127.0.0.1#1053 -server=/nftgo.io/127.0.0.1#1053 -server=/nftscan.com/127.0.0.1#1053 -server=/ngabbs.com/127.0.0.1#1053 -server=/ngads.go.com/127.0.0.1#1053 -server=/n.gemini.yahoo.com/127.0.0.1#1053 -server=/nhncorp.jp/127.0.0.1#1053 -server=/nianticlabs.com/127.0.0.1#1053 -server=/nicelabel.cc/127.0.0.1#1053 -server=/nichibenren.or.jp/127.0.0.1#1053 -server=/nicodic.jp/127.0.0.1#1053 -server=/nicomanga.jp/127.0.0.1#1053 -server=/niconico.com/127.0.0.1#1053 -server=/nicorette.co.kr/127.0.0.1#1053 -server=/nicoseiga.jp/127.0.0.1#1053 -server=/nicovideo.jp/127.0.0.1#1053 -server=/nih.gov/127.0.0.1#1053 -server=/nimg.jp/127.0.0.1#1053 -server=/ninebox.cn/127.0.0.1#1053 -server=/ninemsn.imrworldwide.com/127.0.0.1#1053 -server=/nintendo.com/127.0.0.1#1053 -server=/nintendo.net/127.0.0.1#1053 -server=/niurenw.com/127.0.0.1#1053 -server=/niux88.com/127.0.0.1#1053 -server=/niuxgame77.com/127.0.0.1#1053 -server=/niwd.zhybw88.com/127.0.0.1#1053 -server=/njdijiani.com/127.0.0.1#1053 -server=/njfsk.com/127.0.0.1#1053 -server=/njmpacc.com/127.0.0.1#1053 -server=/njq.net/127.0.0.1#1053 -server=/njs.imagicskin.com/127.0.0.1#1053 -server=/njs.myyage.com/127.0.0.1#1053 -server=/njs.reliancevalve.com/127.0.0.1#1053 -server=/njwxh.com/127.0.0.1#1053 -server=/njxczy.com/127.0.0.1#1053 -server=/nkeo.top/127.0.0.1#1053 -server=/nl.notice.iqiyi.com/127.0.0.1#1053 -server=/nlog.baidu.com/127.0.0.1#1053 -server=/nl.rcd.iqiyi.com/127.0.0.1#1053 -server=/nl.rcd.ptqy.gitv.tv/127.0.0.1#1053 -server=/n.mark.letv.com/127.0.0.1#1053 -server=/n.ma.social-touch.com/127.0.0.1#1053 -server=/nmbtedu.com/127.0.0.1#1053 -server=/nmkgs.cn/127.0.0.1#1053 -server=/nmpcdn.com/127.0.0.1#1053 -server=/nmqbg.com/127.0.0.1#1053 -server=/nnedbx.com/127.0.0.1#1053 -server=/nngft.com/127.0.0.1#1053 -server=/noberlmall.com/127.0.0.1#1053 -server=/nomadlandmovie.ch/127.0.0.1#1053 -server=/nonfungible.com/127.0.0.1#1053 -server=/nongsalei.com/127.0.0.1#1053 -server=/nop.xpanama.net/127.0.0.1#1053 -server=/notice.game.xiaomi.com/127.0.0.1#1053 -server=/notice.iqiyi.com/127.0.0.1#1053 -server=/notice.uchome.manyou.com/127.0.0.1#1053 -server=/notifiter.youmi.net/127.0.0.1#1053 -server=/notify.oupeng.com/127.0.0.1#1053 -server=/notion.so/127.0.0.1#1053 -server=/novafile.com/127.0.0.1#1053 -server=/novelsns.html5.qq.com/127.0.0.1#1053 -server=/nowe.com/127.0.0.1#1053 -server=/nowskip.com/127.0.0.1#1053 -server=/noxagile.duapp.com/127.0.0.1#1053 -server=/npdaqy6x1j.me/127.0.0.1#1053 -server=/nr1234.com/127.0.0.1#1053 -server=/nrk.no/127.0.0.1#1053 -server=/nryiou.cn/127.0.0.1#1053 -server=/nsclickvideo.baidu.com/127.0.0.1#1053 -server=/nsnmiaomu.cn/127.0.0.1#1053 -server=/nsstatic.net/127.0.0.1#1053 -server=/nssurge.com/127.0.0.1#1053 -server=/n-st.vip.com/127.0.0.1#1053 -server=/nsy.hnzyfs.com/127.0.0.1#1053 -server=/ntalker.com/127.0.0.1#1053 -server=/nterbx.com/127.0.0.1#1053 -server=/ntfsformac.cc/127.0.0.1#1053 -server=/ntfsformac.cn/127.0.0.1#1053 -server=/nthyn.com/127.0.0.1#1053 -server=/nt.phpwind.com/127.0.0.1#1053 -server=/ntx.quanliyouxi.cn/127.0.0.1#1053 -server=/nuget.org/127.0.0.1#1053 -server=/nugettest.org/127.0.0.1#1053 -server=/nuomi.com/127.0.0.1#1053 -server=/nvrentao8.com/127.0.0.1#1053 -server=/nvshenfan.com/127.0.0.1#1053 -server=/nv.souid.com/127.0.0.1#1053 -server=/nwejs.alcryp.com/127.0.0.1#1053 -server=/nwejs.myzcoffice.com/127.0.0.1#1053 -server=/n.wjr1x.cn/127.0.0.1#1053 -server=/nwwap.com/127.0.0.1#1053 -server=/nxrhs.com/127.0.0.1#1053 -server=/nxrxt.con/127.0.0.1#1053 -server=/nxta.org/127.0.0.1#1053 -server=/ny7f6goy.bid/127.0.0.1#1053 -server=/nyctale.io/127.0.0.1#1053 -server=/n.yfi8.com/127.0.0.1#1053 -server=/nylalobghyhirgh.com/127.0.0.1#1053 -server=/nysita.com/127.0.0.1#1053 -server=/nyt.com/127.0.0.1#1053 -server=/nytimes.com/127.0.0.1#1053 -server=/nytimg.com/127.0.0.1#1053 -server=/nytstyle.com/127.0.0.1#1053 -server=/nzezn.com/127.0.0.1#1053 -server=/n.zqqf0.cn/127.0.0.1#1053 -server=/o.08jm.cn/127.0.0.1#1053 -server=/o091i.com/127.0.0.1#1053 -server=/o2o.api.xiaomi.com/127.0.0.1#1053 -server=/o2omobi.com/127.0.0.1#1053 -server=/o365cn.com/127.0.0.1#1053 -server=/o365files.cn/127.0.0.1#1053 -server=/o365weve.com/127.0.0.1#1053 -server=/o365weve-dev.com/127.0.0.1#1053 -server=/o365weve-ppe.com/127.0.0.1#1053 -server=/o7xs6runw.bkt.clouddn.com/127.0.0.1#1053 -server=/oa129.com/127.0.0.1#1053 -server=/oadz.com/127.0.0.1#1053 -server=/oaistatic.com/127.0.0.1#1053 -server=/oa-panther.data.aliyun.com/127.0.0.1#1053 -server=/oas.autotrader.co.uk/127.0.0.1#1053 -server=/oasc07.citywire.co.uk/127.0.0.1#1053 -server=/oascentral.abclocal.go.com/127.0.0.1#1053 -server=/oascentral.chron.com/127.0.0.1#1053 -server=/oascentral.hosted.ap.org/127.0.0.1#1053 -server=/oascentral.lycos.com/127.0.0.1#1053 -server=/oascentral.newsmax.com/127.0.0.1#1053 -server=/oascentral.sina.com/127.0.0.1#1053 -server=/oascentral.sina.com.hk/127.0.0.1#1053 -server=/oask.xulizui6.com/127.0.0.1#1053 -server=/oas.luxweb.com/127.0.0.1#1053 -server=/oaspapps.com/127.0.0.1#1053 -server=/oaspapps.com.akadns.net/127.0.0.1#1053 -server=/oas.skyscanner.net/127.0.0.1#1053 -server=/obeyter.com/127.0.0.1#1053 -server=/ocbv0.baiyangzs.com/127.0.0.1#1053 -server=/odc.starwave.com/127.0.0.1#1053 -server=/odin.goo.mx/127.0.0.1#1053 -server=/oecd-ilibrary.org/127.0.0.1#1053 -server=/office/127.0.0.1#1053 -server=/office365.com/127.0.0.1#1053 -server=/office365love.com/127.0.0.1#1053 -server=/office365tw.com/127.0.0.1#1053 -server=/officecdn-microsoft-com.akamaized.net/127.0.0.1#1053 -server=/office.com/127.0.0.1#1053 -server=/officedev.cn/127.0.0.1#1053 -server=/officeme.cn/127.0.0.1#1053 -server=/office.net/127.0.0.1#1053 -server=/officeplus.cn/127.0.0.1#1053 -server=/offline-adv.oray.com/127.0.0.1#1053 -server=/o.if.qidian.com/127.0.0.1#1053 -server=/oikxlcv.wang/127.0.0.1#1053 -server=/oimagea2.ydstatic.com/127.0.0.1#1053 -server=/ojngisbfwwyp.com/127.0.0.1#1053 -server=/ok365.com/127.0.0.1#1053 -server=/ok.432kkk.com/127.0.0.1#1053 -server=/okex.com/127.0.0.1#1053 -server=/okkkk.com/127.0.0.1#1053 -server=/oklink.com/127.0.0.1#1053 -server=/okm918.com/127.0.0.1#1053 -server=/okokw.com/127.0.0.1#1053 -server=/okx.com/127.0.0.1#1053 -server=/olcdn.com/127.0.0.1#1053 -server=/olpvimg.onlylady.com/127.0.0.1#1053 -server=/olpv.onlylady.com/127.0.0.1#1053 -server=/olstats.onlylady.com/127.0.0.1#1053 -server=/omega7o.com/127.0.0.1#1053 -server=/omg.inte.sogoucdn.com/127.0.0.1#1053 -server=/o.minisplat.cn/127.0.0.1#1053 -server=/omnigroup.com/127.0.0.1#1053 -server=/omnikool.discovery.com/127.0.0.1#1053 -server=/omtrdc.net/127.0.0.1#1053 -server=/onclickads.net/127.0.0.1#1053 -server=/onclicktop.com/127.0.0.1#1053 -server=/onclkds.com/127.0.0.1#1053 -server=/one.520319.cn/127.0.0.1#1053 -server=/onecollector.cloudapp.aria/127.0.0.1#1053 -server=/onecollector.cloudapp.aria.akadns.net/127.0.0.1#1053 -server=/onedrive.co/127.0.0.1#1053 -server=/onedrive.com/127.0.0.1#1053 -server=/onedrive.co.uk/127.0.0.1#1053 -server=/onedrive.eu/127.0.0.1#1053 -server=/onedrive.live.com/127.0.0.1#1053 -server=/onedrive.net/127.0.0.1#1053 -server=/onedrive.org/127.0.0.1#1053 -server=/onenote.com/127.0.0.1#1053 -server=/onenote.net/127.0.0.1#1053 -server=/onepush.query.yahoo.com/127.0.0.1#1053 -server=/onesoft.im/127.0.0.1#1053 -server=/onestore.ms/127.0.0.1#1053 -server=/onetad.com/127.0.0.1#1053 -server=/onetag-sys.com/127.0.0.1#1053 -server=/onetrust.com/127.0.0.1#1053 -server=/onewhee.com/127.0.0.1#1053 -server=/onlifjj.net/127.0.0.1#1053 -server=/onlinetips.baofeng5.baofeng.net/127.0.0.1#1053 -server=/on.maxspeedcdn.com/127.0.0.1#1053 -server=/onmicrosoft.com/127.0.0.1#1053 -server=/ooklaserver.net/127.0.0.1#1053 -server=/oomyv.com/127.0.0.1#1053 -server=/ooniu.com/127.0.0.1#1053 -server=/ooss.oss.aliyuncs.com/127.0.0.1#1053 -server=/ooyala.com/127.0.0.1#1053 -server=/op00w.baiyangzs.com/127.0.0.1#1053 -server=/openaiapi-site.azureedge.netpayload:/127.0.0.1#1053 -server=/openai.com/127.0.0.1#1053 -server=/openapi-news.meizu.com/127.0.0.1#1053 -server=/open.play.cn/127.0.0.1#1053 -server=/openrcv.baidu.com/127.0.0.1#1053 -server=/opensea.io/127.0.0.1#1053 -server=/openstat.net/127.0.0.1#1053 -server=/openstorage.ad.cmvideo.cn/127.0.0.1#1053 -server=/opentranslatorstothings.org/127.0.0.1#1053 -server=/openvpn.net/127.0.0.1#1053 -server=/openwrt.org/127.0.0.1#1053 -server=/opgirl-tmp.adbxb.cn/127.0.0.1#1053 -server=/oppo.yidianzixun.com/127.0.0.1#1053 -server=/optaim.com/127.0.0.1#1053 -server=/opticsforthecloud.net/127.0.0.1#1053 -server=/optimism.io/127.0.0.1#1053 -server=/optimix.asia/127.0.0.1#1053 -server=/optimix.cn/127.0.0.1#1053 -server=/optimized-by.rubiconproject.com/127.0.0.1#1053 -server=/optimizelyapis.com/127.0.0.1#1053 -server=/optimizely.com/127.0.0.1#1053 -server=/oq68.com/127.0.0.1#1053 -server=/orchidscape.net/127.0.0.1#1053 -server=/oredero.com/127.0.0.1#1053 -server=/orithegame.com/127.0.0.1#1053 -server=/orkut.com/127.0.0.1#1053 -server=/orz.hupu.com/127.0.0.1#1053 -server=/osapublishing.org/127.0.0.1#1053 -server=/osc.uranus.sogou.com/127.0.0.1#1053 -server=/osdinfra.net/127.0.0.1#1053 -server=/osfota.cdn.aliyun.com/127.0.0.1#1053 -server=/osha.gov/127.0.0.1#1053 -server=/oss-asq-static.11222.cn/127.0.0.1#1053 -server=/osxdaily.com/127.0.0.1#1053 -server=/otf.msn.com/127.0.0.1#1053 -server=/oth.eve.mdt.qq.com/127.0.0.1#1053 -server=/otheve.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/oth.str.mdt.qq.com/127.0.0.1#1053 -server=/othstr.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/oth.update.mdt.qq.com/127.0.0.1#1053 -server=/ou188.com/127.0.0.1#1053 -server=/oup.com/127.0.0.1#1053 -server=/ourbits.club/127.0.0.1#1053 -server=/ourdvs.com/127.0.0.1#1053 -server=/outingsapp.com/127.0.0.1#1053 -server=/outlook.cn/127.0.0.1#1053 -server=/outlook.com/127.0.0.1#1053 -server=/outlookgroups.ms/127.0.0.1#1053 -server=/outlookmobile.com/127.0.0.1#1053 -server=/output.nend.net/127.0.0.1#1053 -server=/overcast.fm/127.0.0.1#1053 -server=/overturechina.com/127.0.0.1#1053 -server=/overture.com/127.0.0.1#1053 -server=/ovi.com.cn/127.0.0.1#1053 -server=/ovid.com/127.0.0.1#1053 -server=/ow.biqugego.com/127.0.0.1#1053 -server=/owin.biqugego.com/127.0.0.1#1053 -server=/ow.ly/127.0.0.1#1053 -server=/ow.s1.shuhuangge.org/127.0.0.1#1053 -server=/ow.s2.shuhuangge.org/127.0.0.1#1053 -server=/oxfordartonline.com/127.0.0.1#1053 -server=/oxfordbibliographies.com/127.0.0.1#1053 -server=/oxfordmusiconline.com/127.0.0.1#1053 -server=/ox.furaffinity.net/127.0.0.1#1053 -server=/oyzsverimywg.com/127.0.0.1#1053 -server=/p0y.cn/127.0.0.1#1053 -server=/p1.18zhongyao.com/127.0.0.1#1053 -server=/p1.qinsx.cn/127.0.0.1#1053 -server=/p215223.clksite.com/127.0.0.1#1053 -server=/p215223.inclk.com/127.0.0.1#1053 -server=/p215223.mycdn2.co/127.0.0.1#1053 -server=/p2.hyz86.com/127.0.0.1#1053 -server=/p2pmid.baofeng.com/127.0.0.1#1053 -server=/p2.qinsx.cn/127.0.0.1#1053 -server=/p2.ykauto.cn/127.0.0.1#1053 -server=/p3p.sogou.com/127.0.0.1#1053 -server=/p3p.yahoo.com/127.0.0.1#1053 -server=/p3tt.com/127.0.0.1#1053 -server=/p4pfile.com/127.0.0.1#1053 -server=/p4psearch.china.alibaba.com/127.0.0.1#1053 -server=/p4p.sina.com.cn/127.0.0.1#1053 -server=/p555.cc/127.0.0.1#1053 -server=/p.7060.la/127.0.0.1#1053 -server=/p8u.hinet.net/127.0.0.1#1053 -server=/p.99mssj.com/127.0.0.1#1053 -server=/p.abcache.com/127.0.0.1#1053 -server=/package01.com/127.0.0.1#1053 -server=/paddleapi.com/127.0.0.1#1053 -server=/paddle.com/127.0.0.1#1053 -server=/padsdel2.cdnads.com/127.0.0.1#1053 -server=/pad.zhywyl.cn/127.0.0.1#1053 -server=/page.acm.dzwww.com/127.0.0.1#1053 -server=/pagead.google.com/127.0.0.1#1053 -server=/pagead.l.google.com/127.0.0.1#1053 -server=/pagead-tpc.l.google.com/127.0.0.1#1053 -server=/pagechoice.com/127.0.0.1#1053 -server=/pagechoicemotu.gentags.net/127.0.0.1#1053 -server=/pagechoice.net/127.0.0.1#1053 -server=/pages2.marketo.com/127.0.0.1#1053 -server=/page.xywy.com/127.0.0.1#1053 -server=/paimgcdn.baidu.com/127.0.0.1#1053 -server=/painiuimg.com/127.0.0.1#1053 -server=/palmnews.sina.cn/127.0.0.1#1053 -server=/pancakeswap.com/127.0.0.1#1053 -server=/pancakeswap.finance/127.0.0.1#1053 -server=/panda.kdnet.net/127.0.0.1#1053 -server=/pandora.com/127.0.0.1#1053 -server=/pangu.cc/127.0.0.1#1053 -server=/panoramio.com/127.0.0.1#1053 -server=/paopao.iqiyi.com/127.0.0.1#1053 -server=/papajia55.com/127.0.0.1#1053 -server=/parallels.com/127.0.0.1#1053 -server=/parity.io/127.0.0.1#1053 -server=/parking.zunmi.cn/127.0.0.1#1053 -server=/parse.com/127.0.0.1#1053 -server=/parser.houyi.baofeng.net/127.0.0.1#1053 -server=/partner.bargaindomains.com/127.0.0.1#1053 -server=/partner.catchy.com/127.0.0.1#1053 -server=/partner.premiumdomains.com/127.0.0.1#1053 -server=/partners.fshealth.com/127.0.0.1#1053 -server=/partners.keezmovies.com/127.0.0.1#1053 -server=/partners.optiontide.com/127.0.0.1#1053 -server=/partners.pornerbros.com/127.0.0.1#1053 -server=/partners.rochen.com/127.0.0.1#1053 -server=/partners.sportingbet.com.au/127.0.0.1#1053 -server=/partners.vouchedfor.co.uk/127.0.0.1#1053 -server=/partners.xpertmarket.com/127.0.0.1#1053 -server=/partner.toutiao.com/127.0.0.1#1053 -server=/party-nngvitbizn.now.sh/127.0.0.1#1053 -server=/pasco.cc/127.0.0.1#1053 -server=/pass1.soogif.com/127.0.0.1#1053 -server=/pass2.soogif.com/127.0.0.1#1053 -server=/passport-log.youku.com/127.0.0.1#1053 -server=/passport.net/127.0.0.1#1053 -server=/passthepopcorn.me/127.0.0.1#1053 -server=/passwordrecovery.cn/127.0.0.1#1053 -server=/passwz.com/127.0.0.1#1053 -server=/pat.farvd.com/127.0.0.1#1053 -server=/patriot.cs.pp.cn/127.0.0.1#1053 -server=/paxful.com/127.0.0.1#1053 -server=/pay838.com/127.0.0.1#1053 -server=/pay.holaq.com/127.0.0.1#1053 -server=/pay.mobile.sina.cn/127.0.0.1#1053 -server=/paypal.com/127.0.0.1#1053 -server=/paypalobjects.com/127.0.0.1#1053 -server=/pb3.pstatp.com/127.0.0.1#1053 -server=/pb.bi.gitv.tv/127.0.0.1#1053 -server=/p.bdjiazanmiaomu.com/127.0.0.1#1053 -server=/pbd.sogou.com/127.0.0.1#1053 -server=/pb.funshion.net.cn/127.0.0.1#1053 -server=/p.bjdianyue.com/127.0.0.1#1053 -server=/p.bnuni.com/127.0.0.1#1053 -server=/pb.s3wfg.com/127.0.0.1#1053 -server=/pbs.lenovomm.com/127.0.0.1#1053 -server=/pb.sogou.com/127.0.0.1#1053 -server=/pbs.org/127.0.0.1#1053 -server=/pb.sys.pp8.com/127.0.0.1#1053 -server=/pb.wang502.com/127.0.0.1#1053 -server=/pc.107788.com/127.0.0.1#1053 -server=/pc1.da.mgtv.com/127.0.0.1#1053 -server=/pc.5151gj.com/127.0.0.1#1053 -server=/pcauto.irs01.com/127.0.0.1#1053 -server=/pcbrowser.dd.qq.com/127.0.0.1#1053 -server=/pc.ctsywy.com/127.0.0.1#1053 -server=/pc.da.mgtv.com/127.0.0.1#1053 -server=/pcfg.wps.cn/127.0.0.1#1053 -server=/p.clkservice.youdao.com/127.0.0.1#1053 -server=/pclog.dftoutiao.com/127.0.0.1#1053 -server=/pclog.suishenyun.net/127.0.0.1#1053 -server=/pcmzn.com/127.0.0.1#1053 -server=/pc.quansj.cn/127.0.0.1#1053 -server=/pcsoftwords.dftoutiao.com/127.0.0.1#1053 -server=/pcvideoaliyun.titan.mgtv.com/127.0.0.1#1053 -server=/pc.videoclick.baidu.com/127.0.0.1#1053 -server=/pcvideoyd.titan.mgtv.com/127.0.0.1#1053 -server=/pcweb.v1.mgtv.com/127.0.0.1#1053 -server=/pcxzo.pluto.sogou.com/127.0.0.1#1053 -server=/pd7-imp.revsci.net/127.0.0.1#1053 -server=/pdfexpert.cc/127.0.0.1#1053 -server=/pdfexpert.com/127.0.0.1#1053 -server=/pdl.gionee.com/127.0.0.1#1053 -server=/pdsjycm.com/127.0.0.1#1053 -server=/pear.dleke.com/127.0.0.1#1053 -server=/p.ecwan77.net/127.0.0.1#1053 -server=/pedailyu.com/127.0.0.1#1053 -server=/pee.cn/127.0.0.1#1053 -server=/pegasus.cmcm.com/127.0.0.1#1053 -server=/pei-ads.playboy.com/127.0.0.1#1053 -server=/periscope.tv/127.0.0.1#1053 -server=/pf-2.pchome.net/127.0.0.1#1053 -server=/pf.h5game.cn/127.0.0.1#1053 -server=/pf.pchome.net/127.0.0.1#1053 -server=/pfpip.sina.com/127.0.0.1#1053 -server=/pfp.sina.com.cn/127.0.0.1#1053 -server=/pgdt.gtimg.cn/127.0.0.1#1053 -server=/pgdt.ugdtimg.com/127.0.0.1#1053 -server=/pgyer.com/127.0.0.1#1053 -server=/phantom.app/127.0.0.1#1053 -server=/phncdn.com/127.0.0.1#1053 -server=/phonefactor.net/127.0.0.1#1053 -server=/photo.dhford.cn/127.0.0.1#1053 -server=/photo.lyghjzs.cn/127.0.0.1#1053 -server=/photo.qianerbai.cn/127.0.0.1#1053 -server=/photo.shyexiang.cn/127.0.0.1#1053 -server=/photo.welldex.cn/127.0.0.1#1053 -server=/photo.xunhuaji.cn/127.0.0.1#1053 -server=/photo.zhanhevr.cn/127.0.0.1#1053 -server=/phpad.cqnews.net/127.0.0.1#1053 -server=/phprcdn.com/127.0.0.1#1053 -server=/piaotian.net/127.0.0.1#1053 -server=/pic.0597kk.com/127.0.0.1#1053 -server=/pic.14bobo.com/127.0.0.1#1053 -server=/pic1.59wd.com/127.0.0.1#1053 -server=/pic183025.images9999.com/127.0.0.1#1053 -server=/pic1.onetad.com/127.0.0.1#1053 -server=/pic2016.5442.com/127.0.0.1#1053 -server=/pic2016.ytqmx.com/127.0.0.1#1053 -server=/pic2.onetad.com/127.0.0.1#1053 -server=/pic.2u.com.cn/127.0.0.1#1053 -server=/pic3.onetad.com/127.0.0.1#1053 -server=/pic494036.images9999.com/127.0.0.1#1053 -server=/pic837013.images9999.com/127.0.0.1#1053 -server=/pic8.onetad.com/127.0.0.1#1053 -server=/picacomic.com/127.0.0.1#1053 -server=/pic.adver.com.tw/127.0.0.1#1053 -server=/pic.aihaogou.com.cn/127.0.0.1#1053 -server=/picasaweb.com/127.0.0.1#1053 -server=/pic.by175.com/127.0.0.1#1053 -server=/pic.casee.cn/127.0.0.1#1053 -server=/pic.cnmo-img.com.cn/127.0.0.1#1053 -server=/pic.dotmore.com.tw/127.0.0.1#1053 -server=/pic.ea3w.com/127.0.0.1#1053 -server=/pic.eduancm.com/127.0.0.1#1053 -server=/pic.fengniao.com/127.0.0.1#1053 -server=/pic.haowj.com.cn/127.0.0.1#1053 -server=/pic.jd-bbs.com/127.0.0.1#1053 -server=/pic.jdbbs.com/127.0.0.1#1053 -server=/pic.jdunion.com/127.0.0.1#1053 -server=/picjs.xyz/127.0.0.1#1053 -server=/pic.moad.cn/127.0.0.1#1053 -server=/pic.neiyicun.net/127.0.0.1#1053 -server=/pic.new400.cn/127.0.0.1#1053 -server=/pic.pic-img.com/127.0.0.1#1053 -server=/pic.punchbox.org/127.0.0.1#1053 -server=/pic.pxstda.com/127.0.0.1#1053 -server=/picsinfog.com/127.0.0.1#1053 -server=/picture.duokan.com/127.0.0.1#1053 -server=/picturesquefilms.net/127.0.0.1#1053 -server=/pic.usingde.com/127.0.0.1#1053 -server=/pic.zol-img.com.cn/127.0.0.1#1053 -server=/pikacn.com/127.0.0.1#1053 -server=/pimg1.126.net/127.0.0.1#1053 -server=/pinboard.in/127.0.0.1#1053 -server=/ping.acc.sogou.com/127.0.0.1#1053 -server=/pingan.com/127.0.0.1#1053 -server=/pingan.com.cn/127.0.0.1#1053 -server=/pingbi.diudou.com/127.0.0.1#1053 -server=/ping.chartbeat.net/127.0.0.1#1053 -server=/pingdom.net/127.0.0.1#1053 -server=/pingma.qq.com/127.0.0.1#1053 -server=/ping.pe/127.0.0.1#1053 -server=/ping.pinyin.sogou.com/127.0.0.1#1053 -server=/pingshetrip.com/127.0.0.1#1053 -server=/ping.weiduofan.com/127.0.0.1#1053 -server=/pinimg.com/127.0.0.1#1053 -server=/pinterest.com/127.0.0.1#1053 -server=/p.inte.sogou.com/127.0.0.1#1053 -server=/pintour.com/127.0.0.1#1053 -server=/pinzhitmall.com/127.0.0.1#1053 -server=/pix04.revsci.net/127.0.0.1#1053 -server=/pixapp.net/127.0.0.1#1053 -server=/pixel.adsafeprotected.com/127.0.0.1#1053 -server=/pixel-hk.pixelinteractivemedia.com/127.0.0.1#1053 -server=/pixel.mathtag.com/127.0.0.1#1053 -server=/pixelmator.com/127.0.0.1#1053 -server=/pixel.quantserve.com/127.0.0.1#1053 -server=/pixel.rubiconproject.com/127.0.0.1#1053 -server=/pixels.asia/127.0.0.1#1053 -server=/pixel.tapad.com/127.0.0.1#1053 -server=/pixel.vihub.ru/127.0.0.1#1053 -server=/pixel.wp.com/127.0.0.1#1053 -server=/pixfuture.net/127.0.0.1#1053 -server=/pix.impdesk.com/127.0.0.1#1053 -server=/pixiv.net/127.0.0.1#1053 -server=/pixnet.net/127.0.0.1#1053 -server=/pix.tagcdn.com/127.0.0.1#1053 -server=/pj3456.com/127.0.0.1#1053 -server=/pj39330.com/127.0.0.1#1053 -server=/pj50.com/127.0.0.1#1053 -server=/pj5189.com/127.0.0.1#1053 -server=/pj550077.com/127.0.0.1#1053 -server=/pjbjzf.com/127.0.0.1#1053 -server=/pjogndc8ixoidna.360doc.cn/127.0.0.1#1053 -server=/pjtymy.cn/127.0.0.1#1053 -server=/pjyu.golden1.sogou.com/127.0.0.1#1053 -server=/pk840.com/127.0.0.1#1053 -server=/p.kf3msfm.com/127.0.0.1#1053 -server=/p.kjwx8.com/127.0.0.1#1053 -server=/p.kugou.com/127.0.0.1#1053 -server=/pkulaw.com/127.0.0.1#1053 -server=/pl108258.puserving.com/127.0.0.1#1053 -server=/pl14369502.puserving.com/127.0.0.1#1053 -server=/platform.wondershare.com/127.0.0.1#1053 -server=/plat.videojj.com/127.0.0.1#1053 -server=/playad.xjmg.com/127.0.0.1#1053 -server=/player.1800coupon.com/127.0.0.1#1053 -server=/player.1stcreditrepairs.com/127.0.0.1#1053 -server=/player.800directories.com/127.0.0.1#1053 -server=/player.accoona.com/127.0.0.1#1053 -server=/player.alloutwedding.com/127.0.0.1#1053 -server=/player.insuranceandhealth.com/127.0.0.1#1053 -server=/playfabapi.cn/127.0.0.1#1053 -server=/playfabcn.com/127.0.0.1#1053 -server=/playinfo.gomlab.com/127.0.0.1#1053 -server=/playmation.com/127.0.0.1#1053 -server=/playpcesor.com/127.0.0.1#1053 -server=/playstation.com/127.0.0.1#1053 -server=/playstation.net/127.0.0.1#1053 -server=/playstationnetwork.com/127.0.0.1#1053 -server=/plista.com/127.0.0.1#1053 -server=/plmkolp.m.58xs.tw/127.0.0.1#1053 -server=/p-log.ykimg.com/127.0.0.1#1053 -server=/p-l.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/plt.data.pplive.com/127.0.0.1#1053 -server=/plwan.com/127.0.0.1#1053 -server=/p.l.youku.com/127.0.0.1#1053 -server=/plz.jandan.net/127.0.0.1#1053 -server=/p.m5bn.com/127.0.0.1#1053 -server=/p.mendoc.cn/127.0.0.1#1053 -server=/pmir.3g.qq.com/127.0.0.1#1053 -server=/pmm.people.com.cn/127.0.0.1#1053 -server=/pmptrack-autohome.gentags.net/127.0.0.1#1053 -server=/pmptrack-letv.gentags.net/127.0.0.1#1053 -server=/pmptrack-yidianzixunxm.gentags.net/127.0.0.1#1053 -server=/pmptrack-youku.gentags.net/127.0.0.1#1053 -server=/pm.sdaiv.com/127.0.0.1#1053 -server=/pnas.org/127.0.0.1#1053 -server=/png.lu.sogoucdn.com/127.0.0.1#1053 -server=/pnhfc.com/127.0.0.1#1053 -server=/pniao.com/127.0.0.1#1053 -server=/p.niudashu.com/127.0.0.1#1053 -server=/pofang.com/127.0.0.1#1053 -server=/pokemon.com/127.0.0.1#1053 -server=/policy.video.iqiyi.com/127.0.0.1#1053 -server=/polkoa.com/127.0.0.1#1053 -server=/poloniex.com/127.0.0.1#1053 -server=/polymer-project.org/127.0.0.1#1053 -server=/poly.network/127.0.0.1#1053 -server=/pomhz.com/127.0.0.1#1053 -server=/poolin.com/127.0.0.1#1053 -server=/pop.91mangrandi.com/127.0.0.1#1053 -server=/popads.net/127.0.0.1#1053 -server=/pop.code.mytanwan.com/127.0.0.1#1053 -server=/pop.code.poyang.cn/127.0.0.1#1053 -server=/popme.163.com/127.0.0.1#1053 -server=/popo.tw/127.0.0.1#1053 -server=/poppyta.com/127.0.0.1#1053 -server=/pop.sjk.ijinshan.com/127.0.0.1#1053 -server=/popupad.cn/127.0.0.1#1053 -server=/popup.jointreport-switch.com/127.0.0.1#1053 -server=/popup.msn.com/127.0.0.1#1053 -server=/pop.uusee.com/127.0.0.1#1053 -server=/pornhub.com/127.0.0.1#1053 -server=/pornhubpremium.com/127.0.0.1#1053 -server=/poshtestgallery.cloudapp.net/127.0.0.1#1053 -server=/poshtestgallery.com/127.0.0.1#1053 -server=/poster.weather.com.cn/127.0.0.1#1053 -server=/post.ra.icast.cn/127.0.0.1#1053 -server=/potato.im/127.0.0.1#1053 -server=/powerappscdn.net/127.0.0.1#1053 -server=/powerautomate.com/127.0.0.1#1053 -server=/powerbi.com/127.0.0.1#1053 -server=/powergg.top/127.0.0.1#1053 -server=/powershellgallery.com/127.0.0.1#1053 -server=/poyang.com/127.0.0.1#1053 -server=/pp2.dhzw.org/127.0.0.1#1053 -server=/pp2.pptv.com/127.0.0.1#1053 -server=/pp9899.com/127.0.0.1#1053 -server=/ppjia55.com/127.0.0.1#1053 -server=/ppoi.org/127.0.0.1#1053 -server=/pp.sxjkc.cn/127.0.0.1#1053 -server=/ppurifier.game.xiaomi.com/127.0.0.1#1053 -server=/ppx.hgo7r.cn/127.0.0.1#1053 -server=/p.qiailm.com/127.0.0.1#1053 -server=/p.qijijs.top/127.0.0.1#1053 -server=/pr00001.com/127.0.0.1#1053 -server=/practivate.adobe.com/127.0.0.1#1053 -server=/p.raidmedia.com.cn/127.0.0.1#1053 -server=/pr.atwola.com/127.0.0.1#1053 -server=/pr-bh.ybp.yahoo.com/127.0.0.1#1053 -server=/prcappzone.intel.com/127.0.0.1#1053 -server=/prc.rjje4.com/127.0.0.1#1053 -server=/pre.api.tw06.xlmc.sandai.net/127.0.0.1#1053 -server=/pre.ra.icast.cn/127.0.0.1#1053 -server=/prerollads.ign.com/127.0.0.1#1053 -server=/prfct.co/127.0.0.1#1053 -server=/p.rfihub.com/127.0.0.1#1053 -server=/priceinfo.comuv.com/127.0.0.1#1053 -server=/primevideo.cc/127.0.0.1#1053 -server=/prime-video.com/127.0.0.1#1053 -server=/primevideo.com/127.0.0.1#1053 -server=/primevideo.info/127.0.0.1#1053 -server=/primevideo.org/127.0.0.1#1053 -server=/primevideo.tv/127.0.0.1#1053 -server=/privatehd.to/127.0.0.1#1053 -server=/probes.cedexis.com/127.0.0.1#1053 -server=/pro.cn/127.0.0.1#1053 -server=/prod.hjholdings.tv/127.0.0.1#1053 -server=/prod-video-cms-rt-microsoft-com.akamaized.net/127.0.0.1#1053 -server=/profile.line-scdn.net/127.0.0.1#1053 -server=/profile.ssp.rambler.ru/127.0.0.1#1053 -server=/pro.heiguang.com/127.0.0.1#1053 -server=/pro.hoye.letv.com/127.0.0.1#1053 -server=/pro.iweihai.cn/127.0.0.1#1053 -server=/projectmurphy.net/127.0.0.1#1053 -server=/projectsangam.com/127.0.0.1#1053 -server=/projectwonderful.com/127.0.0.1#1053 -server=/pro.letv.com/127.0.0.1#1053 -server=/prom.gome.com.cn/127.0.0.1#1053 -server=/promo.fileforum.com/127.0.0.1#1053 -server=/promos.fling.com/127.0.0.1#1053 -server=/promote.biz.weibo.cn/127.0.0.1#1053 -server=/promote.caixin.com/127.0.0.1#1053 -server=/promote.pair.com/127.0.0.1#1053 -server=/promotion.aliyun.com/127.0.0.1#1053 -server=/promotion.gomlab.com/127.0.0.1#1053 -server=/promotions.iasbet.com/127.0.0.1#1053 -server=/propellerads.com/127.0.0.1#1053 -server=/prophet.heise.de/127.0.0.1#1053 -server=/proquest.com/127.0.0.1#1053 -server=/proton.flurry.com/127.0.0.1#1053 -server=/proxfree.com/127.0.0.1#1053 -server=/proxy.sec.miui.com/127.0.0.1#1053 -server=/prw.lenovomm.com/127.0.0.1#1053 -server=/pr.ybp.yahoo.com/127.0.0.1#1053 -server=/ps.3fenge.com/127.0.0.1#1053 -server=/p.saozhu1.top/127.0.0.1#1053 -server=/psb.lenovomm.com/127.0.0.1#1053 -server=/pscdn.co/127.0.0.1#1053 -server=/p.sdu8cvc.com/127.0.0.1#1053 -server=/psfq.gou.sogou.com/127.0.0.1#1053 -server=/psg-int-centralus.cloudapp.net/127.0.0.1#1053 -server=/psg-int-eastus.cloudapp.net/127.0.0.1#1053 -server=/p.shagent.com/127.0.0.1#1053 -server=/psiphon3.com/127.0.0.1#1053 -server=/p.skimresources.com/127.0.0.1#1053 -server=/psma02.com/127.0.0.1#1053 -server=/p.szonline.net/127.0.0.1#1053 -server=/p.tamenshuo.com/127.0.0.1#1053 -server=/ptdrw.com/127.0.0.1#1053 -server=/p.tencentmind.com/127.0.0.1#1053 -server=/ptkhy.com/127.0.0.1#1053 -server=/ptt.cc/127.0.0.1#1053 -server=/p.twitter.com/127.0.0.1#1053 -server=/ptw.la/127.0.0.1#1053 -server=/pub1.cope.es/127.0.0.1#1053 -server=/pub.betclick.com/127.0.0.1#1053 -server=/pubbirdf.com/127.0.0.1#1053 -server=/pub.chinadailyasia.com/127.0.0.1#1053 -server=/pub.funshion.com/127.0.0.1#1053 -server=/public6.com/127.0.0.1#1053 -server=/publicidad.net/127.0.0.1#1053 -server=/publicidad.tv/127.0.0.1#1053 -server=/publish.ad.youth.cn/127.0.0.1#1053 -server=/pubmatic.com/127.0.0.1#1053 -server=/pub.mop.com/127.0.0.1#1053 -server=/pubnative.net/127.0.0.1#1053 -server=/pubnub.com/127.0.0.1#1053 -server=/pubs.hiddennetwork.com/127.0.0.1#1053 -server=/pubu.com.tw/127.0.0.1#1053 -server=/puds.test.uae.uc.cn/127.0.0.1#1053 -server=/puds.ucweb.com/127.0.0.1#1053 -server=/puffinbrowser.com/127.0.0.1#1053 -server=/pull.push.sogou.com/127.0.0.1#1053 -server=/punchbox.org/127.0.0.1#1053 -server=/punuomisi.cn/127.0.0.1#1053 -server=/pups.bdimg.com/127.0.0.1#1053 -server=/pupu.xnhh120.com/127.0.0.1#1053 -server=/push.126.net/127.0.0.1#1053 -server=/push.5z5zw.com/127.0.0.1#1053 -server=/push.air-matters.com/127.0.0.1#1053 -server=/push-android.myzaker.com/127.0.0.1#1053 -server=/pushapi.lenovomm.com/127.0.0.1#1053 -server=/pushbullet.com/127.0.0.1#1053 -server=/push.com2us.net/127.0.0.1#1053 -server=/push-dc.51y5.net/127.0.0.1#1053 -server=/push.feng.com/127.0.0.1#1053 -server=/push.mobile.kugou.com/127.0.0.1#1053 -server=/push.m.youku.com/127.0.0.1#1053 -server=/push.res.meizu.com/127.0.0.1#1053 -server=/push.wandoujia.com/127.0.0.1#1053 -server=/push.wapx.cn/127.0.0.1#1053 -server=/pushwoosh.com/127.0.0.1#1053 -server=/push.yuedu.163.com/127.0.0.1#1053 -server=/push.zdworks.com/127.0.0.1#1053 -server=/push.zhangyue.com/127.0.0.1#1053 -server=/push.zhanzhang.baidu.com/127.0.0.1#1053 -server=/pv.anzhi.com/127.0.0.1#1053 -server=/pv-cdn.net/127.0.0.1#1053 -server=/pv.cheshi.com/127.0.0.1#1053 -server=/pvc.zol.com.cn/127.0.0.1#1053 -server=/pvdata.ku6.com/127.0.0.1#1053 -server=/pv.enet.com.cn/127.0.0.1#1053 -server=/pv.focus.cn/127.0.0.1#1053 -server=/pvlog.hd.baofeng.com/127.0.0.1#1053 -server=/pvlog.moviebox.baofeng.net/127.0.0.1#1053 -server=/pvmsite.zol.com.cn/127.0.0.1#1053 -server=/pvm.zol.com.cn/127.0.0.1#1053 -server=/p.vq6nsu.cn/127.0.0.1#1053 -server=/pv.ra.icast.cn/127.0.0.1#1053 -server=/pvsite.zol.com.cn/127.0.0.1#1053 -server=/pv.sogou.com/127.0.0.1#1053 -server=/pvstat.html5.qq.com/127.0.0.1#1053 -server=/pvtest.zol.com.cn/127.0.0.1#1053 -server=/pv.xcar.com.cn/127.0.0.1#1053 -server=/pv.zdnet.com.cn/127.0.0.1#1053 -server=/pv.zol.com.cn/127.0.0.1#1053 -server=/pwabuilder.com/127.0.0.1#1053 -server=/pwj.biqugezw.com/127.0.0.1#1053 -server=/px.adhigh.net/127.0.0.1#1053 -server=/pxene.com/127.0.0.1#1053 -server=/pximg.net/127.0.0.1#1053 -server=/pxl.connexity.net/127.0.0.1#1053 -server=/px.media-serving.com/127.0.0.1#1053 -server=/px.moatads.com/127.0.0.1#1053 -server=/px.owneriq.net/127.0.0.1#1053 -server=/px.powerlinks.com/127.0.0.1#1053 -server=/px.steelhousemedia.com/127.0.0.1#1053 -server=/pxt.io/127.0.0.1#1053 -server=/py2.qlogo.cn/127.0.0.1#1053 -server=/py.da.mgtv.com/127.0.0.1#1053 -server=/pyerc.com/127.0.0.1#1053 -server=/p.yizuya.com/127.0.0.1#1053 -server=/p.ynjczy.net/127.0.0.1#1053 -server=/py.qlogo.cn/127.0.0.1#1053 -server=/py.wikigifth.com/127.0.0.1#1053 -server=/pyzkk.com/127.0.0.1#1053 -server=/q1scv.vov0.com/127.0.0.1#1053 -server=/q6rwa.eschangchi.com/127.0.0.1#1053 -server=/qbox.me/127.0.0.1#1053 -server=/qbyy010.com/127.0.0.1#1053 -server=/qchannel01.cn/127.0.0.1#1053 -server=/qchannel02.cn/127.0.0.1#1053 -server=/qchannel03.cn/127.0.0.1#1053 -server=/qchannel04.cn/127.0.0.1#1053 -server=/qcjslm.com/127.0.0.1#1053 -server=/qcl777.com/127.0.0.1#1053 -server=/qcloud.com/127.0.0.1#1053 -server=/qdaily.com/127.0.0.1#1053 -server=/qdchunyu.com/127.0.0.1#1053 -server=/qd.dhzw.org/127.0.0.1#1053 -server=/qd.js.sanjiangge.com/127.0.0.1#1053 -server=/qdmm.com/127.0.0.1#1053 -server=/qd.moutaihotel.cn/127.0.0.1#1053 -server=/qd.wanjuanba.com/127.0.0.1#1053 -server=/qd.x4399.com/127.0.0.1#1053 -server=/qeoa.hawbfa.com/127.0.0.1#1053 -server=/qgss8.com/127.0.0.1#1053 -server=/qhaif.com/127.0.0.1#1053 -server=/qhimg.com/127.0.0.1#1053 -server=/qhl.bealge.sogou.com/127.0.0.1#1053 -server=/qiailm.com/127.0.0.1#1053 -server=/qianclick.baidu.com/127.0.0.1#1053 -server=/qiaopiguniang.com/127.0.0.1#1053 -server=/qichexin.com/127.0.0.1#1053 -server=/qidian.com/127.0.0.1#1053 -server=/qihaoqu.com/127.0.0.1#1053 -server=/qihucdn.com/127.0.0.1#1053 -server=/qinchugudao.com/127.0.0.1#1053 -server=/qingmang.me/127.0.0.1#1053 -server=/qingmang.mobi/127.0.0.1#1053 -server=/qingqu.la/127.0.0.1#1053 -server=/qin.io/127.0.0.1#1053 -server=/qiniucdn.com/127.0.0.1#1053 -server=/qiniudn.com/127.0.0.1#1053 -server=/qiqipower.com/127.0.0.1#1053 -server=/qiqivv.com/127.0.0.1#1053 -server=/qiqiww.com/127.0.0.1#1053 -server=/qiqiyii.com/127.0.0.1#1053 -server=/qiye11.ejunshi.net/127.0.0.1#1053 -server=/qiyem.ejunshi.com/127.0.0.1#1053 -server=/qiyezs.ejunshi.com/127.0.0.1#1053 -server=/qiyou.com/127.0.0.1#1053 -server=/qjfcdn1220.0101122.com/127.0.0.1#1053 -server=/qjjtc.com/127.0.0.1#1053 -server=/qlisv.siemens6es7.com/127.0.0.1#1053 -server=/qlmho.renhengshangmao.com/127.0.0.1#1053 -server=/qloer.com/127.0.0.1#1053 -server=/qlonglong.com/127.0.0.1#1053 -server=/qmkdy.com/127.0.0.1#1053 -server=/qoiusky.com/127.0.0.1#1053 -server=/qooic.com/127.0.0.1#1053 -server=/q.ox11.com/127.0.0.1#1053 -server=/qp.yunanfuwuqi.com/127.0.0.1#1053 -server=/qq2.co/127.0.0.1#1053 -server=/qq61.com/127.0.0.1#1053 -server=/qq.com/127.0.0.1#1053 -server=/qq.guansenff.cn/127.0.0.1#1053 -server=/qqhuhu.com/127.0.0.1#1053 -server=/qq.irs01.com/127.0.0.1#1053 -server=/qqm98.com/127.0.0.1#1053 -server=/qqshow2-item.qq.com/127.0.0.1#1053 -server=/qq.tapiche.cn/127.0.0.1#1053 -server=/qqurl.com/127.0.0.1#1053 -server=/qqx.cqqytgpt.com/127.0.0.1#1053 -server=/qqzu.com/127.0.0.1#1053 -server=/qsbz2011.com/127.0.0.1#1053 -server=/q.s.cr-nielsen.com/127.0.0.1#1053 -server=/qshxc.com/127.0.0.1#1053 -server=/qt002x.corp.youdao.com/127.0.0.1#1053 -server=/qt.biqugezw.com/127.0.0.1#1053 -server=/qtmojo.cn/127.0.0.1#1053 -server=/qtmojo.com/127.0.0.1#1053 -server=/quanliyouxi.cn/127.0.0.1#1053 -server=/quansj.cn/127.0.0.1#1053 -server=/quantcount.com/127.0.0.1#1053 -server=/quantserve.com/127.0.0.1#1053 -server=/qucaigg.com/127.0.0.1#1053 -server=/queene.cn/127.0.0.1#1053 -server=/questionmarket.com/127.0.0.1#1053 -server=/qujishu.com/127.0.0.1#1053 -server=/qumi.com/127.0.0.1#1053 -server=/quoracdn.net/127.0.0.1#1053 -server=/quora.com/127.0.0.1#1053 -server=/qupinhj.com/127.0.0.1#1053 -server=/qutaobi.com/127.0.0.1#1053 -server=/quw18.com/127.0.0.1#1053 -server=/quyaoya.com/127.0.0.1#1053 -server=/qweqwe.mctvhp.cn/127.0.0.1#1053 -server=/qxjdlf.com/127.0.0.1#1053 -server=/qxm.pluto.sogou.com/127.0.0.1#1053 -server=/qxxys.com/127.0.0.1#1053 -server=/qyctj.com/127.0.0.1#1053 -server=/qy.net/127.0.0.1#1053 -server=/qytyf.com/127.0.0.1#1053 -server=/qzdag.com/127.0.0.1#1053 -server=/qzdfc.com/127.0.0.1#1053 -server=/qzgjprj.com/127.0.0.1#1053 -server=/qzkxt.com/127.0.0.1#1053 -server=/r.0.0.0.0.cn/127.0.0.1#1053 -server=/r.254a.com/127.0.0.1#1053 -server=/r.5207470.com/127.0.0.1#1053 -server=/r8nu86wg.me/127.0.0.1#1053 -server=/rabbit.meitustat.com/127.0.0.1#1053 -server=/rabbit.tg.meitu.com/127.0.0.1#1053 -server=/rack.bauermedia.co.uk/127.0.0.1#1053 -server=/radar.cedexis.com/127.0.0.1#1053 -server=/rad.live.com/127.0.0.1#1053 -server=/rad.microsoft.com/127.0.0.1#1053 -server=/rad.msn.com/127.0.0.1#1053 -server=/rad.reporo.net/127.0.0.1#1053 -server=/raeqqe.cn/127.0.0.1#1053 -server=/ra.gtimg.com/127.0.0.1#1053 -server=/rank.hit.china.com/127.0.0.1#1053 -server=/rannabio.com/127.0.0.1#1053 -server=/rarbg.to/127.0.0.1#1053 -server=/ratings.lycos.com/127.0.0.1#1053 -server=/raw.okwan.cn/127.0.0.1#1053 -server=/raydium.io/127.0.0.1#1053 -server=/rayjump.com/127.0.0.1#1053 -server=/rbp.emea.mxptint.net/127.0.0.1#1053 -server=/rbp.mxptint.net/127.0.0.1#1053 -server=/r.browser.miui.com/127.0.0.1#1053 -server=/rbs.haiyunx.com/127.0.0.1#1053 -server=/r.bxb.oupeng.com/127.0.0.1#1053 -server=/rbywg.com/127.0.0.1#1053 -server=/rc2waycm-atl.netmng.com/127.0.0.1#1053 -server=/rc-au.imrworldwide.com/127.0.0.1#1053 -server=/rc.fthcz.com/127.0.0.1#1053 -server=/rc.haodongkeji.cn/127.0.0.1#1053 -server=/rcmd.pop.ijinshan.com/127.0.0.1#1053 -server=/rc.mgwcn.com/127.0.0.1#1053 -server=/rcp.c.appier.net/127.0.0.1#1053 -server=/rcv.iclicash.com/127.0.0.1#1053 -server=/rcv.jesgoo.com/127.0.0.1#1053 -server=/rcv.mobad.ijinshan.com/127.0.0.1#1053 -server=/rcv.moogos.com/127.0.0.1#1053 -server=/rcv.union-wifi.com/127.0.0.1#1053 -server=/rc.xmcmn.com/127.0.0.1#1053 -server=/rcyy3.kaopuwangjz.com/127.0.0.1#1053 -server=/rd.ane.yahoo.co.jp/127.0.0.1#1053 -server=/rd.e.sogou.com/127.0.0.1#1053 -server=/rdiqt.cn/127.0.0.1#1053 -server=/rd.kuaigames.com/127.0.0.1#1053 -server=/r.dmp.sina.com.cn/127.0.0.1#1053 -server=/rdtuijian.com/127.0.0.1#1053 -server=/reachmax.cn/127.0.0.1#1053 -server=/reactorms.com.cn/127.0.0.1#1053 -server=/readcube.com/127.0.0.1#1053 -server=/reader.browser.miui.com/127.0.0.1#1053 -server=/reader.meizu.com/127.0.0.1#1053 -server=/reader.res.meizu.com/127.0.0.1#1053 -server=/readingtimes.com.tw/127.0.0.1#1053 -server=/readmoo.com/127.0.0.1#1053 -server=/realtime.monitor.ppweb.com.cn/127.0.0.1#1053 -server=/recaptcha.net/127.0.0.1#1053 -server=/rec.g.163.com/127.0.0.1#1053 -server=/rec.moviebox.baofeng.net/127.0.0.1#1053 -server=/recreativ.ru/127.0.0.1#1053 -server=/recv-vd.gridsumdissector.cn/127.0.0.1#1053 -server=/recv-vd.gridsumdissector.com/127.0.0.1#1053 -server=/recv-wd.gridsumdissector.com/127.0.0.1#1053 -server=/redacted.ch/127.0.0.1#1053 -server=/red.bayimg.net/127.0.0.1#1053 -server=/redd.it/127.0.0.1#1053 -server=/reddit.com/127.0.0.1#1053 -server=/redditmedia.com/127.0.0.1#1053 -server=/redirect.simba.taobao.com/127.0.0.1#1053 -server=/redpaper-10006092.cos.myqcloud.com/127.0.0.1#1053 -server=/redvase.bravenet.com/127.0.0.1#1053 -server=/referrer.disqus.com/127.0.0.1#1053 -server=/relap.io/127.0.0.1#1053 -server=/release.baidu.com/127.0.0.1#1053 -server=/reliancevalve.com/127.0.0.1#1053 -server=/remote88.com/127.0.0.1#1053 -server=/remotedu.cn/127.0.0.1#1053 -server=/re.m.taobao.com/127.0.0.1#1053 -server=/rem-track.bild.de/127.0.0.1#1053 -server=/rencai56.com/127.0.0.1#1053 -server=/renlifang.com/127.0.0.1#1053 -server=/renovacionoffice.com/127.0.0.1#1053 -server=/renovacionxboxlive.com/127.0.0.1#1053 -server=/renren2.maoyun.tv/127.0.0.1#1053 -server=/req.startappservice.com/127.0.0.1#1053 -server=/res3.feedsportal.com/127.0.0.1#1053 -server=/rescn.u3.ucweb.com/127.0.0.1#1053 -server=/res.cocounion.com/127.0.0.1#1053 -server=/res.dxpmedia.com/127.0.0.1#1053 -server=/researchgate.net/127.0.0.1#1053 -server=/resetgey.com/127.0.0.1#1053 -server=/res-ga.smzdm.com/127.0.0.1#1053 -server=/res.hunantv.com/127.0.0.1#1053 -server=/res.icast.cn/127.0.0.1#1053 -server=/res.ipingke.com/127.0.0.1#1053 -server=/resolver.gslb.mi-idc.com/127.0.0.1#1053 -server=/resolver.msg.xiaomi.net/127.0.0.1#1053 -server=/resource.baomihua.com/127.0.0.1#1053 -server=/responsys.net/127.0.0.1#1053 -server=/res.qhupdate.com/127.0.0.1#1053 -server=/re.taobao.com/127.0.0.1#1053 -server=/re.taotaosou.com/127.0.0.1#1053 -server=/ret.xinlongrubber.com/127.0.0.1#1053 -server=/reuters.com/127.0.0.1#1053 -server=/revdepo.com/127.0.0.1#1053 -server=/revealads.appspot.com/127.0.0.1#1053 -server=/rev.fapdu.com/127.0.0.1#1053 -server=/revsci.net/127.0.0.1#1053 -server=/rfi.fr/127.0.0.1#1053 -server=/rfir2.50w.me/127.0.0.1#1053 -server=/rh.code.jjyx.com/127.0.0.1#1053 -server=/rh.greenbetterkids.com/127.0.0.1#1053 -server=/rhgyg.com/127.0.0.1#1053 -server=/rich.kuwo.cn/127.0.0.1#1053 -server=/richmedia.yimg.com/127.0.0.1#1053 -server=/rileyguide.com/127.0.0.1#1053 -server=/rime.im/127.0.0.1#1053 -server=/riotcdn.net/127.0.0.1#1053 -server=/riotgames.com/127.0.0.1#1053 -server=/riqu2015.com/127.0.0.1#1053 -server=/river.zhidao.baidu.com/127.0.0.1#1053 -server=/rj.baidu.com/127.0.0.1#1053 -server=/rjgw.theta.sogou.com/127.0.0.1#1053 -server=/rjs.niuxgame77.com/127.0.0.1#1053 -server=/rk.rongchengxxw.com/127.0.0.1#1053 -server=/rlcdn.com/127.0.0.1#1053 -server=/rlogs.youdao.com/127.0.0.1#1053 -server=/r.l.youku.com/127.0.0.1#1053 -server=/rmads.eu.msn.com/127.0.0.1#1053 -server=/rmads.msn.com/127.0.0.1#1053 -server=/r.mail.163.com/127.0.0.1#1053 -server=/rmcxw.cn/127.0.0.1#1053 -server=/rmoeu.mercury.sogou.com/127.0.0.1#1053 -server=/rm.ra.icast.cn/127.0.0.1#1053 -server=/rm.sina.com.cn/127.0.0.1#1053 -server=/r.msn.com/127.0.0.1#1053 -server=/rmtx.ra.icast.cn/127.0.0.1#1053 -server=/rmw.jdburl.com/127.0.0.1#1053 -server=/r.myadx.net/127.0.0.1#1053 -server=/rnfrfxqztlno.com/127.0.0.1#1053 -server=/roia.com/127.0.0.1#1053 -server=/rosi.okkkk.com/127.0.0.1#1053 -server=/rotabanner.kulichki.net/127.0.0.1#1053 -server=/rotate.ymtracking.com/127.0.0.1#1053 -server=/rotator.tradetracker.net/127.0.0.1#1053 -server=/router.bittorrent.com/127.0.0.1#1053 -server=/rovio-news-app.angrybirdsgame.com/127.0.0.1#1053 -server=/r.ow.0.0.0.0.cn/127.0.0.1#1053 -server=/rpaulfrank.com/127.0.0.1#1053 -server=/rpc-php.trafficfactory.biz/127.0.0.1#1053 -server=/rp.crasheye.cn/127.0.0.1#1053 -server=/rp.gwallet.com/127.0.0.1#1053 -server=/r.pixgold.com/127.0.0.1#1053 -server=/rplog.baidu.com/127.0.0.1#1053 -server=/rpnews.itaoxiaoshuo.com/127.0.0.1#1053 -server=/rpt.anchorfree.net/127.0.0.1#1053 -server=/rqgsf.com/127.0.0.1#1053 -server=/r.radikal.ru/127.0.0.1#1053 -server=/rr.knet.cn/127.0.0.1#1053 -server=/rrmj.tv/127.0.0.1#1053 -server=/rrr.youle55.com/127.0.0.1#1053 -server=/rrsubway.com/127.0.0.1#1053 -server=/rs1.rensheng5.com/127.0.0.1#1053 -server=/rsas.szzek.com/127.0.0.1#1053 -server=/rsccs.com/127.0.0.1#1053 -server=/rsc.org/127.0.0.1#1053 -server=/rsf.org/127.0.0.1#1053 -server=/rs.sinajs.cn/127.0.0.1#1053 -server=/rtas.videocc.net/127.0.0.1#1053 -server=/rtax.criteo.com/127.0.0.1#1053 -server=/rtbasia.com/127.0.0.1#1053 -server=/rtb.com.ru/127.0.0.1#1053 -server=/rtb.eanalyzer.de/127.0.0.1#1053 -server=/rtb.metrigo.com/127.0.0.1#1053 -server=/rtb-p.kejet.net/127.0.0.1#1053 -server=/rtbstat.zcdsp.com/127.0.0.1#1053 -server=/rt.funshion.net/127.0.0.1#1053 -server=/rt.gsspat.jp/127.0.0.1#1053 -server=/rthk.hk/127.0.0.1#1053 -server=/rtlog.vidown.cn/127.0.0.1#1053 -server=/rtmonitor.kugou.com/127.0.0.1#1053 -server=/rto.steelhousemedia.com/127.0.0.1#1053 -server=/ruan88.com/127.0.0.1#1053 -server=/rubicon-match.dotomi.com/127.0.0.1#1053 -server=/rubiconproject.com/127.0.0.1#1053 -server=/rudy.adsnative.com/127.0.0.1#1053 -server=/ru-gmtdmp.mookie1.com/127.0.0.1#1053 -server=/ruguoapp.com/127.0.0.1#1053 -server=/rum-collector.pingdom.net/127.0.0.1#1053 -server=/rum-static.pingdom.net/127.0.0.1#1053 -server=/runetki.joyreactor.ru/127.0.0.1#1053 -server=/runiman.com/127.0.0.1#1053 -server=/rutrk.org/127.0.0.1#1053 -server=/ruxianke.com/127.0.0.1#1053 -server=/rvb.quanliyouxi.cn/127.0.0.1#1053 -server=/rwjfs.com/127.0.0.1#1053 -server=/rwq.youle55.com/127.0.0.1#1053 -server=/r.xcycm.com/127.0.0.1#1053 -server=/rxwan.com/127.0.0.1#1053 -server=/ry51w.cn/127.0.0.1#1053 -server=/r.youmi.net/127.0.0.1#1053 -server=/r.zlongad.com/127.0.0.1#1053 -server=/s.0.0.0.0.cn/127.0.0.1#1053 -server=/s0.2mdn.net/127.0.0.1#1053 -server=/s03.optimix.asia/127.0.0.1#1053 -server=/s.051352.com/127.0.0.1#1053 -server=/s.0594529.com/127.0.0.1#1053 -server=/s10.histats.com/127.0.0.1#1053 -server=/s1.2mdn.net/127.0.0.1#1053 -server=/s.17173cdn.com/127.0.0.1#1053 -server=/s1.cmfu.com/127.0.0.1#1053 -server=/s1.hiapk.com/127.0.0.1#1053 -server=/s1.hnhbyxdq.com/127.0.0.1#1053 -server=/s1.huiqituan.com/127.0.0.1#1053 -server=/s1.iigushi.com/127.0.0.1#1053 -server=/s1.kutongji.com/127.0.0.1#1053 -server=/s1.mingmingtehui.com/127.0.0.1#1053 -server=/s1.qiqutt.cn/127.0.0.1#1053 -server=/s1.qiqutt.com/127.0.0.1#1053 -server=/s1.qiuyi.cn/127.0.0.1#1053 -server=/s1.s8tu.com/127.0.0.1#1053 -server=/s1.tansuotv.com/127.0.0.1#1053 -server=/s2.dnaxddnc.com/127.0.0.1#1053 -server=/s2.hiapk.com/127.0.0.1#1053 -server=/s2.huoying666.com/127.0.0.1#1053 -server=/s2.kuaibaopay.com/127.0.0.1#1053 -server=/s2.mingmingtehui.com/127.0.0.1#1053 -server=/s2.yandui.com/127.0.0.1#1053 -server=/s2.zdface.com/127.0.0.1#1053 -server=/s2.zdmimg.com/127.0.0.1#1053 -server=/s.35kds.com/127.0.0.1#1053 -server=/s3d4.cn/127.0.0.1#1053 -server=/s3.pfp.sina.net/127.0.0.1#1053 -server=/s3.rongnews.com/127.0.0.1#1053 -server=/s400cc.com/127.0.0.1#1053 -server=/s4.55.la/127.0.0.1#1053 -server=/s4.histats.com/127.0.0.1#1053 -server=/s.5jjx.net/127.0.0.1#1053 -server=/s5.keydot.net/127.0.0.1#1053 -server=/s.652748.com/127.0.0.1#1053 -server=/s.6travel.com/127.0.0.1#1053 -server=/s8.001fzc.com/127.0.0.1#1053 -server=/s8.dnaxddnc.com/127.0.0.1#1053 -server=/s8x1.com/127.0.0.1#1053 -server=/s9w.cc/127.0.0.1#1053 -server=/sa909.com/127.0.0.1#1053 -server=/s.abcache.com/127.0.0.1#1053 -server=/sad.qeo.cn/127.0.0.1#1053 -server=/safe-aisle.jointreport-switch.com/127.0.0.1#1053 -server=/saferwet.com/127.0.0.1#1053 -server=/safe.tsgpay.cn/127.0.0.1#1053 -server=/sagepub.com/127.0.0.1#1053 -server=/s.alitui.weibo.com/127.0.0.1#1053 -server=/same01.jrj.com.cn/127.0.0.1#1053 -server=/same02.jrj.com.cn/127.0.0.1#1053 -server=/same03.jrj.com.cn/127.0.0.1#1053 -server=/same.chinadaily.com.cn/127.0.0.1#1053 -server=/same.eastmoney.com/127.0.0.1#1053 -server=/same.jrj.com.cn/127.0.0.1#1053 -server=/same.mzy2014.com/127.0.0.1#1053 -server=/same.stockstar.com/127.0.0.1#1053 -server=/sams.nikonimaging.com/127.0.0.1#1053 -server=/sangxi.top/127.0.0.1#1053 -server=/sankie.net/127.0.0.1#1053 -server=/sanya1.com/127.0.0.1#1053 -server=/sape.ru/127.0.0.1#1053 -server=/sapi.sina.cn/127.0.0.1#1053 -server=/savebt.net/127.0.0.1#1053 -server=/saxxaz.taohuayuan8888.com/127.0.0.1#1053 -server=/sb88b.com/127.0.0.1#1053 -server=/s.baidu.com/127.0.0.1#1053 -server=/sbeacon.sina.com.cn/127.0.0.1#1053 -server=/s.bmgan.com/127.0.0.1#1053 -server=/sbrqp.com/127.0.0.1#1053 -server=/sb.scorecardresearch.com/127.0.0.1#1053 -server=/sbw.ysjweb.com/127.0.0.1#1053 -server=/sc1369.com/127.0.0.1#1053 -server=/sc.58mingtian.cn/127.0.0.1#1053 -server=/s.caduka.cn/127.0.0.1#1053 -server=/scc.0.0.0.0.cn/127.0.0.1#1053 -server=/sccdn.f2zd.com/127.0.0.1#1053 -server=/sc.chinaiiss.com/127.0.0.1#1053 -server=/scdn.co/127.0.0.1#1053 -server=/scdng.com/127.0.0.1#1053 -server=/s.cdn.u17t.com/127.0.0.1#1053 -server=/scdown.qq.com/127.0.0.1#1053 -server=/s.cdxyb.cn/127.0.0.1#1053 -server=/scene.vip.xunlei.com/127.0.0.1#1053 -server=/sc.ggdoubi.com/127.0.0.1#1053 -server=/sc.ggfeng.com/127.0.0.1#1053 -server=/schborg.com/127.0.0.1#1053 -server=/schemas.android.com/127.0.0.1#1053 -server=/schprompt.dangdang.com/127.0.0.1#1053 -server=/sc.iasds01.com/127.0.0.1#1053 -server=/sciencedaily.com/127.0.0.1#1053 -server=/sciencedirect.com/127.0.0.1#1053 -server=/sciencelolb.com/127.0.0.1#1053 -server=/sciencemag.org/127.0.0.1#1053 -server=/science.org/127.0.0.1#1053 -server=/sci-hub.tw/127.0.0.1#1053 -server=/scimg.27admin.com/127.0.0.1#1053 -server=/scitation.org/127.0.0.1#1053 -server=/sclick.6rooms.com/127.0.0.1#1053 -server=/sclick.baidu.com/127.0.0.1#1053 -server=/sclive.net/127.0.0.1#1053 -server=/sclizhong.com/127.0.0.1#1053 -server=/s.clkservice.youdao.com/127.0.0.1#1053 -server=/sclog.moviebox.baofeng.com/127.0.0.1#1053 -server=/s.com2us.net/127.0.0.1#1053 -server=/scopus.com/127.0.0.1#1053 -server=/scorecardresearch.com/127.0.0.1#1053 -server=/s.coveredsys.cn/127.0.0.1#1053 -server=/scribd.com/127.0.0.1#1053 -server=/scribe.twitter.com/127.0.0.1#1053 -server=/scrippsnetworks.com/127.0.0.1#1053 -server=/script-bd.baixing.net/127.0.0.1#1053 -server=/scriptcc.cc/127.0.0.1#1053 -server=/script.crazyegg.com/127.0.0.1#1053 -server=/script.vccoo.com/127.0.0.1#1053 -server=/s.cr-nielsen.com/127.0.0.1#1053 -server=/s.csbew.com/127.0.0.1#1053 -server=/sc.sczxy.com/127.0.0.1#1053 -server=/sc.shayugg.com/127.0.0.1#1053 -server=/scupio.com/127.0.0.1#1053 -server=/scw0.com/127.0.0.1#1053 -server=/sd.0.0.0.0.cn/127.0.0.1#1053 -server=/sdac.lenovomm.com/127.0.0.1#1053 -server=/sdapprecv.app.cntvwb.cn/127.0.0.1#1053 -server=/sdb.amazonaws.com/127.0.0.1#1053 -server=/s.ddstu.com/127.0.0.1#1053 -server=/s.de123.net/127.0.0.1#1053 -server=/sdhzstone.net/127.0.0.1#1053 -server=/sdk.api.gamex.mobile.youku.com/127.0.0.1#1053 -server=/sdk.appadhoc.com/127.0.0.1#1053 -server=/sdkapp.mobile.sina.cn/127.0.0.1#1053 -server=/sdkapp.uve.weibo.com/127.0.0.1#1053 -server=/sdk.cdnmaster.com/127.0.0.1#1053 -server=/sdkclick.mobile.sina.cn/127.0.0.1#1053 -server=/sdk.cmgame.com/127.0.0.1#1053 -server=/sdkconfig.ad.intl.xiaomi.com/127.0.0.1#1053 -server=/sdk.conf.igexin.com/127.0.0.1#1053 -server=/sdkdm.com/127.0.0.1#1053 -server=/sd.kk3g.net/127.0.0.1#1053 -server=/sdklog.cmgame.com/127.0.0.1#1053 -server=/sdklog.uu.cc/127.0.0.1#1053 -server=/sdk.mobad.ijinshan.com/127.0.0.1#1053 -server=/sdk.m.youku.com/127.0.0.1#1053 -server=/sdk.open.amp.igexin.com/127.0.0.1#1053 -server=/sdk.open.lbs.igexin.com/127.0.0.1#1053 -server=/sdk.open.phone.igexin.com/127.0.0.1#1053 -server=/sdk.open.talk.gepush.com/127.0.0.1#1053 -server=/sdk.open.talk.igexin.com/127.0.0.1#1053 -server=/sdkpay.uu.cc/127.0.0.1#1053 -server=/sdksitter.m.sjzhushou.com/127.0.0.1#1053 -server=/sdl.0.0.0.0.cn/127.0.0.1#1053 -server=/sdn.kugou.com/127.0.0.1#1053 -server=/sdn.penggua.com.cn/127.0.0.1#1053 -server=/sdownload.stargame.com/127.0.0.1#1053 -server=/s.doyo.cn/127.0.0.1#1053 -server=/s.dpcq1.net/127.0.0.1#1053 -server=/sdqoi2d.com/127.0.0.1#1053 -server=/s.dsjcfw.com/127.0.0.1#1053 -server=/sdwfw.com/127.0.0.1#1053 -server=/sdycd.com/127.0.0.1#1053 -server=/sea.napi.ucweb.com/127.0.0.1#1053 -server=/search.com/127.0.0.1#1053 -server=/searchignited.com/127.0.0.1#1053 -server=/searchswapper.com/127.0.0.1#1053 -server=/seavideo-ak.espn.go.com/127.0.0.1#1053 -server=/sebar.thand.info/127.0.0.1#1053 -server=/secpay.wostore.cn/127.0.0.1#1053 -server=/sec.resource.xiaomi.net/127.0.0.1#1053 -server=/secretmedia.s3.amazonaws.com/127.0.0.1#1053 -server=/secure-asia.imrworldwide.com/127.0.0.1#1053 -server=/secure-assets.rubiconproject.com/127.0.0.1#1053 -server=/secure-chn.imrworldwide.com/127.0.0.1#1053 -server=/secure.dsp.com/127.0.0.1#1053 -server=/secure-ds.serving-sys.com/127.0.0.1#1053 -server=/secure.fastclick.net/127.0.0.1#1053 -server=/secure.img-cdn.mediaplex.com/127.0.0.1#1053 -server=/secure.quantserve.com/127.0.0.1#1053 -server=/secure.statcounter.com/127.0.0.1#1053 -server=/security.browser.miui.com/127.0.0.1#1053 -server=/seen.h01ce.cn/127.0.0.1#1053 -server=/seen.hgo7r.cn/127.0.0.1#1053 -server=/s.effectivemeasure.net/127.0.0.1#1053 -server=/segment.com/127.0.0.1#1053 -server=/seg.sharethis.com/127.0.0.1#1053 -server=/s.ekeide.com/127.0.0.1#1053 -server=/selfie.snapmobileasia.net/127.0.0.1#1053 -server=/sell1.etlong.com/127.0.0.1#1053 -server=/semanticscholar.org/127.0.0.1#1053 -server=/sensorsdata.ruguoapp.com/127.0.0.1#1053 -server=/serial.alcohol-soft.com/127.0.0.1#1053 -server=/serrano.hardwareheaven.com/127.0.0.1#1053 -server=/servebom.com/127.0.0.1#1053 -server=/servedby.keygamesnetwork.com/127.0.0.1#1053 -server=/serve.popads.net/127.0.0.1#1053 -server=/serverlesslibrary.net/127.0.0.1#1053 -server=/server.m.pp.cn/127.0.0.1#1053 -server=/service.ad.adesk.com/127.0.0.1#1053 -server=/service.ad.duomi.com/127.0.0.1#1053 -server=/service.cocounion.com/127.0.0.1#1053 -server=/service.danmu.youku.com/127.0.0.1#1053 -server=/service.epro.sogou.com/127.0.0.1#1053 -server=/servicer.adskeeper.co.uk/127.0.0.1#1053 -server=/service.urchin.com/127.0.0.1#1053 -server=/serving-sys.com/127.0.0.1#1053 -server=/sestat.baidu.com/127.0.0.1#1053 -server=/setting.crashlytics.com/127.0.0.1#1053 -server=/setting.rayjump.com/127.0.0.1#1053 -server=/settings.crashlytics.com/127.0.0.1#1053 -server=/setting.snswin.qq.com/127.0.0.1#1053 -server=/sexinsex.net/127.0.0.1#1053 -server=/sezvc.com/127.0.0.1#1053 -server=/sfbassets.com/127.0.0.1#1053 -server=/sfbassets.net/127.0.0.1#1053 -server=/sf-express.com/127.0.0.1#1053 -server=/sfloushi.com/127.0.0.1#1053 -server=/sfx.ms/127.0.0.1#1053 -server=/sg536.cn/127.0.0.1#1053 -server=/sgbfjs.info/127.0.0.1#1053 -server=/sg-cdn.effectivemeasure.net/127.0.0.1#1053 -server=/s.georgias.cn/127.0.0.1#1053 -server=/sgg.southcn.com/127.0.0.1#1053 -server=/s.go.sohu.com/127.0.0.1#1053 -server=/sgvip.chinahdcm.com/127.0.0.1#1053 -server=/sha50.com/127.0.0.1#1053 -server=/shadowsocks.org/127.0.0.1#1053 -server=/shadowverse.jp/127.0.0.1#1053 -server=/shadu.baidu.com/127.0.0.1#1053 -server=/shaft.jebe.renren.com/127.0.0.1#1053 -server=/s.haiyunx.com/127.0.0.1#1053 -server=/shama5.com/127.0.0.1#1053 -server=/shanghaironghua.com/127.0.0.1#1053 -server=/shanglinli.com/127.0.0.1#1053 -server=/shangz99991.com/127.0.0.1#1053 -server=/shankejingling.com/127.0.0.1#1053 -server=/sharedaddomain.com/127.0.0.1#1053 -server=/shared.youdao.com/127.0.0.1#1053 -server=/share.gzdsw.com/127.0.0.1#1053 -server=/sharepoint.cn/127.0.0.1#1053 -server=/sharepoint.com/127.0.0.1#1053 -server=/sharepointonline.com/127.0.0.1#1053 -server=/sharethis.com/127.0.0.1#1053 -server=/sharrysweb.com/127.0.0.1#1053 -server=/shazam.com/127.0.0.1#1053 -server=/shbywsd.cn/127.0.0.1#1053 -server=/shenghuo.xiaomi.com/127.0.0.1#1053 -server=/shenleyuni.com/127.0.0.1#1053 -server=/shenyian.net/127.0.0.1#1053 -server=/shenyun.com/127.0.0.1#1053 -server=/shenyun.org/127.0.0.1#1053 -server=/shenyunperformingarts.org/127.0.0.1#1053 -server=/shglegle.com/127.0.0.1#1053 -server=/shibeiou.com/127.0.0.1#1053 -server=/shiftrro.com/127.0.0.1#1053 -server=/shili.downxia.com/127.0.0.1#1053 -server=/shili.wanyx.com/127.0.0.1#1053 -server=/shiwan.dl.gxpan.cn/127.0.0.1#1053 -server=/shixunjs.th21333.com/127.0.0.1#1053 -server=/shizen-no-megumi.com/127.0.0.1#1053 -server=/s.hk9600.com/127.0.0.1#1053 -server=/shke.kuuad.com/127.0.0.1#1053 -server=/s.hkfuy.com/127.0.0.1#1053 -server=/s.hnhgw.cn/127.0.0.1#1053 -server=/shop265.com/127.0.0.1#1053 -server=/shop.admin.yinyuetai.com/127.0.0.1#1053 -server=/shopdisney.com/127.0.0.1#1053 -server=/shoppingpartners2.futurenet.com/127.0.0.1#1053 -server=/shops-disney.com/127.0.0.1#1053 -server=/shop.yinyuetai.com/127.0.0.1#1053 -server=/shouyoutan.com/127.0.0.1#1053 -server=/showcase.vpsboard.com/127.0.0.1#1053 -server=/showing.hardwareheaven.com/127.0.0.1#1053 -server=/show.kc.taotaosou.com/127.0.0.1#1053 -server=/show.qx15.com/127.0.0.1#1053 -server=/shows.21cn.com/127.0.0.1#1053 -server=/show.xiazai16.com/127.0.0.1#1053 -server=/sh.qihoo.com/127.0.0.1#1053 -server=/shrek.6.cn/127.0.0.1#1053 -server=/sh.shuqw.com/127.0.0.1#1053 -server=/shtt.shuqw.com/127.0.0.1#1053 -server=/shucaihangjia.com/127.0.0.1#1053 -server=/shuiguo.com/127.0.0.1#1053 -server=/shuqw.com/127.0.0.1#1053 -server=/shushijiameng123.com/127.0.0.1#1053 -server=/shutterstock.com/127.0.0.1#1053 -server=/shuttle.bayescom.com/127.0.0.1#1053 -server=/shuzilm.cn/127.0.0.1#1053 -server=/shxinjie.cn/127.0.0.1#1053 -server=/s.hzht666.com/127.0.0.1#1053 -server=/shzyjbr.wtdtjs.rocks/127.0.0.1#1053 -server=/si9377.com/127.0.0.1#1053 -server=/siam.org/127.0.0.1#1053 -server=/sicentlife.com/127.0.0.1#1053 -server=/sidelinesnews.com/127.0.0.1#1053 -server=/sifubo.cn/127.0.0.1#1053 -server=/sifuce.cn/127.0.0.1#1053 -server=/sifuda.cn/127.0.0.1#1053 -server=/sifufu.cn/127.0.0.1#1053 -server=/sifuge.cn/127.0.0.1#1053 -server=/sifugu.cn/127.0.0.1#1053 -server=/sifuhe.cn/127.0.0.1#1053 -server=/sifuhu.cn/127.0.0.1#1053 -server=/sifuji.cn/127.0.0.1#1053 -server=/sifuka.cn/127.0.0.1#1053 -server=/sigbusa.com/127.0.0.1#1053 -server=/signalr.net/127.0.0.1#1053 -server=/sigo99.com/127.0.0.1#1053 -server=/simba.6.cn/127.0.0.1#1053 -server=/simba.m.taobao.com/127.0.0.1#1053 -server=/simg.jp/127.0.0.1#1053 -server=/s.img.mix.sina.com.cn/127.0.0.1#1053 -server=/simplenote.com/127.0.0.1#1053 -server=/simp.ly/127.0.0.1#1053 -server=/sinaalicdn.com/127.0.0.1#1053 -server=/sinaaliyun.cn/127.0.0.1#1053 -server=/sinaapp.com/127.0.0.1#1053 -server=/sinaimg.cn/127.0.0.1#1053 -server=/sinaimg.com/127.0.0.1#1053 -server=/sina.wrating.com/127.0.0.1#1053 -server=/sina.yinstar.org/127.0.0.1#1053 -server=/siqwqjza.m.yikanxiaoshuo.net/127.0.0.1#1053 -server=/s.iroby.com/127.0.0.1#1053 -server=/sis.jpush.io/127.0.0.1#1053 -server=/site.cdnmaster.com/127.0.0.1#1053 -server=/site.img.4tube.com/127.0.0.1#1053 -server=/sitemeter.com/127.0.0.1#1053 -server=/sitemobia.com/127.0.0.1#1053 -server=/sitescout.com/127.0.0.1#1053 -server=/sitetag.us/127.0.0.1#1053 -server=/sit.gentags.net/127.0.0.1#1053 -server=/sit.pagechoice.net/127.0.0.1#1053 -server=/s.iuuff.com/127.0.0.1#1053 -server=/sj1.3987.com/127.0.0.1#1053 -server=/s.jandan.com/127.0.0.1#1053 -server=/s.jimdo.com/127.0.0.1#1053 -server=/sjj.jsyjwj.com/127.0.0.1#1053 -server=/s.jlminte.com/127.0.0.1#1053 -server=/s.jpush.cn/127.0.0.1#1053 -server=/sj.uukanshu.com/127.0.0.1#1053 -server=/s.jzkelida.com/127.0.0.1#1053 -server=/skatehot.net/127.0.0.1#1053 -server=/sketchappsources.com/127.0.0.1#1053 -server=/s.khgj.cn/127.0.0.1#1053 -server=/skype/127.0.0.1#1053 -server=/skypeassets.com/127.0.0.1#1053 -server=/skypeassets.net/127.0.0.1#1053 -server=/skype.com/127.0.0.1#1053 -server=/skypeforbusiness.com/127.0.0.1#1053 -server=/skype.net/127.0.0.1#1053 -server=/s.l8l9.com/127.0.0.1#1053 -server=/slack.com/127.0.0.1#1053 -server=/slack-edge.com/127.0.0.1#1053 -server=/slack-msgs.com/127.0.0.1#1053 -server=/slb.sxuantang.com/127.0.0.1#1053 -server=/slb.upshengyi.com/127.0.0.1#1053 -server=/slib.tvmao.cn/127.0.0.1#1053 -server=/slides.discovery.tom.com/127.0.0.1#1053 -server=/slideshare.net/127.0.0.1#1053 -server=/slog.sina.cn/127.0.0.1#1053 -server=/slog.sina.com.cn/127.0.0.1#1053 -server=/slot.union.ucweb.com/127.0.0.1#1053 -server=/sl.xawjwl.com/127.0.0.1#1053 -server=/slzs.52xiyou.com/127.0.0.1#1053 -server=/sm.0.0.0.0.cn/127.0.0.1#1053 -server=/sm1.todgo.com/127.0.0.1#1053 -server=/sm2.todgo.com/127.0.0.1#1053 -server=/s.maipubao.cn/127.0.0.1#1053 -server=/smartdnsproxy.com/127.0.0.1#1053 -server=/smartmad.com/127.0.0.1#1053 -server=/smartmailcloud.com/127.0.0.1#1053 -server=/smblock.s3.amazonaws.com/127.0.0.1#1053 -server=/s.meimeidaren.com/127.0.0.1#1053 -server=/smgru.net/127.0.0.1#1053 -server=/s.mgwcn.com/127.0.0.1#1053 -server=/smh.com.au/127.0.0.1#1053 -server=/s-microsoft.com/127.0.0.1#1053 -server=/sm.ms/127.0.0.1#1053 -server=/s-msedge.net/127.0.0.1#1053 -server=/s-msft.com/127.0.0.1#1053 -server=/s-msn.com/127.0.0.1#1053 -server=/s.mt145.com/127.0.0.1#1053 -server=/smucdn.com/127.0.0.1#1053 -server=/smxay.com/127.0.0.1#1053 -server=/smxsg.com/127.0.0.1#1053 -server=/smzdm.com/127.0.0.1#1053 -server=/snapchat.com/127.0.0.1#1053 -server=/snapmobileasia.net/127.0.0.1#1053 -server=/snap.snapmobile.asia/127.0.0.1#1053 -server=/sndcdn.com/127.0.0.1#1053 -server=/sngmta.qq.com/127.0.0.1#1053 -server=/snnnyy.com/127.0.0.1#1053 -server=/snow001.com/127.0.0.1#1053 -server=/snwx.com/127.0.0.1#1053 -server=/so9l.com/127.0.0.1#1053 -server=/soarfi.cn/127.0.0.1#1053 -server=/sobar.baidu.com/127.0.0.1#1053 -server=/sobartop.baidu.com/127.0.0.1#1053 -server=/socdm.com/127.0.0.1#1053 -server=/social-touch.com/127.0.0.1#1053 -server=/sockslist.net/127.0.0.1#1053 -server=/so.com/127.0.0.1#1053 -server=/sod.onelink.me/127.0.0.1#1053 -server=/soft.chaomeng8.com/127.0.0.1#1053 -server=/soft.zhidian3g.cn/127.0.0.1#1053 -server=/sogoucdn.com/127.0.0.1#1053 -server=/sogou.com/127.0.0.1#1053 -server=/sohu.com/127.0.0.1#1053 -server=/sohu.irs01.com/127.0.0.1#1053 -server=/sohu.wrating.com/127.0.0.1#1053 -server=/s.okmgy.cn/127.0.0.1#1053 -server=/soku.com/127.0.0.1#1053 -server=/solana.com/127.0.0.1#1053 -server=/somecoding.com/127.0.0.1#1053 -server=/somennew.com/127.0.0.1#1053 -server=/song001.com/127.0.0.1#1053 -server=/song.fanxing.kugou.com/127.0.0.1#1053 -server=/sonomoyo.com/127.0.0.1#1053 -server=/sony.com/127.0.0.1#1053 -server=/sonyentertainmentnetwork.com/127.0.0.1#1053 -server=/sorcerersarena.com/127.0.0.1#1053 -server=/sos0easy.com/127.0.0.1#1053 -server=/soso.com/127.0.0.1#1053 -server=/sou.dkdlsj.com/127.0.0.1#1053 -server=/souid.com/127.0.0.1#1053 -server=/soundcloud.app.goo.gl/127.0.0.1#1053 -server=/soundcloud.com/127.0.0.1#1053 -server=/soundcloudmail.compayload:/127.0.0.1#1053 -server=/sourceforge.net/127.0.0.1#1053 -server=/source.youxiaoad.com/127.0.0.1#1053 -server=/sousuo.xm.sjzhushou.com/127.0.0.1#1053 -server=/sou.xanbhx.com/127.0.0.1#1053 -server=/sowers.org.hk/127.0.0.1#1053 -server=/sp3.cndm.com/127.0.0.1#1053 -server=/spade.twitch.tv/127.0.0.1#1053 -server=/spad.i-mobile.co.jp/127.0.0.1#1053 -server=/spaindisney.com/127.0.0.1#1053 -server=/spap.adingo.jp/127.0.0.1#1053 -server=/spap.adingo.jp.eimg.jp/127.0.0.1#1053 -server=/spapi.i-mobile.co.jp/127.0.0.1#1053 -server=/spb.bid.run/127.0.0.1#1053 -server=/spcdnpc.i-mobile.co.jp/127.0.0.1#1053 -server=/spcnv.i-mobile.co.jp/127.0.0.1#1053 -server=/spcode.baidu.com/127.0.0.1#1053 -server=/spdeliver.i-mobile.co.jp/127.0.0.1#1053 -server=/spdmg-backend.i-mobile.co.jp/127.0.0.1#1053 -server=/spdmg.i-mobile.co.jp/127.0.0.1#1053 -server=/speed.cloudflare.com/127.0.0.1#1053 -server=/speedsmart.net/127.0.0.1#1053 -server=/sp.fastclick.net/127.0.0.1#1053 -server=/sp.gmossp-sp.jp/127.0.0.1#1053 -server=/s.phpwind.com/127.0.0.1#1053 -server=/sphwq.net/127.0.0.1#1053 -server=/spiedigitallibrary.org/127.0.0.1#1053 -server=/spike.com/127.0.0.1#1053 -server=/spnet2-1.i-mobile.co.jp/127.0.0.1#1053 -server=/spnet33.i-mobile.co.jp/127.0.0.1#1053 -server=/sponsorpay.com/127.0.0.1#1053 -server=/sponsors.s2ki.com/127.0.0.1#1053 -server=/sponsors.webosroundup.com/127.0.0.1#1053 -server=/spoprod-a.akamaihd.net/127.0.0.1#1053 -server=/spoti.fi/127.0.0.1#1053 -server=/spotifycdn.com/127.0.0.1#1053 -server=/spotifycdn.net/127.0.0.1#1053 -server=/spotifycharts.com/127.0.0.1#1053 -server=/spotifycodes.com/127.0.0.1#1053 -server=/spotify.com/127.0.0.1#1053 -server=/spotifyjobs.com/127.0.0.1#1053 -server=/spotifynewsroom.jp/127.0.0.1#1053 -server=/spotilocal.com/127.0.0.1#1053 -server=/spproxy.autobytel.com/127.0.0.1#1053 -server=/springer.com/127.0.0.1#1053 -server=/springerlink.com/127.0.0.1#1053 -server=/sprinklesapp.com/127.0.0.1#1053 -server=/spro.so.com/127.0.0.1#1053 -server=/spt.dictionary.com/127.0.0.1#1053 -server=/sp.wndoor.com/127.0.0.1#1053 -server=/sp.yixui.com/127.0.0.1#1053 -server=/s.p.youku.com/127.0.0.1#1053 -server=/sqd.jstdjq.com/127.0.0.1#1053 -server=/s.qd.qingting.fm/127.0.0.1#1053 -server=/s.qd.qingtingfm.com/127.0.0.1#1053 -server=/sqext.com/127.0.0.1#1053 -server=/s.qhupdate.com/127.0.0.1#1053 -server=/sqlserveronlinux.com/127.0.0.1#1053 -server=/s.qtad.qingting.fm/127.0.0.1#1053 -server=/sqtpks3.1391.com/127.0.0.1#1053 -server=/squarespace.com/127.0.0.1#1053 -server=/squarespace.evyy.net/127.0.0.1#1053 -server=/s.qzkxt.com/127.0.0.1#1053 -server=/src.duanxin520.com/127.0.0.1#1053 -server=/src.leju.com/127.0.0.1#1053 -server=/src.zf313.com/127.0.0.1#1053 -server=/srd.simba.taobao.com/127.0.0.1#1053 -server=/srhuafeng.com/127.0.0.1#1053 -server=/srv.carbonads.net/127.0.0.1#1053 -server=/srv.revdepo.com/127.0.0.1#1053 -server=/srv.thespacereporter.com/127.0.0.1#1053 -server=/s.ryre.cn/127.0.0.1#1053 -server=/ssac.suning.com/127.0.0.1#1053 -server=/ssa.gov/127.0.0.1#1053 -server=/sscefsol.com/127.0.0.1#1053 -server=/sscefsol.com.cn/127.0.0.1#1053 -server=/ss.cnczjy.com/127.0.0.1#1053 -server=/ss.cnnic.cn/127.0.0.1#1053 -server=/ssdaili.com/127.0.0.1#1053 -server=/ss.he9630.com/127.0.0.1#1053 -server=/ssh.hxlif.com/127.0.0.1#1053 -server=/s.shiftrro.com/127.0.0.1#1053 -server=/ssh.jsyzw132.com/127.0.0.1#1053 -server=/ssh.lifu11.com/127.0.0.1#1053 -server=/s.sh.qihoo.com/127.0.0.1#1053 -server=/ssh.szxiuchang.com/127.0.0.1#1053 -server=/ssh.yezijizhang.com/127.0.0.1#1053 -server=/ssjpx.com/127.0.0.1#1053 -server=/ssjy168.com/127.0.0.1#1053 -server=/ss.knet.cn/127.0.0.1#1053 -server=/ssl-cdn.media.innity.net/127.0.0.1#1053 -server=/ssl.google-analytics.com/127.0.0.1#1053 -server=/ssl.hyhzy.cn/127.0.0.1#1053 -server=/ssl.ymapp.com/127.0.0.1#1053 -server=/ss.missyouxi.com/127.0.0.1#1053 -server=/sso-cas.gridsumdissector.com/127.0.0.1#1053 -server=/ssp.08160.cn/127.0.0.1#1053 -server=/ssp1.dmpdsp.com/127.0.0.1#1053 -server=/ssp.1rtb.com/127.0.0.1#1053 -server=/ssp.4hw.com.cn/127.0.0.1#1053 -server=/ssp.86str.com/127.0.0.1#1053 -server=/sspai.com/127.0.0.1#1053 -server=/sspapi.youxiaoad.com/127.0.0.1#1053 -server=/ssp-bidder.i-mobile.co.jp/127.0.0.1#1053 -server=/ssp.chaohutechan.com/127.0.0.1#1053 -server=/ssp.cibn.starschina.com/127.0.0.1#1053 -server=/ssp.daxueshengqiandai.com/127.0.0.1#1053 -server=/ssp.dmpdsp.com/127.0.0.1#1053 -server=/ssp.kjwx8.com/127.0.0.1#1053 -server=/ssp.kss.ksyun.com/127.0.0.1#1053 -server=/ssp.kssws.ks-cdn.com/127.0.0.1#1053 -server=/ssp.kxly360.com/127.0.0.1#1053 -server=/ssp.pro.cn/127.0.0.1#1053 -server=/ssp-rtb.sape.ru/127.0.0.1#1053 -server=/ssp.tadseeker.com/127.0.0.1#1053 -server=/ssp.thescenseproject.com/127.0.0.1#1053 -server=/ssp.youxiaoad.com/127.0.0.1#1053 -server=/ssp.zf313.com/127.0.0.1#1053 -server=/ss.shicimingju.com/127.0.0.1#1053 -server=/ss.shuajuzu.com/127.0.0.1#1053 -server=/sss.jusha.com/127.0.0.1#1053 -server=/sss.sege.xxx/127.0.0.1#1053 -server=/sss.soarfi.cn/127.0.0.1#1053 -server=/ss.subo.me/127.0.0.1#1053 -server=/sssvd.china.com/127.0.0.1#1053 -server=/ss.swagger1.com/127.0.0.1#1053 -server=/sss.wzjmr.com/127.0.0.1#1053 -server=/ss.sysad.cn/127.0.0.1#1053 -server=/ss.sysadult.cn/127.0.0.1#1053 -server=/sss.zbred.com/127.0.0.1#1053 -server=/s.staqnet.com/127.0.0.1#1053 -server=/sstatic.net/127.0.0.1#1053 -server=/sstc360.com/127.0.0.1#1053 -server=/ssum.casalemedia.com/127.0.0.1#1053 -server=/stackoverflow.com/127.0.0.1#1053 -server=/stadig0.ifeng.com/127.0.0.1#1053 -server=/stadig.ifeng.com/127.0.0.1#1053 -server=/staffhub.ms/127.0.0.1#1053 -server=/sta.ganji.com/127.0.0.1#1053 -server=/staging.admin.e.mi.com/127.0.0.1#1053 -server=/sta.haloall.com/127.0.0.1#1053 -server=/sta.holagames.com/127.0.0.1#1053 -server=/sta.jcjk0451.com/127.0.0.1#1053 -server=/staqnet.com/127.0.0.1#1053 -server=/star8.net/127.0.0.1#1053 -server=/star-brasil.com/127.0.0.1#1053 -server=/star-latam.com/127.0.0.1#1053 -server=/starp2p.com/127.0.0.1#1053 -server=/startapp.com/127.0.0.1#1053 -server=/startappexchange.com/127.0.0.1#1053 -server=/startappservice.com/127.0.0.1#1053 -server=/startpage.com/127.0.0.1#1053 -server=/startssl.com/127.0.0.1#1053 -server=/startup.oupeng.com/127.0.0.1#1053 -server=/starwars.com/127.0.0.1#1053 -server=/starwarsgalacticstarcruiser.com/127.0.0.1#1053 -server=/starwarskids.com/127.0.0.1#1053 -server=/statcounter.com/127.0.0.1#1053 -server=/state.gov/127.0.0.1#1053 -server=/stateofthedapps.com/127.0.0.1#1053 -server=/static1.kewaishu.info/127.0.0.1#1053 -server=/static8.pmadx.com/127.0.0.1#1053 -server=/staticadm.leju.com/127.0.0.1#1053 -server=/staticadm.leju.sina.com.cn/127.0.0.1#1053 -server=/static.app.m.letv.com/127.0.0.1#1053 -server=/static.duoshuo.com/127.0.0.1#1053 -server=/staticflickr.com/127.0.0.1#1053 -server=/static.g.iqiyi.com/127.0.0.1#1053 -server=/static.g.ppstream.com/127.0.0.1#1053 -server=/static.g.pptv.com/127.0.0.1#1053 -server=/staticjs.cn/127.0.0.1#1053 -server=/static.ku6.com/127.0.0.1#1053 -server=/statics.3987.com/127.0.0.1#1053 -server=/statics.9669.com/127.0.0.1#1053 -server=/statics-marketingsites-eas-ms-com.akamaized.net/127.0.0.1#1053 -server=/statics-marketingsites-eus-ms-com.akamaized.net/127.0.0.1#1053 -server=/statics-marketingsites-neu-ms-com.akamaized.net/127.0.0.1#1053 -server=/statics-marketingsites-wcus-ms-com.akamaized.net/127.0.0.1#1053 -server=/statics.woozooo.com/127.0.0.1#1053 -server=/statictest.fraudmetrix.cn/127.0.0.1#1053 -server=/static-xl9-ssl.xunlei.com/127.0.0.1#1053 -server=/staticxx.facebook.com/127.0.0.1#1053 -server=/statisticsv2.yinyuetai.com/127.0.0.1#1053 -server=/stat.letv.com/127.0.0.1#1053 -server=/stat.pptv.com/127.0.0.1#1053 -server=/stat.youku.com/127.0.0.1#1053 -server=/stat-y.xywy.com/127.0.0.1#1053 -server=/stat-z.xywy.com/127.0.0.1#1053 -server=/s.team/127.0.0.1#1053 -server=/steamcommunity.com/127.0.0.1#1053 -server=/steamcontent.com/127.0.0.1#1053 -server=/steamgames.com/127.0.0.1#1053 -server=/steampowered.com/127.0.0.1#1053 -server=/steamstatic.compayload:/127.0.0.1#1053 -server=/steamusercontent.com/127.0.0.1#1053 -server=/steelhousemedia.com/127.0.0.1#1053 -server=/s.temaidi.com/127.0.0.1#1053 -server=/stervapoimenialena.info/127.0.0.1#1053 -server=/stg8.com/127.0.0.1#1053 -server=/st.holalauncher.com/127.0.0.1#1053 -server=/st.holaworld.cn/127.0.0.1#1053 -server=/stjzh.gdtarget.com/127.0.0.1#1053 -server=/st.luluku.pw/127.0.0.1#1053 -server=/stn88.com/127.0.0.1#1053 -server=/st-n.ads3-adnow.com/127.0.0.1#1053 -server=/stocksbsc.com/127.0.0.1#1053 -server=/storage.live.com/127.0.0.1#1053 -server=/storeconfig.mistat.xiaomi.com/127.0.0.1#1053 -server=/store.iqiyi.com/127.0.0.1#1053 -server=/store.ptqy.gitv.tv/127.0.0.1#1053 -server=/store.tv.api.3g.youku.com/127.0.0.1#1053 -server=/store.videojj.com/127.0.0.1#1053 -server=/storewidget.pcauthority.com.au/127.0.0.1#1053 -server=/store.xl.api.3g.youku.com/127.0.0.1#1053 -server=/storify.com/127.0.0.1#1053 -server=/s.trafficjam.cn/127.0.0.1#1053 -server=/streaks.jp/127.0.0.1#1053 -server=/stream.heavenmedia.net/127.0.0.1#1053 -server=/streamingdisney.net/127.0.0.1#1053 -server=/streaming.rtbiddingplatform.com/127.0.0.1#1053 -server=/stream.shuzilm.cn/127.0.0.1#1053 -server=/strip.alicdn.com/127.0.0.1#1053 -server=/stripe.com/127.0.0.1#1053 -server=/strip.taobaocdn.com/127.0.0.1#1053 -server=/st.targetix.net/127.0.0.1#1053 -server=/stumbleupon.com/127.0.0.1#1053 -server=/st.vq.ku6.cn/127.0.0.1#1053 -server=/st.yandexadexchange.net/127.0.0.1#1053 -server=/st.yengo.com/127.0.0.1#1053 -server=/su.8881919.cc/127.0.0.1#1053 -server=/su.bdimg.com/127.0.0.1#1053 -server=/su.bdstatic.com/127.0.0.1#1053 -server=/sub.powerapple.com/127.0.0.1#1053 -server=/subswin.com/127.0.0.1#1053 -server=/sub.topber.com/127.0.0.1#1053 -server=/s.uc627.com/127.0.0.1#1053 -server=/successwithteams.com/127.0.0.1#1053 -server=/sucodb.com/127.0.0.1#1053 -server=/sugarsync.com/127.0.0.1#1053 -server=/suning.com/127.0.0.1#1053 -server=/sunjianhao.com/127.0.0.1#1053 -server=/sunswap.com/127.0.0.1#1053 -server=/suoooi.cn/127.0.0.1#1053 -server=/super.cat898.com/127.0.0.1#1053 -server=/super.kdnet.net/127.0.0.1#1053 -server=/supermariorun.com/127.0.0.1#1053 -server=/supfast.net/127.0.0.1#1053 -server=/surface.com/127.0.0.1#1053 -server=/surfeasy.com.au/127.0.0.1#1053 -server=/surge.run/127.0.0.1#1053 -server=/surrenderat20.net/127.0.0.1#1053 -server=/surv.xbizmedia.com/127.0.0.1#1053 -server=/susapi.dev.surepush.cn/127.0.0.1#1053 -server=/susapi.lenovomm.com/127.0.0.1#1053 -server=/sushi.com/127.0.0.1#1053 -server=/s.uuidksinc.net/127.0.0.1#1053 -server=/suvset.sohu.com/127.0.0.1#1053 -server=/sv719.dreamdays.cn/127.0.0.1#1053 -server=/svc.ms/127.0.0.1#1053 -server=/swa.gtimg.com/127.0.0.1#1053 -server=/s.wapadv.com/127.0.0.1#1053 -server=/swappdl.duoyi.com/127.0.0.1#1053 -server=/sway-cdn.com/127.0.0.1#1053 -server=/sway.com/127.0.0.1#1053 -server=/sway-extensions.com/127.0.0.1#1053 -server=/sw.cailawyer.cn/127.0.0.1#1053 -server=/switchadhub.com/127.0.0.1#1053 -server=/switching.atm.punchbox.org/127.0.0.1#1053 -server=/sw.mobile.sogou.com/127.0.0.1#1053 -server=/swpgjai.pop.weddingeeos.com/127.0.0.1#1053 -server=/s.wrating.com/127.0.0.1#1053 -server=/swx.0.0.0.0.cn/127.0.0.1#1053 -server=/s.wxktv.cn/127.0.0.1#1053 -server=/sxbhzs.net/127.0.0.1#1053 -server=/s.xcfe.cn/127.0.0.1#1053 -server=/s.x.cn.xtgreat.com/127.0.0.1#1053 -server=/sxdyrq.com/127.0.0.1#1053 -server=/s.xinghao89.com/127.0.0.1#1053 -server=/sxjxhg.com/127.0.0.1#1053 -server=/s.xmcmn.com/127.0.0.1#1053 -server=/sxz67.com/127.0.0.1#1053 -server=/s.yanpoly.com/127.0.0.1#1053 -server=/sycbbs.com/127.0.0.1#1053 -server=/sy-cdnres.unionsy.com/127.0.0.1#1053 -server=/sy.code.mytanwan.com/127.0.0.1#1053 -server=/sydneytoday.com/127.0.0.1#1053 -server=/sy.flash.mytanwan.com/127.0.0.1#1053 -server=/s.yfycy.com/127.0.0.1#1053 -server=/s.yidianzixun.com/127.0.0.1#1053 -server=/syilm.net/127.0.0.1#1053 -server=/s.yjkyj.cn/127.0.0.1#1053 -server=/sy.jlhygy.com/127.0.0.1#1053 -server=/sy.kcxsyz.com/127.0.0.1#1053 -server=/sykty.com/127.0.0.1#1053 -server=/symaj.cn/127.0.0.1#1053 -server=/symauth.com/127.0.0.1#1053 -server=/symcb.com/127.0.0.1#1053 -server=/symcd.com/127.0.0.1#1053 -server=/synacast.com/127.0.0.1#1053 -server=/sync.1dmp.io/127.0.0.1#1053 -server=/sync.1rx.io/127.0.0.1#1053 -server=/sync2.audtd.com/127.0.0.1#1053 -server=/sync.adotmob.com/127.0.0.1#1053 -server=/sync.audsp.com/127.0.0.1#1053 -server=/sync.audtd.com/127.0.0.1#1053 -server=/sync.crwdcntrl.net/127.0.0.1#1053 -server=/sync-dsp.ad-m.asia/127.0.0.1#1053 -server=/sync-eu.exe.bid/127.0.0.1#1053 -server=/sync.extend.tv/127.0.0.1#1053 -server=/sync.fastclick.net/127.0.0.1#1053 -server=/sync.intentiq.com/127.0.0.1#1053 -server=/sync.ipredictive.com/127.0.0.1#1053 -server=/sync.mathtag.com/127.0.0.1#1053 -server=/sync.morgdm.ru/127.0.0.1#1053 -server=/sync.rambler.ru/127.0.0.1#1053 -server=/sync.republer.com/127.0.0.1#1053 -server=/syncshop.cn/127.0.0.1#1053 -server=/sync.teamrtb.net/127.0.0.1#1053 -server=/sync.tidaltv.com/127.0.0.1#1053 -server=/sync-tm.everesttech.net/127.0.0.1#1053 -server=/syndication1.viraladnetwork.net/127.0.0.1#1053 -server=/syndication.exdynsrv.com/127.0.0.1#1053 -server=/syndication.exoclick.com/127.0.0.1#1053 -server=/syndication.intel.com/127.0.0.1#1053 -server=/syndication.jsadapi.com/127.0.0.1#1053 -server=/syndication-o.twitter.com/127.0.0.1#1053 -server=/syndication.twitter.com/127.0.0.1#1053 -server=/synthetix.io/127.0.0.1#1053 -server=/syofew6o.net/127.0.0.1#1053 -server=/s.youmi.net/127.0.0.1#1053 -server=/sysdig.com/127.0.0.1#1053 -server=/sy.shongcheng.com/127.0.0.1#1053 -server=/sysinternals.com/127.0.0.1#1053 -server=/sy.sxjxhg.com/127.0.0.1#1053 -server=/s.ysxufeng.com/127.0.0.1#1053 -server=/sys.zhangyue.com/127.0.0.1#1053 -server=/sytcyf.com/127.0.0.1#1053 -server=/sytsr.com/127.0.0.1#1053 -server=/sytz1288.com/127.0.0.1#1053 -server=/s.yunpifu.cn/127.0.0.1#1053 -server=/s.zampdsp.com/127.0.0.1#1053 -server=/szb.aiyole.com/127.0.0.1#1053 -server=/szdzbx.com/127.0.0.1#1053 -server=/szfaq.com/127.0.0.1#1053 -server=/s.zgclmw.cn/127.0.0.1#1053 -server=/szggdw.com/127.0.0.1#1053 -server=/s.zixuntop.com/127.0.0.1#1053 -server=/s.zjhoudao.com/127.0.0.1#1053 -server=/szkdst.com/127.0.0.1#1053 -server=/s.zlongad.com/127.0.0.1#1053 -server=/szrk3.com/127.0.0.1#1053 -server=/szshouzhai.com/127.0.0.1#1053 -server=/szxc868.com/127.0.0.1#1053 -server=/szxpsg.com/127.0.0.1#1053 -server=/s.zxwdw.com/127.0.0.1#1053 -server=/szyr474.com/127.0.0.1#1053 -server=/t1.58cdn.com.cn/127.0.0.1#1053 -server=/t188.dazhonghua.cn/127.0.0.1#1053 -server=/t1.jzkapp.com/127.0.0.1#1053 -server=/t1.visualrevenue.com/127.0.0.1#1053 -server=/t1.wshufa.com/127.0.0.1#1053 -server=/t2.58cdn.com.cn/127.0.0.1#1053 -server=/t.2d-c.cn/127.0.0.1#1053 -server=/t2.jzkapp.com/127.0.0.1#1053 -server=/t2.vbxx.net/127.0.0.1#1053 -server=/t2.wshufa.com/127.0.0.1#1053 -server=/t3.58cdn.com.cn/127.0.0.1#1053 -server=/t.3apf.com/127.0.0.1#1053 -server=/t66y.com/127.0.0.1#1053 -server=/t70123.com/127.0.0.1#1053 -server=/t75.qyqc4s.com/127.0.0.1#1053 -server=/t7z.cupid.iqiyi.com/127.0.0.1#1053 -server=/t7z.cupid.ptqy.gitv.tv/127.0.0.1#1053 -server=/ta80.com/127.0.0.1#1053 -server=/taat00889.com/127.0.0.1#1053 -server=/tablesgenerator.com/127.0.0.1#1053 -server=/tabtter.jp/127.0.0.1#1053 -server=/tactics.bainv.net/127.0.0.1#1053 -server=/t.adbxb.cn/127.0.0.1#1053 -server=/t.adcrops.net/127.0.0.1#1053 -server=/tad.suning.com/127.0.0.1#1053 -server=/t.adxchina.cn/127.0.0.1#1053 -server=/tag.cdnmaster.cn/127.0.0.1#1053 -server=/tag.digitaltarget.ru/127.0.0.1#1053 -server=/tags2.adshell.net/127.0.0.1#1053 -server=/tags4.revdepo.com/127.0.0.1#1053 -server=/tags.growingio.com/127.0.0.1#1053 -server=/tailwindtraders.com/127.0.0.1#1053 -server=/tajs.qq.com/127.0.0.1#1053 -server=/tajxgs.com/127.0.0.1#1053 -server=/talk853.com/127.0.0.1#1053 -server=/talkboxapp.com/127.0.0.1#1053 -server=/talk.nz.igexin.com/127.0.0.1#1053 -server=/talkonly.net/127.0.0.1#1053 -server=/tandfonline.com/127.0.0.1#1053 -server=/tangoutianxia.com/127.0.0.1#1053 -server=/tansuotv.com/127.0.0.1#1053 -server=/tanwanyx.com/127.0.0.1#1053 -server=/tanx.com/127.0.0.1#1053 -server=/tanxlog.istreamsche.com/127.0.0.1#1053 -server=/tanzanite.infomine.com/127.0.0.1#1053 -server=/taobaly.cn/127.0.0.1#1053 -server=/taobaoaliyun.cn/127.0.0.1#1053 -server=/taobaobo5.com/127.0.0.1#1053 -server=/taobao.com/127.0.0.1#1053 -server=/taobayun.cn/127.0.0.1#1053 -server=/taoggou.com/127.0.0.1#1053 -server=/taohanpai.com/127.0.0.1#1053 -server=/taomato.com/127.0.0.1#1053 -server=/tapbots.com/127.0.0.1#1053 -server=/tapbots.net/127.0.0.1#1053 -server=/tap-cdn.rubiconproject.com/127.0.0.1#1053 -server=/tapjoyads.com/127.0.0.1#1053 -server=/tapjoy.cn/127.0.0.1#1053 -server=/tapjoy.com/127.0.0.1#1053 -server=/tap.rubiconproject.com/127.0.0.1#1053 -server=/tap-t.rubiconproject.com/127.0.0.1#1053 -server=/ta.qq.com/127.0.0.1#1053 -server=/targetedinfo.com/127.0.0.1#1053 -server=/targetedmedia.com.cn/127.0.0.1#1053 -server=/targetedtopic.com/127.0.0.1#1053 -server=/tatagou.com.cn/127.0.0.1#1053 -server=/t.atpanel.com/127.0.0.1#1053 -server=/tawk.link/127.0.0.1#1053 -server=/tawk.to/127.0.0.1#1053 -server=/tb060x.corp.youdao.com/127.0.0.1#1053 -server=/tb104x.corp.youdao.com/127.0.0.1#1053 -server=/tbaocdn.com/127.0.0.1#1053 -server=/tb.code.twyxi.com/127.0.0.1#1053 -server=/tbjfw.com/127.0.0.1#1053 -server=/tc.51la.net/127.0.0.1#1053 -server=/tc600.com/127.0.0.1#1053 -server=/tcad.wedolook.com/127.0.0.1#1053 -server=/tc.ci123.com/127.0.0.1#1053 -server=/tcjy66.cc/127.0.0.1#1053 -server=/t.cnsjx.net/127.0.0.1#1053 -server=/t.co/127.0.0.1#1053 -server=/t.collect.yinyuetai.com/127.0.0.1#1053 -server=/t.cr-nielsen.com/127.0.0.1#1053 -server=/tcss.qq.com/127.0.0.1#1053 -server=/tcxshop.com/127.0.0.1#1053 -server=/t.cyuew.com/127.0.0.1#1053 -server=/t.dangdang.com/127.0.0.1#1053 -server=/tdayi.com/127.0.0.1#1053 -server=/tdesktop.com/127.0.0.1#1053 -server=/td.mpush.cn/127.0.0.1#1053 -server=/t.dmtrck.com/127.0.0.1#1053 -server=/tdrec.youku.com/127.0.0.1#1053 -server=/td.xue63.com/127.0.0.1#1053 -server=/t.d.yoyi.tv/127.0.0.1#1053 -server=/teamviewer.com/127.0.0.1#1053 -server=/techcrunch.com/127.0.0.1#1053 -server=/techhub.ms/127.0.0.1#1053 -server=/technorati.com/127.0.0.1#1053 -server=/techsmith.com/127.0.0.1#1053 -server=/teddysun.com/127.0.0.1#1053 -server=/teen.77rog.com/127.0.0.1#1053 -server=/t-e.flyme.cn/127.0.0.1#1053 -server=/telegram-cdn.org/127.0.0.1#1053 -server=/telegram.me/127.0.0.1#1053 -server=/telegram.org/127.0.0.1#1053 -server=/telegra.ph/127.0.0.1#1053 -server=/telesco.pe/127.0.0.1#1053 -server=/tellmewhygame.com/127.0.0.1#1053 -server=/telstra.imrworldwide.com/127.0.0.1#1053 -server=/temai.snssdk.com/127.0.0.1#1053 -server=/temai.taobao.com/127.0.0.1#1053 -server=/temp.163.com/127.0.0.1#1053 -server=/tencentmind.com/127.0.0.1#1053 -server=/tenddata.com/127.0.0.1#1053 -server=/tenor.com/127.0.0.1#1053 -server=/tenpay.com/127.0.0.1#1053 -server=/tensorflow.org/127.0.0.1#1053 -server=/test.api.xlmc.sandai.net/127.0.0.1#1053 -server=/test.eduancm.com/127.0.0.1#1053 -server=/test.ott.youku.com/127.0.0.1#1053 -server=/test.surepush.cn/127.0.0.1#1053 -server=/tether.to/127.0.0.1#1053 -server=/textlink.simba.taobao.com/127.0.0.1#1053 -server=/textnow.me/127.0.0.1#1053 -server=/tf.caohua.com/127.0.0.1#1053 -server=/tf.hdfdm.com/127.0.0.1#1053 -server=/tf.hftaili.com/127.0.0.1#1053 -server=/t-flow.flyme.cn/127.0.0.1#1053 -server=/tfsallin.net/127.0.0.1#1053 -server=/tfssl.caohua.com/127.0.0.1#1053 -server=/tg.1155t.cn/127.0.0.1#1053 -server=/tg.52digua.com/127.0.0.1#1053 -server=/tga.csbew.com/127.0.0.1#1053 -server=/tgb.csbew.com/127.0.0.1#1053 -server=/tg.jifen.2345.com/127.0.0.1#1053 -server=/tg.m.37.com/127.0.0.1#1053 -server=/t.go.sohu.com/127.0.0.1#1053 -server=/t.growingio.com/127.0.0.1#1053 -server=/th21333.com/127.0.0.1#1053 -server=/th7.cn/127.0.0.1#1053 -server=/thebobs.com/127.0.0.1#1053 -server=/thegraph.com/127.0.0.1#1053 -server=/theinitium.com/127.0.0.1#1053 -server=/thejesperbay.com/127.0.0.1#1053 -server=/themis.yahoo.com/127.0.0.1#1053 -server=/thepiratebay.org/127.0.0.1#1053 -server=/theplatform.com/127.0.0.1#1053 -server=/thescenseproject.com/127.0.0.1#1053 -server=/thestationbymaker.com/127.0.0.1#1053 -server=/theta.sogoucdn.com/127.0.0.1#1053 -server=/thetestpage.39.net/127.0.0.1#1053 -server=/thetie.io/127.0.0.1#1053 -server=/theverge.com/127.0.0.1#1053 -server=/thewgo.org/127.0.0.1#1053 -server=/thisispolaris.com/127.0.0.1#1053 -server=/thoughtleadr.com/127.0.0.1#1053 -server=/thxnr.com/127.0.0.1#1053 -server=/thyvjboy.com/127.0.0.1#1053 -server=/thztv.net/127.0.0.1#1053 -server=/tiads.time.com/127.0.0.1#1053 -server=/tiangoutai.com/127.0.0.1#1053 -server=/tiangu99.com/127.0.0.1#1053 -server=/tianmidian.com/127.0.0.1#1053 -server=/tianqi777.com/127.0.0.1#1053 -server=/tianyanzs.com/127.0.0.1#1053 -server=/ticcdn.com/127.0.0.1#1053 -server=/tietuku.com/127.0.0.1#1053 -server=/tiltbrush.com/127.0.0.1#1053 -server=/time.com/127.0.0.1#1053 -server=/timeinc.net/127.0.0.1#1053 -server=/timelinestoryteller.com/127.0.0.1#1053 -server=/timelog.moviebox.baofeng.com/127.0.0.1#1053 -server=/tinder.com/127.0.0.1#1053 -server=/tiny.cc/127.0.0.1#1053 -server=/tinychat.com/127.0.0.1#1053 -server=/tinypic.com/127.0.0.1#1053 -server=/tiqcdn.com/127.0.0.1#1053 -server=/titan01.babytree.com/127.0.0.1#1053 -server=/titan.babytree.com/127.0.0.1#1053 -server=/titan.guestworld.tripod.lycos.com/127.0.0.1#1053 -server=/titi.qifajiang.cn/127.0.0.1#1053 -server=/ti.tradetracker.net/127.0.0.1#1053 -server=/t.iz55.com/127.0.0.1#1053 -server=/tjf.lyhuayun.com/127.0.0.1#1053 -server=/tjhuajiantang.com/127.0.0.1#1053 -server=/tjlog.easou.com/127.0.0.1#1053 -server=/tjlog.ps.easou.com/127.0.0.1#1053 -server=/tjqonline.cn/127.0.0.1#1053 -server=/tjs.sjs.sinajs.cn/127.0.0.1#1053 -server=/tk.baidu.com/127.0.0.1#1053 -server=/tkd777.cn/127.0.0.1#1053 -server=/tkmdng.cn/127.0.0.1#1053 -server=/tk.optaim.com/127.0.0.1#1053 -server=/tkweb.baidu.com/127.0.0.1#1053 -server=/t-l.play.aiseet.atianqi.com/127.0.0.1#1053 -server=/tmall.com/127.0.0.1#1053 -server=/tmblr.co/127.0.0.1#1053 -server=/tmcs.net/127.0.0.1#1053 -server=/t.me/127.0.0.1#1053 -server=/tmisc.home.news.cn/127.0.0.1#1053 -server=/tmzvps.com/127.0.0.1#1053 -server=/tns-counter.ru/127.0.0.1#1053 -server=/todoist.com/127.0.0.1#1053 -server=/togetter.com/127.0.0.1#1053 -server=/toggleable.com/127.0.0.1#1053 -server=/token.im/127.0.0.1#1053 -server=/tokenpocket.pro/127.0.0.1#1053 -server=/token.rubiconproject.com/127.0.0.1#1053 -server=/tokenterminal.com/127.0.0.1#1053 -server=/tokenview.com/127.0.0.1#1053 -server=/tokyocn.com/127.0.0.1#1053 -server=/tomshardware.com/127.0.0.1#1053 -server=/tongji-res1.meizu.com/127.0.0.1#1053 -server=/tongqing2015.com/127.0.0.1#1053 -server=/toolbar.baidu.com/127.0.0.1#1053 -server=/toolbar.msn.com/127.0.0.1#1053 -server=/tool.btrabbit.la/127.0.0.1#1053 -server=/toourbb.com/127.0.0.1#1053 -server=/top267.com/127.0.0.1#1053 -server=/top.h.qhimg.com/127.0.0.1#1053 -server=/top.h.qhmsg.com/127.0.0.1#1053 -server=/topitme.com/127.0.0.1#1053 -server=/t.oq68.com/127.0.0.1#1053 -server=/torcn.com/127.0.0.1#1053 -server=/torproject.org/127.0.0.1#1053 -server=/torrentmac.net/127.0.0.1#1053 -server=/torrentprivacy.com/127.0.0.1#1053 -server=/torrentproject.se/127.0.0.1#1053 -server=/torrentz.eu/127.0.0.1#1053 -server=/tospotify.compayload:/127.0.0.1#1053 -server=/total.xinmin.cn/127.0.0.1#1053 -server=/totheglory.im/127.0.0.1#1053 -server=/touclick.com/127.0.0.1#1053 -server=/toutiao.2haha.com/127.0.0.1#1053 -server=/toutiao.jxnews.com.cn/127.0.0.1#1053 -server=/tpe163.com/127.0.0.1#1053 -server=/t.pingzei.com/127.0.0.1#1053 -server=/tp.sgcn.com/127.0.0.1#1053 -server=/tpush.html5.qq.com/127.0.0.1#1053 -server=/tqd.ntpddq.com/127.0.0.1#1053 -server=/t.qiuqiuqipai.com/127.0.0.1#1053 -server=/track-east.mobileadtrading.com/127.0.0.1#1053 -server=/trackersimulator.org/127.0.0.1#1053 -server=/tracker.sns.iqiyi.com/127.0.0.1#1053 -server=/tracking-server-prod-1.zenmxapps.com/127.0.0.1#1053 -server=/tradeadexchange.com/127.0.0.1#1053 -server=/tradeblock.com/127.0.0.1#1053 -server=/tradeccl.com/127.0.0.1#1053 -server=/traderjoexyz.com/127.0.0.1#1053 -server=/tradingview.com/127.0.0.1#1053 -server=/trafficfactory.biz/127.0.0.1#1053 -server=/traffichaus.com/127.0.0.1#1053 -server=/trafficjam.cn/127.0.0.1#1053 -server=/trafficjunky.net/127.0.0.1#1053 -server=/trafficmanager.net/127.0.0.1#1053 -server=/trafficmp.com/127.0.0.1#1053 -server=/traffic.uusee.com/127.0.0.1#1053 -server=/trakt.tv/127.0.0.1#1053 -server=/tralog.ganji.com/127.0.0.1#1053 -server=/tran.news.so.com/127.0.0.1#1053 -server=/translatetheweb.com/127.0.0.1#1053 -server=/transparency.org/127.0.0.1#1053 -server=/tredman.com/127.0.0.1#1053 -server=/trellocdn.com/127.0.0.1#1053 -server=/trello.com/127.0.0.1#1053 -server=/trendsmap.com/127.0.0.1#1053 -server=/trends.mobile.sina.cn/127.0.0.1#1053 -server=/trial.alcohol-soft.com/127.0.0.1#1053 -server=/tronlink.org/127.0.0.1#1053 -server=/tronscan.org/127.0.0.1#1053 -server=/trulyergonomic.com/127.0.0.1#1053 -server=/trustasiassl.com/127.0.0.1#1053 -server=/trustwalletapp.com/127.0.0.1#1053 -server=/trwba.com/127.0.0.1#1053 -server=/tryfunctions.com/127.0.0.1#1053 -server=/trzina.com/127.0.0.1#1053 -server=/tsdlp.com/127.0.0.1#1053 -server=/ts.hivecn.cn/127.0.0.1#1053 -server=/tsjdgzm.m.3dllc.cc/127.0.0.1#1053 -server=/t.sj.qq.com/127.0.0.1#1053 -server=/tsrc8.com/127.0.0.1#1053 -server=/t.supermario.xyz/127.0.0.1#1053 -server=/tt123.eastday.com/127.0.0.1#1053 -server=/tt321.eastday.com/127.0.0.1#1053 -server=/tt.biquge.la/127.0.0.1#1053 -server=/ttcdn.cn/127.0.0.1#1053 -server=/ttlm.cc/127.0.0.1#1053 -server=/ttlowe.com/127.0.0.1#1053 -server=/ttmeiju.com/127.0.0.1#1053 -server=/ttm.htfmbt.com/127.0.0.1#1053 -server=/t.trafmag.com/127.0.0.1#1053 -server=/tt-rss.org/127.0.0.1#1053 -server=/tt.shxinjie.cn/127.0.0.1#1053 -server=/ttts.leztc.com/127.0.0.1#1053 -server=/ttts.miyue17.com/127.0.0.1#1053 -server=/tt.twzui6.com/127.0.0.1#1053 -server=/ttvnw.net/127.0.0.1#1053 -server=/t.tzcccm.com/127.0.0.1#1053 -server=/tuadong.com/127.0.0.1#1053 -server=/tuanxue360.net/127.0.0.1#1053 -server=/tu.baixing.com/127.0.0.1#1053 -server=/tudou.com/127.0.0.1#1053 -server=/tui1999.com/127.0.0.1#1053 -server=/tui98.cn/127.0.0.1#1053 -server=/tuia.cn/127.0.0.1#1053 -server=/tuidang.epochtimes.org/127.0.0.1#1053 -server=/tuidang.org/127.0.0.1#1053 -server=/tuigoo.com/127.0.0.1#1053 -server=/tui.gtimg.com/127.0.0.1#1053 -server=/tuiguang.178.com/127.0.0.1#1053 -server=/tuiguang.meitu.com/127.0.0.1#1053 -server=/tuiguang.yicha.cn/127.0.0.1#1053 -server=/tuijian.baidu.com/127.0.0.1#1053 -server=/tuipenguin.com/127.0.0.1#1053 -server=/tuisong.baidu.com/127.0.0.1#1053 -server=/tuitiger.com/127.0.0.1#1053 -server=/tuituigui19999.com/127.0.0.1#1053 -server=/t.ujian.cc/127.0.0.1#1053 -server=/tujidao.com/127.0.0.1#1053 -server=/tukeai.com/127.0.0.1#1053 -server=/tukexiu.com/127.0.0.1#1053 -server=/tukj.net/127.0.0.1#1053 -server=/tumblr.co/127.0.0.1#1053 -server=/tumblr.com/127.0.0.1#1053 -server=/tumblrprobes.cedexis.com/127.0.0.1#1053 -server=/tumblrreports.cedexis.com/127.0.0.1#1053 -server=/tunion-api.m.taobao.com/127.0.0.1#1053 -server=/tu.njflfd.com/127.0.0.1#1053 -server=/turbobit.net/127.0.0.1#1053 -server=/turn.com/127.0.0.1#1053 -server=/tu.szefe.com/127.0.0.1#1053 -server=/t.uvcourse.net/127.0.0.1#1053 -server=/tv.apple.com/127.0.0.1#1053 -server=/tvb.com/127.0.0.1#1053 -server=/tv.code.jjyx.com/127.0.0.1#1053 -server=/tv.com/127.0.0.1#1053 -server=/tw13b093.sandai.net/127.0.0.1#1053 -server=/tw.adon.vpon.com/127.0.0.1#1053 -server=/tw.adx.nextmedia.com/127.0.0.1#1053 -server=/tw.api.vpon.com/127.0.0.1#1053 -server=/twb98.com/127.0.0.1#1053 -server=/twcczhu.com/127.0.0.1#1053 -server=/tweetdeck.com/127.0.0.1#1053 -server=/tweetmarker.net/127.0.0.1#1053 -server=/tw.fgmtv.org/127.0.0.1#1053 -server=/twh5.com/127.0.0.1#1053 -server=/twimg.co/127.0.0.1#1053 -server=/twimg.com/127.0.0.1#1053 -server=/twinplan.com/127.0.0.1#1053 -server=/twitch.tv/127.0.0.1#1053 -server=/twitpic.com/127.0.0.1#1053 -server=/twitterzs.com/127.0.0.1#1053 -server=/twitthat.com/127.0.0.1#1053 -server=/twldmx.com/127.0.0.1#1053 -server=/tw.pub.vpon.com/127.0.0.1#1053 -server=/twtkr.com/127.0.0.1#1053 -server=/twttr.com/127.0.0.1#1053 -server=/twzui6.com/127.0.0.1#1053 -server=/tx.lwinl.com/127.0.0.1#1053 -server=/txmblr.com/127.0.0.1#1053 -server=/tx.me/127.0.0.1#1053 -server=/txtad.jijiplayer.com/127.0.0.1#1053 -server=/txt.go.sohu.com/127.0.0.1#1053 -server=/tylll.com/127.0.0.1#1053 -server=/t.youmi.net/127.0.0.1#1053 -server=/typcn.com/127.0.0.1#1053 -server=/typekit.net/127.0.0.1#1053 -server=/typography.com/127.0.0.1#1053 -server=/tyu.quanliyouxi.cn/127.0.0.1#1053 -server=/tyx.xtzxmy.com/127.0.0.1#1053 -server=/tz.1688988.com/127.0.0.1#1053 -server=/tzbtw.com/127.0.0.1#1053 -server=/tz-dsp.com/127.0.0.1#1053 -server=/tz.zjhoudao.com/127.0.0.1#1053 -server=/u034024.nr1234.com/127.0.0.1#1053 -server=/u0.s.minisplat.cn/127.0.0.1#1053 -server=/u1.img.mobile.sina.cn/127.0.0.1#1053 -server=/u1.shuaiku.com/127.0.0.1#1053 -server=/u1.s.minisplat.cn/127.0.0.1#1053 -server=/u291014.nr1234.com/127.0.0.1#1053 -server=/u2.s.minisplat.cn/127.0.0.1#1053 -server=/u349036.ff112222.com/127.0.0.1#1053 -server=/u.63kc.com/127.0.0.1#1053 -server=/ua.badongo.com/127.0.0.1#1053 -server=/uapi.punchbox.org/127.0.0.1#1053 -server=/ubertags.com/127.0.0.1#1053 -server=/ublock.org/127.0.0.1#1053 -server=/ubm.fangtoo.com/127.0.0.1#1053 -server=/ubnt.com/127.0.0.1#1053 -server=/uc2.atobo.com.cn/127.0.0.1#1053 -server=/uc610.com/127.0.0.1#1053 -server=/uc9.ucweb.com/127.0.0.1#1053 -server=/ucaliyun.cn/127.0.0.1#1053 -server=/ucan.25pp.com/127.0.0.1#1053 -server=/uc.haoyunyuan.cc/127.0.0.1#1053 -server=/uchicago.edu/127.0.0.1#1053 -server=/u.cnzol.com/127.0.0.1#1053 -server=/ucqq.cnsptv.com.cn/127.0.0.1#1053 -server=/ucrzgcs.cn/127.0.0.1#1053 -server=/ucstat.baidu.com/127.0.0.1#1053 -server=/ucus.ucweb.com/127.0.0.1#1053 -server=/uc.xiansuper.com/127.0.0.1#1053 -server=/ucxxii.com/127.0.0.1#1053 -server=/uczzd.com/127.0.0.1#1053 -server=/uczzd.com.cn/127.0.0.1#1053 -server=/uczzd.net/127.0.0.1#1053 -server=/udache.com/127.0.0.1#1053 -server=/udata.mixmarket.biz/127.0.0.1#1053 -server=/udc.msn.com/127.0.0.1#1053 -server=/u.ddvip.com/127.0.0.1#1053 -server=/u.diannaodian.com/127.0.0.1#1053 -server=/udm.scorecardresearch.com/127.0.0.1#1053 -server=/udn.com/127.0.0.1#1053 -server=/udrig.com/127.0.0.1#1053 -server=/udrwyjpwjfeg.com/127.0.0.1#1053 -server=/ueadlian.com/127.0.0.1#1053 -server=/uebawtz7.me/127.0.0.1#1053 -server=/ue.ueadlian.com/127.0.0.1#1053 -server=/ue.yeyoucdn.com/127.0.0.1#1053 -server=/ugc.moji001.com/127.0.0.1#1053 -server=/ugg66.com/127.0.0.1#1053 -server=/ugg.keefung-zs.com/127.0.0.1#1053 -server=/ugo.com/127.0.0.1#1053 -server=/ugvip.com/127.0.0.1#1053 -server=/uhdwallpapers.org/127.0.0.1#1053 -server=/u.huoying666.com/127.0.0.1#1053 -server=/ui37.net/127.0.0.1#1053 -server=/uid.ksosoft.com/127.0.0.1#1053 -server=/uid.mdbchina.com/127.0.0.1#1053 -server=/uimg.27admin.com/127.0.0.1#1053 -server=/uimserv.net/127.0.0.1#1053 -server=/ujian.cc/127.0.0.1#1053 -server=/ujikdd041o.cn/127.0.0.1#1053 -server=/u.jimdo.com/127.0.0.1#1053 -server=/uk3oi.adgze.cn/127.0.0.1#1053 -server=/ukeiae.com/127.0.0.1#1053 -server=/ulic.baidu.com/127.0.0.1#1053 -server=/ulink.cc/127.0.0.1#1053 -server=/ultraiso.net/127.0.0.1#1053 -server=/ulyssesapp.com/127.0.0.1#1053 -server=/um0592.com/127.0.0.1#1053 -server=/um29.com/127.0.0.1#1053 -server=/um2.eqads.com/127.0.0.1#1053 -server=/umengcloud.com/127.0.0.1#1053 -server=/umid.orion.meizu.com/127.0.0.1#1053 -server=/um.simpli.fi/127.0.0.1#1053 -server=/umyai.com/127.0.0.1#1053 -server=/un1.takefoto.cn/127.0.0.1#1053 -server=/un.52rkl.cn/127.0.0.1#1053 -server=/unblockdmm.com/127.0.0.1#1053 -server=/unblocksites.co/127.0.0.1#1053 -server=/unconf.mobad.ijinshan.com/127.0.0.1#1053 -server=/undm.qibulo.com/127.0.0.1#1053 -server=/unfiltered.news/127.0.0.1#1053 -server=/uni-bielefeld.de/127.0.0.1#1053 -server=/unicast.ign.com/127.0.0.1#1053 -server=/unicast.msn.com/127.0.0.1#1053 -server=/unilog.wostore.cn/127.0.0.1#1053 -server=/unimhk.com/127.0.0.1#1053 -server=/union1.xiaojianjian.net/127.0.0.1#1053 -server=/union.6.cn/127.0.0.1#1053 -server=/union.baidu.com/127.0.0.1#1053 -server=/union.baidustatic.guannin.com/127.0.0.1#1053 -server=/union.china.com.cn/127.0.0.1#1053 -server=/union.dbba.cn/127.0.0.1#1053 -server=/uniondm.cz88.net/127.0.0.1#1053 -server=/unionimage.baidu.com/127.0.0.1#1053 -server=/union.maccms.com/127.0.0.1#1053 -server=/union.mop.com/127.0.0.1#1053 -server=/union.sogou.com/127.0.0.1#1053 -server=/union.star-media.cn/127.0.0.1#1053 -server=/unionsy.com/127.0.0.1#1053 -server=/union-wifi.com/127.0.0.1#1053 -server=/union.youdao.com/127.0.0.1#1053 -server=/unipaydl.wostore.cn/127.0.0.1#1053 -server=/unipayupg.wostore.cn/127.0.0.1#1053 -server=/uniswap.org/127.0.0.1#1053 -server=/unitacs.m.taobao.com/127.0.0.1#1053 -server=/unjs.jfcdns.com/127.0.0.1#1053 -server=/unlitui.com/127.0.0.1#1053 -server=/unlocklimitlesslearning.com/127.0.0.1#1053 -server=/un.org/127.0.0.1#1053 -server=/unpo.org/127.0.0.1#1053 -server=/un.soarfi.cn/127.0.0.1#1053 -server=/unsplash.com/127.0.0.1#1053 -server=/uns.soarfi.cn/127.0.0.1#1053 -server=/untitled.dwstatic.com/127.0.0.1#1053 -server=/untraceable.us/127.0.0.1#1053 -server=/un.winasdaq.com/127.0.0.1#1053 -server=/uodoo.com/127.0.0.1#1053 -server=/uoyrsd.com/127.0.0.1#1053 -server=/up4.ucweb.com/127.0.0.1#1053 -server=/upaiyun.com/127.0.0.1#1053 -server=/up.cm.ksmobile.com/127.0.0.1#1053 -server=/update.360safe.com/127.0.0.1#1053 -server=/update.avlyun.sec.miui.com/127.0.0.1#1053 -server=/update.bainv.net/127.0.0.1#1053 -server=/updatecenter.qq.com/127.0.0.1#1053 -server=/update.coolyun.com/127.0.0.1#1053 -server=/update.juw37xqo3x.com/127.0.0.1#1053 -server=/update.minipage.2345.com/127.0.0.1#1053 -server=/update.mobile.kugou.com/127.0.0.1#1053 -server=/updatepage.kuwo.cn/127.0.0.1#1053 -server=/update.sdk.jiguang.cn/127.0.0.1#1053 -server=/updates-s3.binaryage.com/127.0.0.1#1053 -server=/upd.faronicslabs.com/127.0.0.1#1053 -server=/up.hiao.com/127.0.0.1#1053 -server=/uploaded.net/127.0.0.1#1053 -server=/uplynk.com/127.0.0.1#1053 -server=/uplze.code.weddingeeos.com/127.0.0.1#1053 -server=/uProxy.org/127.0.0.1#1053 -server=/ups.ksmobile.net/127.0.0.1#1053 -server=/upush.res.meizu.com/127.0.0.1#1053 -server=/upwork.com/127.0.0.1#1053 -server=/upyun.com/127.0.0.1#1053 -server=/u.qijipc.com/127.0.0.1#1053 -server=/uqszvk.code.weddingeeos.com/127.0.0.1#1053 -server=/uqum.52shouyou.com.cn/127.0.0.1#1053 -server=/u.raidmedia.com.cn/127.0.0.1#1053 -server=/uranus.sogou.com/127.0.0.1#1053 -server=/urbanairship.com/127.0.0.1#1053 -server=/urchin.5173.com/127.0.0.1#1053 -server=/urchin.com/127.0.0.1#1053 -server=/urchin.lstat.youku.com/127.0.0.1#1053 -server=/urh.tylll.com/127.0.0.1#1053 -server=/urhu.cn/127.0.0.1#1053 -server=/uri6.com/127.0.0.1#1053 -server=/url.222bz.com/127.0.0.1#1053 -server=/urlparser.com/127.0.0.1#1053 -server=/urls.api.twitter.com/127.0.0.1#1053 -server=/url.tudown.com/127.0.0.1#1053 -server=/us.bannyat.com/127.0.0.1#1053 -server=/us.bs.serving-sys.com/127.0.0.1#1053 -server=/usercollection.chinadaily.com.cn/127.0.0.1#1053 -server=/userpxt.io/127.0.0.1#1053 -server=/user.tiankongzudui.com/127.0.0.1#1053 -server=/usertrust.com/127.0.0.1#1053 -server=/uservoice.com/127.0.0.1#1053 -server=/usgs.gov/127.0.0.1#1053 -server=/ushaqi.com/127.0.0.1#1053 -server=/usingde.com/127.0.0.1#1053 -server=/usma.edu/127.0.0.1#1053 -server=/uspto.gov/127.0.0.1#1053 -server=/usr.mgid.com/127.0.0.1#1053 -server=/uss-pid.lenovomm.com/127.0.0.1#1053 -server=/us.to/127.0.0.1#1053 -server=/ustream.tv/127.0.0.1#1053 -server=/usync.aws.rubiconproject.com/127.0.0.1#1053 -server=/ut2.shuqistat.com/127.0.0.1#1053 -server=/utility.baidu.com/127.0.0.1#1053 -server=/utility.rogersmedia.com/127.0.0.1#1053 -server=/util.nphoto.net/127.0.0.1#1053 -server=/utk.baidu.com/127.0.0.1#1053 -server=/utp.ucweb.com/127.0.0.1#1053 -server=/utrack.hexun.com/127.0.0.1#1053 -server=/u.uc123.com/127.0.0.1#1053 -server=/u.ucfly.com/127.0.0.1#1053 -server=/uu.feipukeplus.com/127.0.0.1#1053 -server=/uuidksinc.net/127.0.0.1#1053 -server=/uulucky.com/127.0.0.1#1053 -server=/uu.zeverdg.com/127.0.0.1#1053 -server=/uvclick.com/127.0.0.1#1053 -server=/uw9377.com/127.0.0.1#1053 -server=/uwpcommunitytoolkit.com/127.0.0.1#1053 -server=/u.xcy8.com/127.0.0.1#1053 -server=/uxengine.net/127.0.0.1#1053 -server=/uxip.meizu.com/127.0.0.1#1053 -server=/u.yiiwoo.com/127.0.0.1#1053 -server=/u.yizuya.com/127.0.0.1#1053 -server=/uyunad.com/127.0.0.1#1053 -server=/uzpmrbek.com/127.0.0.1#1053 -server=/v00087.com/127.0.0.1#1053 -server=/v02u9.cn/127.0.0.1#1053 -server=/v1.0594529.com/127.0.0.1#1053 -server=/v12-r0566gbscjw.z.irs01.com/127.0.0.1#1053 -server=/v1-feed.idreamsky.com/127.0.0.1#1053 -server=/v1.ujian.cc/127.0.0.1#1053 -server=/v2.da.mgtv.com/127.0.0.1#1053 -server=/v2ex.co/127.0.0.1#1053 -server=/v2ex.com/127.0.0.1#1053 -server=/v2.fm.n.duokanbox.com/127.0.0.1#1053 -server=/v2.jiathis.com/127.0.0.1#1053 -server=/v2ray.com/127.0.0.1#1053 -server=/v3.jiathis.com/127.0.0.1#1053 -server=/v66v66.com/127.0.0.1#1053 -server=/v707070.com/127.0.0.1#1053 -server=/v7.kawinhome.com/127.0.0.1#1053 -server=/vad1.jianshen8.com/127.0.0.1#1053 -server=/va.gxpan.cn/127.0.0.1#1053 -server=/val.api.youku.com/127.0.0.1#1053 -server=/val.atm.cp31.ott.cibntv.net/127.0.0.1#1053 -server=/valf.atm.cp31.ott.cibntv.net/127.0.0.1#1053 -server=/vamaker.com/127.0.0.1#1053 -server=/van001.com/127.0.0.1#1053 -server=/vangmobi.com/127.0.0.1#1053 -server=/vanpeople.com/127.0.0.1#1053 -server=/vansky.com/127.0.0.1#1053 -server=/vas.funshion.com/127.0.0.1#1053 -server=/vatrack.hinet.net/127.0.0.1#1053 -server=/va.videojj.com/127.0.0.1#1053 -server=/vbstatic.co/127.0.0.1#1053 -server=/vcfs6ip5h6.bid/127.0.0.1#1053 -server=/vda.17173.com/127.0.0.1#1053 -server=/vdapprecv.app.cntvwb.cn/127.0.0.1#1053 -server=/vdazz.net/127.0.0.1#1053 -server=/v.dbncp.com/127.0.0.1#1053 -server=/v.e7002.com/127.0.0.1#1053 -server=/vedeh.com/127.0.0.1#1053 -server=/vegaschina.cn/127.0.0.1#1053 -server=/vegent.cn/127.0.0.1#1053 -server=/venchina.com/127.0.0.1#1053 -server=/vendor1.fitschigogerl.com/127.0.0.1#1053 -server=/venturebeat.com/127.0.0.1#1053 -server=/veoh.com/127.0.0.1#1053 -server=/verdict.abc.go.com/127.0.0.1#1053 -server=/verizonwireless.com/127.0.0.1#1053 -server=/vers80.com/127.0.0.1#1053 -server=/ver.touclick.com/127.0.0.1#1053 -server=/ve.tsdlp.com/127.0.0.1#1053 -server=/vfat.tools/127.0.0.1#1053 -server=/vfsforgit.com/127.0.0.1#1053 -server=/vfsforgit.org/127.0.0.1#1053 -server=/vg02h8z1ul.me/127.0.0.1#1053 -server=/v.gd/127.0.0.1#1053 -server=/vi0.mzy2014.com/127.0.0.1#1053 -server=/vi1.ku6img.net/127.0.0.1#1053 -server=/vi1.mzy2014.com/127.0.0.1#1053 -server=/vi1.souid.com/127.0.0.1#1053 -server=/vi2.ku6img.net/127.0.0.1#1053 -server=/viber.com/127.0.0.1#1053 -server=/vichc.com/127.0.0.1#1053 -server=/victorjx.com/127.0.0.1#1053 -server=/video.a2z.com/127.0.0.1#1053 -server=/videobreakdown.com/127.0.0.1#1053 -server=/video.cooguo.com/127.0.0.1#1053 -server=/video.google.com/127.0.0.1#1053 -server=/videoindexer.ai/127.0.0.1#1053 -server=/videomega.tv/127.0.0.1#1053 -server=/videondun.com/127.0.0.1#1053 -server=/videopush.baidu.com/127.0.0.1#1053 -server=/video.ureport.push.qq.com/127.0.0.1#1053 -server=/video.wap.mpush.qq.com/127.0.0.1#1053 -server=/vidinfo.org/127.0.0.1#1053 -server=/vid.me/127.0.0.1#1053 -server=/viewbase.com/127.0.0.1#1053 -server=/viglink.com/127.0.0.1#1053 -server=/vikacg.com/127.0.0.1#1053 -server=/vimeocdn.com/127.0.0.1#1053 -server=/vimeo.com/127.0.0.1#1053 -server=/vimg.dwstatic.com/127.0.0.1#1053 -server=/vimperator.org/127.0.0.1#1053 -server=/vine.co/127.0.0.1#1053 -server=/vip5.afdorigin-prod-am02.afdogw.com/127.0.0.1#1053 -server=/vipads.cn/127.0.0.1#1053 -server=/vip.cainiaofx.com/127.0.0.1#1053 -server=/vip.hyz86.com/127.0.0.1#1053 -server=/vip.id528.com/127.0.0.1#1053 -server=/vip.jindu179.com/127.0.0.1#1053 -server=/vip.mall044.com/127.0.0.1#1053 -server=/vip.media8.cn/127.0.0.1#1053 -server=/vip.pinghuhome.com/127.0.0.1#1053 -server=/vip.qqxwf.com/127.0.0.1#1053 -server=/vip.zhuba8.com/127.0.0.1#1053 -server=/v.irs01.com/127.0.0.1#1053 -server=/virtualearth.net/127.0.0.1#1053 -server=/visibletweets.com/127.0.0.1#1053 -server=/vista.tgbus.com/127.0.0.1#1053 -server=/vista.tgbusdata.cn/127.0.0.1#1053 -server=/visualscience.external.bbc.co.uk/127.0.0.1#1053 -server=/visualstudio.co/127.0.0.1#1053 -server=/visualstudio.com/127.0.0.1#1053 -server=/visualstudio.co.uk/127.0.0.1#1053 -server=/visualstudio.eu/127.0.0.1#1053 -server=/visualstudio.net/127.0.0.1#1053 -server=/visualstudio-staging.com/127.0.0.1#1053 -server=/vitalik.ca/127.0.0.1#1053 -server=/viu.com/127.0.0.1#1053 -server=/viu.now.com/127.0.0.1#1053 -server=/viu.tv/127.0.0.1#1053 -server=/vivaldi.com/127.0.0.1#1053 -server=/vj0.42422277.com/127.0.0.1#1053 -server=/vjcyehtqm9.me/127.0.0.1#1053 -server=/vj.x-ssp.com/127.0.0.1#1053 -server=/vl8c4g7tmo.me/127.0.0.1#1053 -server=/vlive.qqvideo.tc.qq.com/127.0.0.1#1053 -server=/v.l.youku.com/127.0.0.1#1053 -server=/vmzqwz.cn/127.0.0.1#1053 -server=/vn543.com/127.0.0.1#1053 -server=/vns800600.net/127.0.0.1#1053 -server=/voachinese.com/127.0.0.1#1053 -server=/vocativ.com/127.0.0.1#1053 -server=/vodlog.m1905.cn/127.0.0.1#1053 -server=/voiceads.cn/127.0.0.1#1053 -server=/voiceads.com/127.0.0.1#1053 -server=/voila.refr.adgtw.orangeads.fr/127.0.0.1#1053 -server=/vol.lflili.com/127.0.0.1#1053 -server=/v.oq68.com/127.0.0.1#1053 -server=/vox-cdn.com/127.0.0.1#1053 -server=/vpnaccount.org/127.0.0.1#1053 -server=/vpnbook.com/127.0.0.1#1053 -server=/vpngate.net/127.0.0.1#1053 -server=/vpon.com/127.0.0.1#1053 -server=/vps.inte.sogou.com/127.0.0.1#1053 -server=/v.rmbn.net/127.0.0.1#1053 -server=/vs19.gzcu.u3.ucweb.com/127.0.0.1#1053 -server=/vs2.gzcu.u3.ucweb.com/127.0.0.1#1053 -server=/vs7.gzcu.u3.ucweb.com/127.0.0.1#1053 -server=/vs8.gzct.u3.ucweb.com/127.0.0.1#1053 -server=/vs8.gzcu.u3.ucweb.com/127.0.0.1#1053 -server=/vsallin.net/127.0.0.1#1053 -server=/vsassets.io/127.0.0.1#1053 -server=/vsco.co/127.0.0.1#1053 -server=/vscode.dev/127.0.0.1#1053 -server=/vscode-unpkg.net/127.0.0.1#1053 -server=/vscode-webview.net/127.0.0.1#1053 -server=/v-sence.gentags.net/127.0.0.1#1053 -server=/vs.funshion.com/127.0.0.1#1053 -server=/v.smtcdns.com/127.0.0.1#1053 -server=/vsnoon.com/127.0.0.1#1053 -server=/v.szpaopao.com/127.0.0.1#1053 -server=/vtale.org/127.0.0.1#1053 -server=/vt.bjhdonline.com/127.0.0.1#1053 -server=/vultr.com/127.0.0.1#1053 -server=/vungle.cn/127.0.0.1#1053 -server=/vungle.com/127.0.0.1#1053 -server=/vupload.duowan.com/127.0.0.1#1053 -server=/vvlog.moviebox.baofeng.com/127.0.0.1#1053 -server=/vv.video.qq.com/127.0.0.1#1053 -server=/vvv.ieduw.com/127.0.0.1#1053 -server=/vvvulqn7.com/127.0.0.1#1053 -server=/vwkhdi.cn/127.0.0.1#1053 -server=/vwws6.net/127.0.0.1#1053 -server=/vz-cdn.contentabc.com/127.0.0.1#1053 -server=/vz-cdn.trafficjunky.net/127.0.0.1#1053 -server=/vzw.com/127.0.0.1#1053 -server=/w1.diaoyou.com/127.0.0.1#1053 -server=/w2528.com/127.0.0.1#1053 -server=/w3989.com/127.0.0.1#1053 -server=/w3schools.com/127.0.0.1#1053 -server=/w3.yinyuehu.cn/127.0.0.1#1053 -server=/w5sac788c1.360doc.cn/127.0.0.1#1053 -server=/w6061.move7.com/127.0.0.1#1053 -server=/w65p.com/127.0.0.1#1053 -server=/w88.go.com/127.0.0.1#1053 -server=/w8.com.cn/127.0.0.1#1053 -server=/wa.gtimg.com/127.0.0.1#1053 -server=/wa.kuwo.cn/127.0.0.1#1053 -server=/wallet.advcash.com/127.0.0.1#1053 -server=/wan.2345.com/127.0.0.1#1053 -server=/wancai.com/127.0.0.1#1053 -server=/wandoujia.com/127.0.0.1#1053 -server=/wan.douyu.com/127.0.0.1#1053 -server=/wanfangdata.com/127.0.0.1#1053 -server=/wanfeng1.com/127.0.0.1#1053 -server=/wangdaizao.com/127.0.0.1#1053 -server=/wangdq.com/127.0.0.1#1053 -server=/wangmeng.baidu.com/127.0.0.1#1053 -server=/wangmeng.sogou.com/127.0.0.1#1053 -server=/wangsufast.com/127.0.0.1#1053 -server=/wanproxy.127.net/127.0.0.1#1053 -server=/wan.rising.cn/127.0.0.1#1053 -server=/wan.sogou.com/127.0.0.1#1053 -server=/wantaico.com/127.0.0.1#1053 -server=/wantfour.com/127.0.0.1#1053 -server=/wan.youku.com/127.0.0.1#1053 -server=/wap001.bytravel.cn/127.0.0.1#1053 -server=/wap.114so.cn/127.0.0.1#1053 -server=/wap.138lm.com/127.0.0.1#1053 -server=/wap3.ucweb.com/127.0.0.1#1053 -server=/wapadv.com/127.0.0.1#1053 -server=/wap.bytdzsw.com/127.0.0.1#1053 -server=/wap.cmgame.com/127.0.0.1#1053 -server=/wap.moad.cn/127.0.0.1#1053 -server=/wap.mpush.qq.com/127.0.0.1#1053 -server=/wappv.zol.com.cn/127.0.0.1#1053 -server=/wapscdn.wapx.cn/127.0.0.1#1053 -server=/waps.cn/127.0.0.1#1053 -server=/wapssl.ff113300.com/127.0.0.1#1053 -server=/wap.tanwan.com/127.0.0.1#1053 -server=/wap.txwdn.com/127.0.0.1#1053 -server=/wapwbclick.mobile.sina.cn/127.0.0.1#1053 -server=/wap.wooboo.com.cn/127.0.0.1#1053 -server=/wapx.cn/127.0.0.1#1053 -server=/wapx.com/127.0.0.1#1053 -server=/watchdisneyfe.compayload:/127.0.0.1#1053 -server=/watchtheburn.com/127.0.0.1#1053 -server=/watson.live.com/127.0.0.1#1053 -server=/watson.microsoft.com/127.0.0.1#1053 -server=/wattpad.com/127.0.0.1#1053 -server=/waveprotocol.org/127.0.0.1#1053 -server=/wazero.online/127.0.0.1#1053 -server=/wbapp.mobile.sina.cn/127.0.0.1#1053 -server=/wbclick.mobile.sina.cn/127.0.0.1#1053 -server=/wbd.ms/127.0.0.1#1053 -server=/wb.gtimg.com/127.0.0.1#1053 -server=/w.bobocn.cn/127.0.0.1#1053 -server=/wbpctips.mobile.sina.cn/127.0.0.1#1053 -server=/wbtc.network/127.0.0.1#1053 -server=/wbwl.houyi.baofeng.net/127.0.0.1#1053 -server=/w.cube3d.cn/127.0.0.1#1053 -server=/wda.ydt.com.cn/127.0.0.1#1053 -server=/wd-edge.sharethis.com/127.0.0.1#1053 -server=/wdgsl.com/127.0.0.1#1053 -server=/wds.inte.sogoucdn.com/127.0.0.1#1053 -server=/wdzsb.com.cn/127.0.0.1#1053 -server=/weareqy.com/127.0.0.1#1053 -server=/weather.bjango.com/127.0.0.1#1053 -server=/weather.com/127.0.0.1#1053 -server=/web2project.net/127.0.0.1#1053 -server=/web.900.la/127.0.0.1#1053 -server=/web.ali213.net/127.0.0.1#1053 -server=/web.da.mgtv.com/127.0.0.1#1053 -server=/web.data.pplive.com/127.0.0.1#1053 -server=/webd.home.news.cn/127.0.0.1#1053 -server=/webdissector.com/127.0.0.1#1053 -server=/webfreer.com/127.0.0.1#1053 -server=/web.houyi.baofeng.net/127.0.0.1#1053 -server=/webkooo.com/127.0.0.1#1053 -server=/web.kuaisouwifi.com/127.0.0.1#1053 -server=/weblagu.com/127.0.0.1#1053 -server=/weblb-wg.gslb.spotify.com/127.0.0.1#1053 -server=/webmaster.extabit.com/127.0.0.1#1053 -server=/webmine.cz/127.0.0.1#1053 -server=/webmproject.org/127.0.0.1#1053 -server=/webofknowledge.com/127.0.0.1#1053 -server=/webp2p.letv.com/127.0.0.1#1053 -server=/webqxs.com/127.0.0.1#1053 -server=/webrtc.org/127.0.0.1#1053 -server=/websnapr.com/127.0.0.1#1053 -server=/web.sogou.com/127.0.0.1#1053 -server=/webstat.kuwo.cn/127.0.0.1#1053 -server=/webstat.ws.126.net/127.0.0.1#1053 -server=/webterren.com/127.0.0.1#1053 -server=/webtrends.yccdn.com/127.0.0.1#1053 -server=/webtype.com/127.0.0.1#1053 -server=/webwarper.net/127.0.0.1#1053 -server=/weibo.cn/127.0.0.1#1053 -server=/weibo.com/127.0.0.1#1053 -server=/weibomingzi.com/127.0.0.1#1053 -server=/weico.cc/127.0.0.1#1053 -server=/weiguizhizuo.com/127.0.0.1#1053 -server=/weiphone.com/127.0.0.1#1053 -server=/weiphone.net/127.0.0.1#1053 -server=/weiqiqu.cn/127.0.0.1#1053 -server=/weishi.baidu.com/127.0.0.1#1053 -server=/weixiangzu.cn/127.0.0.1#1053 -server=/weixin.renrenying.com/127.0.0.1#1053 -server=/weixinvip.ren/127.0.0.1#1053 -server=/weld830.uunice.com/127.0.0.1#1053 -server=/weldc1.021ye.com/127.0.0.1#1053 -server=/weld.iefsf.com/127.0.0.1#1053 -server=/weld.uunice.com/127.0.0.1#1053 -server=/wenku8.net/127.0.0.1#1053 -server=/wenxuecity.com/127.0.0.1#1053 -server=/werewolf.53site.com/127.0.0.1#1053 -server=/werpig.com/127.0.0.1#1053 -server=/westca.com/127.0.0.1#1053 -server=/westlawchina.com/127.0.0.1#1053 -server=/westlaw.com/127.0.0.1#1053 -server=/westpoint.edu/127.0.0.1#1053 -server=/we.tm/127.0.0.1#1053 -server=/wetvinfo.com/127.0.0.1#1053 -server=/wetv.vip/127.0.0.1#1053 -server=/weyyae.com/127.0.0.1#1053 -server=/w.gdown.baidu.com/127.0.0.1#1053 -server=/wgie.0z5jn.cn/127.0.0.1#1053 -server=/wgnlz.com/127.0.0.1#1053 -server=/wgnmp.com/127.0.0.1#1053 -server=/whafwl.com/127.0.0.1#1053 -server=/whalecloud.com/127.0.0.1#1053 -server=/whatbrowser.org/127.0.0.1#1053 -server=/what-fan.net/127.0.0.1#1053 -server=/whcrdz.com/127.0.0.1#1053 -server=/wheel-size.cn/127.0.0.1#1053 -server=/whistleout.s3.amazonaws.com/127.0.0.1#1053 -server=/whn.star-media.cn/127.0.0.1#1053 -server=/w.homes.yahoo.net/127.0.0.1#1053 -server=/whpxy.com/127.0.0.1#1053 -server=/whu.cwpush.com/127.0.0.1#1053 -server=/whytoss.com/127.0.0.1#1053 -server=/widget.criteo.com/127.0.0.1#1053 -server=/widget.crowdignite.com/127.0.0.1#1053 -server=/widget.directory.dailycommercial.com/127.0.0.1#1053 -server=/widget.kelkoo.com/127.0.0.1#1053 -server=/widget.raaze.com/127.0.0.1#1053 -server=/widgets.comcontent.net/127.0.0.1#1053 -server=/widget.searchschoolsnetwork.com/127.0.0.1#1053 -server=/widget.shopstyle.com.au/127.0.0.1#1053 -server=/widget.solarquotes.com.au/127.0.0.1#1053 -server=/widgets.realestate.com.au/127.0.0.1#1053 -server=/widnd.dajiadou6.com/127.0.0.1#1053 -server=/wifiapi01.51y5.net/127.0.0.1#1053 -server=/wifiapi02.51y5.net/127.0.0.1#1053 -server=/wifijia.net/127.0.0.1#1053 -server=/wifishow.ggsafe.com/127.0.0.1#1053 -server=/wikigifth.com/127.0.0.1#1053 -server=/wikileaks-forum.com/127.0.0.1#1053 -server=/wikileaks.info/127.0.0.1#1053 -server=/wikileaks.org/127.0.0.1#1053 -server=/wikimedia.org/127.0.0.1#1053 -server=/wikipedia.com/127.0.0.1#1053 -server=/wikipedia.org/127.0.0.1#1053 -server=/wikiwand.com/127.0.0.1#1053 -server=/wiley.com/127.0.0.1#1053 -server=/winads.cn/127.0.0.1#1053 -server=/winasdaq.com/127.0.0.1#1053 -server=/winbaicai.com/127.0.0.1#1053 -server=/windcdna.com/127.0.0.1#1053 -server=/windows8.hk/127.0.0.1#1053 -server=/windowsazure.cn/127.0.0.1#1053 -server=/windowsazure.com/127.0.0.1#1053 -server=/windows.com/127.0.0.1#1053 -server=/windows.com.akadns.net/127.0.0.1#1053 -server=/windowscommunity.net/127.0.0.1#1053 -server=/windows-int.net/127.0.0.1#1053 -server=/windowslive.cn/127.0.0.1#1053 -server=/windowsmarketplace.com/127.0.0.1#1053 -server=/windows.net/127.0.0.1#1053 -server=/windows.nl/127.0.0.1#1053 -server=/windowsphone.com/127.0.0.1#1053 -server=/windowsphone-int.com/127.0.0.1#1053 -server=/windows-ppe.net/127.0.0.1#1053 -server=/windowssearch.com/127.0.0.1#1053 -server=/windowsupdate.com/127.0.0.1#1053 -server=/winhec.com/127.0.0.1#1053 -server=/winhec.net/127.0.0.1#1053 -server=/winlinebet.ru/127.0.0.1#1053 -server=/winmp.cn/127.0.0.1#1053 -server=/winvestern.com.cn/127.0.0.1#1053 -server=/wip3.adobe.com/127.0.0.1#1053 -server=/wisepush.video.baidu.com/127.0.0.1#1053 -server=/wiyun.com/127.0.0.1#1053 -server=/wjguc.com/127.0.0.1#1053 -server=/w.jscsd.cn/127.0.0.1#1053 -server=/wka8.com/127.0.0.1#1053 -server=/wkanc.com/127.0.0.1#1053 -server=/wkcdn.com/127.0.0.1#1053 -server=/wl.51taifu.com/127.0.0.1#1053 -server=/wl.eastlady.cn/127.0.0.1#1053 -server=/wl.houyi.baofeng.net/127.0.0.1#1053 -server=/wlkpa.cn/127.0.0.1#1053 -server=/wlneteller.adsrv.eacdn.com/127.0.0.1#1053 -server=/wlpinnaclesports.eacdn.com/127.0.0.1#1053 -server=/wlxrs.com/127.0.0.1#1053 -server=/wm.20150.net/127.0.0.1#1053 -server=/wm.69shi.cn/127.0.0.1#1053 -server=/wm.baidu.com/127.0.0.1#1053 -server=/wmcdn.qtmojo.cn/127.0.0.1#1053 -server=/wm.lrswl.com/127.0.0.1#1053 -server=/wm.mipcdn.com/127.0.0.1#1053 -server=/w.m.taobao.com/127.0.0.1#1053 -server=/wn.com/127.0.0.1#1053 -server=/wo685.com/127.0.0.1#1053 -server=/woaizhongguo.cdn111222.com/127.0.0.1#1053 -server=/wodhid.com/127.0.0.1#1053 -server=/wo.iuni.com.cn/127.0.0.1#1053 -server=/wole.us/127.0.0.1#1053 -server=/womenbaby.com/127.0.0.1#1053 -server=/womenwan.com/127.0.0.1#1053 -server=/wooboo.com.cn/127.0.0.1#1053 -server=/woocall.sina.com.cn/127.0.0.1#1053 -server=/woodpecker.uc.cn/127.0.0.1#1053 -server=/wordpress.com/127.0.0.1#1053 -server=/w.org/127.0.0.1#1053 -server=/workflow.is/127.0.0.1#1053 -server=/workflowy.com/127.0.0.1#1053 -server=/working-bing-int.com/127.0.0.1#1053 -server=/worldbank.org/127.0.0.1#1053 -server=/worldcat.org/127.0.0.1#1053 -server=/worldh5.gamehz.cn/127.0.0.1#1053 -server=/worldscientific.com/127.0.0.1#1053 -server=/wow.com/127.0.0.1#1053 -server=/wowips.com/127.0.0.1#1053 -server=/wpc.32df9.rhocdn.net/127.0.0.1#1053 -server=/wp.com/127.0.0.1#1053 -server=/w.punchbox.org/127.0.0.1#1053 -server=/wpwdf.com/127.0.0.1#1053 -server=/wqmobile.com/127.0.0.1#1053 -server=/wqqsa.puzihua.com/127.0.0.1#1053 -server=/wqsph.net/127.0.0.1#1053 -server=/wr.pvp.net/127.0.0.1#1053 -server=/wrvdmh.cn/127.0.0.1#1053 -server=/ws1.datouniao.com/127.0.0.1#1053 -server=/ws2.cootekservice.com/127.0.0.1#1053 -server=/ws2.datouniao.com/127.0.0.1#1053 -server=/ws341.com/127.0.0.1#1053 -server=/ws7j.com/127.0.0.1#1053 -server=/w.sharethis.com/127.0.0.1#1053 -server=/wshufa.com/127.0.0.1#1053 -server=/wsj.com/127.0.0.1#1053 -server=/wsj.net/127.0.0.1#1053 -server=/ws.ksmobile.net/127.0.0.1#1053 -server=/wsoe.kwiago.com/127.0.0.1#1053 -server=/wsp.marketgid.com/127.0.0.1#1053 -server=/ws.progrss.yahoo.com/127.0.0.1#1053 -server=/ws.sj.qq.com/127.0.0.1#1053 -server=/ws.tapjoyads.com/127.0.0.1#1053 -server=/wstztt.com/127.0.0.1#1053 -server=/ws.voiceads.cn/127.0.0.1#1053 -server=/wtcpm.com/127.0.0.1#1053 -server=/wth.lenovomm.com/127.0.0.1#1053 -server=/wtpn.twenga.co.uk/127.0.0.1#1053 -server=/wtpn.twenga.de/127.0.0.1#1053 -server=/wtrace.cmgame.com/127.0.0.1#1053 -server=/wtradv.market.xiaomi.com/127.0.0.1#1053 -server=/wu65.com/127.0.0.1#1053 -server=/wudang05.com/127.0.0.1#1053 -server=/wuliao.epro.sogou.com/127.0.0.1#1053 -server=/wuliao.ganji.cn/127.0.0.1#1053 -server=/wuliao.juqingba.cn/127.0.0.1#1053 -server=/wumii.cn/127.0.0.1#1053 -server=/wumii.com/127.0.0.1#1053 -server=/wuqdebjfhjas.bid/127.0.0.1#1053 -server=/wuwho.cn/127.0.0.1#1053 -server=/ww101.onetad.com/127.0.0.1#1053 -server=/ww10.onetad.com/127.0.0.1#1053 -server=/ww11.onetad.com/127.0.0.1#1053 -server=/ww12.onetad.com/127.0.0.1#1053 -server=/ww13.onetad.com/127.0.0.1#1053 -server=/ww202.keyyou.net/127.0.0.1#1053 -server=/ww202.onetad.com/127.0.0.1#1053 -server=/ww346.onetad.com/127.0.0.1#1053 -server=/ww34.onetad.com/127.0.0.1#1053 -server=/ww360.onetad.com/127.0.0.1#1053 -server=/ww363.onetad.com/127.0.0.1#1053 -server=/ww366.onetad.com/127.0.0.1#1053 -server=/ww78.onetad.com/127.0.0.1#1053 -server=/ww8.onetad.com/127.0.0.1#1053 -server=/ww9.onetad.com/127.0.0.1#1053 -server=/w.waacorp.com/127.0.0.1#1053 -server=/w.werpig.com/127.0.0.1#1053 -server=/wwis-dubc1-vip60.adobe.com/127.0.0.1#1053 -server=/wwitv.com/127.0.0.1#1053 -server=/wwv.onetad.com/127.0.0.1#1053 -server=/www2.xinmin.cn/127.0.0.1#1053 -server=/www-777563.com/127.0.0.1#1053 -server=/www8.xitek.com/127.0.0.1#1053 -server=/www91.intel.com/127.0.0.1#1053 -server=/www9.effectivemeasure.net/127.0.0.1#1053 -server=/www9.enet.com.cn/127.0.0.1#1053 -server=/wwwokzyzy.com/127.0.0.1#1053 -server=/wwww.495495.com/127.0.0.1#1053 -server=/wwww.551144.com/127.0.0.1#1053 -server=/wwww.640640.com/127.0.0.1#1053 -server=/wwww.649649.com/127.0.0.1#1053 -server=/ww.xiaopiaoyou.com/127.0.0.1#1053 -server=/wx16999.com/127.0.0.1#1053 -server=/wxaw.tiantongmaoyi.com/127.0.0.1#1053 -server=/w.x.baidu.com/127.0.0.1#1053 -server=/wxb.wxbdfm.com/127.0.0.1#1053 -server=/wx.houyi.baofeng.net/127.0.0.1#1053 -server=/w.xiaopiaoyou.com/127.0.0.1#1053 -server=/wxmmh.net/127.0.0.1#1053 -server=/wx.paigu.com/127.0.0.1#1053 -server=/wxsnsdy.tc.qq.com/127.0.0.1#1053 -server=/wxsnsdythumb.wxs.qq.com/127.0.0.1#1053 -server=/wxsnsdy.video.qq.com/127.0.0.1#1053 -server=/wxtz.houmags.com/127.0.0.1#1053 -server=/wxwm1.ikuailian.com/127.0.0.1#1053 -server=/wxwm2.ikuailian.com/127.0.0.1#1053 -server=/wx.xwjqr.com/127.0.0.1#1053 -server=/w.yamaidei.cn/127.0.0.1#1053 -server=/wy.ce22d.cn/127.0.0.1#1053 -server=/wyhzzy.com/127.0.0.1#1053 -server=/w.yinyuehu.cn/127.0.0.1#1053 -server=/w.ymapp.com/127.0.0.1#1053 -server=/wysa.2wxb5.cn/127.0.0.1#1053 -server=/wyttech.cn/127.0.0.1#1053 -server=/wyt.wwetjy.com/127.0.0.1#1053 -server=/wzaigo.com/127.0.0.1#1053 -server=/wzjijia.com/127.0.0.1#1053 -server=/wzj.ywrjgzs.com/127.0.0.1#1053 -server=/x01.aidata.io/127.0.0.1#1053 -server=/x.120ask.com/127.0.0.1#1053 -server=/x1.da.hunantv.com/127.0.0.1#1053 -server=/x1.go.sohu.com/127.0.0.1#1053 -server=/x9377a.com/127.0.0.1#1053 -server=/x.9dagui.com/127.0.0.1#1053 -server=/xa9t.com/127.0.0.1#1053 -server=/xabaitai.com/127.0.0.1#1053 -server=/xabmjr.com/127.0.0.1#1053 -server=/xacqp.com/127.0.0.1#1053 -server=/xamarin.com/127.0.0.1#1053 -server=/xanga.com/127.0.0.1#1053 -server=/xau.sxmutan.com/127.0.0.1#1053 -server=/xavingtsun.com/127.0.0.1#1053 -server=/x.bidswitch.net/127.0.0.1#1053 -server=/x.bikaer.com/127.0.0.1#1053 -server=/xbox360.co/127.0.0.1#1053 -server=/xbox360.com/127.0.0.1#1053 -server=/xbox360.eu/127.0.0.1#1053 -server=/xbox360.org/127.0.0.1#1053 -server=/xboxab.com/127.0.0.1#1053 -server=/xbox.co/127.0.0.1#1053 -server=/xbox.com/127.0.0.1#1053 -server=/xbox.eu/127.0.0.1#1053 -server=/xboxgamepass.com/127.0.0.1#1053 -server=/xboxgamestudios.com/127.0.0.1#1053 -server=/xboxlive.cn/127.0.0.1#1053 -server=/xboxlive.com/127.0.0.1#1053 -server=/xboxone.co/127.0.0.1#1053 -server=/xboxone.com/127.0.0.1#1053 -server=/xboxone.eu/127.0.0.1#1053 -server=/xbox.org/127.0.0.1#1053 -server=/xboxplayanywhere.com/127.0.0.1#1053 -server=/xboxservices.com/127.0.0.1#1053 -server=/xboxstudios.com/127.0.0.1#1053 -server=/xbp.code.weddingeeos.com/127.0.0.1#1053 -server=/xbtw.com/127.0.0.1#1053 -server=/xbx.lv/127.0.0.1#1053 -server=/xbzzzx.com/127.0.0.1#1053 -server=/xc.08an.com/127.0.0.1#1053 -server=/x.castanet.net/127.0.0.1#1053 -server=/xcclzs.com/127.0.0.1#1053 -server=/xcdf.cn/127.0.0.1#1053 -server=/xchgx.com/127.0.0.1#1053 -server=/xcjy876.com/127.0.0.1#1053 -server=/xclient.info/127.0.0.1#1053 -server=/xc.macd.cn/127.0.0.1#1053 -server=/xc.mydrivers.com/127.0.0.1#1053 -server=/x.cnxad.com/127.0.0.1#1053 -server=/xco.qwxcs.com/127.0.0.1#1053 -server=/xcy8.com/127.0.0.1#1053 -server=/xcyjzs.net/127.0.0.1#1053 -server=/xcyrc.com/127.0.0.1#1053 -server=/xdadevelopers.browsi.mobi/127.0.0.1#1053 -server=/xda-developers.com/127.0.0.1#1053 -server=/x.da.hunantv.com/127.0.0.1#1053 -server=/x.da.mgtv.com/127.0.0.1#1053 -server=/xdbwc.com/127.0.0.1#1053 -server=/xd.code.tanwanyx.com/127.0.0.1#1053 -server=/xdcqcyp.com/127.0.0.1#1053 -server=/xdcs-collector.ximalaya.com/127.0.0.1#1053 -server=/xdrig.com/127.0.0.1#1053 -server=/xdyjt.com/127.0.0.1#1053 -server=/xe2c.com/127.0.0.1#1053 -server=/xeeno.com/127.0.0.1#1053 -server=/x.eroticity.net/127.0.0.1#1053 -server=/xfo.monesyy.com/127.0.0.1#1053 -server=/xf.yellowto.com/127.0.0.1#1053 -server=/xfywn.com/127.0.0.1#1053 -server=/xgcsr.com/127.0.0.1#1053 -server=/xgmc6lu8fs.me/127.0.0.1#1053 -server=/xhbqczl.com/127.0.0.1#1053 -server=/x.heyzap.com/127.0.0.1#1053 -server=/xhmrv.com/127.0.0.1#1053 -server=/xhostfire.com/127.0.0.1#1053 -server=/xhscdn.com/127.0.0.1#1053 -server=/xhsxgmt.cn/127.0.0.1#1053 -server=/xhsxgnt.cn/127.0.0.1#1053 -server=/xhtd.99hg.wang/127.0.0.1#1053 -server=/xhxnkyy.com/127.0.0.1#1053 -server=/xhydrs.cn/127.0.0.1#1053 -server=/xiacai.com/127.0.0.1#1053 -server=/xiacaidd.com/127.0.0.1#1053 -server=/xia.huishenghuiying.com/127.0.0.1#1053 -server=/xia.jihehuaban.com/127.0.0.1#1053 -server=/xianliao.me/127.0.0.1#1053 -server=/xiaobiaoucai.cn/127.0.0.1#1053 -server=/xiaohei.com/127.0.0.1#1053 -server=/xiaohongshu.com/127.0.0.1#1053 -server=/xiaohuau.xyz/127.0.0.1#1053 -server=/xiaohui2.cn/127.0.0.1#1053 -server=/xiaojukeji.com/127.0.0.1#1053 -server=/xiaomi.com/127.0.0.1#1053 -server=/xiaomicp.com/127.0.0.1#1053 -server=/xiaomiir.yaokantv.com/127.0.0.1#1053 -server=/xiaomi.net/127.0.0.1#1053 -server=/XiaoQiang/127.0.0.1#1053 -server=/xiaoshuo.kp53.cn/127.0.0.1#1053 -server=/xiaoshuo.zhandao.net/127.0.0.1#1053 -server=/xiaoyang.mobi/127.0.0.1#1053 -server=/xiaoyuanzuqiu.cn/127.0.0.1#1053 -server=/xiaoyutiao.com/127.0.0.1#1053 -server=/xiaozhen.com/127.0.0.1#1053 -server=/xiaozhishi852.com/127.0.0.1#1053 -server=/xiaxuanfu.com/127.0.0.1#1053 -server=/xiazai.cdren.com/127.0.0.1#1053 -server=/xiazai.downok.com/127.0.0.1#1053 -server=/xibao100.com/127.0.0.1#1053 -server=/xibei70.com/127.0.0.1#1053 -server=/xifatime.com/127.0.0.1#1053 -server=/xihashuale.com/127.0.0.1#1053 -server=/xihuashuale.com/127.0.0.1#1053 -server=/xilele.com/127.0.0.1#1053 -server=/xi.liuxiaoer.com/127.0.0.1#1053 -server=/xiliweisha.cn/127.0.0.1#1053 -server=/ximalaya.com/127.0.0.1#1053 -server=/xinasiaj.com/127.0.0.1#1053 -server=/x.infzm.com/127.0.0.1#1053 -server=/xinghao89.com/127.0.0.1#1053 -server=/xingjuhe.com/127.0.0.1#1053 -server=/xiniuz.com/127.0.0.1#1053 -server=/xinju.cc/127.0.0.1#1053 -server=/xinray.com/127.0.0.1#1053 -server=/xinsheng.net/127.0.0.1#1053 -server=/xin.ygqczh.com/127.0.0.1#1053 -server=/xiongdong.com/127.0.0.1#1053 -server=/xitek.com/127.0.0.1#1053 -server=/xiti.com/127.0.0.1#1053 -server=/xiuxiu.android.dl.meitu.com/127.0.0.1#1053 -server=/xiuxiu.mobile.meitudata.com/127.0.0.1#1053 -server=/xj40666.vip/127.0.0.1#1053 -server=/xjidian.com/127.0.0.1#1053 -server=/xji.qwxcs.com/127.0.0.1#1053 -server=/xjq.jxmqkj.com/127.0.0.1#1053 -server=/xk2012.com/127.0.0.1#1053 -server=/xkwfao.com/127.0.0.1#1053 -server=/x.ligatus.com/127.0.0.1#1053 -server=/xlmc.sandai.net/127.0.0.1#1053 -server=/xls.go.sohu.com/127.0.0.1#1053 -server=/xlwnx.com/127.0.0.1#1053 -server=/xlylqx.com/127.0.0.1#1053 -server=/xm9178.com/127.0.0.1#1053 -server=/xmcdn.com/127.0.0.1#1053 -server=/xmcmn.com/127.0.0.1#1053 -server=/xmcxz.com/127.0.0.1#1053 -server=/xmindchina.net/127.0.0.1#1053 -server=/xmnmeu.cn/127.0.0.1#1053 -server=/xmrts.com/127.0.0.1#1053 -server=/xmshqh.com/127.0.0.1#1053 -server=/xmsqz.com/127.0.0.1#1053 -server=/xnjpg.com/127.0.0.1#1053 -server=/xn--ngstr-lra8j.com/127.0.0.1#1053 -server=/xoredi.com/127.0.0.1#1053 -server=/xp3366.com/127.0.0.1#1053 -server=/xpcy.m.gxwztv.com/127.0.0.1#1053 -server=/xpe.cxaerp.com/127.0.0.1#1053 -server=/xpj1.net/127.0.0.1#1053 -server=/xpj2.net/127.0.0.1#1053 -server=/xpj3.net/127.0.0.1#1053 -server=/xpj4.net/127.0.0.1#1053 -server=/xpj8088.com/127.0.0.1#1053 -server=/xpjkf888.com/127.0.0.1#1053 -server=/xpjylc9977.com/127.0.0.1#1053 -server=/xpqfc.com/127.0.0.1#1053 -server=/xq12.com/127.0.0.1#1053 -server=/xq199.com/127.0.0.1#1053 -server=/xrain.net/127.0.0.1#1053 -server=/xray.jebe.renren.com/127.0.0.1#1053 -server=/xs.1drj.com/127.0.0.1#1053 -server=/xs.he9630.com/127.0.0.1#1053 -server=/xshellcn.com/127.0.0.1#1053 -server=/xs.houyi.baofeng.net/127.0.0.1#1053 -server=/xslb.net/127.0.0.1#1053 -server=/xs.swagger1.com/127.0.0.1#1053 -server=/xstar.cc/127.0.0.1#1053 -server=/xszqapp.com/127.0.0.1#1053 -server=/xtcdbb.cn/127.0.0.1#1053 -server=/xteko.com/127.0.0.1#1053 -server=/xtgreat.com/127.0.0.1#1053 -server=/xtruh.uranus.sogou.com/127.0.0.1#1053 -server=/xtwjx.cn/127.0.0.1#1053 -server=/xtxa.net/127.0.0.1#1053 -server=/xtzxmy.com/127.0.0.1#1053 -server=/xuanmeiguoji.com/127.0.0.1#1053 -server=/xue.zbyw.cn/127.0.0.1#1053 -server=/xuite.net/127.0.0.1#1053 -server=/xul478.com/127.0.0.1#1053 -server=/xulizui6.com/127.0.0.1#1053 -server=/x.vamaker.com/127.0.0.1#1053 -server=/xvideos.com/127.0.0.1#1053 -server=/x.vipergirls.to/127.0.0.1#1053 -server=/xxad.cc/127.0.0.1#1053 -server=/xxeden.com/127.0.0.1#1053 -server=/xxguan.cn/127.0.0.1#1053 -server=/xxhrd.com/127.0.0.1#1053 -server=/xxkhh.com/127.0.0.1#1053 -server=/xxlargepop.com/127.0.0.1#1053 -server=/xx.m.gxwztv.com/127.0.0.1#1053 -server=/xxp.gytygc.com/127.0.0.1#1053 -server=/xxwkjl.com/127.0.0.1#1053 -server=/xxxa.aikeapp.com/127.0.0.1#1053 -server=/xxyzwtsylw.com/127.0.0.1#1053 -server=/xycnz.com/127.0.0.1#1053 -server=/xy.com/127.0.0.1#1053 -server=/xyd.sxmdxy.com/127.0.0.1#1053 -server=/xyimg.net/127.0.0.1#1053 -server=/xyly2016.com/127.0.0.1#1053 -server=/xyqptm.com/127.0.0.1#1053 -server=/xyqxr.com/127.0.0.1#1053 -server=/xyrhd.com/127.0.0.1#1053 -server=/xyrkl.com/127.0.0.1#1053 -server=/xy.shijialianzuishuai.com/127.0.0.1#1053 -server=/xyssp.com/127.0.0.1#1053 -server=/xytom.com/127.0.0.1#1053 -server=/xyxy01.com/127.0.0.1#1053 -server=/xyy.code.weddingeeos.com/127.0.0.1#1053 -server=/xz-development.oss-cn-beijing.aliyuncs.com/127.0.0.1#1053 -server=/xz.ercfh.com/127.0.0.1#1053 -server=/x.zhuyuanp.top/127.0.0.1#1053 -server=/xzq.greenxf.net/127.0.0.1#1053 -server=/xztms.com/127.0.0.1#1053 -server=/xzyituo.com/127.0.0.1#1053 -server=/xzzyi.com/127.0.0.1#1053 -server=/y0.cn/127.0.0.1#1053 -server=/y.3957957.com/127.0.0.1#1053 -server=/yach.me/127.0.0.1#1053 -server=/yadro.ru/127.0.0.1#1053 -server=/yads.c.yimg.jp/127.0.0.1#1053 -server=/yads.yahoo.co.jp/127.0.0.1#1053 -server=/yageben.com/127.0.0.1#1053 -server=/yahooapis.com/127.0.0.1#1053 -server=/yahoo.com/127.0.0.1#1053 -server=/yam.adsbro.com/127.0.0.1#1053 -server=/yammer.com/127.0.0.1#1053 -server=/yammerusercontent.com/127.0.0.1#1053 -server=/yandui.com/127.0.0.1#1053 -server=/yangdasen.cn/127.0.0.1#1053 -server=/yanglaopt.net/127.0.0.1#1053 -server=/yaohq.com/127.0.0.1#1053 -server=/yao.zzsdjq.com/127.0.0.1#1053 -server=/yasni.co.uk/127.0.0.1#1053 -server=/yastatic.net/127.0.0.1#1053 -server=/yatemy.cn/127.0.0.1#1053 -server=/ybtianxi.com/127.0.0.1#1053 -server=/yb.torchbrowser.com/127.0.0.1#1053 -server=/yb.uncn.jp/127.0.0.1#1053 -server=/yccdn.com/127.0.0.1#1053 -server=/ychml.com/127.0.0.1#1053 -server=/ychun03.com/127.0.0.1#1053 -server=/ycombinator.com/127.0.0.1#1053 -server=/yd126.com/127.0.0.1#1053 -server=/y.da.hunantv.com/127.0.0.1#1053 -server=/y.da.mgtv.com/127.0.0.1#1053 -server=/y.damifan.cn/127.0.0.1#1053 -server=/ydjs.zol.com.cn/127.0.0.1#1053 -server=/ydlnt.com/127.0.0.1#1053 -server=/ydpushserver.youdao.com/127.0.0.1#1053 -server=/ydqzkj.com/127.0.0.1#1053 -server=/yeabble.com/127.0.0.1#1053 -server=/yeas.yahoo.co.jp/127.0.0.1#1053 -server=/yea.uploadimagex.com/127.0.0.1#1053 -server=/yee.js.cn/127.0.0.1#1053 -server=/yeepay.com/127.0.0.1#1053 -server=/yeeyi.com/127.0.0.1#1053 -server=/yellowto.com/127.0.0.1#1053 -server=/yengo.com/127.0.0.1#1053 -server=/yesasia.com/127.0.0.1#1053 -server=/yesbeby.whies.info/127.0.0.1#1053 -server=/yes-news.com/127.0.0.1#1053 -server=/yess.imneinei.com/127.0.0.1#1053 -server=/yezilm.com/127.0.0.1#1053 -server=/yf898.com/127.0.0.1#1053 -server=/yfcode.m.gxwztv.com/127.0.0.1#1053 -server=/yfxpcode.m.gxwztv.com/127.0.0.1#1053 -server=/yfycy.com/127.0.0.1#1053 -server=/y.gwylm.com/127.0.0.1#1053 -server=/yhd.com/127.0.0.1#1053 -server=/y.hk9600.com/127.0.0.1#1053 -server=/yhtcd.com/127.0.0.1#1053 -server=/y.hzht666.com/127.0.0.1#1053 -server=/yhzm.cc/127.0.0.1#1053 -server=/yicha.cn/127.0.0.1#1053 -server=/yidio.com/127.0.0.1#1053 -server=/yidulive.net/127.0.0.1#1053 -server=/yieldmanager.com/127.0.0.1#1053 -server=/yigao.com/127.0.0.1#1053 -server=/yigyx.com/127.0.0.1#1053 -server=/yihuifu.cn/127.0.0.1#1053 -server=/yiiwoo.com/127.0.0.1#1053 -server=/yijia2009.com/127.0.0.1#1053 -server=/yijifen.com/127.0.0.1#1053 -server=/yiluup.com/127.0.0.1#1053 -server=/yimg.com/127.0.0.1#1053 -server=/yin1.zgpingshu.com/127.0.0.1#1053 -server=/ying.com/127.0.0.1#1053 -server=/yingxiao.baidu.com/127.0.0.1#1053 -server=/yinhaijuan.com/127.0.0.1#1053 -server=/yinmong.com/127.0.0.1#1053 -server=/yinooo.com/127.0.0.1#1053 -server=/yinxiang.com/127.0.0.1#1053 -server=/yinyuehu.cn/127.0.0.1#1053 -server=/yiqifa.com/127.0.0.1#1053 -server=/yiranxian.cn/127.0.0.1#1053 -server=/yitaopt.com/127.0.0.1#1053 -server=/yiwk.com/127.0.0.1#1053 -server=/yiwuds.com/127.0.0.1#1053 -server=/yixia.com/127.0.0.1#1053 -server=/yixui.com/127.0.0.1#1053 -server=/yizhenya.com/127.0.0.1#1053 -server=/yjqiqi.com/127.0.0.1#1053 -server=/yk0712.com/127.0.0.1#1053 -server=/ykatr.youku.com/127.0.0.1#1053 -server=/ykbei.com/127.0.0.1#1053 -server=/ykimg.com/127.0.0.1#1053 -server=/ykjmy.com/127.0.0.1#1053 -server=/ykrec.youku.com/127.0.0.1#1053 -server=/yktj.yzz.cn/127.0.0.1#1053 -server=/ykxwn.com/127.0.0.1#1053 -server=/yl850555.com/127.0.0.1#1053 -server=/ylads.yaolan.com/127.0.0.1#1053 -server=/ylog.hiido.com/127.0.0.1#1053 -server=/ylunion.com/127.0.0.1#1053 -server=/ylwy168.com/127.0.0.1#1053 -server=/ymapp.com/127.0.0.1#1053 -server=/ymcdn.cn/127.0.0.1#1053 -server=/ymcqb.com/127.0.0.1#1053 -server=/ymrzr.com/127.0.0.1#1053 -server=/yn.001fzc.com/127.0.0.1#1053 -server=/ynbojie.com/127.0.0.1#1053 -server=/yndianju.com/127.0.0.1#1053 -server=/ynmbz.com/127.0.0.1#1053 -server=/yongkang6.com/127.0.0.1#1053 -server=/yongv.com/127.0.0.1#1053 -server=/yooli.com/127.0.0.1#1053 -server=/yoo.yiiyoo.net/127.0.0.1#1053 -server=/yorkbbs.ca/127.0.0.1#1053 -server=/you1ad.com/127.0.0.1#1053 -server=/youdao.com/127.0.0.1#1053 -server=/youfumei.com/127.0.0.1#1053 -server=/youjia2016.com/127.0.0.1#1053 -server=/youka.la/127.0.0.1#1053 -server=/youku.com/127.0.0.1#1053 -server=/youle55.com/127.0.0.1#1053 -server=/youle.tom.com/127.0.0.1#1053 -server=/youmaker.com/127.0.0.1#1053 -server=/youmi.net/127.0.0.1#1053 -server=/youmsm.com/127.0.0.1#1053 -server=/yourlisten.com/127.0.0.1#1053 -server=/yousee.com/127.0.0.1#1053 -server=/youtu.be/127.0.0.1#1053 -server=/youtube.ae/127.0.0.1#1053 -server=/youtube.al/127.0.0.1#1053 -server=/youtube.am/127.0.0.1#1053 -server=/youtube.at/127.0.0.1#1053 -server=/youtube.az/127.0.0.1#1053 -server=/youtube.ba/127.0.0.1#1053 -server=/youtube.be/127.0.0.1#1053 -server=/youtube.bg/127.0.0.1#1053 -server=/youtube.bh/127.0.0.1#1053 -server=/youtube.bo/127.0.0.1#1053 -server=/youtube.by/127.0.0.1#1053 -server=/youtube.ca/127.0.0.1#1053 -server=/youtube.cat/127.0.0.1#1053 -server=/youtube.ch/127.0.0.1#1053 -server=/youtube.cl/127.0.0.1#1053 -server=/youtube.co/127.0.0.1#1053 -server=/youtube.co.ae/127.0.0.1#1053 -server=/youtube.co.at/127.0.0.1#1053 -server=/youtube.co.cr/127.0.0.1#1053 -server=/youtube.co.hu/127.0.0.1#1053 -server=/youtube.co.id/127.0.0.1#1053 -server=/youtube.co.il/127.0.0.1#1053 -server=/youtube.co.in/127.0.0.1#1053 -server=/youtube.co.jp/127.0.0.1#1053 -server=/youtube.co.ke/127.0.0.1#1053 -server=/youtube.co.kr/127.0.0.1#1053 -server=/youtube.com/127.0.0.1#1053 -server=/youtube.co.ma/127.0.0.1#1053 -server=/youtube.com.ar/127.0.0.1#1053 -server=/youtube.com.au/127.0.0.1#1053 -server=/youtube.com.az/127.0.0.1#1053 -server=/youtube.com.bd/127.0.0.1#1053 -server=/youtube.com.bh/127.0.0.1#1053 -server=/youtube.com.bo/127.0.0.1#1053 -server=/youtube.com.br/127.0.0.1#1053 -server=/youtube.com.by/127.0.0.1#1053 -server=/youtube.com.co/127.0.0.1#1053 -server=/youtube.com.do/127.0.0.1#1053 -server=/youtube.com.ec/127.0.0.1#1053 -server=/youtube.com.ee/127.0.0.1#1053 -server=/youtube.com.eg/127.0.0.1#1053 -server=/youtube.com.es/127.0.0.1#1053 -server=/youtube.com.gh/127.0.0.1#1053 -server=/youtube.com.gr/127.0.0.1#1053 -server=/youtube.com.gt/127.0.0.1#1053 -server=/youtube.com.hk/127.0.0.1#1053 -server=/youtube.com.hn/127.0.0.1#1053 -server=/youtube.com.hr/127.0.0.1#1053 -server=/youtube.com.jm/127.0.0.1#1053 -server=/youtube.com.jo/127.0.0.1#1053 -server=/youtube.com.kw/127.0.0.1#1053 -server=/youtube.com.lb/127.0.0.1#1053 -server=/youtube.com.lv/127.0.0.1#1053 -server=/youtube.com.ly/127.0.0.1#1053 -server=/youtube.com.mk/127.0.0.1#1053 -server=/youtube.com.mt/127.0.0.1#1053 -server=/youtube.com.mx/127.0.0.1#1053 -server=/youtube.com.my/127.0.0.1#1053 -server=/youtube.com.ng/127.0.0.1#1053 -server=/youtube.com.ni/127.0.0.1#1053 -server=/youtube.com.om/127.0.0.1#1053 -server=/youtube.com.pa/127.0.0.1#1053 -server=/youtube.com.pe/127.0.0.1#1053 -server=/youtube.com.ph/127.0.0.1#1053 -server=/youtube.com.pk/127.0.0.1#1053 -server=/youtube.com.pt/127.0.0.1#1053 -server=/youtube.com.py/127.0.0.1#1053 -server=/youtube.com.qa/127.0.0.1#1053 -server=/youtube.com.ro/127.0.0.1#1053 -server=/youtube.com.sa/127.0.0.1#1053 -server=/youtube.com.sg/127.0.0.1#1053 -server=/youtube.com.sv/127.0.0.1#1053 -server=/youtube.com.tn/127.0.0.1#1053 -server=/youtube.com.tr/127.0.0.1#1053 -server=/youtube.com.tw/127.0.0.1#1053 -server=/youtube.com.ua/127.0.0.1#1053 -server=/youtube.com.uy/127.0.0.1#1053 -server=/youtube.com.ve/127.0.0.1#1053 -server=/youtube.co.nz/127.0.0.1#1053 -server=/youtube.co.th/127.0.0.1#1053 -server=/youtube.co.tz/127.0.0.1#1053 -server=/youtube.co.ug/127.0.0.1#1053 -server=/youtube.co.uk/127.0.0.1#1053 -server=/youtube.co.ve/127.0.0.1#1053 -server=/youtube.co.za/127.0.0.1#1053 -server=/youtube.co.zw/127.0.0.1#1053 -server=/youtube.cr/127.0.0.1#1053 -server=/youtube.cz/127.0.0.1#1053 -server=/youtube.de/127.0.0.1#1053 -server=/youtube.dk/127.0.0.1#1053 -server=/youtubeeducation.com/127.0.0.1#1053 -server=/youtube.ee/127.0.0.1#1053 -server=/youtubeembeddedplayer.googleapis.com/127.0.0.1#1053 -server=/youtube.es/127.0.0.1#1053 -server=/youtube.fi/127.0.0.1#1053 -server=/youtube.fr/127.0.0.1#1053 -server=/youtube.ge/127.0.0.1#1053 -server=/youtube.googleapis.com/127.0.0.1#1053 -server=/youtube.gr/127.0.0.1#1053 -server=/youtube.gt/127.0.0.1#1053 -server=/youtube.hk/127.0.0.1#1053 -server=/youtube.hr/127.0.0.1#1053 -server=/youtube.hu/127.0.0.1#1053 -server=/youtube.ie/127.0.0.1#1053 -server=/youtubei.googleapis.com/127.0.0.1#1053 -server=/youtube.in/127.0.0.1#1053 -server=/youtube.iq/127.0.0.1#1053 -server=/youtube.is/127.0.0.1#1053 -server=/youtube.it/127.0.0.1#1053 -server=/youtube.jo/127.0.0.1#1053 -server=/youtube.jp/127.0.0.1#1053 -server=/youtubekids.com/127.0.0.1#1053 -server=/youtube.kr/127.0.0.1#1053 -server=/youtube.kz/127.0.0.1#1053 -server=/youtube.la/127.0.0.1#1053 -server=/youtube.lk/127.0.0.1#1053 -server=/youtube.lt/127.0.0.1#1053 -server=/youtube.lu/127.0.0.1#1053 -server=/youtube.lv/127.0.0.1#1053 -server=/youtube.ly/127.0.0.1#1053 -server=/youtube.ma/127.0.0.1#1053 -server=/youtube.md/127.0.0.1#1053 -server=/youtube.me/127.0.0.1#1053 -server=/youtube.mk/127.0.0.1#1053 -server=/youtube.mn/127.0.0.1#1053 -server=/youtube.mx/127.0.0.1#1053 -server=/youtube.my/127.0.0.1#1053 -server=/youtube.ng/127.0.0.1#1053 -server=/youtube.ni/127.0.0.1#1053 -server=/youtube.nl/127.0.0.1#1053 -server=/youtube.no/127.0.0.1#1053 -server=/youtube-nocookie.com/127.0.0.1#1053 -server=/youtube.pa/127.0.0.1#1053 -server=/youtube.pe/127.0.0.1#1053 -server=/youtube.ph/127.0.0.1#1053 -server=/youtube.pk/127.0.0.1#1053 -server=/youtube.pl/127.0.0.1#1053 -server=/youtube.pr/127.0.0.1#1053 -server=/youtube.pt/127.0.0.1#1053 -server=/youtube.qa/127.0.0.1#1053 -server=/youtube.ro/127.0.0.1#1053 -server=/youtube.rs/127.0.0.1#1053 -server=/youtube.ru/127.0.0.1#1053 -server=/youtube.sa/127.0.0.1#1053 -server=/youtube.se/127.0.0.1#1053 -server=/youtube.sg/127.0.0.1#1053 -server=/youtube.si/127.0.0.1#1053 -server=/youtube.sk/127.0.0.1#1053 -server=/youtube.sn/127.0.0.1#1053 -server=/youtube.soy/127.0.0.1#1053 -server=/youtube.sv/127.0.0.1#1053 -server=/youtube.tn/127.0.0.1#1053 -server=/youtube.tv/127.0.0.1#1053 -server=/youtube.ua/127.0.0.1#1053 -server=/youtube.ug/127.0.0.1#1053 -server=/youtube-ui.l.google.com/127.0.0.1#1053 -server=/youtube.uy/127.0.0.1#1053 -server=/youtube.vn/127.0.0.1#1053 -server=/youxiaoad.com/127.0.0.1#1053 -server=/youxicool.net/127.0.0.1#1053 -server=/youxi.kugou.com/127.0.0.1#1053 -server=/youzehui.com/127.0.0.1#1053 -server=/yoyi.com.cn/127.0.0.1#1053 -server=/yoyi.tv/127.0.0.1#1053 -server=/yoyo.org/127.0.0.1#1053 -server=/ypmeiwen.com/127.0.0.1#1053 -server=/ypmob.com/127.0.0.1#1053 -server=/yqjxzw.com/127.0.0.1#1053 -server=/yqw88.com/127.0.0.1#1053 -server=/yrt7dgkf.exashare.com/127.0.0.1#1053 -server=/yrxmr.com/127.0.0.1#1053 -server=/ysej.code.weddingeeos.com/127.0.0.1#1053 -server=/y.shuoshuocm.com/127.0.0.1#1053 -server=/ysjwj.com/127.0.0.1#1053 -server=/ysm.hauchi.com.tw/127.0.0.1#1053 -server=/ysm.yahoo.com/127.0.0.1#1053 -server=/yt3.ggpht.com/127.0.0.1#1053 -server=/yt-adp.nosdn.127.net/127.0.0.1#1053 -server=/ytapi1.nagezan.net/127.0.0.1#1053 -server=/yt.be/127.0.0.1#1053 -server=/ytdksb.com/127.0.0.1#1053 -server=/ytguowang.com/127.0.0.1#1053 -server=/ytimg.compayload:/127.0.0.1#1053 -server=/ytmx.2r3485.cn/127.0.0.1#1053 -server=/yts.ytsyyey.com/127.0.0.1#1053 -server=/ytsyyey.com/127.0.0.1#1053 -server=/yuanchengxiezuo.com/127.0.0.1#1053 -server=/yuanming.net/127.0.0.1#1053 -server=/yuedu.iqiyi.com/127.0.0.1#1053 -server=/yueyelive.com/127.0.0.1#1053 -server=/yug8.com/127.0.0.1#1053 -server=/yukhj.com/127.0.0.1#1053 -server=/yule8.net/127.0.0.1#1053 -server=/yulzs.com/127.0.0.1#1053 -server=/yumcs.xiaohuau.xyz/127.0.0.1#1053 -server=/yun1.yahoo001.com/127.0.0.1#1053 -server=/yunanfuwuqi.com/127.0.0.1#1053 -server=/yunbofangbt.com/127.0.0.1#1053 -server=/yundingjiayuan.com/127.0.0.1#1053 -server=/yunjiasu-cdn.net/127.0.0.1#1053 -server=/yunjiasu.com/127.0.0.1#1053 -server=/yun.lvehaisen.com/127.0.0.1#1053 -server=/yun.rili.cn/127.0.0.1#1053 -server=/yunshipei.com/127.0.0.1#1053 -server=/yun.sifuhe.cn/127.0.0.1#1053 -server=/yun.tuia.cn/127.0.0.1#1053 -server=/yun.tuisnake.com/127.0.0.1#1053 -server=/yunxuu.com/127.0.0.1#1053 -server=/yun.yuyiya.com/127.0.0.1#1053 -server=/yuyue008.cn/127.0.0.1#1053 -server=/ywjxsp168.cn/127.0.0.1#1053 -server=/yxhxs.com/127.0.0.1#1053 -server=/y.xinghao89.com/127.0.0.1#1053 -server=/yxjad.com/127.0.0.1#1053 -server=/yx.lenovomm.com/127.0.0.1#1053 -server=/yxs.tymsyx.com/127.0.0.1#1053 -server=/yxszy.com/127.0.0.1#1053 -server=/yxxwyz.com/127.0.0.1#1053 -server=/yy58ju.com/127.0.0.1#1053 -server=/yyb.pc6.com/127.0.0.1#1053 -server=/yyffeicd.m.qxs.la/127.0.0.1#1053 -server=/yyjxgm.net/127.0.0.1#1053 -server=/yyp17.com/127.0.0.1#1053 -server=/yyt.irs01.com/127.0.0.1#1053 -server=/yzaosite.com/127.0.0.1#1053 -server=/yzh360.com/127.0.0.1#1053 -server=/yzh.jyjhkz.com/127.0.0.1#1053 -server=/y.zxwdw.com/127.0.0.1#1053 -server=/yzygo.com/127.0.0.1#1053 -server=/yzytb.com/127.0.0.1#1053 -server=/z1hihu.xmcimg.com/127.0.0.1#1053 -server=/z1.zedo.com/127.0.0.1#1053 -server=/z2.lnymd.com/127.0.0.1#1053 -server=/zacebook.com/127.0.0.1#1053 -server=/zads.care2.com/127.0.0.1#1053 -server=/zae.gzzena.com/127.0.0.1#1053 -server=/zalmos.com/127.0.0.1#1053 -server=/zamar.cn/127.0.0.1#1053 -server=/zampdsp.com/127.0.0.1#1053 -server=/zamplus.com/127.0.0.1#1053 -server=/zantainet.com/127.0.0.1#1053 -server=/zaobao.com.sg/127.0.0.1#1053 -server=/zapads.zapak.com/127.0.0.1#1053 -server=/zb.app/127.0.0.1#1053 -server=/zb.com/127.0.0.1#1053 -server=/zb.io/127.0.0.1#1053 -server=/zb.live/127.0.0.1#1053 -server=/zb.nxing.cn/127.0.0.1#1053 -server=/zbrushcn.com/127.0.0.1#1053 -server=/zbz.m.qxs.la/127.0.0.1#1053 -server=/zcdsp.com/127.0.0.1#1053 -server=/z.clickvip.shop/127.0.0.1#1053 -server=/zcrtd.com/127.0.0.1#1053 -server=/zdjby.cn/127.0.0.1#1053 -server=/zdw.w8.com.cn/127.0.0.1#1053 -server=/ze5.com/127.0.0.1#1053 -server=/zealer.com/127.0.0.1#1053 -server=/zedo.com/127.0.0.1#1053 -server=/zeus.qj.net/127.0.0.1#1053 -server=/zeutch.com/127.0.0.1#1053 -server=/zgc66.com/127.0.0.1#1053 -server=/zgdfz6h7po.me/127.0.0.1#1053 -server=/zgfszs.com/127.0.0.1#1053 -server=/zgjkv.com/127.0.0.1#1053 -server=/zgksb.com/127.0.0.1#1053 -server=/zgslb.net/127.0.0.1#1053 -server=/zgty365.com/127.0.0.1#1053 -server=/zgunion.cn/127.0.0.1#1053 -server=/zgyemy.com/127.0.0.1#1053 -server=/zhanzhang.net/127.0.0.1#1053 -server=/zhao258.com/127.0.0.1#1053 -server=/zhaoshang8.com/127.0.0.1#1053 -server=/zhaozecheng.cn/127.0.0.1#1053 -server=/zh-cn.shenyun.com/127.0.0.1#1053 -server=/zh-cn.shenyun.org/127.0.0.1#1053 -server=/zheng.cs12d.com/127.0.0.1#1053 -server=/zhengjian.org/127.0.0.1#1053 -server=/zhenxinet.com/127.0.0.1#1053 -server=/zhichi08.com/127.0.0.1#1053 -server=/zhidian3g.cn/127.0.0.1#1053 -server=/zhifenjie.com/127.0.0.1#1053 -server=/zhihei.com/127.0.0.1#1053 -server=/zhihu.com/127.0.0.1#1053 -server=/zhihu.xmcimg.com/127.0.0.1#1053 -server=/zhimg.com/127.0.0.1#1053 -server=/zhiong.net/127.0.0.1#1053 -server=/zhiyuanteam.com/127.0.0.1#1053 -server=/zhiziyun.com/127.0.0.1#1053 -server=/zhongchouyan.com/127.0.0.1#1053 -server=/zhongzicili.cc/127.0.0.1#1053 -server=/zhtjdl.com/127.0.0.1#1053 -server=/zhuanfakong.com/127.0.0.1#1053 -server=/zhuba8.com/127.0.0.1#1053 -server=/zhudiaosz.com/127.0.0.1#1053 -server=/zhuichaguoji.org/127.0.0.1#1053 -server=/zhushou.2345.com/127.0.0.1#1053 -server=/zhuuv.maoyumao.net/127.0.0.1#1053 -server=/zhwnlapi.etouch.cn/127.0.0.1#1053 -server=/zhybzp.cn/127.0.0.1#1053 -server=/zhzzx.com/127.0.0.1#1053 -server=/zimuzu.tv/127.0.0.1#1053 -server=/zisunion.com/127.0.0.1#1053 -server=/zizcy.com/127.0.0.1#1053 -server=/zjbdt.com/127.0.0.1#1053 -server=/zjhim.com/127.0.0.1#1053 -server=/zjjgtz.com/127.0.0.1#1053 -server=/zjm.zzmmkj.com/127.0.0.1#1053 -server=/zkrdy.com/127.0.0.1#1053 -server=/zkscan.io/127.0.0.1#1053 -server=/zksync.io/127.0.0.1#1053 -server=/zlongad.com/127.0.0.1#1053 -server=/zlsw.nnjxqd.com/127.0.0.1#1053 -server=/zmj.guanqinjie.cn/127.0.0.1#1053 -server=/z.moatads.com/127.0.0.1#1053 -server=/zmz002.com/127.0.0.1#1053 -server=/zmzfile.com/127.0.0.1#1053 -server=/z.nowscore.com/127.0.0.1#1053 -server=/znsv.baidu.com/127.0.0.1#1053 -server=/zo66.com/127.0.0.1#1053 -server=/zp22938576.com/127.0.0.1#1053 -server=/zpe.klre.18183.com/127.0.0.1#1053 -server=/zq84.com/127.0.0.1#1053 -server=/zqworks.com/127.0.0.1#1053 -server=/zqzxz.com/127.0.0.1#1053 -server=/zreder.com/127.0.0.1#1053 -server=/zrpfk.com/127.0.0.1#1053 -server=/zs0613.mengchengbao.com/127.0.0.1#1053 -server=/zs1111.youzue.com/127.0.0.1#1053 -server=/zsdexun.com.cn/127.0.0.1#1053 -server=/zshacker.com/127.0.0.1#1053 -server=/z.sora.yoyi.com.cn/127.0.0.1#1053 -server=/zst.jzntxs.com/127.0.0.1#1053 -server=/zsxpx.com/127.0.0.1#1053 -server=/zszwcp.cn/127.0.0.1#1053 -server=/zt2088.com/127.0.0.1#1053 -server=/ztidu.com/127.0.0.1#1053 -server=/ztxbd.com/127.0.0.1#1053 -server=/zuche321.com/127.0.0.1#1053 -server=/zuiceshi.net/127.0.0.1#1053 -server=/zuimeitianqi.inveno.com/127.0.0.1#1053 -server=/zunmi.cn/127.0.0.1#1053 -server=/zws.avvo.com/127.0.0.1#1053 -server=/zx.baosmx.com/127.0.0.1#1053 -server=/zxcs.ggwan.com/127.0.0.1#1053 -server=/zxcs.linghit.com/127.0.0.1#1053 -server=/zxh.bzshzx.com/127.0.0.1#1053 -server=/zxjjzx.com/127.0.0.1#1053 -server=/zxr.fzxrjx.com/127.0.0.1#1053 -server=/zxziyuan.com/127.0.0.1#1053 -server=/zybpj.com/127.0.0.1#1053 -server=/zyf.fzdfwy.com/127.0.0.1#1053 -server=/zymo.mps.weibo.com/127.0.0.1#1053 -server=/zymro.com/127.0.0.1#1053 -server=/zynamics.com/127.0.0.1#1053 -server=/zytwq.net/127.0.0.1#1053 -server=/zyz1.91friend.com/127.0.0.1#1053 -server=/zyz.91friend.com/127.0.0.1#1053 -server=/zz123.com/127.0.0.1#1053 -server=/zzbaowen.com/127.0.0.1#1053 -server=/zz.bdstatic.com/127.0.0.1#1053 -server=/zzcw.office-mall.net/127.0.0.1#1053 -server=/zzd6.com/127.0.0.1#1053 -server=/zzjs2.firefang.cn/127.0.0.1#1053 -server=/zzpush.58.com/127.0.0.1#1053 -server=/zzrcz.com/127.0.0.1#1053 -server=/zzsx8.com/127.0.0.1#1053 -server=/zzy1.mipujia.com/127.0.0.1#1053 -server=/zzy1.quyaoya.com/127.0.0.1#1053 -server=/zzy.mipujia.com/127.0.0.1#1053 -server=/zzz7.52896368.com/127.0.0.1#1053 -server=/zzzzz4.52896368.com/127.0.0.1#1053 -server=/githubassets.com/127.0.0.1#1053 -server=/github.com/127.0.0.1#1053 -server=/.github.io/127.0.0.1#1053 -server=/github.io/127.0.0.1#1053 -server=/githubusercontent.com/127.0.0.1#1053 -server=/google.com/127.0.0.1#1053 -server=/youtube.com/127.0.0.1#1053 diff --git a/clash/clash/version b/clash/clash/version index 4fb44ae..b0f3936 100644 --- a/clash/clash/version +++ b/clash/clash/version @@ -1,4 +1,4 @@ -vClash:v2.5.2 -clash_premium:2021.09.15_v1.7.1 +vClash:v2.5.3 +clash_premium:2023.08.17_linux_arm64 yq:4.13.2 -jq:jq-1.5rc2-245-g7b81a83-dirty +jq:jq-1.5 diff --git a/clash/install.sh b/clash/install.sh index 8137388..9b73b4e 100755 --- a/clash/install.sh +++ b/clash/install.sh @@ -190,20 +190,6 @@ copy_files() { cd ${WKDIR} mkdir -p ${CONFIG_HOME} - LOGGER 复制相关二进制文件!此步时间可能较长! - for fn in ${BIN_LIST}; do - - if [ -f "./bin/${fn}_for_${ARCH}" ]; then - cp -f ./bin/${fn}_for_${ARCH} ${KSHOME}/bin/${fn} - else - LOGGER "错误: 找不到 ./bin/${fn}_for_${ARCH} 文件!" - exit_install 1 - fi - - chmod +x ${KSHOME}/bin/${fn} # 设置可执行权限 - LOGGER "安装可执行程序: ${fn} 完成." - done - LOGGER 复制相关的脚本文件! [[ -d "${KSHOME}/${app_name}" ]] && LOGGER "目录已经存在!直接复制文件,可能会覆盖已有文件." [[ ! -d "${KSHOME}/${app_name}" ]] && LOGGER "新建 ${KSHOME}/${app_name} 目录" && mkdir ${KSHOME}/${app_name} @@ -213,6 +199,21 @@ copy_files() { chmod 755 ${KSHOME}/scripts/${app_name}_*.sh + LOGGER 复制相关二进制文件! + for fn in ${BIN_LIST} ; do + + if [ -f "${KSHOME}/${app_name}/bin/${fn}" ]; then + # 采用软链接方式:减少写入操作 + ln -sf ${KSHOME}/${app_name}/bin/${fn} ${KSHOME}/bin/${fn} + else + LOGGER "错误: 找不到 ${KSHOME}/${app_name}/bin/${fn} 文件!" + exit_install 1 + fi + + chmod +x ${KSHOME}/bin/${fn} # 设置可执行权限 + LOGGER "安装可执行程序: ${fn} 完成." + done + LOGGER 复制相关的网页文件! cp -rf ./webs/Module_${app_name}.asp ${KSHOME}/webs/ cp -rf ./res/${app_name}_* ${KSHOME}/res/ diff --git a/clash/scripts/clash_control.sh b/clash/scripts/clash_control.sh index 01ca516..9cdfefa 100755 --- a/clash/scripts/clash_control.sh +++ b/clash/scripts/clash_control.sh @@ -15,7 +15,7 @@ CONFIG_HOME="$KSHOME/${app_name}" # 路由器IP地址 lan_ipaddr="$(nvram get lan_ipaddr)" - +wan_ipaddr=$(nvram get wan0_ipaddr) dbus set clash_lan_ipaddr=$lan_ipaddr eval $(dbus export ${app_name}_) @@ -28,15 +28,11 @@ else CURL_OPTS=" -L " fi -# CURL添加代理选项 -# if [ "$clash_use_local_proxy" == "on" ] ; then -# CURL_OPTS="--proxy socks5h://127.0.0.1:1080 $CURL_OPTS" -# fi - bin_list="${app_name} yq" dns_port="1053" # Clash DNS端口 redir_port="3333" # Clash 透明代理端口 +tproxy_port="3330" # TPROXY 透明代理端口,支持TCP/UDP yacd_port="9090" # Yacd 端口 # 存放规则文件目录# rule_src_dir="${CONFIG_HOME}/ruleset" @@ -48,35 +44,41 @@ debug_log=/tmp/upload/clash_debug.log backup_file=/tmp/upload/${app_name}_backup.tar.gz env_file="${app_name}_env.sh" -# 自定义黑名单规则文件 -blacklist_file="${CONFIG_HOME}/ruleset/rule_diy_blacklist.yaml" -# 自定义白名单规则文件 -whitelist_file="${CONFIG_HOME}/ruleset/rule_diy_whitelist.yaml" - -default_test_node="proxies:\n - name: test代理分享站(别选我):https://vlike.work\n type: ss\n server: 127.0.0.1\n port: 9999\n password: 123456\n cipher: aes-256-gcm" - -check_config_file() { - # 检查 config.yaml 文件配置信息 - clash_yacd_secret=$(yq e '.secret' $config_file) - clash_yacd_ui="http://${lan_ipaddr}:${yacd_port}/ui/yacd/?hostname=${lan_ipaddr}&port=${yacd_port}&secret=$clash_yacd_secret" - yq_expr='.redir-port=env(tmp_port)|.dns.listen=strenv(tmp_dns)|.external-controller=strenv(tmp_yacd)|.external-ui=strenv(dashboard)|.allow-lan=true' - tmp_yacd="${lan_ipaddr}:$yacd_port" tmp_dns="0.0.0.0:$dns_port" tmp_port=$redir_port dashboard="${CONFIG_HOME}/dashboard" yq e -i "$yq_expr" $config_file - [[ "$?" != "0" ]] && return 1 - dbus set clash_yacd_ui=$clash_yacd_ui -} # 开启对旁路由IP自动化监控脚本 main_script="${KSHOME}/scripts/clash_control.sh" -provider_remote_file="${CONFIG_HOME}/providers/provider_remote.yaml" # 远程URL更新文件 -provider_diy_file="${CONFIG_HOME}/providers/provider_diy.yaml" # 远程URL更新文件 - CMD="${app_name} -d ${CONFIG_HOME}" cron_id="clash_daemon" # 调度ID,用来查询和删除操作标识 FW_TYPE_CODE="" # 固件类型代码 FW_TYPE_NAME="" # 固件类型名称 +# 检测是否支持TUN设备 # +support_tun() { + [[ -r /dev/net/tun ]] || [[ -r /dev/tun ]] + # [[ "$?" == "0" ]] && dbus set ${app_name}_support_tun="on" +} + +check_config_file() { + # 检查 config.yaml 文件配置信息 + # 修改UI控制参数 + # 修改代理端口 redir-port 和 tproxy-port + # 修改 是否可以使用 tun模式 + clash_yacd_secret=$(yq e '.secret' $config_file) + + tun_exp="" # 默认不支持TUN,不填写任何修改表达式 # + # support_tun && tun_exp=".tun.enable=true|" + + clash_yacd_ui="http://${lan_ipaddr}:${yacd_port}/ui/yacd/?hostname=${lan_ipaddr}&port=${yacd_port}&secret=$clash_yacd_secret" + yq_expr=${tun_exp}'.tproxy-port=env(tport)|.redir-port=env(tmp_port)|.dns.listen=strenv(tmp_dns)|.external-controller=strenv(tmp_yacd)|.external-ui=strenv(dashboard)|.allow-lan=true' + + tmp_yacd="${lan_ipaddr}:$yacd_port" tmp_dns="0.0.0.0:$dns_port" tport=$tproxy_port tmp_port=$redir_port dashboard="${CONFIG_HOME}/dashboard" yq e -i "$yq_expr" $config_file + + [[ "$?" != "0" ]] && return 1 + + dbus set clash_yacd_ui=$clash_yacd_ui +} LOGGER() { echo -e "$(date +'%Y年%m月%d日%H:%M:%S'): $@" @@ -152,12 +154,7 @@ get_proc_status() { if [ "$tmp_cron" != "" ]; then echo "| $tmp_cron" fi - if [ "$clash_cfddns_enable" = "on" ] ; then - tmp_cron="$(cru l| grep clash_cfddns)" - if [ "$tmp_cron" != "" ]; then - echo "| $tmp_cron" - fi - fi + if [ "$clash_watchdog_enable" = "on" ] ; then tmp_cron="$(cru l| grep soft_route_check)" if [ "$tmp_cron" != "" ]; then @@ -166,34 +163,14 @@ get_proc_status() { fi echo "+---------------------------------------------------" - echo "| Clash重启信息: [$(grep start_${app_name} /tmp/syslog.log|wc -l)] 次, 最近 [3次] 时间如下:" - echo "$(grep start_${app_name} /tmp/syslog.log|tail -3| awk '{printf("| %s\n", $0);}')" + echo "| Clash重启信息: [$(grep 'clash 服务启动' /tmp/syslog.log|wc -l)] 次, 最近 [3次] 时间如下:" + echo "$(grep 'clash 服务启动' /tmp/syslog.log|tail -3| awk '{printf("| %s\n", $0);}')" echo "+---------------------------------------------------" } -add_ddns_cron(){ - if [ "$clash_cfddns_enable" = "on" ] ; then - if cru l | grep clash_cfddns > /dev/null ; then - LOGGER "已经添加cfddns调度!" - else - ttl=`expr $clash_cfddns_ttl / 60` - if [ "$ttl" -lt "2" -o "$ttl" -ge "1440" ] ; then - ttl="2" - fi - - cru a clash_cfddns "*/${ttl} * * * * $main_script start_cfddns" - if [ "$?" = "0" ] ; then - LOGGER "成功添加cfddns调度!" - else - LOGGER "添加cfddns调度失败" - cru l| grep clash_cfddns - fi - fi - fi -} + # 添加守护监控脚本 add_cron() { - add_ddns_cron if cru l | grep ${cron_id} >/dev/null; then LOGGER "进程守护脚本已经添加!不需要重复添加吧?!?" return 0 @@ -214,70 +191,255 @@ del_cron() { LOGGER "删除进程守护脚本成功!" } -# 配置iptables规则 -add_iptables() { - # 1. 转发 HTTP/HTTPS 请求到 Clash redir-port 端口 - # 2. 转发 DNS 53端口请求到 Clash dns.listen 端口 - if [ "$clash_trans" = "off" ]; then - LOGGER "透明代理模式已关闭!不需要添加iptables转发规则!" - return 0 + +create_ipset() { + # 创建 ipset 表 + tname="localnet4" + LOGGER "开始创建 ipset: $tname" + ipset -! destroy $tname > /dev/null 2>&1 + ipset create $tname hash:net family inet hashsize 1024 maxelem 65536 + ipset add $tname 127.0.0.1/8 + ipset add $tname 10.0.0.0/8 + ipset add $tname 169.254.0.0/16 + ipset add $tname 172.16.0.0/12 + ipset add $tname 192.168.0.0/16 + ipset add $tname 224.0.0.0/4 + ipset add $tname 255.255.255.255/32 + + tname="localnet6" + LOGGER "开始创建 ipset: $tname" + ipset -! destroy $tname > /dev/null 2>&1 + ipset create $tname hash:net family inet6 hashsize 1024 maxelem 65536 + ipset add $tname ::1/128 + ipset add $tname fc00::/7 #本地链路专用网络 + ipset add $tname ff00::/8 #多波地址 + ipset add $tname 240e::/16 #电信IPv6地址段 + ipset add $tname 2408::/16 #联通IPv6地址段 + ipset add $tname 2409::/16 #移动IPv6地址段 + ipset add $tname 2001::/16 #6in4 地址,是另一种隧道协议。 + ipset add $tname 2002::/16 #6to4地址 + +} + +del_iptables_tproxy() { + + # 设置策略路由 v4 + ip rule del fwmark 1 table 100 + ip route del local 0.0.0.0/0 dev lo table 100 + + # 设置策略路由 v6 + ip -6 rule del fwmark 1 table 106 + ip -6 route del local ::/0 dev lo table 106 + + # 代理局域网设备 v4 + iptables -t mangle -D PREROUTING -j ${app_name}_XRAY + iptables -t mangle -F ${app_name}_XRAY + iptables -t mangle -X ${app_name}_XRAY + + # 代理局域网设备 v6 + ip6tables -t mangle -D PREROUTING -j ${app_name}_XRAY6 + ip6tables -t mangle -F ${app_name}_XRAY6 + ip6tables -t mangle -X ${app_name}_XRAY6 + + # 代理网关本机 v4 + iptables -t mangle -D OUTPUT -j ${app_name}_XRAY_MASK + iptables -t mangle -F ${app_name}_XRAY_MASK + iptables -t mangle -X ${app_name}_XRAY_MASK + + # 代理网关本机 v6 + ip6tables -t mangle -D OUTPUT -j ${app_name}_XRAY6_MASK + ip6tables -t mangle -F ${app_name}_XRAY6_MASK + ip6tables -t mangle -X ${app_name}_XRAY6_MASK + + # 新建 ${app_name}_DIVERT 规则,避免已有连接的包二次通过 TPROXY,理论上有一定的性能提升 + iptables -t mangle -D PREROUTING -p tcp -m socket -j ${app_name}_DIVERT + iptables -t mangle -F ${app_name}_DIVERT + iptables -t mangle -X ${app_name}_DIVERT + + ip6tables -t mangle -D PREROUTING -p tcp -m socket -j ${app_name}_DIVERT + ip6tables -t mangle -F ${app_name}_DIVERT + ip6tables -t mangle -X ${app_name}_DIVERT +} + +add_iptables_tproxy() { + + # ! modprobe xt_socket && LOGGER "加载 xt_socket 模块失败!" && return 1 + # LOGGER "加载 xt_socket 模块成功!" + + # ! modprobe xt_TPROXY && LOGGER "加载xt_TPROXY模块失败!" && return 1 + # LOGGER "加载 xt_TPROXY 模块成功!" + + # 设置策略路由 v4 + ip rule add fwmark 1 table 100 + ip route add local 0.0.0.0/0 dev lo table 100 + + # 新建 ${app_name}_DIVERT 规则,避免已有连接的包二次通过 TPROXY,理论上有一定的性能提升 + iptables -t mangle -N ${app_name}_DIVERT + iptables -t mangle -F ${app_name}_DIVERT + iptables -t mangle -A ${app_name}_DIVERT -j MARK --set-mark 1 + iptables -t mangle -A ${app_name}_DIVERT -j ACCEPT + iptables -t mangle -A PREROUTING -p tcp -m socket -j ${app_name}_DIVERT + + # 代理局域网设备 v4 + ! iptables -t mangle -N ${app_name}_XRAY && LOGGER "${app_name}_XRAY 表已经创建过,清理后再执行" + iptables -t mangle -F ${app_name}_XRAY + iptables -t mangle -A ${app_name}_XRAY -m set --match-set localnet4 dst -j RETURN + iptables -t mangle -A ${app_name}_XRAY -j RETURN -m mark --mark 0xff + iptables -t mangle -A ${app_name}_XRAY -p udp -j TPROXY --on-ip 127.0.0.1 --on-port ${tproxy_port} --tproxy-mark 1 + iptables -t mangle -A ${app_name}_XRAY -p tcp -j TPROXY --on-ip 127.0.0.1 --on-port ${tproxy_port} --tproxy-mark 1 + iptables -t mangle -A PREROUTING -j ${app_name}_XRAY + + # 代理网关本机 v4 + iptables -t mangle -N ${app_name}_XRAY_MASK + iptables -t mangle -A ${app_name}_XRAY_MASK -m set --match-set localnet4 dst -j RETURN + iptables -t mangle -A ${app_name}_XRAY_MASK -j RETURN -m mark --mark 0xff + iptables -t mangle -A ${app_name}_XRAY_MASK -p udp -j MARK --set-mark 1 + iptables -t mangle -A ${app_name}_XRAY_MASK -p tcp -j MARK --set-mark 1 + iptables -t mangle -A OUTPUT -j ${app_name}_XRAY_MASK + + if [ "$clash_ipv6_mode" = "on" ] ; then + # 设置策略路由 v6 + ip -6 rule add fwmark 1 table 106 + ip -6 route add local ::/0 dev lo table 106 + + # 新建 ${app_name}_DIVERT 规则,避免已有连接的包二次通过 TPROXY,理论上有一定的性能提升 + ip6tables -t mangle -N ${app_name}_DIVERT + ip6tables -t mangle -A ${app_name}_DIVERT -j MARK --set-mark 1 + ip6tables -t mangle -A ${app_name}_DIVERT -j ACCEPT + ip6tables -t mangle -A PREROUTING -p tcp -m socket -j ${app_name}_DIVERT + + # # 代理局域网设备 v6 + ip6tables -t mangle -N ${app_name}_XRAY6 + ip6tables -t mangle -F ${app_name}_XRAY6 + ip6tables -t mangle -A ${app_name}_XRAY6 -m set --match-set localnet6 dst -j RETURN + ip6tables -t mangle -A ${app_name}_XRAY6 -j RETURN -m mark --mark 0xff + ip6tables -t mangle -A ${app_name}_XRAY6 -p udp -j TPROXY --on-ip ::1 --on-port ${tproxy_port} --tproxy-mark 1 + ip6tables -t mangle -A ${app_name}_XRAY6 -p tcp -j TPROXY --on-ip ::1 --on-port ${tproxy_port} --tproxy-mark 1 + ip6tables -t mangle -A PREROUTING -j ${app_name}_XRAY6 + + # # 代理网关本机 v6 + ip6tables -t mangle -N ${app_name}_XRAY6_MASK + ip6tables -t mangle -A ${app_name}_XRAY6_MASK -m set --match-set localnet6 dst -j RETURN + ip6tables -t mangle -A ${app_name}_XRAY6_MASK -j RETURN -m mark --mark 0xff + ip6tables -t mangle -A ${app_name}_XRAY6_MASK -p udp -j MARK --set-mark 1 + ip6tables -t mangle -A ${app_name}_XRAY6_MASK -p tcp -j MARK --set-mark 1 + ip6tables -t mangle -A OUTPUT -j ${app_name}_XRAY6_MASK fi +} + +# 配置iptables规则 +add_iptables_nat() { if iptables -t nat -S ${app_name} >/dev/null 2>&1; then LOGGER "已经配置过${app_name}的iptables规则!" return 0 fi - LOGGER "开始配置 ${app_name} iptables规则..." - - # Fake-IP 规则添加 - iptables -t nat -A OUTPUT -p tcp -d 198.18.0.0/16 -j REDIRECT --to-port ${redir_port} - iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports $dns_port - iptables -t nat -A OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports $dns_port - - iptables -t nat -N ${app_name} + iptables -t nat -N ${app_name} || LOGGER "${app_name} 表已经存在!开始执行清空操作" iptables -t nat -F ${app_name} - iptables -t nat -A PREROUTING -p tcp -s ${lan_ipaddr}/24 -j ${app_name} # 本地地址请求不转发 - iptables -t nat -A ${app_name} -d 10.0.0.0/8 -j RETURN - iptables -t nat -A ${app_name} -d 127.0.0.0/8 -j RETURN - iptables -t nat -A ${app_name} -d 169.254.0.0/16 -j RETURN - iptables -t nat -A ${app_name} -d 172.16.0.0/12 -j RETURN - iptables -t nat -A ${app_name} -d ${lan_ipaddr}/24 -j RETURN + iptables -t nat -A ${app_name} -m set --match-set localnet4 dst -j RETURN # 服务端口${redir_port}接管HTTP/HTTPS请求转发 - iptables -t nat -A ${app_name} -s ${lan_ipaddr}/24 -p tcp -j REDIRECT --to-ports ${redir_port} - # 转发DNS请求到端口 dns_port 解析 - iptables -t nat -N ${app_name}_dns - iptables -t nat -F ${app_name}_dns - iptables -t nat -A ${app_name}_dns -p udp --dport 53 -j REDIRECT --to-ports $dns_port - iptables -t nat -A ${app_name}_dns -p tcp --dport 53 -j REDIRECT --to-ports $dns_port - iptables -t nat -A PREROUTING -p udp -s ${lan_ipaddr}/24 --dport 53 -j ${app_name}_dns - iptables -t nat -A PREROUTING -p tcp -s ${lan_ipaddr}/24 --dport 53 -j ${app_name}_dns + iptables -t nat -A ${app_name} -p udp -j REDIRECT --to-ports ${redir_port} + iptables -t nat -A ${app_name} -p tcp -j REDIRECT --to-ports ${redir_port} + + # 1.局域网DNS请求走代理 + iptables -t nat -A PREROUTING -p udp -s ${lan_ipaddr}/24 --dport 53 -j REDIRECT --to-ports $dns_port + iptables -t nat -A PREROUTING -p tcp -s ${lan_ipaddr}/24 --dport 53 -j REDIRECT --to-ports $dns_port + # 2.代理所有TCP和UDP请求 + iptables -t nat -A PREROUTING -p udp -s ${lan_ipaddr}/24 -j ${app_name} + iptables -t nat -A PREROUTING -p tcp -s ${lan_ipaddr}/24 -j ${app_name} + + # 3.路由器本机消息转发到代理(DNS请求和其他所有非本地请求) + iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports $dns_port + iptables -t nat -A OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports $dns_port + + # support_tun || + iptables -t nat -A OUTPUT -p udp -d 198.18.0.0/16 -j REDIRECT --to-ports ${redir_port} + iptables -t nat -A OUTPUT -p tcp -d 198.18.0.0/16 -j REDIRECT --to-ports ${redir_port} + + LOGGER "完成添加 iptables NAT 配置" } # 清理iptables规则 -del_iptables() { - if ! iptables -t nat -S ${app_name} >/dev/null 2>&1; then - LOGGER "已经清理过 ${app_name} 的iptables规则!" - return 0 - fi - LOGGER "开始清理 ${app_name} iptables规则 ..." - # Fake-IP 规则清理 - iptables -t nat -D OUTPUT -p tcp -d 198.18.0.0/16 -j REDIRECT --to-port ${redir_port} +del_iptables_nat() { + + # 1.局域网DNS请求走代理 + iptables -t nat -D PREROUTING -p udp -s ${lan_ipaddr}/24 --dport 53 -j REDIRECT --to-ports $dns_port + iptables -t nat -D PREROUTING -p tcp -s ${lan_ipaddr}/24 --dport 53 -j REDIRECT --to-ports $dns_port + # 2.代理所有TCP和UDP请求 + iptables -t nat -D PREROUTING -p udp -s ${lan_ipaddr}/24 -j ${app_name} + iptables -t nat -D PREROUTING -p tcp -s ${lan_ipaddr}/24 -j ${app_name} + + # 3.路由器本机消息转发到代理(DNS请求和其他所有非本地请求) iptables -t nat -D OUTPUT -p udp --dport 53 -j REDIRECT --to-ports $dns_port iptables -t nat -D OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports $dns_port - iptables -t nat -D PREROUTING -p tcp -s ${lan_ipaddr}/24 -j ${app_name} + iptables -t nat -D OUTPUT -p udp -d 198.18.0.0/16 -j REDIRECT --to-ports ${redir_port} + iptables -t nat -D OUTPUT -p tcp -d 198.18.0.0/16 -j REDIRECT --to-ports ${redir_port} + iptables -t nat -F ${app_name} iptables -t nat -X ${app_name} + LOGGER "完成清理 iptables NAT 配置" +} + +# 配置iptables规则 +add_iptables_all() { + # 透明代理的方案启用原则: + # 1. 优先启用TPROXY模式 + # 2. 其次,支持的TUN模式(TODO:暂时关闭) + # 3. 最后,使用NAT方式(不支持IPv6代理) + if [ "$clash_trans" = "off" ]; then + LOGGER "透明代理模式已关闭!不需要添加iptables转发规则!" + return 0 + fi - iptables -t nat -D PREROUTING -p udp -s ${lan_ipaddr}/24 --dport 53 -j ${app_name}_dns - iptables -t nat -D PREROUTING -p tcp -s ${lan_ipaddr}/24 --dport 53 -j ${app_name}_dns - iptables -t nat -F ${app_name}_dns - iptables -t nat -X ${app_name}_dns + create_ipset + + # TPROXY模式透明代理 # + modprobe xt_TPROXY && modprobe xt_socket && LOGGER "加载 xt_TPROXY 和 xt_socket 模块成功!" + if [ "$?" = "0" ] ; then + # 支持 TPROXY 内核模块 # + LOGGER "透明代理模式: TPROXY模式" + add_iptables_tproxy + LOGGER "完成配置 ${app_name} iptables TPROXY模式规则!" + return + fi + + # support_tun + # if [ "$?" = "0" ] ; then + # LOGGER "透明代理模式: TUN模式" + # add_iptables_nat + # return 0 + # fi + + # 加载xt_TPROXY模块失败! 启用NAT透明代理方案 + LOGGER "透明代理模式: NAT模式" + add_iptables_nat + LOGGER "完成配置 ${app_name} iptables NAT模式规则!" +} + +# 清理iptables规则 +del_iptables_all() { + LOGGER "开始清理 ${app_name} iptables规则 ..." + # 执行全部清理(这里简化处理逻辑才这样做) # + del_iptables_nat + del_iptables_tproxy + LOGGER "完成清理 ${app_name} iptables规则!" +} +iptables_status() { + echo "IPv4 地址配置 NAT 规则:" + iptables -t nat -S | grep -E "${dns_port}|${redir_port}|${tproxy_port}|${app_name}" + echo "+---------------------------------------------------------------+" + echo "IPv4 地址配置 mangle 规则:" + iptables -t mangle -S | grep -E "${dns_port}|${redir_port}|${tproxy_port}|${app_name}" + echo "+---------------------------------------------------------------+" + echo "IPv6 地址配置 mangle 规则:" + ip6tables -t mangle -S | grep -E "${dns_port}|${redir_port}|${tproxy_port}|${app_name}" } + status() { pidof ${app_name} # ps | grep ${app_name} | grep -v grep |grep -v /bin/sh | grep -v " vi " @@ -338,27 +500,28 @@ service_start() { # echo "启动 $app_name" if status >/dev/null 2>&1; then LOGGER "$app_name 正常运行中! pid=$(pidof ${app_name})" + return 0 + fi + + check_config_file # 检查文件比较慢 + [[ "$?" != "0" ]] && LOGGER "配置文件格式错误!修正好配置文件后再尝试启动!" && return 1 + + LOGGER "启动配置文件 ${config_file} : 检测完毕!" + nohup ${CMD} >/dev/null 2>&1 & + sleep 1 + if status >/dev/null 2>&1; then + LOGGER "${CMD} 启动成功!" else - check_config_file - [[ "$?" != "0" ]] && LOGGER "配置文件格式错误!修正好配置文件后再尝试启动!" && return 1 - - LOGGER "启动配置文件 ${config_file} : 检测完毕!" - nohup ${CMD} >/dev/null 2>&1 & - sleep 1 - if status >/dev/null 2>&1; then - LOGGER "${CMD} 启动成功!" - else - dbus set clash_enable="off" - LOGGER "${CMD} 启动失败! 执行失败原因如下:" - ${CMD} - return 1 - fi - # 用于记录Clash服务稳定程度 - SYSLOG "${app_name} 服务启动成功 : pid=$(pidof ${app_name})" - dbus set ${app_name}_enable="on" + dbus set clash_enable="off" + LOGGER "${CMD} 启动失败! 执行失败原因如下:" + return 1 fi - add_iptables - start_dns + # 用于记录Clash服务稳定程度 + SYSLOG "${app_name} 服务启动成功 : pid=$(pidof ${app_name})" + dbus set ${app_name}_enable="on" + + add_iptables_all + #start_dns add_cron LOGGER "启动完毕!" } @@ -371,8 +534,8 @@ service_stop() { LOGGER "开始停止 ${app_name} ..." killall ${app_name} fi - del_iptables 2>/dev/null - stop_dns + del_iptables_all 2>/dev/null + #stop_dns del_cron if status >/dev/null 2>&1; then LOGGER "${CMD} 停止失败!" @@ -385,14 +548,6 @@ service_stop() { ########## config part ########### -# DIY节点 列表 -list_nodes() { - filename="$provider_diy_file" - node_list=`yq e '.proxies[].name' $filename| awk '!/test/{ printf("%s ", $0)}'` - LOGGER "DIY节点列表: [${node_list}]" - dbus set clash_name_list="$node_list" -} - list_proxy_num() { filename="$1" yq e '.proxies[].type' ${filename} | awk '{ @@ -411,7 +566,7 @@ list_proxy_num() { update_geoip() { # geoip_file="${CONFIG_HOME}/Country.mmdb" - cp ${geoip_file} ${geoip_file}.bak + mv ${geoip_file} ${geoip_file}.bak # 精简中国IP列表生成MaxMind数据库: https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb # 全量MaxMind数据库文件: https://cdn.jsdelivr.net/gh/Dreamacro/maxmind-geoip@release/Country.mmdb # 全量MaxMind数据库文件(融合了ipip.net数据): https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/Country.mmdb @@ -424,12 +579,12 @@ update_geoip() { curl ${CURL_OPTS} -o ${geoip_file} ${geoip_uri} if [ "$?" != "0" ] ; then LOGGER "下载「$geoip_file」文件失败!" + rm -f ${geoip_file} mv -f ${geoip_file}.bak ${geoip_file} return 1 fi - LOGGER "「$geoip_file」文件更新成功!" + LOGGER "「$geoip_file」文件更新成功! 下次重启后生效!" LOGGER "文件大小变化[`du -h ${geoip_file}.bak|cut -f1`]=>[`du -h ${geoip_file}|cut -f1`]" - rm ${geoip_file}.bak } # 透明代理开关 @@ -514,8 +669,7 @@ update_vclash_bin() { vclash_new_version=`cat ./clash/clash/version| awk -F: '/vClash/{ print $2 }'` ARCH="`get_arch`" - # 更新 jq / yq - md5sum_update ${KSHOME}/bin/jq ${UPLOAD_DIR}/clash/bin/jq_for_${ARCH} + # 更新 yq md5sum_update ${KSHOME}/bin/yq ${UPLOAD_DIR}/clash/bin/yq_for_${ARCH} # 更新 clash_control.sh 脚本 @@ -601,135 +755,6 @@ update_clash_bin() { fi } -cfddns_create_record() { - # 添加DNS解析记录(A or AAAA record) - clash_cfddns_zid="$1" - clash_cfddns_email="$2" - clash_cfddns_apikey="$3" - current_domain="$4" - dns_type="$5" - ip_addr="$6" - clash_cfddns_support_proxy="$7" - if [ "$dns_type" = "A" ] ; then - dns_type="A" - else - dns_type="AAAA" - fi - if [ "$clash_cfddns_support_proxy" = "off" ] ; then - result=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$clash_cfddns_zid/dns_records" \ - -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" \ - --data "{\"type\":\"$dns_type\",\"name\":\"$current_domain\",\"content\":\"$ip_addr\",\"proxied\":false}" | jq -r '.success') - else - result=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$clash_cfddns_zid/dns_records" \ - -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" \ - --data "{\"type\":\"$dns_type\",\"name\":\"$current_domain\",\"content\":\"$ip_addr\",\"proxied\":true}" | jq -r '.success') - fi - if [ "$result" = "true" ] ; then - LOGGER "添加域名[$current_domain]的DNS解析 $dns_type 记录成功! IP地址:$ip_addr" - return 0 - else - LOGGER "添加域名[$current_domain]的DNS解析 $dns_type 记录失败! IP地址:$ip_addr" - return 1 - fi -} - -cfddns_update_record() { - # 更新DNS解析记录(A or AAAA record) - clash_cfddns_zid="$1" - clash_cfddns_email="$2" - clash_cfddns_apikey="$3" - current_domain="$4" - dns_type="$5" - ip_addr="$6" - clash_cfddns_support_proxy="$7" - if [ "$dns_type" = "A" ] ; then - dns_type="A" - else - dns_type="AAAA" - fi - clash_cfddns_record_id=$(curl -X GET "https://api.cloudflare.com/client/v4/zones/$clash_cfddns_zid/dns_records?type=${dns_type}&name=$current_domain" -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" | jq -r '.result[0].id') - if [ "$clash_cfddns_record_id" = "" -o "$clash_cfddns_record_id" = "null" ] ; then - # LOGGER "没找到 [$current_domain] [$dns_type] 记录! 添加一条新的 $dns_type 记录!" - cfddns_create_record $clash_cfddns_zid $clash_cfddns_email $clash_cfddns_apikey $current_domain $dns_type $ip_addr $clash_cfddns_support_proxy - return - fi - # 更新现有的记录 - reuslt="" - if [ "$clash_cfddns_support_proxy" = "off" ] ; then - result=$(curl -X PUT "https://api.cloudflare.com/client/v4/zones/$clash_cfddns_zid/dns_records/$clash_cfddns_record_id" \ - -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" \ - --data '{"type":"'$dns_type'","name":"'$current_domain'","content":"'$ip_addr'","proxied":false}' | jq -r '.success') - else - result=$(curl -X PUT "https://api.cloudflare.com/client/v4/zones/$clash_cfddns_zid/dns_records/$clash_cfddns_record_id" \ - -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" \ - --data '{"type":"'$dns_type'","name":"'$current_domain'","content":"'$ip_addr'","proxied":true}' | jq -r '.success') - fi - if [ "$result" = "true" ] ; then - LOGGER "更新域名[$current_domain]的DNS解析 $dns_type 记录成功! IP地址:$ip_addr" - return 0 - else - LOGGER "更新域名[$current_domain]的DNS解析 $dns_type 记录失败! IP地址:$ip_addr" - return 1 - fi -} - -start_cfddns(){ - # 配置检测 - [[ -z "$clash_cfddns_email" ]] && LOGGER "email 没填写!" && return 1 - [[ -z "$clash_cfddns_apikey" ]] && LOGGER "apikey 没填写!" && return 1 - [[ -z "$clash_cfddns_domain" ]] && LOGGER "domain 没填写!" && return 1 - [[ -z "$clash_cfddns_ttl" ]] && clash_cfddns_ttl="120" - [[ -z "$clash_cfddns_ipv4" ]] && clash_cfddns_ipv4='curl https://httpbin.org/ip 2>/dev/null |grep origin|cut -d\" -f4' - [[ -z "$clash_cfddns_ipv4" ]] && LOGGER "可能网络链接有问题,暂时无法访问外网,稍后再试!" && return 1 - [[ -z "$clash_cfddns_ipv6" ]] && clash_cfddns_ipv6='curl 6.ipw.cn' - [[ -z "$clash_cfddns_ipv6" ]] && LOGGER "可能网络链接有问题,暂时无法访问外网,稍后再试!" && return 1 - # 支持IPv6地址解析 - [[ -z "$clash_cfddns_support_ipv6" ]] && clash_cfddns_support_ipv6="off" && dbus set clash_cfddns_support_ipv6="off" - # 支持proxy代理(打开小云朵) - [[ -z "$clash_cfddns_support_proxy" ]] && clash_cfddns_support_proxy="off" && dbus set clash_cfddns_support_proxy="off" - - # 支持多个域名更新 - real_ipv4=`echo ${clash_cfddns_ipv4}|sh 2>/dev/null` - if [ "$clash_cfddns_support_ipv6" = "on" ] ; then - real_ipv6=`echo ${clash_cfddns_ipv6}|sh 2>/dev/null` - fi - for current_domain in `echo $clash_cfddns_domain | sed 's/[,,]/ /g'` - do - clash_cfddns_zone=`echo $current_domain| cut -d. -f2,3` - clash_cfddns_zid=$(curl -X GET "https://api.cloudflare.com/client/v4/zones?name=$clash_cfddns_zone" -H "X-Auth-Email: $clash_cfddns_email" -H "X-Auth-Key: $clash_cfddns_apikey" -H "Content-Type: application/json" | jq -r '.result[0].id') - dbus set clash_cfddns_ttl=$clash_cfddns_ttl - if [ "$real_ipv4" = "" ] ; then - LOGGER "获取IPv4地址失败! 执行命令:[$clash_cfddns_ipv4], 提取结果:[$real_ipv4]" - return 1 - fi - cfddns_update_record $clash_cfddns_zid $clash_cfddns_email $clash_cfddns_apikey $current_domain "A" $real_ipv4 $clash_cfddns_support_proxy - if [ "$clash_cfddns_support_ipv6" = "on" ] ; then - if [ "$real_ipv6" = "" ] ; then - LOGGER "获取IPv6地址失败! 执行命令:[$clash_cfddns_ipv6], 提取结果:[$real_ipv6]" - return 1 - fi - cfddns_update_record $clash_cfddns_zid $clash_cfddns_email $clash_cfddns_apikey $current_domain "AAAA" $real_ipv6 $clash_cfddns_support_proxy - fi - done - # 添加cron调度 - add_ddns_cron - clash_cfddns_lastmsg="$(date +'%Y/%m/%d %H:%M:%S')" - dbus set clash_cfddns_lastmsg=$clash_cfddns_lastmsg -} - -# 保存DDNS配置 -save_cfddns() { - if [ "$clash_cfddns_enable" != "on" ] ; then - LOGGER "正在关闭 Cloudflare DDNS功能:" - cru d clash_cfddns - LOGGER "已经关闭 Cloudflare DDNS功能了." - else - LOGGER "正在启用 Cloudflare DDNS功能:" - start_cfddns - LOGGER "启用 Cloudflare DDNS 成功!" - fi -} - # 修改网关和DNS服务器IP地址 change_gateway() { gateway_ip="$1" @@ -836,8 +861,8 @@ show_router_info() { echo "|>> vClash初始安装包自带的软件版本(分析是否个人更改过): |" cat ${CONFIG_HOME}/version | awk -F':' '{ printf("|%20s : %-40.40s|\n",$1,$2) }' echo "+---------------------------------------------------------------+" - echo "vClash的转发规则(iptables -t nat -S | grep ${app_name}),分析转发规则是否正常:" - iptables -t nat -S | grep ${app_name} + echo "vClash的转发规则,分析转发规则是否正常:" + iptables_status echo "+---------------------------------------------------------------+" } @@ -1083,7 +1108,7 @@ switch_clash_config() { clash_config_init() { # 校验配置文件 list_config_files - check_config_file + # check_config_file } set_log_type() { @@ -1102,15 +1127,12 @@ usage() { ====================================================== 使用帮助: ${app_name} - ${app_name} start_cfddns|stop_cfddns ${app_name} update_provider_file 参数介绍: start 启动服务 stop 停止服务 restart 重启服务 - start_cfddns 启动自动更新DNS - stop_cfddns 停止自动更新DNS update_provider_file 更新provider_free.yaml文件 ====================================================== @@ -1144,11 +1166,11 @@ do_action() { ;; start) # 启动服务, 并返回状态 - service_start + #service_start ret_data="{$(dbus list clash_ | awk '{sub("=", "\":\""); printf("\"%s\",", $0)}'|sed 's/,$//')}" response_json "$1" "$ret_data" "ok" # 先返回成功结果,放在后面执行启动功能,否则页面会一直等待且没有动态执行中的效果 - #service_start + service_start return 0 ;; get_one_file) @@ -1164,12 +1186,6 @@ do_action() { response_json "$1" "$ret_data" "ok" return 0 ;; - list_nodes) - list_nodes - ret_data="{$(dbus list clash_name_list | awk '{sub("=", "\":\""); printf("\"%s\",", $0)}'|sed 's/,$//')}" - response_json "$1" "$ret_data" "ok" - return 0 - ;; clash_config_init) clash_config_init ret_data="{$(dbus list clash_ | awk '{sub("=", "\":\""); printf("\"%s\",", $0)}'|sed 's/,$//')}" @@ -1226,7 +1242,7 @@ do_action() { # 不需要重启操作 $action_job ;; - set_one_file|add_iptables | del_iptables|save_cfddns|start_cfddns | switch_route_watchdog| soft_route_check| set_log_type|switch_option_tab) + set_one_file|add_iptables | del_iptables | switch_route_watchdog| soft_route_check| set_log_type|switch_option_tab) # 不需要重启操作 $action_job ;; @@ -1255,7 +1271,7 @@ fi no_output_log=0 case "$2" in - clash_config_init|save_current_tab|list_config_files|list_nodes) + clash_config_init|save_current_tab|list_config_files) # 不需要输入日志内容 no_output_log=1 ;; diff --git a/clash/uninstall.sh b/clash/uninstall.sh index 5816e4e..e49543e 100755 --- a/clash/uninstall.sh +++ b/clash/uninstall.sh @@ -23,6 +23,8 @@ remove_files() { LOGGER 清理旧文件 LOGGER "正在清理目录(先清理内部文件,最后删除目录): /koolshare/${app_name}" rm -rf /koolshare/${app_name}/* /koolshare/${app_name}/.* + + # 清理目录 rmdir /koolshare/${app_name} LOGGER "执行命令: rm -rf /koolshare/webs/Module_${app_name}.asp" diff --git a/docs/wiki.md b/docs/wiki.md index 7b4ccef..06c3196 100644 --- a/docs/wiki.md +++ b/docs/wiki.md @@ -4,6 +4,50 @@ ## 001.如何使用vClash > 安装vClash方法以及安装过程遇到问题怎么解决。 +### 000.路由器固件信息 + +首先,先说一下RT-AC86U的华硕路由器固件有这么几个版本: +- 384版本: 这个版本支持tun模式和TPROXY,这意味着可以重定向路由器本机的TCP和UDP请求,解决从路由器上访问github失败的问题,(另外,此版本固件**没有AiMesh功能**)。 +- 386版本: 这个版本去掉了tun模式和TPROXY内核模块的支持,所以从路由器上访问github就会经常失败。 + +为了更好利用路由器,对于这两个版本的差异,vClash插件如有必要的情况下会进行自动识别,对于使用者的感受是,384版本固件在更新Country.mmdb时更快、更稳定,仅此而已。 + +## 透明代理规则升级说明-202404 + +透明代理目前的几个关键点: +- 解决DNS污染问题(局域网和**路由器本机**) +- 支持IPv6地址代理 + +通过`iptables`实现透明代理的方法: +- NAT方式:最简单传统,缺点IPv6协议难以解决NAT规则配置问题,并且实际中经常有数据包没有走代理情况(原因没有分析,不确定原因) +- TPROXY方式: 虽然看似简单,但前提是路由器固件内核自带了 TPROXY 模块(xt_TPROXY.ko) 才可以用。 +- 使用TUN模式: Clash支持TUN模式,另外一个前提是路由器固件支持TUN设备,能找到 /dev/net/tun 这个设备文件,[阅读更多TUN知识](https://mirrors.edge.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt). + + +vClash透明代理对以上方法都进行了实现,但没提供手动切换功能,而是自动检测识别后采用下面的原则来决定采用哪个方案: +1. 优先启用TUN模式 +2. 其次,支持TPROXY模块路由器,优先使用TPROXY方式 +3. 最后,使用NAT方式(不支持IPv6代理) + + +TPROXY资料参考: +- [Hysteria 2](https://v2.hysteria.network/docs/advanced/TPROXY/) : 使用owner防止数据包回环问题。 +- [tproxy工具](https://objectifsecurite.gitlab.io/tproxy/Getting-Started/): 一个可以参考的 iptables.sh 脚本 +- + +存在的问题: + +- NAT模式: 不支持 IPv6 走代理,路由器本机数据包走代理 +- TPROXY模式: 问题较多,Yacd上看到的都是IP地址,数据包回环问题(通过gid/uid分离数据包来源) + + +### 如何支持IPv6代理更合理? +- 代理如果不支持IPv6地址,此时将IPv6地址请求转发给代理会如何? 测试:两个代理节点(区别是有、无IPv6地址)。 +- 怎么配置IPv6的 `iptables` 规则?NAT规则不适用了,是否只能通过 **TPROXY** 模块代理所有请求? + + + + ### 001.安装vClash 最新版本安装包存放到release目录中,对应下载链接: diff --git a/release/clash.tar.gz b/release/clash.tar.gz index b1f096f..cb28772 100644 Binary files a/release/clash.tar.gz and b/release/clash.tar.gz differ diff --git a/release/clash_384.tar.gz b/release/clash_384.tar.gz index 8207800..da4cb70 100644 Binary files a/release/clash_384.tar.gz and b/release/clash_384.tar.gz differ