anbani
Version:
Multifunctional javascript toolkit for Georgian Alphabet - Anbani
1 lines • 42 kB
JavaScript
!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("anbani",[],e):"object"==typeof exports?exports.anbani=e():n.anbani=e()}(this,()=>(()=>{"use strict";const n={d:(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var l=t[r++],a=t[r++];n.o(e,l)?0===a&&r++:0===a?Object.defineProperty(e,l,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,l,{enumerable:!0,get:a})}else for(var l in t)n.o(t,l)&&!n.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})},o:(n,e)=>Object.prototype.hasOwnProperty.call(n,e)};let e={};n.d(e,{default:()=>nn});const t={alphabets:{names:["ან","ბან","გან","დონ","ენ","ვინ","ზენ","თან","ინ","კან","ლას","მან","ნარ","ონ","პარ","ჟან","რაე","სან","ტარ","უნ","ფარ","ქან","ღან","ყარ","შინ","ჩინ","ცან","ძილ","წილ","ჭარ","ხან","ჯან","ჰაე","ეჲ","ჲე","ჳე","ჴარ","ჰოე","ჶი","ჷნ","ჸინ","გან ამოტრიალებული","აინ ამოტრიალებული","გამყოფი","ნარ მოდიფიკატორი","აენ","სიმაგრის ნიშანი","ლაბიალიზაციის ნიშანი","ა-უმლაუტი","ა-მაკრონი","ა-მაკრონ-უმლაუტი","ე-მაკრონი","ი-მაკრონი","ო-უმლაუტი","ო-მაკრონი","ო-მაკრონ-უმლაუტი","უ-უმლაუტი","უ-მაკრონი","უ-მაკრონ-უმლაუტი","უ-ბრჯგუ","ჷნ-მაკრონი","წერტილი","მძიმე","კითხვის ნიშანი","ძახილის ნიშანი","წერტილ-მძიმე","ორწერტილი"],mkhedruli:["ა","ბ","გ","დ","ე","ვ","ზ","თ","ი","კ","ლ","მ","ნ","ო","პ","ჟ","რ","ს","ტ","უ","ფ","ქ","ღ","ყ","შ","ჩ","ც","ძ","წ","ჭ","ხ","ჯ","ჰ","ჱ","ჲ","ჳ","ჴ","ჵ","ჶ","ჷ","ჸ","ჹ","ჺ","჻","ჼ","ჽ","ჾ","ჿ","ა̈","ა̄","ა̄̈","ე̄","ი̄","ო̈","ო̄","ო̄̈","უ̈","უ̄","უ̄̈","უ̂","ჷ̄",".",",","?","!",";",":"],mtavruli:["Ა","Ბ","Გ","Დ","Ე","Ვ","Ზ","Თ","Ი","Კ","Ლ","Მ","Ნ","Ო","Პ","Ჟ","Რ","Ს","Ტ","Უ","Ფ","Ქ","Ღ","Ყ","Შ","Ჩ","Ც","Ძ","Წ","Ჭ","Ხ","Ჯ","Ჰ","Ჱ","Ჲ","Ჳ","Ჴ","Ჵ","Ჶ","Ჷ","Ჸ","Ჹ","Ჺ","","","Ჽ","Ჾ","Ჿ","","","","","","","","","","","","","",".",",","?","!",";",":"],asomtavruli:["Ⴀ","Ⴁ","Ⴂ","Ⴃ","Ⴄ","Ⴅ","Ⴆ","Ⴇ","Ⴈ","Ⴉ","Ⴊ","Ⴋ","Ⴌ","Ⴍ","Ⴎ","Ⴏ","Ⴐ","Ⴑ","Ⴒ","Ⴓ","Ⴔ","Ⴕ","Ⴖ","Ⴗ","Ⴘ","Ⴙ","Ⴚ","Ⴛ","Ⴜ","Ⴝ","Ⴞ","Ⴟ","Ⴠ","Ⴡ","Ⴢ","Ⴣ","Ⴤ","Ⴥ","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],nuskhuri:["ⴀ","ⴁ","ⴂ","ⴃ","ⴄ","ⴅ","ⴆ","ⴇ","ⴈ","ⴉ","ⴊ","ⴋ","ⴌ","ⴍ","ⴎ","ⴏ","ⴐ","ⴑ","ⴒ","ⴓ","ⴔ","ⴕ","ⴖ","ⴗ","ⴘ","ⴙ","ⴚ","ⴛ","ⴜ","ⴝ","ⴞ","ⴟ","ⴠ","ⴡ","ⴢ","ⴣ","ⴤ","ⴥ","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],homoglyph:["১","ꝺ","𞥖","𐬉","᪅","ꝫ","ፄ","ᦎ","ᨣ","𑑇","ⴝ","𖬖","б","ᰔ","Ჴ","𑈎","ᦝ","Ꮣ","𐐃","ᩂ","ᦜ","𑐋","ꨈ","𐔤","Ϡ","Ᏺ","ᨴ","ᖙ","ꨓ","ꞎ","ᱠ","ƾ","𑇓","","","","","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],phonetic:["ɑ","b","g","d","ɛ","v","z","tʰ","i","k'","l","m","n","ɔ","p'","ʒ","r","s","t'","u","pʰ","kʰ","ʁ","q'","ʃ","t͡ʃ","t͡s","d͡z","t͡sʼ","t͡ʃʼ","χ","d͡ʒ","h","eɪ","j","w","qʰ","oː","f","ə","ʔ","ɢ","ʕ","","◌̃","ə","","","","","","","","","","","","","","","",".",",","?","!",";",":"],braille:["⠁","⠃","⠛","⠙","⠑","⠺","⠵","⠋","⠊","⠅","⠇","⠍","⠝","⠕","⠏","⠚","⠗","⠎","⠞","⠥","⠧","⠻","⠫","⠮","⠱","⠟","⠉","⠽","⠹","⠭","⠓","⠪","⠯","","","","","","","","","","","⠌","","","","","","","","","","","","","","","","","","⠲","⠂","⠦","⠖","⠆","⠒"],common:["a","b","g","d","e","v","z","t","i","k","l","m","n","o","p","zh","r","s","t","u","f","q","gh","y","sh","ch","c","dz","ts","tch","x","j","h","e","i","ui","x","hoi","f","oa","h","gh","rgh","","","oa","","","","","","","","","","","","","","","",".",",","?","!",";",":"],cyrillic:["а","б","г","д","е","в","з","т","и","к","л","м","н","о","п","ж","р","с","т","у","ф","к","г","к","ш","ч","ц","дз","тц","тч","х","дж","х","е","й","уй","х","хо","ф","оа","х","г","рг","","","оа","","","","","","","","","","","","","","","",".",",","?","!",";",":"],greek:["α","μπ","γγ","ντ","ε","β","ζ","τ","η","κ","λ","μ","ν","ο","π","ζͱ","ρ","σ","τ","ου","ψ","κ","γ","κͱ","σͱ","τσ","τσ","δζ","τσ","τσͱ","γχ","τζ","ͱ","ε","ι","υι","κχ","ͱοι","φ","οα","ͱ","γ","ργ","","","οα","","","","","","","","","","","","","","","",".",",","?","!",";",":"],armenian:["ա","բ","գ","դ","է","վ","զ","թ","ի","կ","լ","մ","ն","օ","պ","ժ","ռ","ս","տ","ու","փ","ք","ղ","կհ","շ","չ","ց","ձ","ծ","ճ","խ","ջ","հ","է","ի","ուի","խ","հօի","ֆ","ը","հ","ղ","ռղ","","","ը","","","","","","","","","","","","","","","",".",",","?","!",";",":"],iso_9984:["a","b","g","d","e","v","z","t'","i","k","l","m","n","o","p","ž","r","s","t","u","p'","k'","ḡ","q","š","č'","c'","j","c","č","x","ǰ","h","ē","y","w","ẖ'","ō","f","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],national:["a","b","g","d","e","v","z","t","i","k'","l","m","n","o","p'","zh","r","s","t'","u","p","k","gh","q'","sh","ch","ts","dz","ts'","ch'","kh","j","h","","","","","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],bgn:["a","b","g","d","e","v","z","t'","i","k","l","m","n","o","p","zh","r","s","t","u","p'","k'","gh","q","sh","ch'","ts'","dz","ts","ch","kh","j","h","ey","j","","q'","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],titus:["a","b","g","d","e","v","z","t","i","ḳ","l","m","n","o","ṗ","ž","r","s","ṭ","u","p","k","ġ","q̇","š","č","c","ӡ","c̣","č̣","x","ǯ","h","ē","y","w","q","ō","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],qwerty:["a","b","g","d","e","v","z","T","i","k","l","m","n","o","p","J","r","s","t","u","f","q","R","y","S","C","c","Z","w","W","x","j","h","E","I","V","X","H","F","D","Y","G","L",">","N","<","{","}","","","","","","","","","","","","","",".",",","?","!",";",":"],numeric:["1","2","3","4","5","6","7","9","10","20","30","40","50","70","80","90","100","200","300","400","500","600","700","800","900","1000","2000","3000","4000","5000","6000","8000","9000","8","60","400","7000","10000","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"]},regex:{mkhedruli:/[ა-ჿ]/,mtavruli:/[Ა-Ჿ]/,asomtavruli:/[Ⴀ-Ⴥ]/,nuskhuri:/[ⴀ-ⴥ]/,latin:/[a-zA-Z]/,cyrillic:/[А-Яа-я]/}},r=n=>{var e={მხედრული:"mkhedruli",ასომთავრული:"asomtavruli",ნუსხური:"nuskhuri",მთავრული:"mtavruli",ხუცური:"khutsuri",შანიძისეული:"shanidziseuli",ტფილელისეული:"tfileliseuli",სასათაურე:"sasataure",ჰომოგლიფი:"homoglyph",ბრაილი:"braille",ფონეტიკური:"phonetic",ლათინური:"qwerty",კირილიცა:"cyrillic",ბერძნული:"greek",სომხური:"armenian",ნაციონალური:"national",ქვერთი:"qwerty",ზოგადი:"common",ტრანსკრიფცია:"common",ისო:"iso_9984",ბგნ:"bgn"};Object.keys(e).forEach(function(t){t==n.from&&(n.from=e[t]),t==n.to&&(n.to=e[t])})},l=n=>{let e=[...Object.keys(t.alphabets),"khutsuri","shanidziseuli","tfileliseuli","sasataure"];if(-1==["mkhedruli","asomtavruli","nuskhuri","mtavruli","qwerty","braille"].indexOf(n.from))throw new Error(`Text conversion from '${n.from}' is not supported.`);if(-1==e.indexOf(n.to))throw new Error(`Text conversion to '${n.to}' is not supported.`)},a=n=>"tfileliseuli"==n||"shanidziseuli"==n||"khutsuri"==n||"sasataure"==n,i=(n,e,t,r=0)=>e>n.length-1?n:n.substring(0,e)+t+n.substring(e+t.length+r),o=(n,e,r)=>{let l=t.alphabets[r][t.alphabets[e].indexOf(n[0])];return l=l??n[0],i(n,0,l)},s=(n,e)=>e<0?"qwerty":t.regex.mkhedruli.test(n[e])?"mkhedruli":t.regex.latin.test(n[e])?"qwerty":t.regex.asomtavruli.test(n[e])?"asomtavruli":t.regex.mtavruli.test(n[e])?"mtavruli":t.regex.nuskhuri.test(n[e])?"nuskhuri":s(n,e-1),D=n=>{let e=[t.regex.mkhedruli.test(n),t.regex.mtavruli.test(n),t.regex.asomtavruli.test(n),t.regex.nuskhuri.test(n),t.regex.latin.test(n),t.regex.cyrillic.test(n)];return u(e,[!0,!1,!1,!1,!1,!1])?"mkhedruli":u(e,[!1,!0,!1,!1,!1,!1])?"mtavruli":u(e,[!1,!1,!0,!1,!1,!1])?"asomtavruli":u(e,[!1,!1,!1,!0,!1,!1])?"nuskhuri":u(e,[!0,!0,!1,!1,!1,!1])?"tfileliseuli":u(e,[!0,!1,!0,!1,!1,!1])?"shanidziseuli":u(e,[!1,!1,!0,!0,!1,!1])?"khutsuri":u(e,[!1,!0,!0,!1,!1,!1])?"sasataure":u(e,[!1,!1,!1,!1,!0,!1])?"latin":u(e,[!1,!1,!1,!1,!1,!0])?"cyrillic":"unknown"},u=(n,e)=>{for(let t=0,r=n.length;t<r;t++)if(n[t]!=e[t])return!1;return!0},c={checkForAliases:r,checkForDirection:l,setCharAt:i,isBicameral:a,toUpperCase:o,detectAlphabet:s,classifyText:D,cca:n=>n.charCodeAt(0),fcc:n=>String.fromCharCode(n),isSame:u},h=new Map,p=(n,e)=>{let r=h.get(n);if(void 0===r){r=new Map;const e=t.alphabets[n];for(let n=0,t=e.length;n<t;n++)r.has(e[n])||r.set(e[n],n);h.set(n,r)}const l=r.get(e);return void 0===l?-1:l},G=(n,e,r)=>{if(null!=n)return a(r)?((n,e,r)=>{const l={sasataure:{upper:"asomtavruli",lower:"mtavruli"},tfileliseuli:{upper:"mtavruli",lower:"mkhedruli"},shanidziseuli:{upper:"asomtavruli",lower:"mkhedruli"},khutsuri:{upper:"asomtavruli",lower:"nuskhuri"}};let a=l[r].upper,s=l[r].lower,D="";for(let r=0,l=n.length;r<l;r++){let l=t.alphabets[s][p(e,n[r])];D+=void 0===l?n[r]:l}D=o(D,s,a);let u=D.match(/[?.!]\s+[A-Za-zႠ-ჰⴀ-ⴠᲐ-Ჰ0-9]/g);if(null!=u)for(let n=0;n<u.length;n++)D=i(D,D.indexOf(u[n]),u[n].substring(0,u[n].length-1).concat(o(u[n][u[n].length-1],s,a)));if(u=D.match(/[Ⴀ-ჰⴀ-ⴠᲐ-Ჰ]\'/g),null!=u)for(let n=0;n<u.length;n++)D=i(D,D.indexOf(u[n]),o(u[n][0],s,a),1);return D})(n,e,r):((n,e,r)=>{let l="";for(let a=0,i=n.length;a<i;a++){let i=t.alphabets[r][p(e,n[a])];l+=void 0===i?n[a]:i}return l})(n,e,r)},m=n=>D(n);m.classifyText=D;const f={convert:(n,e,t)=>{let a={from:e,to:t};return r(a),l(a),G(n,a.from,a.to)},interpret:(n,e)=>{if(null==n||"unknown"===D(n))throw new Error("Could not detect the source script of the given text.");let t={to:e};return r(t),G(n,s(n,n.length-1),t.to)},classify:m,$:m},g={frequency:{general:{".":.0458171705,",":.206860377,"!":.0143453122,"?":.00697748176},summed:[["?",.00697748176],["!",.02132279396],[".",.06713996445],[",",.27400034145]]},vefxwords:["გამიშვშეს","მართალიპი","შემომოცივე","ვუხვა","გავლსობა","განდევანგაა","მოასეხეს","აქამდსაგებენ","შვენინე","უგანდეგო","ქანულკულნი","გემრუფენ","ვეღათ","მივისცა","მუკამდის","მივიმოწუქალსა","მზლოს","მოვლეხვე","ვიმაქებდა","ტატრესტინი","მოითქოკა","მდაგებენ","ვიმცე","სევა","სათინესნი","სადგმო","გასჩვადეთ","მესმანცა","მივსცავე","წეითო","ძვილნი","გამიზრიან","დავათქვენო","ზიცი","მისცედი","მონებანი","დანამრისა","სრცოტი","ჰქონთავისთან","მბრძენია","წახსილთა","მიხსენით","სევნა","გარდუკვრიდდა","მიდამოდეს","სიპყრო","შემწოვლისა","მამდიჰხლეან","ბრჭნია","დანენატანნი","უკრთებოდემნი","იციცოდა","სამატა","უფრნა","გაეგარნების","დავეჯარენა","მტემურსა","მშვენოდენო","გიმძიმნო","სამვზინო","მოვლოცთა","გიშვილა","დაამჭებინ","მითხროს","მჟავალია","მღურა","ღინდეს","მოაგხება","გავიცეცხლი","ტირსლით","გავწყრეტა","მყივნენ","ქაფინს","ბანგსა","შემოხანა","შემოვსჭვრეტით","ამოვჰღერთო","მოცადია","მოეხვიდეს","თქმია","აღვია","ვლამს","მოხდიანები","გორსვლითა","გვთქვას","გაუზადა","დაბითქის","ანვინა","შრიდონი","გავწიდნია","ალვითანი","მონიო","სიტირენ","გიშიხარნი","დამიფემი","მეგრეცა","ფითჯი","მსდევარსა","განაზანდა","საქმინ"],fnames:["თავან","ელიკონ","კანტლიონ","გველე","ლადიან","ლოტინე","გიოლგვი","გარსა","თედა","მეზნან","მარტა","აურაზგრ","მადრა","გიოგილი","სონიკელიზანი","ასსანო","ნიგოლიტი","ავაკვან","მონს","ნადრინ","ნიფოლ","ელიკორ","დამას","გიმრი","ობარხი","გამონ","ონეს","ზიხტინე","იოკელ","სატდა","პარა","იანეზ","ზინა","რანგი","იანგორ","აბსინე","ლენტან","ზისტიკობ","ნიგოლო","დატითნი","მანთა","არგიქ","ზიკო","ერლე","იანე","მევრენ","ალტისა","მარდია","სისელ","ხეისა","ელუან","დელო","იეკლებ","გუჩილი","ტამა","ნოკგოლ","იაკისე","დადო","ართემრას","ანაიკობე","გტიტ","თახსან","ზანა","ნუდო","გიოდა","ისსლიკონ","ალსან","რამოლე","გუმან","ნურმგინ","თომითანი","დევანე","ელედეინ","გიმოტ","არარ","ორმონ","ნედრი","დიმო","ხოთიანეი","გივა","ნანტრე","გიმოლ","დოსონ","იკანენ","იკქორიზე","გილტორგ","დეტონ","ერდეა","ირეგლიზ","რიდელუდან","თოკან","იანებენტიანა","სიბო","გიორტინ","ნიკილან","ელაკონ","გიდრაბ","ლეცთეტანტენდერიბ","დამერ","იეგო"],lnames:["მახადენია","ბსელრია","ქავია","კორეკია","მარდია","ბარდიონია","გვიპიანდია","ერთელია","ნთხაია","თედია","ბოხაია","ბარია","ჭარტინია","არპანია","ჩურია","მორცაწაზია","არმელია","მირბარია","ჭველაქია","ქარითია","გართელია","იანია","დვანტონეიანია","პუჩია","დატილია","კანია","ვარდსვალია","ყორთელია","არდოლია","რიკსქაშვილი","გამექონთეშვილი","ლუჩაშვილი","მარდაშვილი","პაბიშვილი","არბერეშვილი","ფოსურიშვილი","ვაწოშვილი","ჩრილიაშვილი","ტიმაშვილი","მავანიშვილი","მადსიშვილი","რედელიშვილი","თეთაშვილი","გარავაშვილი","დარახაშვილი","ბარჭამიშვილი","ბარახაშვილი","ანღელიშვილი","მებაშვილი","სურეჯიშვილი","აკბთაკიშვილი","ტუსონიშვილი","ტოდერაშვილი","ზაბხასიშვილი","ქურაბერინიშვილი","ებვეკაშვილი","ერდითაშვილი","ურბელიშვილი","მენრმაშვილი","ჯვილოძე","ბადიაძე","შვირიძე","სასანაძე","გიმაანიძე","გვამავიძე","არმემიძსძე","ბარაძე","აბეანიძე","ოვონიძე","ლამაშვიძე","ობთახურაძე","კერეძე","ფვერიძე","მაგიძე","კადიაშიძე","გამსანიძე","მერტინიძე","ბემეელიძე","ტოხიძე","ჭარატიძე","ბადოსელი","ვარისელი","სირხელი","სორხელი","მარდელი","გაშვითელი","კოთაველი","ოსთმინელი","ერისელი","ზთერტელი","ხამიკელი","მიბაძეშიელი","იკთელი","გთციტაბელი","ასიცელი","ობაიჭელი","ლენთელი","მემჩათერინონგბანინიძე","ამედვაქსიკოგეიშვირი","მორჟვონანდიშვილი"]};let d=g.vefxwords;const k=g.frequency.summed,b=n=>{let e="";for(let t=0;t<n.length;t++)e+=n[t]+x();return e=e.trim(),e=i(e,e.length-1,".",1),e},v=()=>g.fnames[j(0,g.fnames.length)],w=()=>g.lnames[j(0,g.lnames.length)],x=()=>{let n=Math.random();for(let e=0;e<k.length;e++)if(n<k[e][1])return k[e][0]+" ";return" "},y=()=>d[j(0,d.length)],z=n=>{let e=[];for(let t=0;t<n;t++)e.push(y());return e},j=(n,e)=>Math.floor(Math.random()*(e-n)+n),O={sentences:n=>b(z(n)),paragraphs:(n,e,t="\n\n")=>{let r="";for(let l=0;l<e;l++)r+=b(z(n))+t;return r},loadWordlist:n=>{d=n},names:n=>{let e=[];for(let t=0;t<n;t++)e.push(v()+" "+w());return e},$:{randomFirstName:v,randomLastName:w,randomWord:y}},A=(n,e="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let t=n.toUpperCase().split(""),r=t.length,l={},a=new RegExp(e);for(let n=0;n<r;n++)a.test(t[n])&&(l[t[n]]?l[t[n]]++:l[t[n]]=1);return l},C={friedman:(n,e="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let t=A(n,e),r=0,l=0;for(let n in t)r+=t[n]*(t[n]-1),l+=t[n];return l>1?r/(l*(l-1)):0},frequency:(n,e="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let t=n.toUpperCase().split(""),r=t.length,l={},a=new RegExp(e);for(let n=0;n<r;n++)a.test(t[n])&&(l[t[n]]?l[t[n]]++:l[t[n]]=1);for(let n in l)l[n]/=r;return l},count:A},E=n=>{const e=n.split(/\r?\n/).filter(n=>n.length>0),t=e[0].split(",");return e.slice(1).map(n=>{const e=n.split(","),r={};return t.forEach((n,t)=>{r[n]=e[t]}),r})},q={};for(const n of E("CONTRACTION,EXPANSION,SOURCE,LENGTH\nა. შ.,ასე შემდეგ,D,5\nა. წ.,ამა წლის,D,5\nა.ს.ს.რ.,ავტონომიური საბჭოთა სოციალისტური რესპუბლიკა,G,8\nა.შ.,ასე შემდეგ,D,4\nა.წ.,ამა წლის,D,4\nაგვ.,აგვისტო,G,4\nაგლომ.,აგლომერაცია,G,6\nად.,ადამიანი,G,3\nადამ./კმ²,ადამიანი კვადრატულ კილომეტრზე,G,9\nადმ.,ადმინისტრაციული,G,4\nავიაც.,ავიაცია,D,6\nავსტრალ.,ავსტრალიელ ტომთა ენები,D,8\nავტ.,ავტორი,D,4\nავღ.,ავღანური,D,4\nაზერბ.,აზერბაიჯანული,D,6\nათ.,ათას,G,3\nათასწ.,ათასწლეული,G,6\nაკად.,აკადემიკოსი,D,5\nაკად. წ/კ,აკადემიის წევრ-კორესპონდენტი,D,9\nალგონ.,ალგონკინური,D,6\nამერ.,ამერიკელ ინდიელთა ენები,D,5\nანატ.,ანატომია,D,5\nანთროპ.,ანთროპოლოგია,D,7\nაპრ.,აპრილი,G,4\nარაბ.,არაბული,D,5\nარამ.,არამეული,D,5\nარს.,არსებითი სახელი,D,4\nარქ.,არქიტექტორი,G,4\nარქეოლ.,არქეოლოგია,D,7\nარქიტ.,არქიტექტორი,G,6\nასსრ.,ავტონომიური საბჭოთა სოციალისტური რესპუბლიკა,G,5\nსსრ.,საბჭოთა სოციალისტური რესპუბლიკა,G,4\nასტრ.,ასტრონომია,D,5\nაფრ.,აფრიკაანსი (ენა),D,4\nაფრიკ.,აფრიკული ენები,D,6\nაქად.,აქადური,D,5\nაღმ.,აღმოსავლეთ,G,4\nაშშ.,ამერიკის შეერთებული შტატები,G,4\nაცტეკ.,აცტეკური,D,6\nახ.,ახალი,D,3\nახ. წ.,ახალი წელთაღრიცხვით,G,6\nახ.წ.,ახალი წელთაღრიცხვით,G,5\nბ.-ნი,ბატონი,D,5\nბერბერ.,ბერბერული,D,7\nბერძ.,ძველი ბერძნული,D,5\nბიბლიოთ.,საბიბლიოთეკო,D,8\nბიოლ.,ბიოლოგია,D,5\nბოტან.,ბოტანიკა,D,6\nბრეტონ.,ბრეტონული,D,7\nბულგ.,ბულგარული,D,5\nბუხჰალტ.,ბუხჰალტერია,D,8\nგ.,გარდაცვალება,G,2\nგადატ.,გადატანითი (მნიშვნელობა),D,6\nგაზ.,გაზეთი,G,4\nგამ-ბა და სტ.,გამომცემლობა და სტამბა,G,13\nგამომც.,გამომცემლობა,G,7\nგამოც.,გამოცემა,G,6\nგარდ.,გარდაცვალება,G,5\nგეოგრ.,გეოგრაფია,D,6\nგეოგრ. სახ.,გეოგრაფიული (საკუთარი) სახელი,D,11\nგეოდ.,გეოდეზია,D,5\nგეოლ.,გეოლოგია,D,5\nგეოფიზ.,გეოფიზიკა,D,7\nგერმ.,გერმანული,D,5\nგვ.,გვერდი,D,3\nგვიანდ.,გვიანდელი,D,7\nგრამატ.,გრამატიკა,D,7\nდ.,დაბადება,G,2\nდაახლ.,დაახლოებით,D,6\nდაბ.,დაბადება,G,4\nდამ.,დამატებითი,G,4\nდამახინჯ.,დამახინჯებული,D,9\nდამხმ.,დამხმარე,G,6\nდან.,დანიური,D,4\nდას.,დასავლეთ,G,4\nდასახ.,დასახლება,G,6\nდეკ.,დეკემბერი,G,4\nდიაგ.,დიაგონალი,G,5\nდიპლ.,დიპლომატია,D,5\nდმ.,დეციმეტრი,D,3\nდოქტ.,დოქტორი,G,5\nდოც.,დოცენტი,D,4\nდღ.,დღეს,G,3\nე. ი.,ესე იგი,D,5\nე. წ.,ეგრეთ წოდებული,D,5\nე.ი.,ესე იგი,D,4\nე.მ.ძ.,ელექტრომამოძრავებელი ძალა,G,6\nე.წ.,ეგრეთ წოდებული,D,4\nებრ.,ებრაული,D,4\nეგვიპტ.,ეგვიპტური,D,7\nევენკ.,ევენკური,D,6\nეთიოპ.,ეთიოპიური,D,6\nეთნ.,ეთნოგრაფია,D,4\nეთნოგრ.,ეთნოგრაფია,G,7\nეკლ.,საეკლესიო,D,4\nეკონ.,ეკონომიკა,D,5\nელექტ.,ელექტროტექნიკა,D,6\nენტომ.,ენტომოლოგია,D,6\nეროვნ.,ეროვნული,G,6\nესკიმ.,ესკიმოსური,D,6\nესპ.,ესპანური,D,4\nესპერ.,ესპერანტო,D,6\nექ.,ექიმი,D,3\nვაჭრ.,ვაჭრობა,D,5\nზამთ.,ზამთარი,G,5\nზედსართ.,ზედსართავი სახელი,D,8\nზოოლ.,ზოოლოგია,D,5\nზოოტექ.,ზოოტექნიკა,D,7\nზღვ.,საზღვაო,D,4\nთ.,თავი,D,2\nთათრ.,თათრული,D,5\nთბ.,თბილისი ,G,3\nთეატრ.,თეატრი,D,6\nთებ.,თებერვალი,G,4\nთურქ.,თურქული,D,5\nთხზ.,თხზულება,D,4\nიაკუტ.,იაკუტური,D,6\nიან.,იანვარი,G,4\nიანვ.,იანვარი,G,5\nიაპ.,იაპონური,D,4\nივლ.,ივლისი,G,4\nივნ.,ივნისი,G,4\nინგ.,ინგლისური,G,4\nინგლ.,ინგლისური,D,5\nინდ.,ინდური,D,4\nინჟ.,ინჟინერი,D,4\nირან.,ირანული,D,5\nირონ.,ირონიული,D,5\nისლანდ.,ისლანდიური,D,7\nისტ.,ისტორიული,D,4\nიტალ.,იტალიური,D,5\nიხ.,იხილე,D,3\nკარიბ.,კარიბული,D,6\nკგ.,კილოგრამი,D,3\nკელტ.,კელტური,D,5\nკვ. კმ.,კვადრატული კილომეტრი,G,7\nკვ. მ.,კვადრატული მეტრი,G,6\nკვ.კმ.,კვადრატული კილომეტრი,G,6\nკვ.მ.,კვადრატული მეტრი,D,5\nკვტ.სთ,კილოვატი საათში,G,6\nკინემატ.,კინემატოგრაფია,D,8\nკმ.,კილომეტრი,D,3\nკმ2.,კვადრატული კილომეტრი,G,4\nკმ².,კვადრატული კილომეტრი,G,4\nკმ³.,კუბური კილომეტრი,G,4\nკნინ.,კნინობითი,D,5\nკომერც.,კომერცია,D,7\nკრ.,კრებული,G,3\nკრებ.,კრებითი,D,5\nკუბ.,კუბური,D,4\nკულინ.,კულინარია,D,6\nკულტ.,კულტურული,G,5\nლაბ.,ლაბორანტი,D,4\nლათ.,ლათინური,D,4\nლიეტ.,ლიეტუვა,G,5\nლინგვ.,ლინგვისტიკა (ენათმეცნიერება),D,6\nლიტ.,ლიტერატურა,D,4\nლოგ.,ლოგიკა,D,4\nმ.ა.ე.,მასის ატომური ერთეული,G,6\nმ.ქ.კ.,მარგი ქმედების კოეფიციენტი,G,6\nმაგ.,მაგალითი,D,4\nმათემ.,მათემატიკა,D,6\nმალგას.,მალგასიური,D,7\nმამრ.,მამრობითი სქესი,D,5\nმანჯურ.,მანჯურიული,D,7\nმარ.,მარტი,G,4\nმასწ.,მასწავლებელი,D,5\nმაქს.,მაქსიმალური,G,5\nმგ.,მილიგრამი,D,3\nმგვტ.,მეგავატი,G,5\nმდ.,მდინარე,G,3\nმდედრ.,მდედრობითი სქესი,D,6\nმედიც.,მედიცინა,D,6\nმემცენ.,მემცენარეობა,D,7\nმეცნ.,მეცნიერება,G,5\nმთ.,მთავარ,G,3\nმთ.-მად.,სამთამადნო საქმე,D,8\nმიახ.,მიახლოებით,G,5\nმიახლ.,მიახლოებით,G,6\nმითოლ.,მითოლოგია,D,6\nმიმღ.,მიმღეობა,D,5\nმინ.,მინიმალური,G,4\nმინერ.,მინერალოგია,D,6\nმისთ.,მისთანანი,D,5\nმლნ.,მილიონი,G,4\nმლრდ.,მილიარდი,G,5\nმმ.,მილიმეტრი,D,3\nმმართ.,მმართველობის,G,6\nმნიშვ.,მნიშვნელობა,D,6\nმონღ.,მონღოლური,D,5\nმოსახ.,მოსახლეობა,G,6\nმოძვ.,მოძველებული,D,5\nმრ.,მრავლობითი რიცხვი,D,3\nმსახ.,მსახიობი,G,5\nმუს.,მუსიკა,D,4\nმხ.,მხოლოობითი რიცხვი,D,3\nმხატვ.,მხატვარი,G,6\nნ.,ნახე,D,2\nნათეს.,ნათესაობითი ბრუნვა,D,6\nნაკვ.,ნაკვლევი,G,5\nნამდვ.,ნამდვილი,G,6\nნაწ.,ნაწილი,D,4\nნაწილ.,ნაწილაკი,D,6\nნახ.,ნახატი,D,4\nნოე.,ნოემბერი,G,4\nნოემბ.,ნოემბერი,G,6\nნორვეგ.,ნორვეგიული,D,7\nოლიმპ.,ოლიმპიური,G,6\nოქტ.,ოქტომბერი,G,4\nპალეონტ.,პალეონტოლოგია,D,8\nპედაგ.,პედაგოგიკა,D,6\nპოეტ.,პოეტური,D,5\nპოლიგრ.,პოლიგრაფია,D,7\nპოლინეზ.,პოლინეზიური ენები,D,8\nპოლიტ.,პოლიტიკა,D,6\nპოლიტ. ეკონ.,პოლიტიკური ეკონომია,D,12\nპოლონ.,პოლონური,D,6\nპორტუგ.,პორტუგალიური,D,7\nპრაკრ.,პრაკრიტი,D,6\nპრეზ.,პრეზიდენტი,G,5\nპროფ.,პროფესორი,D,5\nჟურ.,ჟურნალი,G,4\nრაოდ.,რაოდენობა,G,5\nრელიგ.,რელიგია,D,6\nრეჟ.,რეჟისორი,G,4\nრკ.-გზ.,სარკინიგზო,D,7\nრუმინ.,რუმინული,D,6\nრუს.,რუსული,D,4\nს.,საუკუნე,D,2\nსაბჭ.,საბჭოთა,G,5\nსაკუთ. სახ.,საკუთარი სახელი (ადამიანისა),D,11\nსამ.,სამხრეთ,G,4\nსამართ.,სამართალი,D,7\nსამედ.,სამედიცინო,G,6\nსამხ.,სამხედრო,D,5\nსამხ.ამერ.,სამხრეთ ამერიკა,G,10\nსამხრ.-აღმ.,სამხრეთ-აღმოსავლეთი,D,11\nსანსკრ.,სანსკრიტი,D,7\nსაპირისპ.,საპირისპირო,D,9\nსასწ.,სასწავლებელი,G,5\nსაუბ.,სასაუბრო,D,5\nსაუკ.,საუკუნე,D,5\nსაქ.,საქართველო,G,4\nსერბ.,სერბული,D,5\nსერბ.-ხორვატ.,სერბულ-ხორვატული,D,13\nსექ.,სექტემბერი,G,4\nსვან.,სვანური,G,5\nსთ.,საათი,D,3\nსინონ.,სინონიმი,D,6\nსინჰალ.,სინჰალური,D,7\nსკანდინ.,სკანდინავიური,D,8\nსმ.,სანტიმეტრი,D,3\nსომხ.,სომხური,D,5\nსოფ.,სოფელი,G,4\nსოფ. მეურნ.,სოფლის მეურნეობა,D,11\nსპარს.,სპარსული,D,6\nსპარს.-ავღ.,სპარსულ-ავღანური,D,11\nსპეც.,სპეციალური,D,5\nსპორტ.,სპორტული,D,6\nსს.,საუკუნეები,D,3\nსსრ.,სოციალისტური რესპუბლიკების კავშირი,G,4\nსსრკ.,საბჭოთა სოციალისტური რესპუბლიკების კავშირი,G,5\nსტ.,სტამბა,G,3\nსტად.,სტადიონი,G,5\nსტენოგრ.,სტენოგრაფია,G,8\nსქ.,სქოლიო,D,3\nსხვ.,სხვა,D,4\nტ.,ტომი,D,2\nტამილ.,ტამილური,D,6\nტაჯიკ.,ტაჯიკური,D,6\nტემპ.,ტემპერატურა,G,5\nტექ.,ტექნიკა,D,4\nტექნ.,ტექნიკური,G,5\nტიბეტ.,ტიბეტური,D,6\nტოპოგრ.,ტოპოგრაფიული,D,7\nტუნგუს.,ტუნგუსური,D,7\nტფ.,ტფილისი,G,3\nუარყ.,უარყოფითი,D,5\nუზბეკ.,უზბეკური,D,6\nუკრ.,უკრაინული,D,4\nუმართებ.,უმართებულო,D,8\nუმც.,უმცროსი,G,4\nუნგრ.,უნგრული,D,5\nფარმაკ.,ფარმაკოლოგია,D,7\nფიზ.,ფიზიკა,D,4\nფიზიოლ.,ფიზიოლიგია,D,7\nფილოლ.,ფილოლოგია,D,6\nფილოს.,ფილოსოფია,D,6\nფინ.,ფინური,D,4\nფინანს.,საფინანსო,D,7\nფინიკ.,ფინიკიური,D,6\nფლამანდ.,ფლამანდური,D,8\nფოტოგრ.,ფოტოგრაფია,D,7\nფრ.,ფრანგული,G,3\nფრანგ.,ფრანგული,D,6\nფსიქ.,ფსიქოლოგია,D,5\nქ.,ქალაქი,G,2\nქ.-ნი,ქალბატონი,D,5\nქართ.,ქართული,D,5\nქართვ.,ქართველი,G,6\nქიმ.,ქიმია,D,4\nყაბარდ.,ყაბარდოული,D,7\nყაზახ.,ყაზახური,D,6\nშ.შ.მ.,შეზღუდული შესაძლებლობების მქონე,G,6\nშდრ.,შეადარე,D,4\nშემოკ.,შემოკლებული,G,6\nშემოკლ.,შემოკლებული,D,7\nშვედ.,შვედური,D,5\nშვეიც.,შვეიცარია,G,6\nშოტლ.,შოტლანდიური,D,5\nშრ.,შრომა,D,3\nჩ.წ.ა.,ჩვენი წელთაღრიცხვით,G,6\nჩეხ.,ჩეხური,D,4\nჩვ.წ.,ჩვენი წელთაღრიცხვით,G,5\nჩინ.,ჩინური,D,4\nჩრდ.,ჩრდილოეთ,G,4\nჩრდ.ამერ.,ჩრდილოეთ ამერიკა,G,9\nც.,ცენტნერი,D,2\nცენტ.,ცენტრალური,G,5\nცხ.ძ.,ცხენის ძალა,G,5\nძვ.,ძველი,D,3\nძვ. სტ.,ძველი სტილით,G,7\nძვ. წ.,ძველი წელთაღრიცხვით,G,6\nძვ.სტ.,ძველი სტილით,G,6\nწ.,წელი,D,2\nწგნ.,წიგნი,G,4\nწელთაღრ.,წელთაღრიცხვით,D,8\nწთ.,წუთი,D,3\nწიგნ.,წიგნური,D,5\nწმ.,წამი,D,3\nწწ.,წლები,D,3\nხალხ.,ხალხური,D,5\nხელოვნ.,ხელოვნება,D,7\nჰა,ჰექტარი,D,2\nჰოლანდ.,ჰოლანდიური,D,7\n"))q[n.CONTRACTION]=n.EXPANSION;const N=(n,e)=>n.length<e.length||n.length===e.length&&n<e,T={};for(const[n,e]of Object.entries(q)){const t=T[e];(void 0===t||N(n,t))&&(T[e]=n)}const $=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),L=n=>{const e=Object.keys(n).sort((n,e)=>e.length-n.length),t=new RegExp("(?<![ა-ჿ])(?:"+e.map($).join("|")+")(?![ა-ჿ])","g");return e=>e.replace(t,e=>n[e])},R=L(q),M=L(T),P={cmap:q,emap:T,expand:n=>n in q?q[n]:n,expandText:n=>R(n),contract:n=>n in T?T[n]:n,contractText:n=>M(n)},S=[["tsch","ჭ"],["tch","ჭ"],["ch","ჩ"],["sh","შ"],["dz","ძ"],["kh","ხ"],["th","თ"],["zh","ჟ"],["jh","ჟ"],["ph","ფ"],["gh","ღ"],["ts","ც"]],U={t:["ტ","თ"],p:["ფ","პ"],c:["ც","წ"],k:["ქ","კ"],j:["ჯ","ჟ"]},Z=[["a","ა"],["A","ა"],["b","ბ"],["B","ბ"],["c","ც"],["C","ჩ"],["d","დ"],["D","დ"],["e","ე"],["E","ე"],["f","ფ"],["F","ფ"],["g","გ"],["G","გ"],["h","ჰ"],["H","ჰ"],["i","ი"],["I","ი"],["j","ჯ"],["J","ჯ"],["k","კ"],["K","კ"],["l","ლ"],["L","ლ"],["m","მ"],["M","მ"],["n","ნ"],["N","ნ"],["o","ო"],["O","ო"],["p","პ"],["P","პ"],["q","ქ"],["Q","ქ"],["r","რ"],["R","ღ"],["s","ს"],["S","შ"],["t","ტ"],["T","თ"],["u","უ"],["U","უ"],["v","ვ"],["V","ვ"],["w","წ"],["W","ჭ"],["x","ხ"],["X","ხ"],["y","ყ"],["Y","ყ"],["z","ზ"],["Z","ძ"]],F="\\p{L}\\p{N}\\p{M}\\p{Pc}",I=new RegExp(`(?<![${F}])(?:[${F}]+-[${F}]+|[${F}]+)(?![${F}])`,"gu"),B=new RegExp(`<([${F}]+)>`,"gu"),W=n=>{for(const[e,t]of S)n=n.replaceAll(e,t);return n},X=(n,e=!0)=>{for(const[t,r]of Z)!e&&t in U||(n=n.replaceAll(t,r));return n};let H=null;const K=n=>X(W(n)),J=n=>(n=(n=>n.replace(I,n=>"<"+n+">"))(n=(n=>{const e=n.split(/([.!?]\s*)/),t=e.filter((n,e)=>e%2==0).map(n=>{const e=n.indexOf(" ");return-1===e?n.toLowerCase():n.slice(0,e).toLowerCase()+n.slice(e)});let r="";for(let n=0;n<t.length;n++)r+=t[n]+(2*n+1<e.length?e[2*n+1]:"");return r})(n)),n=W(n),(n=>n.replace(B,"$1"))(n=((n,e)=>{for(const[t,r]of e)n.includes(t)&&(n=n.replaceAll(t,r));return n})(n=X(n,!1),(null===H&&(H=E((()=>{throw new Error("Balanced/accurate georgianisation needs the ~400KB ambigram table, which isn't bundled for the browser. Use georgianise(text, 'fast'), or run in Node (import from 'anbani').")})()).filter(n=>"true"!==n.REDUNDANT.trim().toLowerCase()).map(n=>[n.MASKED,n.NGRAM])),H)))),V=(n,e="\n",t=" ")=>n.split(e).filter(n=>""!==n).map(n=>n.trim().split(t).filter(n=>""!==n)),Y={contractions:P,georgianisation:{georgianise:(n,e="balanced")=>{if("accurate"===e)throw new Error("The 'accurate' georgianisation table is a Python-only extra (too large for npm). Use 'balanced' or 'fast'.");return"balanced"===e?J(n):K(n)},georgianiseFast:K,georgianiseBalanced:J,latinise:n=>{for(const[e,t]of Object.entries(U))for(const r of t)n=n.replaceAll(r,e);for(const[e,t]of S)n=n.replaceAll(t,e);for(const[e,t]of Z)n=n.replaceAll(t,e);return n},diphthongMapping:S,letterMapping:Z,commonErrors:U},preprocessing:{sentenceTokenize:n=>(n=(n=(n=(n=n.replace(/[^Ⴀ-ჿⴀ-ⴥᲐ-Ჿ.?!]/g," ")).replace(/[?!]/g,".")).replace(/\s+/g," ")).toLowerCase(),V(n,".")),paragraphTokenize:n=>(n=(n=n.replace(/[^Ⴀ-ჿⴀ-ⴥᲐ-Ჿ\n]/g," ")).toLowerCase(),V(n,"\n")),wordTokenize:n=>(n=(n=(n=n.replace(/[^Ⴀ-ჿⴀ-ⴥᲐ-Ჿ]/g," ")).replace(/\s+/g," ")).toLowerCase()).split(" ").filter(n=>""!==n),cleanup:n=>(n=(n=n.replace(/[^Ⴀ-ჿⴀ-ⴥᲐ-Ჿ.?!,]/g," ")).replace(/\s+/g," ")).toLowerCase()}};let _=Object.keys(t.alphabets).slice(0,4).concat(["khutsuri","shanidziseuli","tfileliseuli","sasataure"]).concat(Object.keys(t.alphabets).slice(4)),Q={letters:{mkhedruli:t.alphabets.mkhedruli.join(""),asomtavruli:t.alphabets.asomtavruli.join(""),nuskhuri:t.alphabets.nuskhuri.join(""),mtavruli:t.alphabets.mtavruli.join("")},keys:_,caps:n=>f.convert(n,"mkhedruli","mtavruli"),bicam:n=>f.convert(n,"mkhedruli","shanidziseuli"),bicaps:n=>f.convert(n,"mkhedruli","sasataure")};const nn={core:f,lorem:O,toolkit:C,data:t,utils:c,ab:Q,nlp:Y};return e=e.default,e})());