const w={Р°:"a",Р±:"b",РІ:"v",Рі:"g",Рґ:"d",Рµ:"e",С‘:"yo",Р¶:"zh",Р·:"z",Рё:"i",Р№:"y",Рє:"k",Р»:"l",Рј:"m",РЅ:"n",Рѕ:"o",Рї:"p",СЂ:"r",СЃ:"s",С‚:"t",Сѓ:"u",С„:"f",С…:"kh",С†:"ts",С‡:"ch",С€:"sh",С‰:"shch",СЉ:"",С‹:"y",СЊ:"",СЌ:"e",СЋ:"yu",СЏ:"ya",Рђ:"A",Р‘:"B",Р’:"V",Р“:"G",Р”:"D",Р•:"E",РЃ:"Yo",Р–:"Zh",Р—:"Z",Р:"I",Р™:"Y",Рљ:"K",Р›:"L",Рњ:"M",Рќ:"N",Рћ:"O",Рџ:"P",Р :"R",РЎ:"S",Рў:"T",РЈ:"U",Р¤:"F",РҐ:"Kh",Р¦:"Ts",Р§:"Ch",РЁ:"Sh",Р©:"Shch",РЄ:"",Р«:"Y",Р¬:"",Р:"E",Р®:"Yu",РЇ:"Ya"},u={shch:"С‰",Shch:"Р©",SHCH:"Р©",zh:"Р¶",Zh:"Р–",ZH:"Р–",ch:"С‡",Ch:"Р§",CH:"Р§",sh:"С€",Sh:"РЁ",SH:"РЁ",yo:"С‘",Yo:"РЃ",YO:"РЃ",yu:"СЋ",Yu:"Р®",YU:"Р®",ya:"СЏ",Ya:"РЇ",YA:"РЇ",kh:"С…",Kh:"РҐ",KH:"РҐ",ts:"С†",Ts:"Р¦",TS:"Р¦",ck:"Рє",Ck:"Рљ",CK:"Рљ",sc:"СЃ",Sc:"РЎ",SC:"РЎ",ow:"Рѕ",Ow:"Рћ",OW:"Рћ",a:"Р°",b:"Р±",v:"РІ",g:"Рі",d:"Рґ",e:"Рµ",f:"С„",z:"Р·",i:"Рё",j:"Р№",k:"Рє",l:"Р»",m:"Рј",n:"РЅ",o:"Рѕ",p:"Рї",r:"СЂ",s:"СЃ",t:"С‚",u:"Сѓ",w:"РІ",x:"РєСЃ",y:"Р№",A:"Рђ",B:"Р‘",V:"Р’",G:"Р“",D:"Р”",E:"Р•",F:"Р¤",Z:"Р—",I:"Р",J:"Р™",K:"Рљ",L:"Р›",M:"Рњ",N:"Рќ",O:"Рћ",P:"Рџ",R:"Р ",S:"РЎ",T:"Рў",U:"РЈ",W:"Р’",X:"РљРЎ",Y:"Р™"},L=t=>/[Р°-СЏС‘]/i.test(t),g=t=>/[a-z]/i.test(t),S=t=>t.replace(/[Р°-яёА-РЇРЃ]/g,r=>w[r]||r),Y=t=>{const r=Object.keys(u).sort((n,e)=>e.length-n.length);let o=t;return r.forEach(n=>{const e=new RegExp(n,"gi");o=o.replace(e,s=>{if(s===s.toUpperCase())return u[n].toUpperCase();if(s[0]===s[0].toUpperCase()){const i=u[n.toLowerCase()];return i.charAt(0).toUpperCase()+i.slice(1)}else return u[n.toLowerCase()]})}),o},p=t=>{const r=[t.toLowerCase()];return L(t)&&r.push(S(t).toLowerCase()),g(t)&&r.push(Y(t).toLowerCase()),[...new Set(r)]},z=(t,r)=>{if(!r||typeof r!="string")return!1;const o=p(t),n=r.toLowerCase();return o.some(e=>n.includes(e))},d=(t,r,o)=>{const n=t.length,e=r.length;if(Math.abs(n-e)>o)return o+1;if(n===0)return e;if(e===0)return n;let s=new Array(e+1),i=new Array(e+1);for(let c=0;c<=e;c++)s[c]=c;for(let c=1;c<=n;c++){i[0]=c;let a=i[0];const h=t.charCodeAt(c-1);for(let l=1;l<=e;l++){const y=h===r.charCodeAt(l-1)?0:1,C=Math.min(s[l]+1,i[l-1]+1,s[l-1]+y);i[l]=C,C<a&&(a=C)}if(a>o)return o+1;const f=s;s=i,i=f}return s[e]},T=t=>t<=3?0:t<=5?1:t<=8?2:3,A=(t,r)=>{if(!r||typeof r!="string")return!1;const o=r.toLowerCase();if(!o)return!1;for(const n of p(t)){const e=n.length,s=T(e);if(s===0||!o.includes(n[0]))continue;const i=Math.max(1,e-s),c=Math.min(o.length,e+s);for(let a=i;a<=c;a++)for(let h=0;h+a<=o.length;h++){const f=o.slice(h,h+a);if(d(n,f,s)<=s)return!0}}return!1};export{A as f,z as m};