1/* © 2024-2026 MeTool.online. All rights reserved. Unauthorized copying or redistribution is prohibited. */ 2import{a as ne,f as _e}from"./entry.q2vg8f26.js";import{a4 as ie,f as T,e as ve}from"./vue.BHwQAC8Z.js";import{u as ye}from"./useToolGroup.D6DXaJBJ.js";function mt(){const e=ne("app-side-menu-collapsed",()=>!1),t=ne("app-mobile-menu-open",()=>!1),s=()=>{t.value=!t.value,e.value=!e.value};return{isDesktopCollapsed:ie(e),isMobileMenuOpen:ie(t),toggleSideMenu:s}}function D(e){return Array.isArray?Array.isArray(e):de(e)==="[object Array]"}function Fe(e){if(typeof e=="string")return e;if(typeof e=="bigint")return e.toString();const t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function W(e){return e==null?"":Fe(e)}function M(e){return typeof e=="string"}function O(e){return typeof e=="number"}function De(e){return e===!0||e===!1||Se(e)&&de(e)=="[object Boolean]"}function fe(e){return typeof e=="object"}function Se(e){return fe(e)&&e!==null}function E(e){return e!=null}function x(e){return!e.trim().length}function de(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const ke="Incorrect 'index' type",U="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Ie=e=>`Invalid value for key ${e}`,we=e=>`Pattern length exceeds max of ${e}.`,Be=e=>`Missing ${e} property in key`,Te=e=>`Property 'weight' in key '${e}' must be a positive integer`,be="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",re=Object.prototype.hasOwnProperty;var Re=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{const n=ge(s);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(s=>{s.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function ge(e){let t=null,s=null,n=null,i=1,r=null;if(M(e)||D(e))n=e,t=oe(e),s=N(e);else{if(!re.call(e,"name"))throw new Error(Be("name"));const o=e.name;if(n=o,re.call(e,"weight")&&e.weight!==void 0&&(i=e.weight,i<=0))throw new Error(Te(N(o)));t=oe(o),s=N(o),r=e.getFn??null}return{path:t,id:s,weight:i,src:n,getFn:r}}function oe(e){return D(e)?e:e.split(".")}function N(e){return D(e)?e.join("."):e}function Le(e,t){const s=[];let n=!1;const i=(r,o,c,u)=>{if(E(r))if(!o[c])s.push(u!==void 0?{v:r,i:u}:r);else{const a=r[o[c]];if(!E(a))return;if(c===o.length-1&&(M(a)||O(a)||De(a)||typeof a=="bigint"))s.push(u!==void 0?{v:W(a),i:u}:W(a));else if(D(a)){n=!0;for(let h=0,l=a.length;h<l;h+=1)i(a[h],o,c+1,h)}else o.length&&i(a,o,c+1,u)}};return i(e,M(t)?t.split("."):t,0),n?s:s[0]}const xe={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Oe={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Ne={location:0,threshold:.6,distance:100},$e={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:Le,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},d=Object.freeze({...Oe,...xe,...Ne,...$e});function ze(e=1,t=3){const s=new Map,n=Math.pow(10,t);return{get(i){let r=1,o=!1;for(let u=0;u<i.length;u++)i.charCodeAt(u)===32?o||(r++,o=!0):o=!1;if(s.has(r))return s.get(r);const c=Math.round(n/Math.pow(r,.5*e))/n;return s.set(r,c),c},clear(){s.clear()}}}var Z=class{constructor({getFn:e=d.getFn,fieldNormWeight:t=d.fieldNormWeight}={}){this.norm=ze(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,s)=>{this._keysMap[t.id]=s})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const e=this.docs.length;this.records=new Array(e);let t=0;if(M(this.docs[0]))for(let s=0;s<e;s++){const n=this._createStringRecord(this.docs[s],s);n&&(this.records[t++]=n)}else for(let s=0;s<e;s++)this.records[t++]=this._createObjectRecord(this.docs[s],s);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw new Error(U);if(M(e)){const n=this._createStringRecord(e,t);return n&&this.records.push(n),n}const s=this._createObjectRecord(e,t);return this.records.push(s),s}removeAt(e){if(!Number.isInteger(e)||e<0)throw new Error(U);for(let t=0,s=this.records.length;t<s;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,s=this.records.length;t<s;t+=1)this.records[t].i>e&&(this.records[t].i-=1)}removeAll(e){const t=new Set;for(const n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(n=>!t.has(n.i));const s=Array.from(t).sort((n,i)=>n-i);for(const n of this.records){let i=0,r=s.length;for(;i<r;){const o=i+r>>>1;s[o]<n.i?i=o+1:r=o}n.i-=i}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!E(e)||x(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){const s={i:t,$:{}};for(let n=0,i=this.keys.length;n<i;n++){const r=this.keys[n],o=r.getFn?r.getFn(e):this.getFn(e,r.path);if(E(o)){if(D(o)){const c=[];for(let u=0,a=o.length;u<a;u+=1){const h=o[u];if(E(h)){if(M(h)){if(!x(h)){const l={v:h,i:u,n:this.norm.get(h)};c.push(l)}}else if(E(h.v)){const l=M(h.v)?h.v:W(h.v);if(!x(l)){const f={v:l,i:h.i,n:this.norm.get(l)};c.push(f)}}}}s.$[n]=c}else if(M(o)&&!x(o)){const c={v:o,n:this.norm.get(o)};s.$[n]=c}}}return s}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function me(e,t,{getFn:s=d.getFn,fieldNormWeight:n=d.fieldNormWeight}={}){const i=new Z({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(ge)),i.setSources(t),i.create(),i}function Pe(e,{getFn:t=d.getFn,fieldNormWeight:s=d.fieldNormWeight}={}){const{keys:n,records:i}=e,r=new Z({getFn:t,fieldNormWeight:s});return r.setKeys(n),r.setIndexRecords(i),r}function je(e=[],t=d.minMatchCharLength){const s=[];let n=-1,i=-1,r=0;for(let o=e.length;r<o;r+=1){const c=e[r];c&&n===-1?n=r:!c&&n!==-1&&(i=r-1,i-n+1>=t&&s.push([n,i]),n=-1)}return e[r-1]&&r-n>=t&&s.push([n,r-1]),s}function Ke(e,t,s,{location:n=d.location,distance:i=d.distance,threshold:r=d.threshold,findAllMatches:o=d.findAllMatches,minMatchCharLength:c=d.minMatchCharLength,includeMatches:u=d.includeMatches,ignoreLocation:a=d.ignoreLocation}={}){if(t.length>32)throw new Error(we(32));const h=t.length,l=e.length,f=Math.max(0,Math.min(n,l));let g=r,m=f;const A=(p,C)=>{const _=p/h;if(a)return _;const B=Math.abs(f-C);return i?_+B/i:B?1:_},v=c>1||u,F=v?Array(l):[];let I;for(;(I=e.indexOf(t,m))>-1;){const p=A(0,I);if(g=Math.min(p,g),m=I+h,v){let C=0;for(;C<h;)F[I+C]=1,C+=1}}m=-1;let k=[],R=1,se=0,L=h+l;const Me=1<<h-1;for(let p=0;p<h;p+=1){let C=0,_=L;for(;C<_;)A(p,f+_)<=g?C=_:L=_,_=Math.floor((L-C)/2+C);L=_;let B=Math.max(1,f-_+1);const j=o?l:Math.min(f+_,l)+h,w=Array(j+2);w[j+1]=(1<<p)-1;for(let y=j;y>=B;y-=1){const K=y-1,Ee=s[e[K]];if(w[y]=(w[y+1]<<1|1)&Ee,p&&(w[y]|=(k[y+1]|k[y])<<1|1|k[y+1]),w[y]&Me&&(R=A(p,K),R<=g)){if(g=R,m=K,se=p,m<=f)break;B=Math.max(1,2*f-m)}}if(A(p+1,f)>g)break;k=w}if(v&&m>=0){const p=Math.min(l-1,m+h-1+se);for(let C=m;
2C<=p;C+=1)s[e[C]]&&(F[C]=1)}const P={isMatch:m>=0,score:Math.max(.001,R)};if(v){const p=je(F,c);p.length?u&&(P.indices=p):P.isMatch=!1}return P}function He(e){const t={};for(let s=0,n=e.length;s<n;s+=1){const i=e.charAt(s);t[i]=(t[i]||0)|1<<n-s-1}return t}function q(e){if(e.length<=1)return e;e.sort((s,n)=>s[0]-n[0]||s[1]-n[1]);const t=[e[0]];for(let s=1,n=e.length;s<n;s+=1){const i=t[t.length-1],r=e[s];r[0]<=i[1]+1?i[1]=Math.max(i[1],r[1]):t.push(r)}return t}const Ae={Å:"l",Å:"L",Ä:"d",Ä:"D",ø:"o",Ã:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",Ã:"ss"},We=new RegExp("["+Object.keys(Ae).join("")+"]","g"),b=typeof String.prototype.normalize=="function"?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(We,t=>Ae[t]):e=>e;var ee=class{constructor(e,{location:t=d.location,threshold:s=d.threshold,distance:n=d.distance,includeMatches:i=d.includeMatches,findAllMatches:r=d.findAllMatches,minMatchCharLength:o=d.minMatchCharLength,isCaseSensitive:c=d.isCaseSensitive,ignoreDiacritics:u=d.ignoreDiacritics,ignoreLocation:a=d.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:n,includeMatches:i,findAllMatches:r,minMatchCharLength:o,isCaseSensitive:c,ignoreDiacritics:u,ignoreLocation:a},e=c?e:e.toLowerCase(),e=u?b(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const h=(f,g)=>{this.chunks.push({pattern:f,alphabet:He(f),startIndex:g})},l=this.pattern.length;if(l>32){let f=0;const g=l%32,m=l-g;for(;f<m;)h(this.pattern.substr(f,32),f),f+=32;if(g){const A=l-32;h(this.pattern.substr(A),A)}}else h(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=s?b(e):e,this.pattern===e){const m={isMatch:!0,score:0};return n&&(m.indices=[[0,e.length-1]]),m}const{location:i,distance:r,threshold:o,findAllMatches:c,minMatchCharLength:u,ignoreLocation:a}=this.options,h=[];let l=0,f=!1;this.chunks.forEach(({pattern:m,alphabet:A,startIndex:v})=>{const{isMatch:F,score:I,indices:k}=Ke(e,m,A,{location:i+v,distance:r,threshold:o,findAllMatches:c,minMatchCharLength:u,includeMatches:n,ignoreLocation:a});F&&(f=!0),l+=I,F&&k&&h.push(...k)});const g={isMatch:f,score:f?l/this.chunks.length:1};return f&&n&&(g.indices=q(h)),g}};const Ue=new Set(["fuzzy","include"]);function Ge(e){return e.startsWith("inverse")}const G=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:"exact",search(t){const s=t===e;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:"include",search(t){let s=0,n;const i=[],r=e.length;for(;(n=t.indexOf(e,s))>-1;)s=n+r,i.push([n,s-1]);const o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:"prefix-exact",search(t){const s=t.startsWith(e);return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:"inverse-prefix-exact",search(t){const s=!t.startsWith(e);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:"inverse-suffix-exact",search(t){const s=!t.endsWith(e);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:"suffix-exact",search(t){const s=t.endsWith(e);return{isMatch:s,score:s?0:1,indices:[t.length-e.length,t.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:"inverse-exact",search(t){const s=t.indexOf(e)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{const s=new ee(e,{location:t.location??d.location,threshold:t.threshold??d.threshold,distance:t.distance??d.distance,includeMatches:t.includeMatches??d.includeMatches,findAllMatches:t.findAllMatches??d.findAllMatches,minMatchCharLength:t.minMatchCharLength??d.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??d.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??d.ignoreDiacritics,ignoreLocation:t.ignoreLocation??d.ignoreLocation});return{type:"fuzzy",search(n){return s.searchIn(n)}}}}],ce=G.length,Qe="\0",Ye="|";function Ve(e){const t=[],s=e.length;let n=0;for(;n<s;){for(;n<s&&e[n]===" ";)n++;if(n>=s)break;let i=n;for(;i<s&&e[i]!==" "&&e[i]!=='"';)i++;if(i<s&&e[i]==='"'){for(i++;i<s;){if(e[i]==='"'){const r=i+1;if(r>=s||e[r]===" "){i++;break}if(e[r]==="$"&&(r+1>=s||e[r+1]===" ")){i+=2;break}}i++}t.push(e.substring(n,i)),n=i}else{for(;i<s&&e[i]!==" ";)i++;t.push(e.substring(n,i)),n=i}}return t}function ue(e,t){const s=e.match(t);return s?s[1]:null}function Je(e,t={}){return e.replace(/\\\|/g,Qe).split(Ye).map(s=>{const n=Ve(s.replace(/\u0000/g,"|").trim()).filter(r=>r&&!!r.trim()),i=[];for(let r=0,o=n.length;r<o;r+=1){const c=n[r];let u=!1,a=-1;for(;!u&&++a<ce;){const h=G[a],l=ue(c,h.multiRegex);l&&(i.push(h.create(l,t)),u=!0)}if(!u)for(a=-1;++a<ce;){const h=G[a],l=ue(c,h.singleRegex);if(l){i.push(h.create(l,t));break}}}return i})}var Xe=class{constructor(e,{isCaseSensitive:t=d.isCaseSensitive,ignoreDiacritics:s=d.ignoreDiacritics,includeMatches:n=d.includeMatches,minMatchCharLength:i=d.minMatchCharLength,ignoreLocation:r=d.ignoreLocation,findAllMatches:o=d.findAllMatches,location:c=d.location,threshold:u=d.threshold,distance:a=d.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n,minMatchCharLength:i,findAllMatches:o,ignoreLocation:r,location:c,threshold:u,distance:a},e=t?e:e.toLowerCase(),e=s?b(e):e,this.pattern=e,this.query=Je(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:s,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?b(e):e;let r=0;const o=[];let c=0,u=!1;for(let a=0,h=t.length;a<h;a+=1){const l=t[a];o.length=0,r=0,u=!1;for(let f=0,g=l.length;f<g;f+=1){const m=l[f],{isMatch:A,indices:v,score:F}=m.search(e);if(A)r+=1,c+=F,Ge(m.type)&&(u=!0),s&&(Ue.has(m.type)?o.push(...v):o.push(v));else{c=0,r=0,o.length=0,u=!1;break}}if(r){const f={isMatch:!0,score:c/r};return u&&(f.hasInverse=!0),s&&(f.indices=q(o)),f}}return{isMatch:!1,score:1}}};const Q=[];function te(...e){Q.push(...e)}function $(e,t){for(let s=0,n=Q.length;s<n;s+=1){const i=Q[s];if(i.condition(e,t))return new i(e,t)}return new ee(e,t)}const z={AND:"$and",OR:"$or"},Y={PATH:"$path",PATTERN:"$val"},V=e=>!!(e[z.AND]||e[z.OR]),Ze=e=>!!e[Y.PATH],qe=e=>!D(e)&&fe(e)&&!V(e),he=e=>({[z.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function pe(e,t,{auto:s=!0}={}){const n=i=>{if(M(i)){const u={keyId:null,pattern:i};return s&&(u.searcher=$(i,t)),u}const r=Object.keys(i),o=Ze(i);if(!o&&r.length>1&&!V(i))return n(he(i));if(qe(i)){const u=o?i[Y.PATH]:r[0],a=o?i[Y.PATTERN]:i[u];if(!M(a))throw new Error(Ie(u));const h={keyId:N(u),pattern:a};return s&&(h.searcher=$(a,t)),h}const c={children:[],operator:r[0]};return r.forEach(u=>{const a=i[u];D(a)&&a.forEach(h=>{c.children.push(n(h))})}),c};return V(e)||(e=he(e)),n(e)}function J(e,{ignoreFieldNorm:t=d.ignoreFieldNorm}){let s=1;return e.forEach(({key:n,norm:i,score:r})=>{const o=n?n.weight:null;s*=Math.pow(r===0&&o?Number.EPSILON:r,(o||1)*(t?1:i))}),s}function et(e,{ignoreFieldNorm:t=d.ignoreFieldNorm}){e.forEach(s=>{s.score=J(s.matches,{ignoreFieldNorm:t})})}var tt=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){const t=this.heap;for(;e>0;){const s=e-1>>1;
2if(t[e].score<=t[s].score)break;const n=t[e];t[e]=t[s],t[s]=n,e=s}}_sinkDown(e){const t=this.heap,s=t.length;let n=e;do{e=n;const i=2*e+1,r=2*e+2;if(i<s&&t[i].score>t[n].score&&(n=i),r<s&&t[r].score>t[n].score&&(n=r),n!==e){const o=t[e];t[e]=t[n],t[n]=o}}while(n!==e)}};function st(e){const t=[];return e.matches.forEach(s=>{if(!E(s.indices)||!s.indices.length)return;const n={indices:s.indices,value:s.value};s.key&&(n.key=s.key.id),s.idx>-1&&(n.refIndex=s.idx),t.push(n)}),t}function nt(e,t,{includeMatches:s=d.includeMatches,includeScore:n=d.includeScore}={}){return e.map(i=>{const{idx:r}=i,o={item:t[r],refIndex:r};return s&&(o.matches=st(i)),n&&(o.score=i.score),o})}const it=/[\p{L}\p{M}\p{N}_]+/gu,ae=new WeakSet;function rt(e){ae.has(e)||ae.add(e)}function ot(e){if(typeof e=="function"){let t=!1;return s=>{const n=e(s);if(!t&&(t=!0,!Array.isArray(n)||n.some(i=>typeof i!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(n)?"array containing non-strings":typeof n}.`);return n}}return e instanceof RegExp?(e.global||rt(e),t=>t.match(e)||[]):t=>t.match(it)||[]}function X({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:s}={}){const n=ot(s);return{tokenize(i){return e||(i=i.toLowerCase()),t&&(i=b(i)),n(i)}}}var ct=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=X({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});const s=this.analyzer.tokenize(e),{df:n,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const r of s){this.termSearchers.push(new ee(r,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const o=n.get(r)||0,c=Math.log(1+(i-o+.5)/(o+.5));this.idfWeights.push(c)}this.combineAll=t.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let s=0,n=0,i=0,r=0;const o=this.combineAll&&!this.useMask?new Set:null;for(let a=0;a<this.termSearchers.length;a++){const h=this.termSearchers[a].searchIn(e),l=this.idfWeights[a];n+=l,h.isMatch&&(i++,s+=l*(1-h.score),h.indices&&t.push(...h.indices),this.combineAll&&(this.useMask?r|=1<<a:o.add(a)))}if(i===0)return{isMatch:!1,score:1};const c=n>0?1-s/n:0,u={isMatch:!0,score:Math.max(.001,c)};return this.options.includeMatches&&t.length&&(u.indices=q(t)),this.combineAll&&(this.useMask?u.matchedMask=r:u.matchedTerms=o,u.termCount=this.numTerms),u}};function H(e,t,s,n){const i=n.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(s,(e.docFieldCount.get(s)||0)+1);const r=new Set(i);let o=e.docTermFieldHits.get(s);o||(o=new Map,e.docTermFieldHits.set(s,o));for(const c of r)o.set(c,(o.get(c)||0)+1),e.df.set(c,(e.df.get(c)||0)+1)}function Ce(e,t,s,n){const{i,v:r,$:o}=t;if(r!==void 0){H(e,r,i,n);return}if(o)for(let c=0;c<s;c++){const u=o[c];if(u)if(Array.isArray(u))for(const a of u)H(e,a.v,i,n);else H(e,u.v,i,n)}}function ut(e,t,s){const n={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const i of e)Ce(n,i,t,s);return n}function ht(e,t,s,n){Ce(e,t,s,n)}function at(e,t){const s=e.docFieldCount.get(t);if(s===void 0)return;e.fieldCount-=s,e.docFieldCount.delete(t);const n=e.docTermFieldHits.get(t);if(n){for(const[i,r]of n){const o=(e.df.get(i)||0)-r;o<=0?e.df.delete(i):e.df.set(i,o)}e.docTermFieldHits.delete(t)}}function le(e,t){if(t.length===0)return;const s=Array.from(new Set(t)).sort((c,u)=>c-u);for(const c of s)at(e,c);const n=c=>{let u=0,a=s.length;for(;u<a;){const h=u+a>>>1;s[h]<c?u=h+1:a=h}return c-u},i=s[0],r=new Map;for(const[c,u]of e.docFieldCount)r.set(c>i?n(c):c,u);e.docFieldCount=r;const o=new Map;for(const[c,u]of e.docTermFieldHits)o.set(c>i?n(c):c,u);e.docTermFieldHits=o}var S=class{constructor(e,t,s){this.options={...d,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Re(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,s),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=$(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Z))throw new Error(ke);if(this._myIndex=t||me(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const s=X({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=ut(this._myIndex.records,this._myIndex.keys.length,s)}this._invalidateSearcherCache()}add(e){if(!E(e))return;this._docs.push(e);const t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){const s=X({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});ht(this._invertedIndex,t,this._myIndex.keys.length,s)}this._invalidateSearcherCache()}remove(e=()=>!1){const t=[],s=[];for(let n=0,i=this._docs.length;n<i;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),s.push(n));if(s.length){this._invertedIndex&&le(this._invertedIndex,s);const n=new Set(s);this._docs=this._docs.filter((i,r)=>!n.has(r)),this._myIndex.removeAll(s),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw new Error(U);this._invertedIndex&&le(this._invertedIndex,[e]);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}
2_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){const{limit:s=-1}=t||{},{includeMatches:n,includeScore:i,shouldSort:r,sortFn:o,ignoreFieldNorm:c}=this.options;if(M(e)&&!e.trim()){let h=this._docs.map((l,f)=>({item:l,refIndex:f}));return O(s)&&s>-1&&(h=h.slice(0,s)),h}const u=O(s)&&s>0&&M(e);let a;if(u){const h=new tt(s);M(this._docs[0])?this._searchStringList(e,{heap:h,ignoreFieldNorm:c}):this._searchObjectList(e,{heap:h,ignoreFieldNorm:c}),a=h.extractSorted(o)}else a=M(e)?M(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),et(a,{ignoreFieldNorm:c}),r&&a.sort(o),O(s)&&s>-1&&(a=a.slice(0,s));return nt(a,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:r}=this._myIndex,o=t?null:[];return r.forEach(({v:c,i:u,n:a})=>{if(!E(c))return;const h=n.searchIn(c);if(h.isMatch){const l={score:h.score,value:c,norm:a,indices:h.indices};i&&(l.matchedMask=h.matchedMask,l.matchedTerms=h.matchedTerms,l.termCount=h.termCount);const f=[l];if(!i||this._coversAllTokens(f)){const g={item:c,idx:u,matches:f};t?(g.score=J(g.matches,{ignoreFieldNorm:s}),t.shouldInsert(g.score)&&t.insert(g)):o.push(g)}}}),o}_searchLogical(e){const t=pe(e,this.options),s=(o,c,u)=>{if(!("children"in o)){const{keyId:f,searcher:g}=o;let m;return f===null?(m=[],this._myIndex.keys.forEach((A,v)=>{m.push(...this._findMatches({key:A,value:c[v],searcher:g}))})):m=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(c,f),searcher:g}),m&&m.length?[{idx:u,item:c,matches:m}]:[]}const{children:a,operator:h}=o,l=[];for(let f=0,g=a.length;f<g;f+=1){const m=a[f],A=s(m,c,u);if(A.length)l.push(...A);else if(h===z.AND)return[]}return l},n=this._myIndex.records,i=new Map,r=[];return n.forEach(({$:o,i:c})=>{if(E(o)){const u=s(t,o,c);u.length&&(i.has(c)||(i.set(c,{idx:c,item:o,matches:[]}),r.push(i.get(c))),u.forEach(({matches:a})=>{i.get(c).matches.push(...a)}))}}),r}_searchObjectList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch==="all",{keys:r,records:o}=this._myIndex,c=t?null:[];return o.forEach(({$:u,i:a})=>{if(!E(u))return;const h=[];let l=!1,f=!1;if(r.forEach((g,m)=>{const A=this._findMatches({key:g,value:u[m],searcher:n});A.length?(h.push(...A),A[0].hasInverse&&(f=!0)):l=!0}),!(f&&l)&&h.length&&(!i||this._coversAllTokens(h))){const g={idx:a,item:u,matches:h};t?(g.score=J(g.matches,{ignoreFieldNorm:s}),t.shouldInsert(g.score)&&t.insert(g)):c.push(g)}}),c}_findMatches({key:e,value:t,searcher:s}){if(!E(t))return[];const n=[];if(D(t))t.forEach(({v:i,i:r,n:o})=>{if(!E(i))return;const c=s.searchIn(i);if(c.isMatch){const u={score:c.score,key:e,value:i,idx:r,norm:o,indices:c.indices,hasInverse:c.hasInverse};c.termCount!==void 0&&(u.matchedMask=c.matchedMask,u.matchedTerms=c.matchedTerms,u.termCount=c.termCount),n.push(u)}});else{const{v:i,n:r}=t,o=s.searchIn(i);if(o.isMatch){const c={score:o.score,key:e,value:i,norm:r,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(c.matchedMask=o.matchedMask,c.matchedTerms=o.matchedTerms,c.termCount=o.termCount),n.push(c)}}return n}_coversAllTokens(e){const t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let i=0;i<e.length;i++)n|=e[i].matchedMask||0;return n===2**t-1}const s=new Set;for(let n=0;n<e.length;n++){const i=e[n].matchedTerms;if(i)for(const r of i)s.add(r)}return s.size===t}};S.version="7.4.2";S.createIndex=me;S.parseIndex=Pe;S.config=d;S.match=function(e,t,s){if(s&&s.useTokenSearch)throw new Error(be);return $(e,{...d,...s}).searchIn(t)};S.parseQuery=pe;te(Xe);te(ct);S.use=function(...e){e.forEach(t=>te(t))};var lt=S;function At(){const e=ve(""),{t,locale:s}=_e(),n=ye(),i=T(()=>s.value==="zh"?"en":"zh"),r=T(()=>{const h=[];for(const l of n.value){const f=`meta.${l.id}.index.title`;for(const g of l.tools){const m=`meta.${l.id}.${g.id}`;h.push({...g,name:t(`${m}.title`),shortName:t(`${m}.shortName`),description:t(`${m}.description`),category:t(f),categoryId:l.id,categoryTitle:t(`meta.${l.id}.index.sidebarTitle`),nameAlt:t(`${m}.title`,{},{locale:i.value}),descriptionAlt:t(`${m}.description`,{},{locale:i.value}),categoryAlt:t(`meta.${l.id}.index.sidebarTitle`,{},{locale:i.value})})}}return h}),o=T(()=>new lt(r.value,{keys:[{name:"shortName",weight:2},{name:"name",weight:2},{name:"nameAlt",weight:2}
2,{name:"id",weight:1.5},{name:"description",weight:1},{name:"descriptionAlt",weight:1},{name:"category",weight:.8},{name:"categoryAlt",weight:.8}],threshold:.3,distance:100,minMatchCharLength:1})),c=T(()=>e.value.trim()?o.value.search(e.value).map(h=>h.item):[]),u=T(()=>{const h={};for(const l of c.value)h[l.categoryId]||(h[l.categoryId]=[]),h[l.categoryId].push(l);return h});return{searchQuery:e,searchResults:c,groupedResults:u,allToolsFlat:r,clearSearch:()=>{e.value=""}}}export{At as a,mt as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.