@ycookiey/yfuzzy 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/dist/entry.d.ts +8 -0
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +8 -1
- package/dist/entry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/matches.d.ts +5 -0
- package/dist/matches.d.ts.map +1 -1
- package/dist/matches.js +3 -3
- package/dist/matches.js.map +1 -1
- package/dist/pipeline.d.ts +2 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +46 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/query.d.ts +6 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +13 -1
- package/dist/query.js.map +1 -1
- package/dist/romaji/convert.d.ts +2 -0
- package/dist/romaji/convert.d.ts.map +1 -1
- package/dist/romaji/convert.js +8 -0
- package/dist/romaji/convert.js.map +1 -1
- package/dist/terms.d.ts +20 -0
- package/dist/terms.d.ts.map +1 -0
- package/dist/terms.js +199 -0
- package/dist/terms.js.map +1 -0
- package/dist/tiers/tier1-exact.d.ts +31 -1
- package/dist/tiers/tier1-exact.d.ts.map +1 -1
- package/dist/tiers/tier1-exact.js +26 -15
- package/dist/tiers/tier1-exact.js.map +1 -1
- package/dist/tiers/tier2-flexible.d.ts.map +1 -1
- package/dist/tiers/tier2-flexible.js +3 -1
- package/dist/tiers/tier2-flexible.js.map +1 -1
- package/dist/tiers/tier3-typo.js +1 -1
- package/dist/tiers/tier3-typo.js.map +1 -1
- package/dist/tiers/tier4-structural.js +1 -1
- package/dist/tiers/tier4-structural.js.map +1 -1
- package/dist/tiers/types.d.ts +4 -1
- package/dist/tiers/types.d.ts.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/yfuzzy.min.js +2 -2
- package/package.json +1 -1
package/dist/yfuzzy.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @ycookiey/yfuzzy v0.
|
|
2
|
-
"use strict";var yfuzzy=(()=>{var At=Object.defineProperty;var _n=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var Mn=Object.prototype.hasOwnProperty;var Cn=(t,n)=>{for(var o in n)At(t,o,{get:n[o],enumerable:!0})},On=(t,n,o,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of Ln(n))!Mn.call(t,s)&&s!==o&&At(t,s,{get:()=>n[s],enumerable:!(e=_n(n,s))||e.enumerable});return t};var Rn=t=>On(At({},"__esModule",{value:!0}),t);var ve={};Cn(ve,{createIndex:()=>Nn,search:()=>We});var Hn="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function Kn(t){let n=[],o=0;for(let e of t)n.push({cp:e,start:o,end:o+e.length}),o+=e.length;return n}function Ht(t,n,o){let e=n==="all"||n==="preKana",s=n==="all"||n==="postKana",i=Kn(t),c="",r=[];for(let a=0;a<i.length;a++){let p=i[a],u=p.cp.codePointAt(0),l,h=p.end;if(e&&u===12288)l=" ";else if(e&&u>=65281&&u<=65374){let d=String.fromCharCode(u-65248);l=d>="A"&&d<="Z"?d.toLowerCase():d}else if(e&&u>=65&&u<=90)l=p.cp.toLowerCase();else if(s&&u>=65377&&u<=65437){let d=Hn[u-65377],k=a+1<i.length?i[a+1]:null,x=k?k.cp.codePointAt(0):-1;if(x===65438||x===65439){let I=(d+(x===65438?"\u3099":"\u309A")).normalize("NFC");[...I].length===1?(l=I,h=k.end,a++):l=d}else l=d}else s&&u===65438?l="\u309B":s&&u===65439?l="\u309C":s&&u>=12353&&u<=12438?l=String.fromCodePoint(u+96):l=p.cp;if(o){let d=[p.start,h];for(let k=0;k<l.length;k++)r.push(d)}c+=l}return{text:c,map:r}}function Kt(t){let{text:n,map:o}=Ht(t,"all",!0);return{text:n,map:o}}function V(t,n){return Ht(t,n,!1).text}var Ut={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},jt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var Pt={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},Dt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var nt={single:Ut,digraphs:jt},et={single:Pt,digraphs:Dt};function ot(t){return t==="both"||t==="kunrei"}function rt(t){return t==="both"||t==="hepburn"}function Bt(t,n){if(t.length===2){let e=n.digraphs[t];if(e!==void 0)return e}let o=n.single[t];return o!==void 0?o:t.toLowerCase()}function Ft(t){return/^[bcdfghjklmnpqrstvwxyz]/.test(t)}var Un="\u30C3",jn="\u30FC",Pn=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),Dn=/[ァ-ヺー]/,Bn=/[ァ-ヺ]/,Fn=/[0-9a-z]/;function zn(t){return Dn.test(t)||Fn.test(t)}function Wn(t){let n=[],o=0,e=!1,s=-1;for(;o<t.length;){let i=t[o];if(i===Un){e||(e=!0,s=o),o+=1;continue}if(i===jn){let u=n[n.length-1];u&&(u.kanaLen+=1),o+=1;continue}let c=e?s:o,r=o+1<t.length?t[o+1]:"",a=r!==""&&Pn.has(r)&&Bn.test(i)?2:1,p=t.slice(o,o+a);n.push({core:p,sokuon:e,kanaStart:c,kanaLen:o+a-c}),e=!1,s=-1,o+=a}return n}function vn(t,n){let o=[],e=new Set,s=0,i="";for(let c of t){let r=Bt(c.core,n);c.sokuon&&r.length>0&&Ft(r)&&(r=r[0]+r),e.add(s),o.push({kanaStart:c.kanaStart,kanaLen:c.kanaLen,romajiStart:s,romajiLen:r.length}),s+=r.length,i+=r}return{text:i,syllables:o,boundaries:e}}function st(t,n){return vn(Wn(t),n)}function kt(t,n){return st(t,n).text}function zt(t){let n=new Set([0]);for(let o=0;o<t.length;o++)if(!zn(t[o])){let e=o+1;e<t.length&&n.add(e)}return n}function it(t){let n="^"+t+"$",o=new Set;for(let e=0;e+1<n.length;e++)o.add(n.slice(e,e+2));return o}function O(t){let n=0;for(let o=0;o<t.length;o++)n|=1<<t.charCodeAt(o)%31;return n}function Wt(t){let n=0,o=t;for(;o!==0;)o&=o-1,n++;return n}var vt=/[a-z]/;function Gn(t,n){let o=zt(t.text),e=t.text,s=i=>n.slice(t.map[i][0],t.map[i][1]);for(let i=1;i<e.length;i++){if(!vt.test(e[i])||!vt.test(e[i-1]))continue;let c=s(i),r=s(i-1);c!==c.toLowerCase()&&r===r.toLowerCase()&&o.add(i)}return o}function Gt(t,n){let o=new Set;if(t===null)return o;for(let e of t.syllables)n.has(e.kanaStart)&&o.add(e.romajiStart);return o}function mt(t){return[...t].sort((n,o)=>n-o)}function $t(t,n,o){let e=Kt(t),s=ot(o)?st(e.text,nt):null,i=rt(o)?st(e.text,et):null,c=Gn(e,t),r=Gt(s,c),a=Gt(i,c);return{refIndex:n,raw:t,kana:e,kanaBoundaries:c,kunreiHeads:r,hepburnHeads:a,kanaHeadList:mt(c),kunreiHeadList:mt(r),hepburnHeadList:mt(a),kanaMask:O(e.text),kunreiMask:s?O(s.text):0,hepburnMask:i?O(i.text):0,kunrei:s,hepburn:i,hasKeystrokeChar:/[a-z'-]/.test(e.text),bigrams:null}}function Jt(t){return t.bigrams===null&&(t.bigrams=it(t.kana.text)),t.bigrams}var $n={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},Xt={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},Vt={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},Yt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},Qt={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},Jn={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...Yt,...Vt},Xn={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},Qn={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function Zt(t){return Object.entries(t).reduce((n,[o,e])=>(n[o]=typeof e=="string"?{"":e}:Zt(e),n),{})}function Vn(t,n){return n.split("").reduce((o,e)=>(o[e]===void 0&&(o[e]={}),o[e]),t)}function Yn(){let t=Zt($n),n=s=>Vn(t,s);Object.entries(Xt).forEach(([s,i])=>{Object.entries(Vt).forEach(([c,r])=>{n(s+c)[""]=i+r})}),Object.entries(Qn).forEach(([s,i])=>{Object.entries(Yt).forEach(([c,r])=>{n(s+c)[""]=i+r})}),["n","n'","xn"].forEach(s=>{n(s)[""]="\u3093"}),t.c=JSON.parse(JSON.stringify(t.k)),Object.entries(Qt).forEach(([s,i])=>{let c=s.slice(0,s.length-1),r=s.charAt(s.length-1),a=n(c);a[r]=JSON.parse(JSON.stringify(n(i)))});function o(s){return[...Object.entries(Qt),["c","k"]].reduce((i,[c,r])=>s.startsWith(r)?i.concat(s.replace(r,c)):i,[])}Object.entries(Jn).forEach(([s,i])=>{let c=l=>l.charAt(l.length-1),r=l=>l.slice(0,l.length-1),a=`x${s}`,p=n(a);p[""]=i;let u=n(`l${r(s)}`);u[c(s)]=p,o(s).forEach(l=>{["l","x"].forEach(h=>{let d=n(h+r(l));d[c(l)]=n(h+s)})})}),Object.entries(Xn).forEach(([s,i])=>{n(s)[""]=i});function e(s){return Object.entries(s).reduce((i,[c,r])=>(i[c]=c?e(r):`\u3063${r}`,i),{})}return[...Object.keys(Xt),"c","y","w","j"].forEach(s=>{let i=t[s];i[s]=e(i)}),delete t.n.n,Object.freeze(JSON.parse(JSON.stringify(t)))}var gt=null;function qt(){return gt==null&&(gt=Yn()),gt}function Zn(t,n){let o=n;function e(c,r){if(c[r]!==void 0)return Object.assign({"":c[""]+r},c[r])}function s(c,r){let a=c.charAt(0);return i(Object.assign({"":a},o[a]),c.slice(1),r,r+1)}function i(c,r,a,p){if(!r)return c[""]?[[a,p,c[""]]]:[];if(Object.keys(c).length===1)return[[a,p,c[""]],...s(r,p)];let u=e(c,r.charAt(0));return u===void 0?[[a,p,c[""]],...s(r,p)]:i(u,r.slice(1),a,p+1)}return s(t,0)}function tn(t){return Zn(t.toLowerCase(),qt()).map(n=>n[2]??"").join("")}function nn(){let t=[],n=(o,e)=>{for(let[s,i]of Object.entries(o))s===""?e!==""&&/^[ぁ-ゖヵヶ]+$/.test(i)&&t.push([e,i]):n(i,e+s)};return n(qt(),""),t}function en(t){return tn(t)}var qn=new Set(["ci","ce","qu"]),te=[["ci","\u3057"],["ce","\u305B"],["qu","\u304F"],["nn","\u3093"],["-","\u30FC"],["t'i","\u3066\u3043"],["t'yu","\u3066\u3085"],["d'i","\u3067\u3043"],["d'yu","\u3067\u3085"],["t'u","\u3068\u3045"],["d'u","\u3069\u3045"],["hwa","\u3075\u3041"],["hwi","\u3075\u3043"],["hwe","\u3075\u3047"],["hwo","\u3075\u3049"],["hwyu","\u3075\u3085"],["zwa","\u305A\u3041"],["zwi","\u305A\u3043"],["zwu","\u305A\u3045"],["zwe","\u305A\u3047"],["zwo","\u305A\u3049"],["wyi","\u3090"],["wye","\u3091"]],ne=new Set("qvlxkgszjtdhfbpmyrwc"),ct=null,yt=0;function St(){if(ct!==null)return ct;let t=new Map,n=(e,s)=>{let i=V(s,"postKana"),c=t.get(i);c===void 0&&t.set(i,c=new Set),c.add(e)},o=[];for(let[e,s]of nn())qn.has(e)||s.startsWith("\u3063")&&e.length>1&&e[0]===e[1]||o.push([e,s]);o.push(...te);for(let[e,s]of o)n(e,s),!s.startsWith("\u3063")&&(ne.has(e[0])&&n(e[0]+e,"\u3063"+s),e.startsWith("ch")&&n("t"+e,"\u3063"+s));for(let e of t.keys())e.length>yt&&(yt=e.length);return ct=new Map([...t].map(([e,s])=>[e,[...s]])),ct}function on(){return St(),yt}var ee=32;function an(t){let n=St(),o=on(),e=t.length,s=Array.from({length:e+1},(g,T)=>[T]),i=e+1,c=[],r=new Set,a=(g,T,_,L)=>{let M=`${g},${T},${_},${L}`;r.has(M)||(r.add(M),c.push([g,T,_,L]))},p=!1;for(let g=0;g<e;g++){a(g,g+1,t[g],0);let T=new Map;for(let _=1;_<=o&&g+_<=e;_++){let L=n.get(t.slice(g,g+_));if(L!==void 0)for(let M of L){p=!0;let P=g;for(let R=0;R<M.length-1;R++){let Q=M.slice(0,R+1),D=T.get(Q);D===void 0&&(D=i++,T.set(Q,D),s[g].push(D)),a(P,D,M[R],1),P=D}a(P,g+_,M[M.length-1],1)}}}if(!p)return null;let u=new Int32Array(i),l=0;for(let g of s)for(let T of g)u[T]=l++;let h=c.length,d=c.map(([g,T,_,L])=>[u[g],u[T],_,L]);d.sort((g,T)=>g[0]-T[0]||g[1]-T[1]);let k=new Int32Array(h),x=new Int32Array(h),y=new Array(h),I=new Uint8Array(h),m=new Int32Array(h);d.forEach(([g,T,_,L],M)=>{k[M]=g,x[M]=T,y[M]=_,I[M]=L,m[M]=O(_)});let A=l,S=new Int32Array(A+1);for(let g=0;g<h;g++)S[k[g]+1]++;for(let g=0;g<A;g++)S[g+1]+=S[g];let b=new Int32Array(h);for(let g=0;g<h;g++)b[g]=g;let N=new Set;for(let g=S[0];g<S[1];g++)N.add(y[b[g]]);let f=new Set([...N].map(g=>g.charCodeAt(0))),w=[],E=(g,T,_)=>{if(w!==null){if(g===u[e]){w.length>=ee?w=null:w.push([T,_]);return}for(let L=S[g];L<S[g+1];L++)E(x[L],T+y[L],_||I[L]===1)}};return E(0,"",!1),{nodeCount:A,final:u[e],from:k,to:x,ch:y,ks:I,bit:m,outStart:S,outEdges:b,firstChars:N,firstCodes:f,paths:w}}var at=new Uint8Array(0);function un(t){return at.length<t&&(at=new Uint8Array(t)),at.fill(0,0,t),at}function ut(t,n){let o=un(t.nodeCount);o[0]=1;for(let e=0;e<t.from.length;e++)o[t.from[e]]&&(t.bit[e]&n)!==0&&(o[t.to[e]]=1);return o[t.final]===1}function ln(t,n,o){let e=un(t.nodeCount);e[0]=1;for(let s=0;s<n.length;s++){let i=n[s];for(let c=t.nodeCount-1;c>=0;c--)if(e[c])for(let r=t.outStart[c];r<t.outStart[c+1];r++){let a=t.outEdges[r];t.ch[a]===i&&(o&&c===0&&t.to[a]===t.final||(e[t.to[a]]=1))}if(e[t.final])return!0}return!1}var rn=new Int32Array(0),sn=new Int32Array(0),B=new Int32Array(0),F=0;function fn(t,n,o,e){e.plain=0,e.ks=0;let s=t.nodeCount*2;B.length<s&&(B=new Int32Array(s),rn=new Int32Array(s),sn=new Int32Array(s),F=0);let i=rn,c=sn,r=1;i[0]=0;let a=t.final*2;for(let p=o;p<n.length&&r>0;p++){let u=n[p];F++;let l=0;for(let k=0;k<r;k++){let x=i[k],y=x>>1,I=x&1;for(let m=t.outStart[y];m<t.outStart[y+1];m++){let A=t.outEdges[m];if(t.ch[A]!==u)continue;let S=t.to[A]*2+(I|t.ks[A]);B[S]!==F&&(B[S]=F,c[l++]=S)}}let h=p-o+1;B[a]===F&&(e.plain=h),B[a+1]===F&&(e.ks=h);let d=i;i=c,c=d,r=l}}var cn=new WeakMap;function Y(t){let n=cn.get(t);if(n!==void 0)return n;let o=t.nodeCount,e=Array.from({length:o},()=>[]);e[0].push(0);for(let f=0;f<o;f++)for(let w=t.outStart[f];w<t.outStart[f+1];w++){let E=t.to[t.outEdges[w]];for(let g of e[f])e[E].includes(g+1)||e[E].push(g+1)}for(let f of e)f.sort((w,E)=>w-E);let s=new Int32Array(o+1);for(let f=0;f<o;f++)s[f+1]=s[f]+e[f].length;let i=s[o],c=(f,w)=>s[f]+e[f].indexOf(w),r=new Int32Array(i);for(let f=0;f<o;f++)for(let w of e[f])r[c(f,w)]=w;let a=Array.from({length:i},()=>[]);for(let f=0;f<t.from.length;f++){let w=t.from[f],E=t.to[f];for(let g of e[w])a[c(E,g+1)].push([c(w,g),t.ch[f].charCodeAt(0),t.bit[f],t.ks[f]])}let p=new Int32Array(i+1);for(let f=0;f<i;f++)p[f+1]=p[f]+a[f].length;let u=p[i],l=new Int32Array(u),h=new Int32Array(u),d=new Int32Array(u),k=new Uint8Array(u),x=0;for(let f of a)for(let[w,E,g,T]of f)l[x]=w,h[x]=E,d[x]=g,k[x++]=T;let y=new Int32Array(i+1);for(let f=0;f<u;f++)y[l[f]+1]++;for(let f=0;f<i;f++)y[f+1]+=y[f];let I=y.slice(0,i),m=new Int32Array(u),A=new Int32Array(u),S=new Uint8Array(u);for(let f=0;f<i;f++)for(let w=p[f];w<p[f+1];w++){let E=I[l[w]]++;m[E]=f,A[E]=h[w],S[E]=k[w]}let b=e[t.final].map(f=>[c(t.final,f),f]),N={X:i,depth:r,inStart:p,inFrom:l,inCh:h,inBit:d,inKs:k,outStart:y,outTo:m,outCh:A,outKs:S,finals:b};return cn.set(t,N),N}function hn(t,n,o="phonetic"){let e=V(t,"preKana"),s=V(o==="phonetic"?en(e):e,"postKana"),i=o==="phonetic",c=i&&ot(n)?kt(s,nt):null,r=i&&rt(n)?kt(s,et):null;return{kana:s,singleChar:oe(s),kunrei:c,hepburn:r,kanaMask:O(s),kunreiMask:c!==null?O(c):0,hepburnMask:r!==null?O(r):0,lattice:i?null:an(s),shadowed:!1,bigrams:null}}function oe(t){return t.length===0?!1:t.length===String.fromCodePoint(t.codePointAt(0)).length}function pn(t){return t.bigrams===null&&(t.bigrams=it(t.kana)),t.bigrams}var re=["-"," ","\u30FB","_"];function se(t){return t===!1||t===void 0?[]:t===!0?re:t}function ie(t){return t.replace(/[\\\]^-]/g,"\\$&")}function dn(t,n){let o=se(n);if(o.length===0)return t===""?[]:[t];let e=o.map(ie).join(""),s=new RegExp(`[${e}]`,"g");if(!s.test(t))return t===""?[]:[t];let i=[],c=new Set,r=u=>{u!==""&&!c.has(u)&&(c.add(u),i.push(u))};r(t);let a=[...t].at(-1);return o.includes(a)||r(t.replace(s,"")),r(t.replace(s," ")),i}var kn=1,Tt=.9,Nt=.97,_t=.87,ce=.99,U=3,v=2,dt=1,G=0;function q(t,n){return(t+n)/4}function J(t,n,o,e,s){return{intraScore:q(t,n),space:o,offset:e,len:s,positions:null}}function ae(t,n){let o=[];for(let e=0;e<t;e++)o.push(n+e);return o}function ue(t,n,o,e){return t.length===0||n.length===0||!n.startsWith(t)?null:J(U,t.length/n.length*e,o,0,t.length)}function le(t,n,o,e,s,i){if(t.length<i||n.length===0)return null;let c=n.indexOf(t,1);if(c<0)return null;let r=t.length/n.length*s;for(let a=c;a>=0;a=n.indexOf(t,a+1))if(o.has(a))return J(v,r,e,a,t.length);return J(G,r,e,c,t.length)}var xt=new Uint8Array(0),It=new Uint8Array(0);function fe(t,n,o,e,s){let i=t.length,c=n.length,r=o.length;if(i<2||c===0||r<2)return null;let a=t.charCodeAt(0),p=!1;for(let y=0;y<r&&!p;y++)p=n.charCodeAt(o[y])===a;if(!p)return null;xt.length<i*r&&(xt=new Uint8Array(i*r)),It.length<(i+1)*(r+1)&&(It=new Uint8Array((i+1)*(r+1)));let u=xt,l=It,h=(y,I)=>{let m=o[I],A=0;for(;y+A<i&&m+A<c&&t.charCodeAt(y+A)===n.charCodeAt(m+A);)A++;return A},d=(y,I)=>{let m=o[y]+I,A=y+1;for(;A<r&&o[A]<m;)A++;return A};for(let y=i-1;y>=0;y--){for(let I=0;I<r;I++){let m=h(y,I),A=0;for(let S=1;S<=m&&!A;S++)(y+S===i||l[(y+S)*(r+1)+d(I,S)])&&(A=1);u[y*r+I]=A}l[y*(r+1)+r]=0;for(let I=r-1;I>=0;I--)l[y*(r+1)+I]=u[y*r+I]|l[y*(r+1)+I+1]}if(!l[0])return null;let k=[],x=0;for(;!u[x];)x++;for(let y=0;y<i;){let I=h(y,x);for(;!(y+I===i||l[(y+I)*(r+1)+d(x,I)]);)I--;for(let m=0;m<I;m++)k.push(o[x]+m);if(y+=I,y<i)for(x=d(x,I);!u[y*r+x];)x++}return{intraScore:q(dt,i/c*s),space:e,offset:0,len:0,positions:k}}var lt={plain:0,ks:0},K=[new Int32Array(4),new Int32Array(4)],$=[new Int32Array(4),new Int32Array(4)];function An(t,n,o,e){o>K[t][n]&&(K[t][n]=o,$[t][n]=e)}function he(t,n,o,e){let s=n.length;if(s===0)return;for(let r=0;r<2;r++)K[r].fill(0),$[r].fill(0);if(t.paths!==null)for(let[r,a]of t.paths){let p=a?1:0;for(let u=n.indexOf(r);u>=0;u=n.indexOf(r,u+1)){let l=u===0?U:o.has(u)?v:G;p===1&&l!==U&&r.length<2||(r.length>K[p][l]||r.length===K[p][l]&&u<$[p][l])&&(K[p][l]=r.length,$[p][l]=u)}}else for(let r=0;r<s;r++){if(!t.firstCodes.has(n.charCodeAt(r)))continue;fn(t,n,r,lt);let a=r===0?U:o.has(r)?v:G;An(0,a,lt.plain,r),(a===U||lt.ks>=2)&&An(1,a,lt.ks,r)}let i=[kn,Nt],c=[Tt,_t];for(let r=0;r<2;r++){let a=K[r][U];a>0&&j(J(U,a/s*i[r],"kana",0,a))}for(let r=0;r<2;r++){let a=K[r][v];a>0&&j(J(v,a/s*c[r],"kana",$[r][v],a))}if(e.length>=2){let r=Y(t),a=r.finals[r.finals.length-1][1];if(a>=2&&(C===null||C.intraScore<q(dt,a/s*Tt))){let p=pe(t,n,e);for(let u=0;u<2;u++){let l=p[u];if(l){let h=q(dt,l.length/s*c[u]);j({intraScore:h,space:"kana",offset:0,len:0,positions:l})}}}}for(let r=0;r<2;r++){let a=K[r][G];a>0&&j(J(G,a/s*c[r],"kana",$[r][G],a))}}var H=new Int32Array(0),wt=new Int32Array(0),z=new Int32Array(0),Z=new Int32Array(0),W=new Int32Array(0),ft=new Int32Array(0),ht=new Int32Array(0),bt=new Int32Array(0),pt=0;function pe(t,n,o){let e=[null,null],s=n.length,i=!1;for(let d=0;d<o.length&&!i;d++)i=t.firstCodes.has(n.charCodeAt(o[d]));if(!i)return e;let c=Y(t),{outStart:r,outTo:a,outCh:p,outKs:u}=c,l=c.X*2;H.length<l&&(H=new Int32Array(l),wt=new Int32Array(l),z=new Int32Array(l),Z=new Int32Array(l),W=new Int32Array(l),ft=new Int32Array(l),ht=new Int32Array(l),bt=new Int32Array(l),pt=0);let h=1<<30;H.fill(h,0,l),H[0]=0,z[0]=-1;for(let d of o){let k=0;for(let x=0;x<l;x++)H[x]<=d&&(Z[k]=x,W[k++]=x);for(let x=d;x<s&&k>0;x++){let y=n.charCodeAt(x);pt++;let I=0;for(let S=0;S<k;S++){let b=Z[S],N=b>>1,f=b&1;for(let w=r[N];w<r[N+1];w++){if(p[w]!==y)continue;let E=a[w]*2+(f|u[w]);bt[E]!==pt&&(bt[E]=pt,ft[I]=E,ht[I++]=W[S],x+1<H[E]&&(H[E]=x+1,wt[E]=d,z[E]=W[S]))}}let m=Z;Z=ft,ft=m;let A=W;W=ht,ht=A,k=I}}for(let d=0;d<2;d++)for(let k=c.finals.length-1;k>=0&&e[d]===null;k--){let[x,y]=c.finals[k],I=x*2+d;if(y<2||H[I]>=h)continue;let m=[];for(let A=I;A>0&&z[A]!==-1;A=z[A]){let S=wt[A];for(let b=H[A]-1;b>=S;b--)m.push(b);if(z[A]===0)break}e[d]=m.reverse()}return e}var C=null;function j(t){t!==null&&(C===null||t.intraScore>C.intraScore)&&(C=t)}function Et(t,n,o,e,s,i,c,r,a,p){(a&~p)===0&&(j(ue(t,n,s,i)),j(le(t,n,o,s,c,r)),e.length>=2&&(C===null||C.intraScore<q(dt,t.length/n.length*c))&&j(fe(t,n,e,s,c)))}var mn=(t,n)=>{C=null;let o=n.kana.text;if(t.lattice!==null&&n.hasKeystrokeChar?ut(t.lattice,n.kanaMask)&&he(t.lattice,o,n.kanaBoundaries,n.kanaHeadList):t.shadowed||Et(t.kana,o,n.kanaBoundaries,n.kanaHeadList,"kana",kn,Tt,1,t.kanaMask,n.kanaMask),t.kunrei!==null&&n.kunrei!==null&&Et(t.kunrei,n.kunrei.text,n.kunreiHeads,n.kunreiHeadList,"kunrei",Nt,_t,2,t.kunreiMask,n.kunreiMask),t.hepburn!==null&&n.hepburn!==null){let s=ce;Et(t.hepburn,n.hepburn.text,n.hepburnHeads,n.hepburnHeadList,"hepburn",Nt*s,_t*s,2,t.hepburnMask,n.hepburnMask)}if(C===null)return null;let e=C;return C=null,{tier:1,intraScore:e.intraScore,space:e.space,positions:e.positions??ae(e.len,e.offset)}};var de=16,Ae=-3,ke=-1,me=8,ge=4,ye=2,Se=.55,xe=.3,Ie=.15,gn=2,X=-1e9,Lt=new Int32Array(0),yn=new Uint8Array(0);function we(t){Lt.length<t&&(Lt=new Int32Array(t),yn=new Uint8Array(t))}function be(t,n){let o=0;for(let e=0;e<n.length&&o<t.length;e++)t[o]===n[e]&&o++;return o===t.length}function Sn(t,n,o){let e=t.length,s=n.length;if(e===0||s===0||!be(t,n))return null;let i=s+1;we((e+1)*i);let c=Lt,r=yn;for(let k=0;k<=s;k++)c[k]=0,r[k]=0;for(let k=1;k<=e;k++){let x=k*i,y=(k-1)*i,I=t[k-1];c[x]=X,r[x]=0;for(let m=1;m<=s;m++){let A=X,S=0,b=c[x+m-1];b>X&&(A=b+(r[x+m-1]?Ae:ke),S=0);let N=c[y+m-1];if(I===n[m-1]&&N>X){let f=0;o.has(m-1)&&(f+=me),r[y+m-1]&&(f+=ge),k===1&&(f+=ye);let w=N+de+f;w>=A&&(A=w,S=1)}c[x+m]=A,r[x+m]=S}}let a=e*i,p=-1,u=X;for(let k=e;k<=s;k++)c[a+k]>u&&(u=c[a+k],p=k);if(p<0||u===X)return null;let l=[],h=e,d=p;for(;h>0&&d>0;)r[h*i+d]&&(l.push(d-1),h--),d--;return l.reverse(),l}function xn(t,n,o,e){let s=0;for(let u of t)e.has(u)&&s++;let i=s/n,c=1,r=1;for(let u=1;u<t.length;u++)t[u]===t[u-1]+1?(r++,r>c&&(c=r)):r=1;let a=c/n,p=1-t[0]/o;return Se*i+xe*a+Ie*p}function Ee(t,n,o,e,s){if(n.length===0||!ut(t,o)||!ln(t,n,s))return null;let i=null,c=(r,a,p)=>{if(r===t.final){if(a.length<gn)return;let u=Sn(a,n,e);if(u===null)return;let l=xn(u,a.length,n.length,e);(i===null||l>i.intraScore)&&(i={intraScore:l,positions:u});return}for(let u=t.outStart[r];u<t.outStart[r+1];u++){let l=t.outEdges[u],h=t.ch[l],d=n.indexOf(h,p);d>=0&&c(t.to[l],a+h,d+1)}};return c(0,"",0),i}var In=(t,n)=>{let o=null,e=(i,c,r,a,p,u)=>{if(i===null||i.length<gn||r.length===0||(c&~a)!==0)return;let l=Sn(i,r,p);if(l===null)return;let h=xn(l,i.length,r.length,p);(o===null||h>o.intraScore)&&(o={intraScore:h,space:u,positions:l})};if(t.lattice!==null&&n.hasKeystrokeChar){let i=Ee(t.lattice,n.kana.text,n.kanaMask,n.kanaBoundaries,t.singleChar);i!==null&&(o={intraScore:i.intraScore,space:"kana",positions:i.positions})}else t.shadowed||e(t.kana,t.kanaMask,n.kana.text,n.kanaMask,n.kanaBoundaries,"kana");if(n.kunrei&&e(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,n.kunrei.boundaries,"kunrei"),n.hepburn&&e(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,n.hepburn.boundaries,"hepburn"),o===null)return null;let s=o;return{tier:2,intraScore:s.intraScore,space:s.space,positions:s.positions}};var Rt=2;function tt(t){return Math.max(1,Math.ceil(t/3))}var Mt=new Int32Array(0);function Te(t){return Mt.length<t&&(Mt=new Int32Array(t)),Mt}function Ne(t,n,o){let e=t.length,s=n.length;if(e===0)return 0;if(s+o<e)return o+1;let i=o+1,c=s+1,r=Te((e+1)*c);for(let h=0;h<=Math.min(s,o);h++)r[h]=h;for(let h=1;h<=e;h++){let d=h*c,k=(h-1)*c,x=(h-2)*c,y=Math.max(1,h-o),I=Math.min(s,h+o),m=t[h-1],A=h>1?t[h-2]:"",S=h<=o?h:i;h<=o&&(r[d]=h);for(let b=y;b<=I;b++){let N=m===n[b-1]?0:1,f=b<=h-1+o?r[k+b]+1:i,w=b-1>=h-o?r[d+b-1]+1:i,E=Math.min(f,w,r[k+b-1]+N);h>1&&b>1&&m===n[b-2]&&A===n[b-1]&&(E=Math.min(E,r[x+b-2]+1)),r[d+b]=E,E<S&&(S=E)}if(S>o)return i}let a=e*c,p=Math.max(0,e-o),u=Math.min(s,e+o),l=r[a+p];for(let h=p+1;h<=u;h++)r[a+h]<l&&(l=r[a+h]);return l}var Ct=new Int32Array(0),Ot=new Int32Array(0);function _e(t,n,o){let e=n.length;if(e===0)return null;let s=Y(t),{X:i,inStart:c,inFrom:r,inCh:a,inBit:p}=s;Ot.length<i&&(Ot=new Int32Array(i));let u=Ot;u[0]=0;for(let m=1;m<i;m++){let A=1073741824;for(let S=c[m];S<c[m+1];S++){let b=u[r[S]]+((p[S]&o)===0?1:0);b<A&&(A=b)}u[m]=A}let l=-1;for(let[m,A]of s.finals)A>=Rt&&e+tt(A)>=A&&u[m]<=tt(A)&&(l=Math.max(l,tt(A)));if(l<0)return null;let h=1<<29,d=e+1;Ct.length<i*d&&(Ct=new Int32Array(i*d));let k=Ct,x=s.depth,y=(m,A)=>{let S=A-x[m];return A<0||S>l||S<-l?h:k[m*d+A]};for(let m=0;m<=Math.min(e,l);m++)k[m]=m;for(let m=1;m<i;m++){let A=x[m],S=Math.max(0,A-l),b=Math.min(e,A+l),N=m*d;for(let f=S;f<=b;f++){if(f===0){k[N]=A;continue}let w=n.charCodeAt(f-1),E=f>1?n.charCodeAt(f-2):-1,g=(f-1>=S?k[N+f-1]:h)+1;for(let T=c[m];T<c[m+1];T++){let _=r[T],L=a[T],M=y(_,f)+1,P=y(_,f-1)+(L===w?0:1);if(M<g&&(g=M),P<g&&(g=P),L===E){for(let R=c[_];R<c[_+1];R++)if(a[R]===w){let Q=y(r[R],f-2)+1;Q<g&&(g=Q)}}}k[N+f]=g}}let I=null;for(let[m,A]of s.finals){if(A<Rt)continue;let S=tt(A);if(e+S<A||u[m]>S)continue;let b=h;for(let f=Math.max(0,A-l);f<=Math.min(e,A+l);f++){let w=k[m*d+f];w<b&&(b=w)}if(b>S)continue;let N=1-b/(S+1);(I===null||N>I)&&(I=N)}return I}var wn=(t,n)=>{let o=null,e=(i,c,r,a,p)=>{if(i===null||i.length<Rt||r.length===0)return;let u=tt(i.length);if(Wt(c&~a)>u)return;let l=Ne(i,r,u);if(l>u)return;let h=1-l/(u+1);(o===null||h>o.intraScore)&&(o={intraScore:h,space:p})};if(t.lattice!==null&&n.hasKeystrokeChar){let i=_e(t.lattice,n.kana.text,n.kanaMask);i!==null&&(o={intraScore:i,space:"kana"})}else t.shadowed||e(t.kana,t.kanaMask,n.kana.text,n.kanaMask,"kana");if(n.kunrei&&t.kunrei!==null?e(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,"kunrei"):n.hepburn&&t.hepburn!==null&&e(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,"hepburn"),o===null)return null;let s=o;return{tier:3,intraScore:s.intraScore,space:s.space,positions:null}};var Le=.8,Me=.2,Ce=.3,bn=(t,n)=>{if(t.shadowed)return null;let o=pn(t),e=Jt(n);if(o.size===0||e.size===0)return null;let s=0;for(let p of o)e.has(p)&&s++;let i=o.size-s,c=e.size-s,r=s+Le*i+Me*c;if(r===0)return null;let a=s/r;return a<Ce?null:{tier:4,intraScore:a,space:"kana",positions:null}};var Oe=[mn,In,wn,bn];function Re(t){return t==="literal"?["literal"]:t==="phonetic"?["phonetic"]:["literal","phonetic"]}function He(t,n,o){let e=o.map(s=>hn(t,n,s));if(e.length===2&&e[0].kana===e[1].kana){if(e[0].lattice===null)return[e[1]];e[0].shadowed=!0}return e}function Ke(t){return t<0?0:t>1?1:t}function Ue(t){return(4-t.tier+Ke(t.intraScore))/4}function je(t,n,o){let e=null;for(let s of o){let i=t(s,n);if(i===null)continue;let c=Ue(i);(e===null||c>e.score)&&(e={refIndex:n.refIndex,score:c,tier:i.tier,match:i})}return e}function En(t,n,o){let e=t.trim();if(e==="")return[];let s=dn(e,o.separatorExpansion);if(s.length===0)return[];let i=Re(o.matching),c=s.flatMap(h=>He(h,o.romaji,i)),r=Oe.slice(0,o.maxTier),{limit:a,minScore:p}=o,u=[],l=new Uint8Array(n.length);for(let h of r){for(let d=0;d<n.length;d++){if(l[d])continue;let k=je(h,n[d],c);k!==null&&(l[d]=1,k.score>=p&&u.push(k))}if(a!==void 0&&u.length>=a)break}return u.sort((h,d)=>d.score-h.score||h.refIndex-d.refIndex),a!==void 0?u.slice(0,a):u}function Pe(t,n){for(let o of n)if(t>=o.romajiStart&&t<o.romajiStart+o.romajiLen){let e=[];for(let s=0;s<o.kanaLen;s++)e.push(o.kanaStart+s);return e}return[]}function De(t){if(t.length===0)return[];t.sort((o,e)=>o[0]-e[0]||o[1]-e[1]);let n=[];for(let[o,e]of t){let s=n[n.length-1];s&&o<=s[1]?e>s[1]&&(s[1]=e):n.push([o,e])}return n}function Tn(t,n){if(n.positions===null)return[];let o=new Set;if(n.space==="kana")for(let i of n.positions)o.add(i);else{let i=n.space==="kunrei"?t.kunrei:t.hepburn;if(i)for(let c of n.positions)for(let r of Pe(c,i.syllables))o.add(r)}let e=t.kana.map,s=[];for(let i of o){let c=e[i];c&&s.push([c[0],c[1]])}return De(s)}var Be=3,Fe=0;function ze(t,n,o,e){return{romaji:t,separatorExpansion:n,matching:o,maxTier:e.maxTier??Be,minScore:e.minScore??Fe,limit:e.limit,includeMatches:e.includeMatches??!1}}function Nn(t,n={}){let o=n.getText??(a=>a),e=n.romaji??"both",s=n.separatorExpansion??!1,i=n.matching??"both",c={limit:n.limit,maxTier:n.maxTier,minScore:n.minScore,includeMatches:n.includeMatches},r=t.map((a,p)=>$t(o(a),p,e));return{size:t.length,search(a,p={}){let u={...c,...p},l=ze(e,s,i,u);return En(a,r,l).map(d=>{let k={item:t[d.refIndex],refIndex:d.refIndex,score:d.score,tier:d.tier};return l.includeMatches&&d.match.positions!==null&&(k.matches=Tn(r[d.refIndex],d.match)),k})}}}function We(t,n,o={}){return Nn(n,o).search(t)}return Rn(ve);})();
|
|
1
|
+
/*! @ycookiey/yfuzzy v0.5.0 | MIT | includes wanakana (MIT), Mozc romaji table (BSD-3-Clause) | https://github.com/ycookiey/yfuzzy */
|
|
2
|
+
"use strict";var yfuzzy=(()=>{var Mn=Object.defineProperty;var vt=Object.getOwnPropertyDescriptor;var zt=Object.getOwnPropertyNames;var Gt=Object.prototype.hasOwnProperty;var Xt=(n,t)=>{for(var o in t)Mn(n,o,{get:t[o],enumerable:!0})},$t=(n,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of zt(t))!Gt.call(n,r)&&r!==o&&Mn(n,r,{get:()=>t[r],enumerable:!(e=vt(t,r))||e.enumerable});return n};var Jt=n=>$t(Mn({},"__esModule",{value:!0}),n);var fo={};Xt(fo,{createIndex:()=>Wt,search:()=>uo});var Vt="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function Qt(n){let t=[],o=0;for(let e of n)t.push({cp:e,start:o,end:o+e.length}),o+=e.length;return t}function Yn(n,t,o){let e=t==="all"||t==="preKana",r=t==="all"||t==="postKana",i=Qt(n),c="",s=[];for(let a=0;a<i.length;a++){let f=i[a],l=f.cp.codePointAt(0),u,h=f.end;if(e&&l===12288)u=" ";else if(e&&l>=65281&&l<=65374){let d=String.fromCharCode(l-65248);u=d>="A"&&d<="Z"?d.toLowerCase():d}else if(e&&l>=65&&l<=90)u=f.cp.toLowerCase();else if(r&&l>=65377&&l<=65437){let d=Vt[l-65377],k=a+1<i.length?i[a+1]:null,S=k?k.cp.codePointAt(0):-1;if(S===65438||S===65439){let w=(d+(S===65438?"\u3099":"\u309A")).normalize("NFC");[...w].length===1?(u=w,h=k.end,a++):u=d}else u=d}else r&&l===65438?u="\u309B":r&&l===65439?u="\u309C":r&&l>=12353&&l<=12438?u=String.fromCodePoint(l+96):u=f.cp;if(o){let d=[f.start,h];for(let k=0;k<u.length;k++)s.push(d)}c+=u}return{text:c,map:s}}function Zn(n){let{text:t,map:o}=Yn(n,"all",!0);return{text:t,map:o}}function G(n,t){return Yn(n,t,!1).text}var qn={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},nt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var tt={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},et={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var en={single:qn,digraphs:nt},on={single:tt,digraphs:et};function rn(n){return n==="both"||n==="kunrei"}function sn(n){return n==="both"||n==="hepburn"}function dn(n){return rn(n)?en:sn(n)?on:null}function ot(n,t){if(n.length===2){let e=t.digraphs[n];if(e!==void 0)return e}let o=t.single[n];return o!==void 0?o:n.toLowerCase()}function rt(n){return/^[bcdfghjklmnpqrstvwxyz]/.test(n)}var Yt="\u30C3",Zt="\u30FC",qt=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),ne=/[ァ-ヺー]/,te=/[ァ-ヺ]/,ee=/[0-9a-z]/;function oe(n){return ne.test(n)||ee.test(n)}function re(n){let t=[],o=0,e=!1,r=-1;for(;o<n.length;){let i=n[o];if(i===Yt){e||(e=!0,r=o),o+=1;continue}if(i===Zt){let l=t[t.length-1];l&&(l.kanaLen+=1),o+=1;continue}let c=e?r:o,s=o+1<n.length?n[o+1]:"",a=s!==""&&qt.has(s)&&te.test(i)?2:1,f=n.slice(o,o+a);t.push({core:f,sokuon:e,kanaStart:c,kanaLen:o+a-c}),e=!1,r=-1,o+=a}return t}function se(n,t){let o=[],e=new Set,r=0,i="";for(let c of n){let s=ot(c.core,t);c.sokuon&&s.length>0&&rt(s)&&(s=s[0]+s),e.add(r),o.push({kanaStart:c.kanaStart,kanaLen:c.kanaLen,romajiStart:r,romajiLen:s.length}),r+=s.length,i+=s}return{text:i,syllables:o,boundaries:e}}function cn(n,t){return se(re(n),t)}function kn(n,t){return cn(n,t).text}function st(n){let t=new Set([0]);for(let o=0;o<n.length;o++)if(!oe(n[o])){let e=o+1;e<n.length&&t.add(e)}return t}function mn(n){let t="^"+n+"$",o=new Set;for(let e=0;e+1<t.length;e++)o.add(t.slice(e,e+2));return o}function C(n){let t=0;for(let o=0;o<n.length;o++)t|=1<<n.charCodeAt(o)%31;return t}function it(n){let t=0,o=n;for(;o!==0;)o&=o-1,t++;return t}var ct=/[a-z]/;function ie(n,t){let o=st(n.text),e=n.text,r=i=>t.slice(n.map[i][0],n.map[i][1]);for(let i=1;i<e.length;i++){if(!ct.test(e[i])||!ct.test(e[i-1]))continue;let c=r(i),s=r(i-1);c!==c.toLowerCase()&&s===s.toLowerCase()&&o.add(i)}return o}function Ln(n,t){let o=new Set;if(n===null)return o;for(let e of n.syllables)t.has(e.kanaStart)&&o.add(e.romajiStart);return o}function gn(n){return[...n].sort((t,o)=>t-o)}function at(n,t,o){let e=Zn(n),r=rn(o)?cn(e.text,en):null,i=sn(o)?cn(e.text,on):null,c=ie(e,n),s=Ln(r,c),a=Ln(i,c),f=dn(o),l=f!==null&&e.text.includes("\u30FC")?cn(e.text.replaceAll("\u30FC","-"),f):null,u=Ln(l,c);return{refIndex:t,raw:n,kana:e,kanaBoundaries:c,kunreiHeads:s,hepburnHeads:a,kanaHeadList:gn(c),kunreiHeadList:gn(s),hepburnHeadList:gn(a),long:l,longHeads:u,longHeadList:gn(u),longMask:l?C(l.text):0,kanaMask:C(e.text),kunreiMask:r?C(r.text):0,hepburnMask:i?C(i.text):0,kunrei:r,hepburn:i,hasKeystrokeChar:/[a-z'-]/.test(e.text),bigrams:null}}function lt(n){return n.bigrams===null&&(n.bigrams=mn(n.kana.text)),n.bigrams}var ce={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},ut={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},ht={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},pt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},ft={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},ae={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...pt,...ht},le={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},ue={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function dt(n){return Object.entries(n).reduce((t,[o,e])=>(t[o]=typeof e=="string"?{"":e}:dt(e),t),{})}function fe(n,t){return t.split("").reduce((o,e)=>(o[e]===void 0&&(o[e]={}),o[e]),n)}function he(){let n=dt(ce),t=r=>fe(n,r);Object.entries(ut).forEach(([r,i])=>{Object.entries(ht).forEach(([c,s])=>{t(r+c)[""]=i+s})}),Object.entries(ue).forEach(([r,i])=>{Object.entries(pt).forEach(([c,s])=>{t(r+c)[""]=i+s})}),["n","n'","xn"].forEach(r=>{t(r)[""]="\u3093"}),n.c=JSON.parse(JSON.stringify(n.k)),Object.entries(ft).forEach(([r,i])=>{let c=r.slice(0,r.length-1),s=r.charAt(r.length-1),a=t(c);a[s]=JSON.parse(JSON.stringify(t(i)))});function o(r){return[...Object.entries(ft),["c","k"]].reduce((i,[c,s])=>r.startsWith(s)?i.concat(r.replace(s,c)):i,[])}Object.entries(ae).forEach(([r,i])=>{let c=u=>u.charAt(u.length-1),s=u=>u.slice(0,u.length-1),a=`x${r}`,f=t(a);f[""]=i;let l=t(`l${s(r)}`);l[c(r)]=f,o(r).forEach(u=>{["l","x"].forEach(h=>{let d=t(h+s(u));d[c(u)]=t(h+r)})})}),Object.entries(le).forEach(([r,i])=>{t(r)[""]=i});function e(r){return Object.entries(r).reduce((i,[c,s])=>(i[c]=c?e(s):`\u3063${s}`,i),{})}return[...Object.keys(ut),"c","y","w","j"].forEach(r=>{let i=n[r];i[r]=e(i)}),delete n.n.n,Object.freeze(JSON.parse(JSON.stringify(n)))}var On=null;function kt(){return On==null&&(On=he()),On}function pe(n,t){let o=t;function e(c,s){if(c[s]!==void 0)return Object.assign({"":c[""]+s},c[s])}function r(c,s){let a=c.charAt(0);return i(Object.assign({"":a},o[a]),c.slice(1),s,s+1)}function i(c,s,a,f){if(!s)return c[""]?[[a,f,c[""]]]:[];if(Object.keys(c).length===1)return[[a,f,c[""]],...r(s,f)];let l=e(c,s.charAt(0));return l===void 0?[[a,f,c[""]],...r(s,f)]:i(l,s.slice(1),a,f+1)}return r(n,0)}function mt(n){return pe(n.toLowerCase(),kt()).map(t=>t[2]??"").join("")}function gt(){let n=[],t=(o,e)=>{for(let[r,i]of Object.entries(o))r===""?e!==""&&/^[ぁ-ゖヵヶ]+$/.test(i)&&n.push([e,i]):t(i,e+r)};return t(kt(),""),n}function Cn(n){return mt(n)}var de=new Set(["ci","ce","qu"]),ke=[["ci","\u3057"],["ce","\u305B"],["qu","\u304F"],["nn","\u3093"],["-","\u30FC"],["t'i","\u3066\u3043"],["t'yu","\u3066\u3085"],["d'i","\u3067\u3043"],["d'yu","\u3067\u3085"],["t'u","\u3068\u3045"],["d'u","\u3069\u3045"],["hwa","\u3075\u3041"],["hwi","\u3075\u3043"],["hwe","\u3075\u3047"],["hwo","\u3075\u3049"],["hwyu","\u3075\u3085"],["zwa","\u305A\u3041"],["zwi","\u305A\u3043"],["zwu","\u305A\u3045"],["zwe","\u305A\u3047"],["zwo","\u305A\u3049"],["wyi","\u3090"],["wye","\u3091"]],me=new Set("qvlxkgszjtdhfbpmyrwc"),An=null,Rn=0;function Hn(){if(An!==null)return An;let n=new Map,t=(e,r)=>{let i=G(r,"postKana"),c=n.get(i);c===void 0&&n.set(i,c=new Set),c.add(e)},o=[];for(let[e,r]of gt())de.has(e)||r.startsWith("\u3063")&&e.length>1&&e[0]===e[1]||o.push([e,r]);o.push(...ke);for(let[e,r]of o)t(e,r),!r.startsWith("\u3063")&&(me.has(e[0])&&t(e[0]+e,"\u3063"+r),e.startsWith("ch")&&t("t"+e,"\u3063"+r));for(let e of n.keys())e.length>Rn&&(Rn=e.length);return An=new Map([...n].map(([e,r])=>[e,[...r]])),An}function At(){return Hn(),Rn}var ge=32;function wt(n){let t=Hn(),o=At(),e=n.length,r=Array.from({length:e+1},(A,T)=>[T]),i=e+1,c=[],s=new Set,a=(A,T,_,M)=>{let L=`${A},${T},${_},${M}`;s.has(L)||(s.add(L),c.push([A,T,_,M]))},f=!1;for(let A=0;A<e;A++){a(A,A+1,n[A],0);let T=new Map;for(let _=1;_<=o&&A+_<=e;_++){let M=t.get(n.slice(A,A+_));if(M!==void 0)for(let L of M){f=!0;let v=A;for(let K=0;K<L.length-1;K++){let tn=L.slice(0,K+1),z=T.get(tn);z===void 0&&(z=i++,T.set(tn,z),r[A].push(z)),a(v,z,L[K],1),v=z}a(v,A+_,L[L.length-1],1)}}}if(!f)return null;let l=new Int32Array(i),u=0;for(let A of r)for(let T of A)l[T]=u++;let h=c.length,d=c.map(([A,T,_,M])=>[l[A],l[T],_,M]);d.sort((A,T)=>A[0]-T[0]||A[1]-T[1]);let k=new Int32Array(h),S=new Int32Array(h),x=new Array(h),w=new Uint8Array(h),g=new Int32Array(h);d.forEach(([A,T,_,M],L)=>{k[L]=A,S[L]=T,x[L]=_,w[L]=M,g[L]=C(_)});let m=u,y=new Int32Array(m+1);for(let A=0;A<h;A++)y[k[A]+1]++;for(let A=0;A<m;A++)y[A+1]+=y[A];let b=new Int32Array(h);for(let A=0;A<h;A++)b[A]=A;let N=new Set;for(let A=y[0];A<y[1];A++)N.add(x[b[A]]);let p=new Set([...N].map(A=>A.charCodeAt(0))),I=[],E=(A,T,_)=>{if(I!==null){if(A===l[e]){I.length>=ge?I=null:I.push([T,_]);return}for(let M=y[A];M<y[A+1];M++)E(S[M],T+x[M],_||w[M]===1)}};return E(0,"",!1),{nodeCount:m,final:l[e],from:k,to:S,ch:x,ks:w,bit:g,outStart:y,outEdges:b,firstChars:N,firstCodes:p,paths:I}}var Sn=new Uint8Array(0);function It(n){return Sn.length<n&&(Sn=new Uint8Array(n)),Sn.fill(0,0,n),Sn}function xn(n,t){let o=It(n.nodeCount);o[0]=1;for(let e=0;e<n.from.length;e++)o[n.from[e]]&&(n.bit[e]&t)!==0&&(o[n.to[e]]=1);return o[n.final]===1}function bt(n,t,o){let e=It(n.nodeCount);e[0]=1;for(let r=0;r<t.length;r++){let i=t[r];for(let c=n.nodeCount-1;c>=0;c--)if(e[c])for(let s=n.outStart[c];s<n.outStart[c+1];s++){let a=n.outEdges[s];n.ch[a]===i&&(o&&c===0&&n.to[a]===n.final||(e[n.to[a]]=1))}if(e[n.final])return!0}return!1}var St=new Int32Array(0),xt=new Int32Array(0),X=new Int32Array(0),$=0;function yn(n,t,o,e){e.plain=0,e.ks=0;let r=n.nodeCount*2;X.length<r&&(X=new Int32Array(r),St=new Int32Array(r),xt=new Int32Array(r),$=0);let i=St,c=xt,s=1;i[0]=0;let a=n.final*2;for(let f=o;f<t.length&&s>0;f++){let l=t[f];$++;let u=0;for(let k=0;k<s;k++){let S=i[k],x=S>>1,w=S&1;for(let g=n.outStart[x];g<n.outStart[x+1];g++){let m=n.outEdges[g];if(n.ch[m]!==l)continue;let y=n.to[m]*2+(w|n.ks[m]);X[y]!==$&&(X[y]=$,c[u++]=y)}}let h=f-o+1;X[a]===$&&(e.plain=h),X[a+1]===$&&(e.ks=h);let d=i;i=c,c=d,s=u}}var yt=new WeakMap;function an(n){let t=yt.get(n);if(t!==void 0)return t;let o=n.nodeCount,e=Array.from({length:o},()=>[]);e[0].push(0);for(let p=0;p<o;p++)for(let I=n.outStart[p];I<n.outStart[p+1];I++){let E=n.to[n.outEdges[I]];for(let A of e[p])e[E].includes(A+1)||e[E].push(A+1)}for(let p of e)p.sort((I,E)=>I-E);let r=new Int32Array(o+1);for(let p=0;p<o;p++)r[p+1]=r[p]+e[p].length;let i=r[o],c=(p,I)=>r[p]+e[p].indexOf(I),s=new Int32Array(i);for(let p=0;p<o;p++)for(let I of e[p])s[c(p,I)]=I;let a=Array.from({length:i},()=>[]);for(let p=0;p<n.from.length;p++){let I=n.from[p],E=n.to[p];for(let A of e[I])a[c(E,A+1)].push([c(I,A),n.ch[p].charCodeAt(0),n.bit[p],n.ks[p]])}let f=new Int32Array(i+1);for(let p=0;p<i;p++)f[p+1]=f[p]+a[p].length;let l=f[i],u=new Int32Array(l),h=new Int32Array(l),d=new Int32Array(l),k=new Uint8Array(l),S=0;for(let p of a)for(let[I,E,A,T]of p)u[S]=I,h[S]=E,d[S]=A,k[S++]=T;let x=new Int32Array(i+1);for(let p=0;p<l;p++)x[u[p]+1]++;for(let p=0;p<i;p++)x[p+1]+=x[p];let w=x.slice(0,i),g=new Int32Array(l),m=new Int32Array(l),y=new Uint8Array(l);for(let p=0;p<i;p++)for(let I=f[p];I<f[p+1];I++){let E=w[u[I]]++;g[E]=p,m[E]=h[I],y[E]=k[I]}let b=e[n.final].map(p=>[c(n.final,p),p]),N={X:i,depth:s,inStart:f,inFrom:u,inCh:h,inBit:d,inKs:k,outStart:x,outTo:g,outCh:m,outKs:y,finals:b};return yt.set(n,N),N}function Et(n,t,o="phonetic"){let e=G(n,"preKana"),r=G(o==="phonetic"?Cn(e):e,"postKana"),i=o==="phonetic",c=i&&rn(t)?kn(r,en):null,s=i&&sn(t)?kn(r,on):null,a=i?Se(e,t):null;return{kana:r,singleChar:xe(r),kunrei:c,hepburn:s,kanaMask:C(r),kunreiMask:c!==null?C(c):0,hepburnMask:s!==null?C(s):0,long:a,longMask:a!==null?C(a):0,lattice:i?null:wt(r),shadowed:!1,bigrams:null}}var Ae=/([aiueo])\1|[aiueo]-/;function Se(n,t){let o=dn(t);if(o===null||!Ae.test(n))return null;let e=n.replace(/([aiueo])\1+/g,"$1-");return kn(G(Cn(e),"postKana"),o)}function xe(n){return n.length===0?!1:n.length===String.fromCodePoint(n.codePointAt(0)).length}function Tt(n){return n.bigrams===null&&(n.bigrams=mn(n.kana)),n.bigrams}var ye=["-"," ","\u30FB","_"];function we(n){return n===!1||n===void 0?[]:n===!0?ye:n}function Ie(n){return n.replace(/[\\\]^-]/g,"\\$&")}function Kn(n,t){let o=we(t);if(o.length===0)return n===""?[]:[n];let e=o.map(Ie).join(""),r=new RegExp(`[${e}]`,"g");if(!r.test(n))return n===""?[]:[n];let i=[],c=new Set,s=l=>{l!==""&&!c.has(l)&&(c.add(l),i.push(l))};s(n);let a=[...n].at(-1);return o.includes(a)||s(n.replace(r,"")),s(n.replace(r," ")),i}var un=1,q=.9,D=.97,B=.87,Bn=.99,O=3,H=2,Y=1,P=0,fn=["inner","initials","word","prefix"];function W(n,t){return(n+t)/4}function Z(n,t,o,e,r){return{intraScore:W(n,t),cls:n,space:o,offset:e,len:r,positions:null}}function be(n,t){let o=[];for(let e=0;e<n;e++)o.push(t+e);return o}function Ee(n,t,o,e){return n.length===0||t.length===0||!t.startsWith(n)?null:Z(O,n.length/t.length*e,o,0,n.length)}function Te(n,t,o,e,r,i){if(n.length<i||t.length===0)return null;let c=t.indexOf(n,1);if(c<0)return null;let s=n.length/t.length*r;for(let a=c;a>=0;a=t.indexOf(n,a+1))if(o.has(a))return Z(H,s,e,a,n.length);return Z(P,s,e,c,n.length)}var Un=new Uint8Array(0),jn=new Uint8Array(0);function Fn(n,t,o,e,r){let i=n.length,c=t.length,s=o.length;if(i<2||c===0||s<2)return null;let a=n.charCodeAt(0),f=!1;for(let x=0;x<s&&!f;x++)f=t.charCodeAt(o[x])===a;if(!f)return null;Un.length<i*s&&(Un=new Uint8Array(i*s)),jn.length<(i+1)*(s+1)&&(jn=new Uint8Array((i+1)*(s+1)));let l=Un,u=jn,h=(x,w)=>{let g=o[w],m=0;for(;x+m<i&&g+m<c&&n.charCodeAt(x+m)===t.charCodeAt(g+m);)m++;return m},d=(x,w)=>{let g=o[x]+w,m=x+1;for(;m<s&&o[m]<g;)m++;return m};for(let x=i-1;x>=0;x--){for(let w=0;w<s;w++){let g=h(x,w),m=0;for(let y=1;y<=g&&!m;y++)(x+y===i||u[(x+y)*(s+1)+d(w,y)])&&(m=1);l[x*s+w]=m}u[x*(s+1)+s]=0;for(let w=s-1;w>=0;w--)u[x*(s+1)+w]=l[x*s+w]|u[x*(s+1)+w+1]}if(!u[0])return null;let k=[],S=0;for(;!l[S];)S++;for(let x=0;x<i;){let w=h(x,S);for(;!(x+w===i||u[(x+w)*(s+1)+d(S,w)]);)w--;for(let g=0;g<w;g++)k.push(o[S]+g);if(x+=w,x<i)for(S=d(S,w);!l[x*s+S];)S++}return{intraScore:W(Y,i/c*r),cls:Y,space:e,offset:0,len:0,positions:k}}var wn={plain:0,ks:0},j=[new Int32Array(4),new Int32Array(4)],Q=[new Int32Array(4),new Int32Array(4)];function Nt(n,t,o,e){o>j[n][t]&&(j[n][t]=o,Q[n][t]=e)}function Ne(n,t,o,e){let r=t.length;if(r===0)return;for(let s=0;s<2;s++)j[s].fill(0),Q[s].fill(0);if(n.paths!==null)for(let[s,a]of n.paths){let f=a?1:0;for(let l=t.indexOf(s);l>=0;l=t.indexOf(s,l+1)){let u=l===0?O:o.has(l)?H:P;f===1&&u!==O&&s.length<2||(s.length>j[f][u]||s.length===j[f][u]&&l<Q[f][u])&&(j[f][u]=s.length,Q[f][u]=l)}}else for(let s=0;s<r;s++){if(!n.firstCodes.has(t.charCodeAt(s)))continue;yn(n,t,s,wn);let a=s===0?O:o.has(s)?H:P;Nt(0,a,wn.plain,s),(a===O||wn.ks>=2)&&Nt(1,a,wn.ks,s)}let i=[un,D],c=[q,B];for(let s=0;s<2;s++){let a=j[s][O];a>0&&F(Z(O,a/r*i[s],"kana",0,a))}for(let s=0;s<2;s++){let a=j[s][H];a>0&&F(Z(H,a/r*c[s],"kana",Q[s][H],a))}if(e.length>=2){let s=an(n),a=s.finals[s.finals.length-1][1];if(a>=2&&(R===null||R.intraScore<W(Y,a/r*q))){let f=_e(n,t,e);for(let l=0;l<2;l++){let u=f[l];if(u){let h=W(Y,u.length/r*c[l]);F({intraScore:h,cls:Y,space:"kana",offset:0,len:0,positions:u})}}}}for(let s=0;s<2;s++){let a=j[s][P];a>0&&F(Z(P,a/r*c[s],"kana",Q[s][P],a))}}var U=new Int32Array(0),Pn=new Int32Array(0),J=new Int32Array(0),ln=new Int32Array(0),V=new Int32Array(0),In=new Int32Array(0),bn=new Int32Array(0),Dn=new Int32Array(0),En=0;function _e(n,t,o){let e=[null,null],r=t.length,i=!1;for(let d=0;d<o.length&&!i;d++)i=n.firstCodes.has(t.charCodeAt(o[d]));if(!i)return e;let c=an(n),{outStart:s,outTo:a,outCh:f,outKs:l}=c,u=c.X*2;U.length<u&&(U=new Int32Array(u),Pn=new Int32Array(u),J=new Int32Array(u),ln=new Int32Array(u),V=new Int32Array(u),In=new Int32Array(u),bn=new Int32Array(u),Dn=new Int32Array(u),En=0);let h=1<<30;U.fill(h,0,u),U[0]=0,J[0]=-1;for(let d of o){let k=0;for(let S=0;S<u;S++)U[S]<=d&&(ln[k]=S,V[k++]=S);for(let S=d;S<r&&k>0;S++){let x=t.charCodeAt(S);En++;let w=0;for(let y=0;y<k;y++){let b=ln[y],N=b>>1,p=b&1;for(let I=s[N];I<s[N+1];I++){if(f[I]!==x)continue;let E=a[I]*2+(p|l[I]);Dn[E]!==En&&(Dn[E]=En,In[w]=E,bn[w++]=V[y],S+1<U[E]&&(U[E]=S+1,Pn[E]=d,J[E]=V[y]))}}let g=ln;ln=In,In=g;let m=V;V=bn,bn=m,k=w}}for(let d=0;d<2;d++)for(let k=c.finals.length-1;k>=0&&e[d]===null;k--){let[S,x]=c.finals[k],w=S*2+d;if(x<2||U[w]>=h)continue;let g=[];for(let m=w;m>0&&J[m]!==-1;m=J[m]){let y=Pn[m];for(let b=U[m]-1;b>=y;b--)g.push(b);if(J[m]===0)break}e[d]=g.reverse()}return e}var R=null;function F(n){n!==null&&(R===null||n.intraScore>R.intraScore)&&(R=n)}function Tn(n,t,o,e,r,i,c,s,a,f){(a&~f)===0&&(F(Ee(n,t,r,i)),F(Te(n,t,o,r,c,s)),e.length>=2&&(R===null||R.intraScore<W(Y,n.length/t.length*c))&&F(Fn(n,t,e,r,c)))}var Nn=(n,t)=>{R=null;let o=t.kana.text;if(n.lattice!==null&&t.hasKeystrokeChar?xn(n.lattice,t.kanaMask)&&Ne(n.lattice,o,t.kanaBoundaries,t.kanaHeadList):n.shadowed||Tn(n.kana,o,t.kanaBoundaries,t.kanaHeadList,"kana",un,q,1,n.kanaMask,t.kanaMask),n.kunrei!==null&&t.kunrei!==null&&Tn(n.kunrei,t.kunrei.text,t.kunreiHeads,t.kunreiHeadList,"kunrei",D,B,2,n.kunreiMask,t.kunreiMask),n.hepburn!==null&&t.hepburn!==null){let r=Bn;Tn(n.hepburn,t.hepburn.text,t.hepburnHeads,t.hepburnHeadList,"hepburn",D*r,B*r,2,n.hepburnMask,t.hepburnMask)}if(n.long!==null&&t.long!==null&&Tn(n.long,t.long.text,t.longHeads,t.longHeadList,"long",D,B,2,n.longMask,t.longMask),R===null)return null;let e=R;return R=null,{tier:1,kind:fn[e.cls],intraScore:e.intraScore,space:e.space,positions:e.positions??be(e.len,e.offset)}};function Wn(n,t){for(let o of t)if(n>=o.romajiStart&&n<o.romajiStart+o.romajiLen){let e=[];for(let r=0;r<o.kanaLen;r++)e.push(o.kanaStart+r);return e}return[]}function vn(n){if(n.length===0)return[];n.sort((o,e)=>o[0]-e[0]||o[1]-e[1]);let t=[];for(let[o,e]of n){let r=t[t.length-1];r&&o<=r[1]?e>r[1]&&(r[1]=e):t.push([o,e])}return t}function zn(n,t){if(t.positions===null)return[];let o=new Set;if(t.space==="kana")for(let i of t.positions)o.add(i);else{let i=t.space==="kunrei"?n.kunrei:t.space==="hepburn"?n.hepburn:n.long;if(i)for(let c of t.positions)for(let s of Wn(c,i.syllables))o.add(s)}let e=n.kana.map,r=[];for(let i of o){let c=e[i];c&&r.push([c[0],c[1]])}return vn(r)}var Me=4096;function Le(n,t){let o=0,e=t.length-1;for(;o<e;){let r=o+e+1>>1;t[r]<=n?o=r:e=r-1}return o}function Oe(n,t){return t==="kunrei"?n.kunrei:t==="hepburn"?n.hepburn:t==="long"?n.long:null}function Ce(n,t){return t==="kunrei"?[n.kunreiHeads,n.kunreiHeadList]:t==="hepburn"?[n.hepburnHeads,n.hepburnHeadList]:t==="long"?[n.longHeads,n.longHeadList]:[n.kanaBoundaries,n.kanaHeadList]}function Gn(n,t,o,e,r,i,c){if(o&&i<H)return;let s=e==="kana"?r:r.flatMap(l=>Wn(l,Oe(t,e).syllables)),a=[...new Set(s.map(l=>Le(l,t.kanaHeadList)))].sort((l,u)=>l-u),f={tier:1,kind:fn[i],intraScore:W(i,c),space:e,positions:r};n.push({cls:i,raw:c,words:a,match:f})}function _t(n,t){return Array.from({length:t},(o,e)=>n+e)}function _n(n,t,o,e,r,i,c,s,a,f,l){if(e.length===0||r.length===0||(f&~l)!==0)return;let[u,h]=Ce(t,i),d=r.length;for(let S=r.indexOf(e);S>=0;S=r.indexOf(e,S+1)){let x=S===0?O:u.has(S)?H:P;if(x!==O&&e.length<a)continue;let w=x===O?c:s;Gn(n,t,o,i,_t(S,e.length),x,e.length/d*w)}let k=Fn(e,r,h,i,s);k!==null&&Gn(n,t,o,i,k.positions,k.cls,k.intraScore*4-k.cls)}var hn={plain:0,ks:0};function Re(n,t,o,e){let r=o.kana.text;if(t.lattice!==null&&o.hasKeystrokeChar){let i=t.lattice,c=r.length,s=(a,f,l)=>{let u=a===0?O:o.kanaBoundaries.has(a)?H:P;if(l&&u!==O&&f<2)return;let h=l?u===O?D:B:u===O?un:q;Gn(n,o,e,"kana",_t(a,f),u,f/c*h)};if(i.paths!==null)for(let[a,f]of i.paths)for(let l=r.indexOf(a);l>=0;l=r.indexOf(a,l+1))s(l,a.length,f);else for(let a=0;a<c;a++)i.firstCodes.has(r.charCodeAt(a))&&(yn(i,r,a,hn),hn.plain>0&&s(a,hn.plain,!1),hn.ks>0&&s(a,hn.ks,!0))}else t.shadowed||_n(n,o,e,t.kana,r,"kana",un,q,1,t.kanaMask,o.kanaMask);if(t.kunrei!==null&&o.kunrei!==null&&_n(n,o,e,t.kunrei,o.kunrei.text,"kunrei",D,B,2,t.kunreiMask,o.kunreiMask),t.hepburn!==null&&o.hepburn!==null){let i=Bn;_n(n,o,e,t.hepburn,o.hepburn.text,"hepburn",D*i,B*i,2,t.hepburnMask,o.hepburnMask)}t.long!==null&&o.long!==null&&_n(n,o,e,t.long,o.long.text,"long",D,B,2,t.longMask,o.longMask)}function He(n){let t=new Map;for(let o of n){let e=o.words.join(","),r=t.get(e);(r===void 0||o.match.intraScore>r.match.intraScore)&&t.set(e,o)}return[...t.values()].sort((o,e)=>e.match.intraScore-o.match.intraScore)}function Ke(n,t){return t===null?!0:n.cls!==t.cls?n.cls>t.cls:n.ordered!==t.ordered?n.ordered:n.raw>t.raw}function Ue(n){let t=n,o=s=>s.reduce((a,f)=>a*Math.max(1,f.length),1);for(let s=64;o(t)>Me&&s>1;s>>=1)t=n.map(a=>a.slice(0,s));let e=null,r=[],i=new Set,c=s=>{if(s===t.length){let a=r[0];for(let u of r)u.match.intraScore<a.match.intraScore&&(a=u);let f=!0;for(let u=1;u<r.length&&f;u++)f=r[u-1].words[r[u-1].words.length-1]<r[u].words[0];let l={cls:a.cls,raw:a.raw,ordered:f,parts:r.map(u=>u.match)};Ke(l,e)&&(e=l);return}for(let a of t[s])if(!a.words.some(f=>i.has(f))){for(let f of a.words)i.add(f);r.push(a),c(s+1),r.pop();for(let f of a.words)i.delete(f)}};return c(0),e}function Mt(n,t,o){let e=o;for(let i of n)e=e.filter(c=>i.some(s=>Nn(s,c)!==null));let r=new Map;for(let i of e){let c=[];for(let a=0;a<n.length;a++){let f=[];for(let l of n[a])Re(f,l,i,t[a]);if(f.length===0)break;c.push(He(f))}if(c.length<n.length)continue;let s=Ue(c);s!==null&&r.set(i.refIndex,s)}return r}var je=16,Pe=-3,De=-1,Be=8,Fe=4,We=2,ve=.55,ze=.3,Ge=.15,Lt=2,nn=-1e9,Xn=new Int32Array(0),Ot=new Uint8Array(0);function Xe(n){Xn.length<n&&(Xn=new Int32Array(n),Ot=new Uint8Array(n))}function $e(n,t){let o=0;for(let e=0;e<t.length&&o<n.length;e++)n[o]===t[e]&&o++;return o===n.length}function Ct(n,t,o){let e=n.length,r=t.length;if(e===0||r===0||!$e(n,t))return null;let i=r+1;Xe((e+1)*i);let c=Xn,s=Ot;for(let k=0;k<=r;k++)c[k]=0,s[k]=0;for(let k=1;k<=e;k++){let S=k*i,x=(k-1)*i,w=n[k-1];c[S]=nn,s[S]=0;for(let g=1;g<=r;g++){let m=nn,y=0,b=c[S+g-1];b>nn&&(m=b+(s[S+g-1]?Pe:De),y=0);let N=c[x+g-1];if(w===t[g-1]&&N>nn){let p=0;o.has(g-1)&&(p+=Be),s[x+g-1]&&(p+=Fe),k===1&&(p+=We);let I=N+je+p;I>=m&&(m=I,y=1)}c[S+g]=m,s[S+g]=y}}let a=e*i,f=-1,l=nn;for(let k=e;k<=r;k++)c[a+k]>l&&(l=c[a+k],f=k);if(f<0||l===nn)return null;let u=[],h=e,d=f;for(;h>0&&d>0;)s[h*i+d]&&(u.push(d-1),h--),d--;return u.reverse(),u}function Rt(n,t,o,e){let r=0;for(let l of n)e.has(l)&&r++;let i=r/t,c=1,s=1;for(let l=1;l<n.length;l++)n[l]===n[l-1]+1?(s++,s>c&&(c=s)):s=1;let a=c/t,f=1-n[0]/o;return ve*i+ze*a+Ge*f}function Je(n,t,o,e,r){if(t.length===0||!xn(n,o)||!bt(n,t,r))return null;let i=null,c=(s,a,f)=>{if(s===n.final){if(a.length<Lt)return;let l=Ct(a,t,e);if(l===null)return;let u=Rt(l,a.length,t.length,e);(i===null||u>i.intraScore)&&(i={intraScore:u,positions:l});return}for(let l=n.outStart[s];l<n.outStart[s+1];l++){let u=n.outEdges[l],h=n.ch[u],d=t.indexOf(h,f);d>=0&&c(n.to[u],a+h,d+1)}};return c(0,"",0),i}var Ht=(n,t)=>{let o=null,e=(i,c,s,a,f,l)=>{if(i===null||i.length<Lt||s.length===0||(c&~a)!==0)return;let u=Ct(i,s,f);if(u===null)return;let h=Rt(u,i.length,s.length,f);(o===null||h>o.intraScore)&&(o={intraScore:h,space:l,positions:u})};if(n.lattice!==null&&t.hasKeystrokeChar){let i=Je(n.lattice,t.kana.text,t.kanaMask,t.kanaBoundaries,n.singleChar);i!==null&&(o={intraScore:i.intraScore,space:"kana",positions:i.positions})}else n.shadowed||e(n.kana,n.kanaMask,t.kana.text,t.kanaMask,t.kanaBoundaries,"kana");if(t.kunrei&&e(n.kunrei,n.kunreiMask,t.kunrei.text,t.kunreiMask,t.kunrei.boundaries,"kunrei"),t.hepburn&&e(n.hepburn,n.hepburnMask,t.hepburn.text,t.hepburnMask,t.hepburn.boundaries,"hepburn"),t.long&&e(n.long,n.longMask,t.long.text,t.longMask,t.long.boundaries,"long"),o===null)return null;let r=o;return{tier:2,kind:"subsequence",intraScore:r.intraScore,space:r.space,positions:r.positions}};var Qn=2;function pn(n){return Math.max(1,Math.ceil(n/3))}var $n=new Int32Array(0);function Ve(n){return $n.length<n&&($n=new Int32Array(n)),$n}function Qe(n,t,o){let e=n.length,r=t.length;if(e===0)return 0;if(r+o<e)return o+1;let i=o+1,c=r+1,s=Ve((e+1)*c);for(let h=0;h<=Math.min(r,o);h++)s[h]=h;for(let h=1;h<=e;h++){let d=h*c,k=(h-1)*c,S=(h-2)*c,x=Math.max(1,h-o),w=Math.min(r,h+o),g=n[h-1],m=h>1?n[h-2]:"",y=h<=o?h:i;h<=o&&(s[d]=h);for(let b=x;b<=w;b++){let N=g===t[b-1]?0:1,p=b<=h-1+o?s[k+b]+1:i,I=b-1>=h-o?s[d+b-1]+1:i,E=Math.min(p,I,s[k+b-1]+N);h>1&&b>1&&g===t[b-2]&&m===t[b-1]&&(E=Math.min(E,s[S+b-2]+1)),s[d+b]=E,E<y&&(y=E)}if(y>o)return i}let a=e*c,f=Math.max(0,e-o),l=Math.min(r,e+o),u=s[a+f];for(let h=f+1;h<=l;h++)s[a+h]<u&&(u=s[a+h]);return u}var Jn=new Int32Array(0),Vn=new Int32Array(0);function Ye(n,t,o){let e=t.length;if(e===0)return null;let r=an(n),{X:i,inStart:c,inFrom:s,inCh:a,inBit:f}=r;Vn.length<i&&(Vn=new Int32Array(i));let l=Vn;l[0]=0;for(let g=1;g<i;g++){let m=1073741824;for(let y=c[g];y<c[g+1];y++){let b=l[s[y]]+((f[y]&o)===0?1:0);b<m&&(m=b)}l[g]=m}let u=-1;for(let[g,m]of r.finals)m>=Qn&&e+pn(m)>=m&&l[g]<=pn(m)&&(u=Math.max(u,pn(m)));if(u<0)return null;let h=1<<29,d=e+1;Jn.length<i*d&&(Jn=new Int32Array(i*d));let k=Jn,S=r.depth,x=(g,m)=>{let y=m-S[g];return m<0||y>u||y<-u?h:k[g*d+m]};for(let g=0;g<=Math.min(e,u);g++)k[g]=g;for(let g=1;g<i;g++){let m=S[g],y=Math.max(0,m-u),b=Math.min(e,m+u),N=g*d;for(let p=y;p<=b;p++){if(p===0){k[N]=m;continue}let I=t.charCodeAt(p-1),E=p>1?t.charCodeAt(p-2):-1,A=(p-1>=y?k[N+p-1]:h)+1;for(let T=c[g];T<c[g+1];T++){let _=s[T],M=a[T],L=x(_,p)+1,v=x(_,p-1)+(M===I?0:1);if(L<A&&(A=L),v<A&&(A=v),M===E){for(let K=c[_];K<c[_+1];K++)if(a[K]===I){let tn=x(s[K],p-2)+1;tn<A&&(A=tn)}}}k[N+p]=A}}let w=null;for(let[g,m]of r.finals){if(m<Qn)continue;let y=pn(m);if(e+y<m||l[g]>y)continue;let b=h;for(let p=Math.max(0,m-u);p<=Math.min(e,m+u);p++){let I=k[g*d+p];I<b&&(b=I)}if(b>y)continue;let N=1-b/(y+1);(w===null||N>w)&&(w=N)}return w}var Kt=(n,t)=>{let o=null,e=(i,c,s,a,f)=>{if(i===null||i.length<Qn||s.length===0)return;let l=pn(i.length);if(it(c&~a)>l)return;let u=Qe(i,s,l);if(u>l)return;let h=1-u/(l+1);(o===null||h>o.intraScore)&&(o={intraScore:h,space:f})};if(n.lattice!==null&&t.hasKeystrokeChar){let i=Ye(n.lattice,t.kana.text,t.kanaMask);i!==null&&(o={intraScore:i,space:"kana"})}else n.shadowed||e(n.kana,n.kanaMask,t.kana.text,t.kanaMask,"kana");if(t.kunrei&&n.kunrei!==null?e(n.kunrei,n.kunreiMask,t.kunrei.text,t.kunreiMask,"kunrei"):t.hepburn&&n.hepburn!==null&&e(n.hepburn,n.hepburnMask,t.hepburn.text,t.hepburnMask,"hepburn"),o===null)return null;let r=o;return{tier:3,kind:"typo",intraScore:r.intraScore,space:r.space,positions:null}};var Ze=.8,qe=.2,no=.3,Ut=(n,t)=>{if(n.shadowed)return null;let o=Tt(n),e=lt(t);if(o.size===0||e.size===0)return null;let r=0;for(let f of o)e.has(f)&&r++;let i=o.size-r,c=e.size-r,s=r+Ze*i+qe*c;if(s===0)return null;let a=r/s;return a<no?null:{tier:4,kind:"similar",intraScore:a,space:"kana",positions:null}};var to=[Nn,Ht,Kt,Ut];function Pt(n){return n==="literal"?["literal"]:n==="phonetic"?["phonetic"]:["literal","phonetic"]}function Dt(n,t,o){let e=o.map(r=>Et(n,t,r));if(e.length===2&&e[0].kana===e[1].kana){if(e[0].lattice===null)return[e[1]];e[0].shadowed=!0}return e}function eo(n){return n<0?0:n>1?1:n}function oo(n){return(4-n.tier+eo(n.intraScore))/4}function ro(n,t,o){let e=null;for(let r of o){let i=n(r,t);if(i===null)continue;let c=oo(i);(e===null||c>e.score)&&(e={refIndex:t.refIndex,score:c,tier:i.tier,match:i})}return e}function Bt(n,t,o){let e=n.trim();if(e==="")return[];let r=e.split(/\s+/u);return r.length>=2?io(e,r,t,o):Ft(e,t,o)}var so={prefix:3,word:2,initials:1,inner:0};function jt(n,t,o){return(3+(n+(t?.5:0)+.5*o)/4)/4}function io(n,t,o,e){let r=Pt(e.matching),i=t.map(f=>Kn(f,e.separatorExpansion).flatMap(l=>Dt(l,e.romaji,r))),c=t.map(f=>[...f].length===1),s=new Map;for(let f of Ft(n,o,{...e,minScore:0})){if(f.tier!==1){s.set(f.refIndex,f);continue}let l=so[f.match.kind];s.set(f.refIndex,{...f,score:jt(l,!0,f.match.intraScore*4-l)})}for(let[f,l]of Mt(i,c,o)){let u=jt(l.cls,l.ordered,l.raw),h=s.get(f);if(h!==void 0&&h.score>=u)continue;let d={tier:1,kind:fn[l.cls],intraScore:u*4-3,space:"kana",positions:null};s.set(f,{refIndex:f,score:u,tier:1,match:d,parts:l.parts})}let a=[...s.values()].filter(f=>f.score>=e.minScore);return a.sort((f,l)=>l.score-f.score||f.refIndex-l.refIndex),e.limit!==void 0?a.slice(0,e.limit):a}function Ft(n,t,o){let e=Kn(n,o.separatorExpansion);if(e.length===0)return[];let r=Pt(o.matching),i=e.flatMap(u=>Dt(u,o.romaji,r)),c=to.slice(0,o.maxTier),{limit:s,minScore:a}=o,f=[],l=new Uint8Array(t.length);for(let u of c){for(let h=0;h<t.length;h++){if(l[h])continue;let d=ro(u,t[h],i);d!==null&&(l[h]=1,d.score>=a&&f.push(d))}if(s!==void 0&&f.length>=s)break}return f.sort((u,h)=>h.score-u.score||u.refIndex-h.refIndex),s!==void 0?f.slice(0,s):f}var co=3,ao=0;function lo(n,t,o,e){return{romaji:n,separatorExpansion:t,matching:o,maxTier:e.maxTier??co,minScore:e.minScore??ao,limit:e.limit,includeMatches:e.includeMatches??!1}}function Wt(n,t={}){let o=t.getText??(a=>a),e=t.romaji??"both",r=t.separatorExpansion??!1,i=t.matching??"both",c={limit:t.limit,maxTier:t.maxTier,minScore:t.minScore,includeMatches:t.includeMatches},s=n.map((a,f)=>at(o(a),f,e));return{size:n.length,search(a,f={}){let l={...c,...f},u=lo(e,r,i,l);return Bt(a,s,u).map(d=>{let k={item:n[d.refIndex],refIndex:d.refIndex,score:d.score,tier:d.tier,kind:d.match.kind};return u.includeMatches&&d.parts!==void 0?k.matches=vn(d.parts.flatMap(S=>zn(s[d.refIndex],S))):u.includeMatches&&d.match.positions!==null&&(k.matches=zn(s[d.refIndex],d.match)),k})}}}function uo(n,t,o={}){return Wt(t,o).search(n)}return Jt(fo);})();
|