diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 45185ceb7..634d88f5d 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -24,7 +24,6 @@ jobs: ${{ runner.os }}-node- - run: npm ci - - run: npm i --no-save c8 - - run: npm i --no-save codecov + - run: npm i c8 codecov - run: c8 -r lcov -n 'src/**/*' -n 'plugins/**/*' npm run test && codecov -t 15039ad1-b495-48cd-b4a0-bcf124c9b318 # - run: npm run codecov diff --git a/builds/compromise.js b/builds/compromise.js index eff2c8b54..cd70b4154 100644 --- a/builds/compromise.js +++ b/builds/compromise.js @@ -1,2 +1,2 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map((e,t)=>[t])),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);return a.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(r.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):a):a;var o};let d=Object.assign({},e);const m=function(e,t){t&&m.addWords(t);let n=h(e,s,d);return n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(e,t){const{compute:n}=this._world;t&&m.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(e){return u(e,this._world,s,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},m.version="14.1.2";var p=m;const g=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},f=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},b=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},v=function(e){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(e)||/^[A-Z]$/.test(e)},y=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?f(n):(f(n),f([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!v(r.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||v(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^[A-Z]/,e=>e.toLowerCase()))}(e,o,n),g(e,o,n)},w=(new Date).getTime(),k=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var P=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-w;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=k((r=r>46655?46655:r).toString(36));a+=k(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const A=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},D=e=>"[object Array]"===Object.prototype.toString.call(e),j=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.docs[0]:D(e)?D(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.forEach(e=>{e.id=P(e)}),e}(d),n?(A(t.update([u]).firstTerm()),y(h,u,d,r)):(A(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(I,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));r.insertAfter(e),a.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this}};var G=T;const E={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let a=n.fullPointer,o=r.fullPointer.reverse(),i=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e}(this.document,o),s=t(o);return a=a.map(e=>{let[t]=e;return s[t]?(s[t].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e}),a=a.filter((e,t)=>{if(e[2]-e[1]<=0){for(let e=t+1;et[0]===e).forEach(e=>{e[0]-=1});return!1}return!0}),a=a.map(e=>(e[3]=null,e[4]=null,e)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):n.none()}};E.delete=E.remove;var C=E;const O={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};O.deHyphenate=O.dehyphenate,O.toQuotation=O.toQuotations;var B=O,V={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const z=new Set(["index","sequence","seq","sequential","chron","chronological"]),F=new Set(["freq","frequency","topk","repeats"]),$=new Set(["alpha","alphabetical"]);var S={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return z.has(e)&&(e="sequential"),$.has(e)&&(e="alpha"),F.has(e)?(a=V.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof V[e]?(a=a.sort(V[e]),this.update(a.map(e=>e.pointer))):this}};const H=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var M={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return g(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=H(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=H(this.document,e);return this.document=t,this.all()}var a;return this}},W={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},N,G,C,B,S,M,W);var L={api:function(e){Object.assign(e.prototype,J)},compute:{id:function(e){let t=e.docs;for(let e=0;e{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},K=function(e,t){let{ptrs:n,byGroup:r}=e;return n=q(n,t),Object.keys(r).forEach(e=>{r[e]=q(r[e],t)}),{ptrs:n,byGroup:r}},U=e=>e&&"object"==typeof e&&!0===e.isView;var R={matchOne:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e).eq(0);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(U(e))return e.fullPointer.length>0;"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(U(e))return this.filter(t=>t.intersection(e).found);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer;return o=o.filter(e=>{let t=this.update([e]);return r.match(t.docs,a,this._cache).ptrs.length>0}),this.update(o)},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;return U(e)?this.difference(e):("string"==typeof e&&(e=a.parseMatch(e,n)),this.filter(n=>{let r={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,r,n._cache).ptrs.length}))}},Z={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Q=function(e,t){return[e[0],e[1],t[2]]},_=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Y=function(e,t){let[n,r]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id),e},X={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Q(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Q(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)}};X.split=X.splitAfter;var ee=X;const te=Object.assign({},R,Z,ee);te.lookBehind=te.before,te.lookBefore=te.before,te.lookAhead=te.after,te.lookAfter=te.after,te.notIf=te.ifNo;var ne=function(e){Object.assign(e.prototype,te)};const re=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),se=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var le=function(e){let t=e.split(re),n=[];t.forEach(e=>{ie(e)?n.push(e):n=n.concat(e.split(ae))}),n=se(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ie(e)?r.push(e):r=r.concat(e.split(oe))}),r=se(r),r};const ue=/\{([0-9]+)?(, *[0-9]*)?\}/,ce=/&&/,he=new RegExp(/^<\s*(\S+)\s*>/),de=e=>e.charAt(0).toUpperCase()+e.substr(1),me=function(e){return e[e.length-1]},pe=function(e){return e[0]},ge=function(e){return e.substr(1)},fe=function(e){return e.substr(0,e.length-1)},be=function(e){return e=ge(e),e=fe(e)},ve=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===me(e)&&(n.end=!0,e=fe(e)),"^"===pe(e)&&(n.start=!0,e=ge(e)),("["===pe(e)||"]"===me(e))&&(n.group=null,"["===pe(e)&&(n.groupStart=!0),"]"===me(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===pe(e))){const t=he.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===me(e)&&(n.greedy=!0,e=fe(e)),"*"!==e&&"*"===me(e)&&"\\*"!==e&&(n.greedy=!0,e=fe(e)),"?"===me(e)&&(n.optional=!0,e=fe(e)),"!"===pe(e)&&(n.negative=!0,e=ge(e)),"~"===pe(e)&&"~"===me(e)&&e.length>2&&(e=be(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===pe(e)&&")"===me(e)){ce.test(e)?(n.choices=e.split(ce),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=ge(n.choices[0]);let r=n.choices.length-1;n.choices[r]=fe(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>ve(e,t))),e=""}if("/"===pe(e)&&"/"===me(e))return e=be(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===pe(e)&&"}"===me(e))return e=be(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===pe(e)&&">"===me(e))return e=be(e),n.chunk=de(e),n.greedy=!0,n;if("%"===pe(e)&&"%"===me(e))return e=be(e),n.switch=e,n}return!0===ue.test(e)&&(e=e.replace(ue,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===pe(e)?(n.tag=ge(e),n.tag=de(n.tag),n):"@"===pe(e)?(n.method=ge(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ye=ve,we=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let r=0;r{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},ke=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=le(e);return n=n.map(e=>ye(e,t)),n=we(n,t),n};const Pe=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ae=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Ge=(e,t)=>-1!==e.pre.indexOf(t),Ee={hasQuote:e=>je.test(e.pre)||xe.test(e.post),hasComma:e=>Te(e,","),hasPeriod:e=>!0===Te(e,".")&&!1===Te(e,"..."),hasExclamation:e=>Te(e,"!"),hasQuestionMark:e=>Te(e,"?")||Te(e,"¿"),hasEllipses:e=>Te(e,"..")||Te(e,"…")||Ge(e,"..")||Ge(e,"…"),hasSemicolon:e=>Te(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Ne.test(e.post)||Ne.test(e.pre),hasDash:e=>Ie.test(e.post)||Ie.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(e.text),isUpperCase:e=>/^[A-Z]+$/.test(e.text)};Ee.hasQuotation=Ee.hasQuote;var Ce=Ee;let Oe=function(){};Oe=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(De(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ce[t.method]&&!0===Ce[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?!(!e.implicit||!0!==t.fastOr.has(e.implicit))||t.fastOr.has(e.normal)||t.fastOr.has(e.text):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>Oe(e,t,n,r)):t.choices.some(t=>Oe(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var Be=Oe;const Ve=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(ze(e,e.t).length=r-e.t),e.t=r,!0)};const $e=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Be(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Be(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(ze(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Me=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==Be(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null},We=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Be(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Be(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},Je=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},Le=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},qe=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&We(e),r.implicit&&e.terms[e.t+1]&&Le(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Je(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=ze(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},Ke=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==Ve(e,a)){if(!0!==Be(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative&&!Me(a))return null;if(!0!==e.optional)return null}else if(!qe(a))return null}else if(!qe(a))return null}else if(!qe(a))return null}else if(!He(a))return null}else if(!Se(a))return null}else if(!Fe(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}},Ue=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Re=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Ze=function(e,t,n){let r=Ke(e,t,0,e.length);return r?(r=Re(r,n),r):null};var Qe={api:ne,methods:{one:{termMethods:Ce,parseMatch:ke,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Ze(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ue(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){return this.world().methods.one.parseMatch(e,t)}}};const _e=/^\../,Ye=/^#./,Xe=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),_e.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var et={html:function(e){let{starts:t,ends:n}=Xe(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(nt,""),at.test(a)&&(a=" "),a=a.replace(rt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(nt,""),a="-"===a?" ":a.replace(tt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&ot.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},st={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};st.clean=st.normal,st.reduced=st.root;var lt=st;const ut={text:!0,terms:!0};let ct={case:"none",unicode:"some",form:"machine",punctuation:"some"};const ht=function(e,t){return Object.assign({},e,t)},dt={text:e=>it(e,{keepPunct:!0},!1),normal:e=>it(e,ht(lt.normal,{keepPunct:!0}),!1),implicit:e=>it(e,ht(lt.implicit,{keepPunct:!0}),!1),machine:e=>it(e,ct,!1),root:e=>it(e,ht(ct,{form:"root"}),!1),offset:e=>{let t=dt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};dt.sentences=dt.sentence,dt.clean=dt.normal,dt.reduced=dt.root;const mt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},ut,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&dt[o]&&(a[o]=dt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};mt.data=mt.json;var pt=mt,gt=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const ft="";var bt={green:e=>""+e+ft,red:e=>""+e+ft,blue:e=>""+e+ft,magenta:e=>""+e+ft,cyan:e=>""+e+ft,yellow:e=>""+e+ft,black:e=>""+e+ft,dim:e=>""+e+ft,i:e=>""+e+ft},vt=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(bt.blue("\n ──────")),t.forEach(e=>{console.log(bt.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=bt.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=bt.blue(" │ ")+bt.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return bt[n](e)})),e.join(", ")}(t,n);console.log(o)})})},yt=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(bt.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(bt.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(bt.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(bt.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},wt=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${bt.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const kt=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Pt=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},Dt={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&<.hasOwnProperty(e)?t=Object.assign({},lt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},It=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var Tt=function(e,t){let n=It(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r},Gt={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n},pointer:{indexN:It,splitAll:Tt}}},Et=function(e,t){let n=e.concat(t),r=It(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>Nt(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},Ot=function(e,t){let n=It(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>Nt(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Vt=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},zt={union:function(e){e=Bt(e,this);let t=Et(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)}};zt.and=zt.union,zt.intersection=function(e){e=Bt(e,this);let t=Ot(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.not=function(e){e=Bt(e,this);let t=Ct(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.difference=zt.not,zt.complement=function(){let e=this.all(),t=Ct(e.fullPointer,this.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=Et(e,[t])}),e=Vt(e,this.document),this.update(e)};var Ft={methods:Gt,api:function(e){Object.assign(e.prototype,zt)}};const $t=/ /,St=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Ht=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),$t.test(t))!function(e,t,n,r){let a=t.split($t);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),Ht(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nMt(e,t,n,r))};var Wt=Mt,Jt=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Lt({id:e})),t}return[Lt({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Rt=e=>"[object Array]"===Object.prototype.toString.call(e),Zt=e=>(e=e||"").trim(),Qt=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||qt.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Kt(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Lt({});return e.forEach(e=>{if((e=Lt(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Ut(t=e).forEach(Lt),t);var t},_t=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Ut(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},Yt=function(e){let t=Ut(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Xt={text:_t,txt:_t,array:Yt,flat:Yt},en=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(_t(e,!0)),null):Xt.hasOwnProperty(t)?Xt[t](e):e},tn=e=>{Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},nn=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zt(e),!nn.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||Lt({});return new g$1(t)}add(e,t={}){if(Rt(e))return e.forEach(e=>this.add(Zt(e),t)),this;e=Zt(e);let n=Lt({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zt(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Ut(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Ut(this.json)}fillDown(){var e;return e=this.json,Ut(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Rt(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){tn(this.json);let e=Ut(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return tn(this.json),en(this.json,e)}debug(){return tn(this.json),en(this.json,"debug"),this}}const rn=function(e){let t=Qt(e);return new g$1(t)};rn.prototype.plugin=function(e){e(this)};var an={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const on=function(e){if(an.hasOwnProperty(e.id))return an[e.id];if(an.hasOwnProperty(e.is))return an[e.is];let t=e._cache.parents.find(e=>an[e]);return an[t]};var sn=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a}=e.props,o=e._cache.parents;r&&(o=o.concat(r)),t[e.id]={is:a,not:n,also:r,parents:o,children:e._cache.children,color:on(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const ln=function(e){return e?"string"==typeof e?[e]:e:[]};var un=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=ln(e[t].children),e[t].not=ln(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},cn={one:{setTag:Wt,unTag:Jt,addTags:function(e,t){e=un(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is};return{id:t,parent:n.is,props:r,children:[]}});return rn(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sn(n)}}};const hn=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var dn={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),hn(e)?e.forEach(e=>a.one.setTag(r,e,i,n)):a.one.setTag(r,e,i,n),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return hn(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}},mn=function(e){Object.assign(e.prototype,dn)},pn={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const gn=new Set(["Auxiliary","Possessive"]);var fn={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(gn.has(e)||!t.hasOwnProperty(n))return 1;if(gn.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:cn,api:mn,lib:pn};const bn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vn=/((?:\r?\n|\r)+)/;var yn=function(e){let t=[],n=e.split(vn);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Fn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,$n=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Sn=/['’]/,Hn=/^[a-z]\.([a-z]\.)+/i,Mn=/^[-+.][0-9]/,Wn=/^'[0-9]{2}/;var Jn=function(e){let t=e,n="",r="";return""===(e=(e=e.replace(Fn,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Mn.test(e)?"'"===n&&Wn.test(e)?(n="",t):"":(n="",t)))).replace($n,a=>(r=a,Sn.test(a)&&/[sn]['’]$/.test(t)&&!1===Sn.test(n)?(r=r.replace(Sn,""),"'"):!0===Hn.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}},Ln=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const qn=/([A-Z]\.)+[A-Z]?,?$/,Kn=/^[A-Z]\.,?$/,Un=/[A-Z]{2,}('s|,)?$/,Rn=/([a-z]\.)+[a-z]\.?$/;var Zn=function(e){return function(e){return!0===qn.test(e)||!0===Rn.test(e)||!0===Kn.test(e)||!0===Un.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Qn=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Ln(r),r=n(r,t),r=Zn(r),e.normal=r},_n={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=e.split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Nn,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Vn);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Cn(n),n=Gn(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Jn(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Qn(e,t)}),n})}}}},Yn={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xn={},er={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Xn[t]=!0,er[t]="Abbreviation",void 0!==e[1]&&(er[t]=[er[t],e[1]])})});var tr=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let nr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},rr={};Object.keys(nr).forEach((function(e){nr[e].split("").forEach((function(t){rr[t]=e}))}));const ar=/\//,or=/[a-z]\.[a-z]/i,ir=/[0-9]/;var sr=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),ar.test(n)&&!or.test(n)&&!ir.test(n)){let t=n.split(ar);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e},lr=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(t)&&(t=t.replace("-","")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ur=function(e){let t=0,n=0,r=e.document;for(let e=0;ecr(e,sr),machine:e=>cr(e,lr),normal:e=>cr(e,Qn),freq:function(e){let t=e.docs,n={};for(let e=0;ee.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const mr=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const fr=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var br=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=fr(e.goNext,void 0),e.failTo=fr(e.failTo,0),e.endAs=fr(e.endAs,null),e},vr={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:dr(e,this.world));var r;let a=gr(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=dr(e,this.world());return br(t)}}};const yr={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var wr={api:function(e){Object.assign(e.prototype,yr)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit);let n=Array.from(e.tags);for(let e=0;e{!0!==e.optional&&!0!==e.negative&&(e.tag&&t.add("#"+e.tag),e.word&&t.add(e.word))}),t}}}};const kr=function(){const e=this.docs;if(0===e.length)return this;let t=e[e.length-1]||[],n=t[t.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var Pr=function(e,t,n){let r={},a=[],o=n.prefixes||{};return e.forEach(e=>{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const Ar={safe:!0,min:3};var Dr={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=kr},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Ar,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=Pr(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]},jr=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,"1-lexicon-alias"),!0}if(!0===xr.test(l)){let e=l.replace(xr,"");if(i.hasOwnProperty(e)&&e.length>3&&Nr.has(i[e]))return o([s],i[e],n,"1-lexicon-prefix"),!0}return null},Tr={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]},Gr={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}},Er=function(e,t,n){let[r,a]=t;n&&0!==n.length&&((n=n.map(e=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Cr=/'/,Or=new Set(["what","how","when","where","why"]),Br=new Set(["be","go","start","think","need"]),Vr=new Set(["been","gone"]);var zr=function(e,t){let n=e[t].normal.split(Cr)[0];if(Or.has(n))return[n,"did"];if(e[t+1]){if(Vr.has(e[t+1].normal))return[n,"had"];if(Br.has(e[t+1].normal))return[n,"would"]}return null};const Fr=/'/;var $r=function(e,t){let n=e[t].normal.split(Fr)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]},Sr=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const Hr=/'/;var Mr=(e,t)=>["je",e[t].normal.split(Hr)[1]],Wr=(e,t)=>{let n=e[t].normal.split(Hr)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Jr=(e,t)=>{let n=e[t].normal.split(Hr)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Lr=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,qr=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var Kr=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(Lr);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(qr),null!==r?[r[1],"to",r[4]]:null)};const Ur=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Rr=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Zr=(e,t)=>{let n=e[t],[r]=n.normal.split(/'s/);if(Ur.has(r))return!0;let a=e[t+1];return!(!a||!Rr.has(a.normal))};const Qr=/'/,_r=/^[0-9][^-–—]*[-–—].*?[0-9]/,Yr=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Xr={t:(e,t)=>Sr(e,t),d:(e,t)=>zr(e,t),s:(e,t)=>!0===Zr(e,t)?$r(e,t):null},ea={j:(e,t)=>Mr(e,t),l:(e,t)=>Wr(e,t),d:(e,t)=>Jr(e,t)},ta=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===Qr.test(r[s].normal)&&([l,u]=r[s].normal.split(Qr));let c=ta(o,r[s],l,u);!c&&Xr.hasOwnProperty(u)&&(c=Xr[u](r,s,t)),!c&&ea.hasOwnProperty(l)&&(c=ea[l](r,s)),c?(c=na(c,e),Er(n,[i,s],c),Yr(n[i],e)):_r.test(r[s].normal)&&(c=Kr(r,s),c&&(c=na(c,e),Er(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),Yr(n[i],e)))}})}},hooks:["contractions"]};p.extend(L),p.extend(xt),p.extend(Qe),p.extend(Ft),p.extend(fn),p.plugin(ra),p.extend(hr),p.plugin(wr),p.extend(vr),p.extend(Dr),p.extend(Tr);var aa={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},oa={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Uncountable:"true¦0:2O;1:1W;2:24;a2Db24c1Ud1Le1Df17g10h0Ti0Nj0Mk0Ll0Hm06n04o03pXrSsHt8vi7w3;a5i4oo3;d,l;ldlife,ne;rm7t2;neg1Rol0Mtae;eAh9oothpas1Lr4un3yranny;a,gst1T;aff00ea16o4ue nor3;th;oZu3;ble3se1Dt;!shoot1V;ermod29und2;a,nnis;aBcene0Heri1hAil9ki8o7p6t4u3weepstak1;g1Gnshi10;ati28e3;am,el;ace21eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;d0Nfe1Ul3nd,t0B;m1Kt;a6e4ic3;e,ke0V;c3laxa0Ssearch;ogni0Rrea0R;bi1in;aVe7hys0lastDo5re3;amble,mis1s3ten1J;en1Isu0C;l3rk;it0yD;a1Ntr06;bstetr0vercrowd16xyg0Z;a3ews;il polWtional securi1F;aBe9o6u3;m4s3;ic;ps;n3o17;ey,o3;gamy;a3chan0rchandi14tallurgy;sl1t;chine3themat0; learn0Try;aught2e5i4ogi1Au3;ck,g0V;ce,ghtn0Qngui18teraR;ath2isuRss;indergart0Hnowled0T;azz,ewelCusti13;ce,gnor7mp4n3tself;formaYternet;a3ort5;ti3;en0Y;an0X;a6eIisto5o3;ckey,mework,ne3rserad7spitali0Q;s0Py;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0R;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;icFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti03;body,o3thU;ne;joy3tertain3;ment;ici01on0;tiR;e9i6o4raugh3ynasZ;ts;pe,wnstai3;rs;abet1s3;honTrepu3;te;b3miP;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eGw8;us;d,rI;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarDs3;on;g3ss;ga3;ge;cDdviCeroAir9m5ni4ppeal court,spi3thlet0;rin;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4B;a3Eb2Wc2Dd25e21f1Wg1Oh1Ji1Gj1Ek1Cl17m0Vn0Io0Fp08qu07r00sTtGuBv8w3xiaomi,y1;amaha,m12ou1w12;gov,tu2X;a3e1orld trade organizati2Q;lls fargo,st1;fie27inghou2G;l1rner br3G;gree35l street journ28m16;an halOeriz2Lisa,o1;dafo2Ml1;kswagMvo;b4kip,n2ps,s1;a tod2Wps;es38i1;lev31ted natio2Y;er,s; mobi2Oaco bePd bMeAgi frida9h3im horto2Wmz,o1witt2Z;shiba,y1;ota,s r Z;e 1in lizzy;b3carpen35daily ma2Zguess w2holli0rolling st1Qs1w2;mashing pumpki2Ruprem0;ho;ea1lack eyed pe3Jyrds;ch bo1tl0;ys;l2n3Bs1xas instrumen1I;co,la m14;efoni0Bus;a6e4ieme2Jnp,o2pice gir5quare03ta1ubaru;rbucks,to2P;ny,undgard1;en;a2Tx pisto1;ls;few29insbury2PlesforYmsu21;.e.m.,adiohead,b6e3oyal 1yana2Z;b1dutch she4;ank;aders dige1Gd 1max,vl1Q;bu1c1Yhot chili peppe2Mlobst2B;ll;c,s;ant2Zizno2H;a5bs,e3fiz27hilip morrCi2r1;emier29udenti16;nk floyd,zza hut;psi2Atro1uge0A;br2Uchina,n2U;lant2Mn1yp12; 2ason1Zda2H;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Gtflix,w1; 1sweek;kids on the block,york09;a,c;nd1Us2t1;ional aca2Ho,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Lnsanto,ody blu0t1;ley crue,or0N;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt13z1Y;'ore08a3e1g,ittle caesa1J;novo,x1;is,mark; 1bour party;pres0Az boy;atv,fc,kk,m1od1I;art;iffy lu0Loy divisi0Fpmorgan1sa;! cha06;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Qi3o1sbc,yundai;me dep1n1K;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Ku1;cci,ns n ros0;ldman sachs,o1;dye1g0D;ar;axo smith kli02encoU;electr0Jm1;oto0V;a4bi,da,edex,i2leetwood mac,o1rito l0C;rd,xcW;at,nancial1restoX; tim0;cebook,nnie mae;b07sa,u3xxon1; m1m1;ob0G;!rosceptics;aiml0Ae6isney,o4u1;nkin donu2po0Wran dur1;an;ts;j,w j1;on0;a,f lepp0Yll,peche mode,r spiegYstiny's chi1;ld;aHbc,hDiBloudflaAnn,o3r1;aigsli5eedence clearwater reviv1ossra05;al;ca c6inba5l4m1o0Ast05;ca2p1;aq;st;dplOgate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7O;1:6H;2:7U;3:7K;4:7X;5:7T;6:6T;7:7E;8:71;9:6P;a7Gb6Sc5Rd57e4Zf4Bg42h3Ui3Oj3Mk3Kl3Am31n2Xo2Tp21ques7Ir1Ds07tTuRvMwCyBzA;ip,o6A;awn,e1Wie4R;aHeaGhEiCoAre7I;nd0rA;k,ry;mp,nApe,re,sh,tne7Z;!d,g;e6EiA;p,st6;r,th0;it,rAs5t3ve,x;ehou1ra7Y;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l38;pAsh0;da5gra4W;aLeKhrJiIoHrDuBwiAy4L;n,st;nArn;e,n5Z;aCeBiAu7;bu5ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Pss,t72u3;ck,e,me,p,re;e1Low,u7;ar,e,st;g,lArg5Zs5;k,ly;a0Ec09e06h01iZkXlVmUnTou68pPtFuBwA;ear,it3;b1Wit,m,ppBrAspe4;ge,pri1vey;lAo58;e55y;aHeGiFoDrBuAy6;dy,ff,mb6;a68eAi4C;am,ss,t3;p,rA;e,m;ck,t3;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Hons6IrAy;ay,e10ink6u2;n,r6Ete;n,rk;ee1Dow;e0Fi6o3Z;eep,iA;ce,p,t;ateboa5ViA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i30;pe,re;aBed,nArv14t;se,t1W;l,r3t;aDhedu6oCrA;at3eA;en,w;re,ut;le,n,r0H;crifi2il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1A;as5AcOdo,el,fMgLje4lKmInHo0TpFque7sCturn,vAwa58;eAi1H;al,r1;er5FoBt,uA;lt,me;l5Drt;air,eaAly,o3V;l,t;dezvo23t;aAedy;ke,rk;ea1i3B;a4Wist0r4A;act5Aorm,uA;nd,se;aAo4Tru8;ll;ck,i1ke,l44nAtT;ge,k;aYeVhTiQlLoIrBuA;mp,n3rcha1sh;ai1eEi2oAu3H;be,ceCdu2grAje4mi1te7;amAe59;!me;ed,ss;sAy;er4Rs;iBlAol,p,re,s2Pw0;i2l;nt,s4G;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Sm8;!l;cka9iBn,rtAss,t3u1;!y;nt,r;bCff0il,oBrAutli2R;d0ie4P;ze;je4;a3JeCoA;d,tA;e,i2;ed,gle4rd,t;aFeDiCoBuA;rd0;d2Snit42p,ve;lk,n2Wrr41x;asu11n3MrAss;ge,it;il,nBp,rk2XsAt3;h,k;da5oeuv0X;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0CvA;el,y;ch,d,p,se;bBcAnd,t3un3;e,k;el,o23;e2BiAno3A;ck,ll,ss;am,o15uA;d9i2;mpEnBr34ssA;ue;cr17dex,fluBha6k,se1TterviAvoi2;ew;en2;a4le1O;aEeCiBoAu3P;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo2Ym,ne3Eve7;!le;aHeek,lo3CoGrCuA;arAe3Bi0Ln;antee,d;aCiBoAumb6;om,u29;nd,p;de,sp;of,ssip;in,me,ng,s,ze;aWeSiNlJoGrCuA;el,nAzz;c2Ed;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Nm;us;aCe0Jip,oAy;at,od,wA;!er;g,re,sh,vo0Y;eDgClBnAre,sh,t,x;an2i0E;e,m,t0;ht,uE;ld;aBeAn2;d,l;r,tuA;re;ce,il,ll,rm,vo20;cho,nGsExAye;cCerci1hib8pAtra4;eriAo0I;en2me2H;el,han9;caAtima5;pe;count0d,gine0vy;aReLiFoErBuAye;b,mp;aBeam,iA;ft,nk,ve;ft,in;cu05d9ubt;p,sCvA;e,iAor2;de;char9liBpA;at3lay;ke;al,ba5cDfeClBma0Wpos8siAtail;gn,re;ay,ega5;at,ct;liXrA;ea1;ma9n2rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu4glomeDstru4tAveI;a4rA;a7ol;ntArn;ra5;biEfoDmCpA;leAou08romi1;me1B;a06e1Au5;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t3u1ve;se;d,e;aTeQiPlMoIrDuAypa0M;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan2nCrgaBsA;e,h;in;!d,g,k;c00dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa3;ch;al;chAsw0;or;er;d,m,r;ia5;dDvA;an2oca5;te;ce;i4reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aNbrigadiMcGdFexcellency,fiAliCma9officMp5queen,r2s0taoiseach,vice4;e0ultI;cond liArgeaB;abbi,e0;ar0verend; adJ;astFr0;eside6i0ofessE;me ministEnce0;!ss;gistrate,r4yB;eld mar3rst l0;ady,i0;eutena0;nt;shA;oct5utchess;aptain,hance3o0;lonel,mmand4ngress0unci2;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:49;1:4U;2:4V;3:4K;4:4I;5:3I;6:4H;a4Hb3Wc32d2Ne2Ff27g1Wh1Kin1Ijel3k1Gl1Dm15n13o0Zp0Jqu0Ir09sQtHuEvAw7;a7ha34om23;f0i4Jt0Ay7;! arou45;arn45e8o7;cabu03l4Q;gGr7;di6t1C;nc2Xp2Ir8s 7;doll3Is4Q;bani1in2; rex,aEeDhCiAo9r8u7v show;m2An5rntGto10;agedy,ibe,o3S;p5rq37;c,de,er,m7;etC;ere,i3Z;am,mp32;ct5le4x return;aOcMeLhKi1kIoHtCu9y7;ll7n1Zst4B;ab2J;b8nri13per bowl,r7;f0roga1;st35tot2;aAep9ipe3Ir8udent7;! lo1D;ang0i3O;fa18mo18;ff0t2T;loi3Qme0Z;elet0Wi7;er,ll,rm3C;ack,or3X;ab0Ncurity gu27;e4ho7;l2Qol;la2T;av0PeAhetor5i8o7;de4om;te,v7;erb0G;bAc9f7publ5r0Hspi1;er7orm0;e4r2;it2ord label;a1u3N;estion mark,ot21;aJeIhHiFlDr8u7yram13;ddi32ppy,rpo0C;eAie36o7;bl3Gs7;pe6t7;a1itu1;diction,mi07roga1Ess relea07;a7ebisci1;q20te,y0;cn5e7g;!r;armaci2XotocoE;dest2ncil,rcen36t2;n8te7;!nt;el2Jop3;bjec14c8pia1rde2thers,ve7wn0;n,rview;cu7e09;pi0;an23it1Xot7umb0;a1Xhi2I;aCeBili0Vo8u7é0A;m0Mr2;m8nopo3pLrni2Fsq1Kt7u0Z;h0i0W;!my;d5nu;mm2nd0Zte7yf3;ri2;aurea1i8u7;ddi1nch;ght bulb,p07;ey7ittI;!no1;cide4dices,se6te4vert7;eb1H;aHeaDighBo7uman right,ygie0Y;le,me8tb7;ed;! r7;un; scho10ri7;se;d8v7;en; start,ph7;one;m,ndful,ze;aFeDirl1HlaNoCr8u7;l3y;an7enadi0id;a12d7; slam,fa7mo7;th0;d,lf0;lat0Cntlem7;an;df3r7;l5n19;aDella,iBlAol3r7;ee market,i8on7;ti0;e14ga1;ame,u1;nan7ref3;ci0;br5mi3n0Sth0;conoDffCgg,lecto0LnBs1Qth5venAx8yel7;id;ampUe7te4;cuLmpl0F;i13t;er1F;e6i1E;my;adKeEiBo8r7u0M;agonf3i0;c8g1Ai3or,ssi0wn7;si0J;to09umen9;ale6gni8nn0s7vide0M;conte4incenAtri6;ta07;aBc2fAni2te7;c7rre4;ti7;ve;ault 01err2;th;!dy;aWeThLiKlIoBr7;edit c9it5uc7;ib7;le;ard;efficClAmmuniqKn9pi0rr2t0Uu7yo1;ri0s7;in;ne6suG;ic,um7;ni0F;ie4;er7ie4;gy,ic;ty,vil wH;aBeqAoco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli0racter7;ist5;ic;iliXll8r7;e2tifica1;ar;hi0na9pit2r7shi0ucus;bohyd7ri0;ra1;ry;aNeMiKlemJoGrBu7;ddhiUn9r7tterf3;glar7i2;!y;ny;eak9i8o7;!th0;de;faNthro7;ugh;dy,g,wl,y7;!frie7;nd;ish;cyc7oF;liG;an,l3;nki9r7;!ri0;er;ng;cMdJllHnEppeti1rray,sBth9u7;nt,to7;psy;ie7le1;st;ce4pe6;ct;nt;ec8oma3ti8;ly;do1;er7y;gy; homin8van7;tage;em;cru2e8qui7;tt2;ta1;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0W;a0Rb0Pc0Bd0Aex09f06g03he01in0Kjoule0kUlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Cd0Iears old,o1;tt06;att0b;able3e2on1;!ne0;a1r02;spoX;c09d08f3i06kilo0Am1ya05;e0Dil1;e0li08;eet0o04;ascals,e2i1ou0H;c0Ent0;rcent,tU;hms,uR;an0BewtO;/s,e6i1m²,²,³;/h,cro4l1;e1li02;! pEs 1²;anEpD;g01s06;gLter1;! 2s1;! 1;per second;iVu1;men0x;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0P;a0Ob0Jc0Ade09e04fXgWhomel06iUjuveni01lTmOnNoMpLrIsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;bYnt;ndergr1pstairs;adua0Gou1;nd;a3e1oken;en,r1;min0ror08;boo,n;e5istXo3qua2tandard,u1;bordina09per5;re,t;cial03l1;e,v0D;cret,n1ri0;ior;e1outiG;ar,lTnt0p1;resentSublican;ati07eriodic0otenti0rincip0;ffiWpposiZv0;agging,ovel;aDe3in2o1;biCdernS;iature,or;di1tr02;an,um;attFiber0;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1pL;ess;d1iE;er;mographKriv3;hiCo1rude;m3n2oper1;ative;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l1W;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AJ;4:CL;5:C0;6:CG;7:D3;8:BS;9:AR;A:94;B:DB;C:D4;aC8bB6cA6d97e8Hf81g7Eh6Ri6Bj5Dk51l4Dm35n2To2Np2Fqu2Dr1Ls11t0Fu0Ev07wTxSyIzD;aDor0;cDh9Ikaria,n0B;hEkD;!aC6;ar5TeC5;aLoFuD;sDu2KvBI;if,uf;nFsEusD;ouf,sD;ef;aDg;s,tD;an,h0;hli,nB7ssX;avi3ho4;aMeKiFoDyaBM;jcie86lfgang,odrow,utD;!er;lDnst1;bFey,fredBlD;aAYiD;am,e,s;e96ur;i,nde9sD;!l8t1;lEyD;l1ne;lDt3;a9Wy;aGiDladimir,ojte7T;cEha0kt66nceDrgA4va0;!nt;e3Vt64;lentDn9R;inD;!e;ghBElyss58nax,sm0;aWeRhNiLoHrFuEyD;!l3ro6s1;n7r58;avAGeDist0oy,um0;ntA8v5Vy;bFd8QmDny;!as,mDoharu;aCBie,y;iAy;mDt5;!my,othy;adFeoEia0JomD;!as;!do8F;!de5;dGrD;en97rD;an96eDy;ll,n95;!dy;dgh,ha,iDnn3req,tsu4Q;cAPka;aTcotRePhLiJoHpenc3tDur1Vylve95zym1;anFeDua84;f0phBCvDwa83;e5Yie;!islaw,l8;lom1uD;leyma6ta;dDlAm1yabonga;!dhart73n8;aFeD;lDrm0;d1t1;h7Jne,qu10un,wn,y6;aDbasti0k2Al4Org4Lth,ymoAE;m5n;!tD;!ie,y;lEmDnti2Eq57ul;!ke5Im9Ru4;ik,vato7N;aYeUhe9UiQoHuEyD;an,ou;b7CdEf5pe7JssD;!elBI;ol3Ey;an,bKc61dIel,geHh0landBmGnFry,sEyD;!ce;coe,s;!aA1n9H;an,eo;l44r;er77g3n8olfo,riD;go;b9CeAQ;cDl8;ar6Hc6GhEkDo;!ey,ie,y;a8Uie;gEid,ubCyDza;an1InY;g9SiD;na9Os;ch6Pfa4lHmGndFpha4sEul,wi2GyD;an,mo6T;h7Im5;alAWol2Ty;iACon;f,ph;ent2inD;cy,t1;aIeGhilFier6SrD;aka16eD;m,st1;!ip,lip;dA4rcy,tD;ar,e3Dr1X;b4Gdra72tr6IulD;!o17;ctav3Ci3liv3m9Yndrej,rHsEtDum7wC;is,to;aEc7k7m0vD;al5R;ma;i,vL;aLeJiFoDu37;aDel,j5l0ma0r3H;h,m;cEg4i45kD;!au,h7Fola;holAkDolA;!olA;al,d,il,ls1vD;il8I;hom,thD;anDy;!a4i4;aZeWiMoHuEyD;l2Gr1;hamEr6KstaD;fa,p54;ed,mH;di0We,hamFis2CntEsDussa;es,he;e,y;ad,ed,mD;ad,ed;cIgu4hai,kGlFnEtchD;!e9;a7Uik;house,o0Bt1;ae5Oe9NolD;aj;ah,hD;aEeD;al,l;el,l;hElv2rD;le,ri9v2;di,met;ay0hTjd,ks2AlRmadWnQrKs1tFuricExD;imilianBwe9;e,io;eGhEiAtDus,yA;!eo,hew,ia;eDis;us,w;j,o;cHio,kGlFqu6Ysha9tDv2;iDy;!m,n;in,on;el,oPus;!el91oOus;iGu4;achDcolm,ik;ai,y;amEdi,eDmoud;sh;adDm5G;ou;aWeQiOlo39oKuEyD;le,nd1;cGiFkDth3uk;aDe;!s;gi,s,z;as,iaD;no;g0nn7CrenFuDv82we9;!iD;e,s;!zo;am,oD;n4r;a7Vevi,la4AnHonGst3thaFvD;eDi;nte;bo;!a6Del;!ny;mFnErDur54wr54;ry,s;ce,d1;ar,o4X;aLeHhal7GiEristDu4Jy6I;i0o53;er0p,rD;k,ollD;os;en0iFnDrmit,v3T;!dr3WnDt1;e17y;r,th;cp3j5m5Rna6OrEsp7them,uD;ri;im,l;a00eUiSoGuD;an,lDst2;en,iD;an,en,o,us;aNeLhnKkubAnIrGsD;eEhDi7Vue;!ua;!ph;dDge;i,on;!aDny;h,s,th54;!ath53ie,n5L;!l,sDy;ph;o,qu2;an,mD;!m5G;d,ffGrDs5;a5YemEmai6oDry;me,ni0X;i7Fy;!e5NrD;ey,y;cKdCkImHrFsEvi3yD;dCs1;on,p3;ed,od,rDv4U;e5Aod;al,es4Lis1;a,e,oDub;b,v;ob,quD;es;aWbQchiPgNkeMlija,nuLonut,rJsFtDv0;ai,suD;ki;aEha0i6ZmaDsac;el,il;ac,iaD;h,s;a,vinDw2;!g;k,nngu5F;!r;nacDor;io;ka;ai,rahD;im;aPeJoIuDyd7;be2EgGmber4JsD;eyEsD;a2e2;in,n;h,o;m3ra35sse2wa3Z;aHctGitGnrErD;be27m0;iDy;!q0Y;or;th;bLlKmza,nJo,rFsEyD;a46dC;an,s0;lFo4Nry,uDv8;hi43ki,tD;a,o;an,ey;k,s;!im;ib;aVeRiPlenOoLrHuD;ilEsD;!tavo;herme,lerD;mo;aFegDov3;!g,orD;io,y;dy,h5J;nzaErD;an,d1;lo;!n;lbe4Xno,oD;rg36van4X;oFrD;aDry;ld,rdB;ffr8rge;brElCrDv2;la13r3Gth,y;e32ielD;!i5;aReOiMlKorrest,rD;anEedDitz;!d37er10r10;cFkD;!ie,lD;in,yn;esKisD;!co,z2V;etch3oD;yd;d4lDonn;ip;deriEliDng,rnan04;pe,x;co;bi0di,hd;dXfrWit0lRmKnHo2rFsteb0th0uge6vDymCzra;an,eD;ns,re2W;gi,i09nDrol,v2w2;estBie;oEriqDzo;ue;ch;aIerHiEmD;aHe2P;lDrh0;!iD;o,s;s1y;nu4;be0Ad1iFliEm3t1viDwood;n,s;ot1Rs;!as,j4EsD;ha;a2en;!d2Vg7mGoEuEwD;a25in;arD;do;oVuV;a01eQiOoGrag0uFwEylD;an,l0;ay6ight;a6dl8nc0st2;minGnEri0ugDvydAy28;!lA;!a2HnDov0;e9ie,y;go,iEykA;as;cDk;!k;armuDll1on,rk;id;andMj0lbeLmetri5nJon,rHsFvEwDxt3;ay6ey;en,in;hawn,moD;nd;ek,rD;ick;is,nD;is,y;rt;re;an,le,mKnJrFvD;e,iD;!d;en,iFne9rDyl;eDin,yl;l35n;n,o,us;!i4ny;iDon;an,en,on;a07e05hXiar0lNoIrGuEyrD;il,us;rtD;!is;aDistob0R;ig;dy,lGnErD;ey,neli5y;or,rD;ad;by,e,in,l2t1;aHeFiDyJ;fDnt;fo0Dt1;meDt5;nt;rFuEyD;!t1;de;enD;ce;aHeFrisD;!toD;ph3;st3;er;d,rDs;b4leD;s,y;cDdric,s7;il;lGmer1rD;ey,lEro9y;ll;!os,t1;eb,v2;a06eYiUlaToRrEuDyr1;ddy,rtK;aLeGiFuEyD;an,ce,on;ce,no;an,ce;nEtD;!t;dEtD;!on;an,on;dEndD;en,on;!foDl8y;rd;bby,rDyd;is;i6ke;bFlEshD;al;al,lK;ek;nHrDshoi;at,nEtD;!r1B;aDie;rdB;!iEjam2nD;ie,y;to;kaMlazs,nHrD;n8rDt;eDy;tt;ey;dDeE;ar,iD;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHuFveEyDziz;a0kh0;ry;gust5st2;us;hi;aKchJiIjun,maHnFon,tDy0;hDu08;ur;av,oD;ld;an,ndB;!el,ki;ie;ta;aq;as,dHgelBtD;hony,oD;i6nD;!iBy;ne;er,reDy;!as,i,s,w;iFmaDos;nu4r;el;ne,r,t;an,bePdCeJfHi,lGonFphXt1vD;aNin;on;so,zo;an,en;onTrD;ed;c,jaGksandFssaGxD;!andD;er,ru;ar,er;ndD;ro;rtB;ni;dCm7;ar;en;ad,eD;d,t;in;onD;so;aEi,olfBri0vik;!o;mDn;!a;dHeGraEuD;!bakr,lfazl;hDm;am;!l;allIelFoulaye,ulD;!lDrF;ah,o;! rD;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:93;1:81;2:7Y;3:8U;4:8O;5:6F;6:82;7:87;8:8E;9:5X;A:8T;a7Nb77c6Qd68e5Qf58g50h4Pi3Ujuni47k3Sl3Gm34n2Uo2Fp1Wquart64r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Gs6F;!sa6;ather13eBll o5Jste2R;!k5;aDeCiBola5D;b93ce versa,gi2R;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8V;ef75u4;b68ge0; Db2BpCsBti37;ca6et,ide dO;er,i4L;f3Wto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2GoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a8recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6Scov9ly2sDwB;aBei2L;t9y;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i2Hra;aGeDhough5Aip 1QoCrB;anspa6Zi3;geth9le81rp8;ena6GmpCrB;r3Ftia6Q;e7Lo6O;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb71;bDi generis,pBr5;erBre1P;! dup9b,viX;du1sBurb51;eq73tanda7N;atu6AeFi0VrByl3T;aBin4E;ightBy; fBfB;or5Y;adfa7Fri6;arCeBirit1lend8ot on;c2Ye34;k5se; caGlub6mb9phisticFrEuCvB;erei5Iiet;ndBth0Y;pro6G;d8ry;at1;ll1;g20nB;ce58g6;am30e9;at1co1Kem5lf3AnBre7;so5W;ath2holBient2K;ar5;cr1me,tisfac5N;aJeEheumato8iCoB;bu6Vtt58y4;ghtBv4;-w2f54;bZcEdu6MlDsBtard1;is3DoB;lu3na0;e1Euc3B;e0ondi3;b8ciB;al,st;aOeMicayu7laLopuli6LrCuB;bl5Wnjabi;eGiEoB;!b2QfCmi3CpBv4V;er,ort4C;a7u61;maBor,sti7va3;!ry;ci5Yexist2mBpa8;a1RiB;er,um;c8id;ac27rBti3;feAma32ti32v5S;i27rCsB;s41t;allCtB;-ti05i4;el;bMffKkJld InGrFth9utEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Yer,si4K;d2Ug1L; bBbBgo2li7;oa5X;fashion1school;!ay; gua5UbBli7si4E;eat;eCsB;ce7er0Eo0T;dia0se;aJeIiHoBuanc1;nDrthBt1U;!eB;rn;chaCdescri5Iprof28sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d13ltip6;deDl12nBot,st;ochroBth5;me;rn,st;dblTi;nac2re;cDgenta,in,j05keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aLeHiEoCuB;mber2sh;ngBut18;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBss9th4;al,eCitiB;ma3;nda3N;ngu8ps1st;aput,ind5nB;ow2;gno4Sll03mVnDpso 23rB;a3releB;va0; QaPcoMdJe28fIhibi3AiWnHsDtBvalu0S;aAeB;n43rdep1S;a7iColBubordi3O;ub6ve0;de,gB;nifica0;a3er;eriCluenOreq3U;eCiEoB;or;fini3p1Jtermi3G;mpCrB;reA;le3;ccu3Xdeq3Sppr34;fBsitu,vitro;ro0;mFpB;arDeCl0PoBrop9;li3r0M;nd2rfeA;ti4;aCeBi0R;d2Wn3H;tu20;eg4iB;c0Ite3L;aIelHiFoCumB;a7dr3G;me ma2CnCrrBs04ur5;if31;e3Oo2J;ghfalut1LspB;an2Y;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Tiga26lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2I;olErB; keeps,eBge0Gm9tu2Bwa36;go2i1BseeB;ab6;ish;ag35uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Fmiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4reAthere4veHxB;aAem2PplEquisi3traDuB;be2UlB;ta0;!va1H;icB;it;n,ryday; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;g9sB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa1XtB;a0inA;et,te; IadpHceGfiFgene1UliDpCreliAspe1UvoB;id,ut;ende0;ca3ghB;tf09;a0ni3;as1;an;facto;i5ngeroX;ly;arQertaPivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v01z1;erKgniza0loJmHnCr01veB;rt;cEduIgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Wi12;mensu18passB;io0M;ni4ss4;ci0S;in;diac,efM;aMeGizarFliKoDrBuck nak1;and new,isk,oB;kLn1C;gBldface,na fiT;us;re;autifFhiEloDnBst,yoE;eViBt;gn;v1w;nd;ul;ckDnkCrrB;en;ru0V;!wards; priori,b0Nc0Kd0Df0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0U;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCterB;na3;of;li7;ne;olB;ic;ead;ainWed,gressiB;ve;flCra8;id;ue0; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cuCtu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traA;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8T;1:8G;2:9B;3:8Z;4:80;5:7N;6:97;7:82;8:90;9:9F;A:9E;B:8V;C:7U;D:7Q;E:7K;F:87;a80b7Ec6Od5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Pnou3Uo2Kp23qu22r18s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Ary;nGplift;cov0dHear7HlGplug,tie,ve83;eaAo3J;erGo;go,sta9Cval92whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Y;ch,se;ck4ilor,keGmp0r7L;! paD;a0Ec0De0Bh07i05l03m02n01oZpUqua45tNuIwG;all6Ze2DiG;m,ng;bIccumb,ffHggeBmm8Zp2ErG;mouFvi2;er,i3;li7Ymer8siGveD;de,st;aKe7RiIrG;ang4eGi2;ng1Zw;fGnV;f5le;gg0rGte ch5F;t4ve;awn,eJiIlHoGri6B;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;aAugg4;aGi9;m,y;ft,nGt;g,k;aIi5FoHriGun;nk,v5R;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven8ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,reAuG;el,rbiA;an3e;aCu3;ei2k7Ela3IoGyc4;gni58nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;aAen5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,niArGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0tru9vG;e,i9o4S;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi42iC;a5Brt4T;er3npoiF;cei2fo3BiAmea6plex,sGva9;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Spo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na8;aNeJiGo1u35;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Mow;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3u9;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul8;ca6;i6lu9;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;riA;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee30olG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2M;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un8;ct,di6;st,t;lu9;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a8i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar8iB;a8eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer8pG;hasi1Yow0;a0Tody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Nn;a0Ne01iIo,rGwind4;aw,ed8oG;p,wn;agno1e,ff0g,mi29sJvG;eGul8;rGst;ge,t;ab4bTcNlod8mant4pLru3GsKtG;iGoDu2W;lHngG;uiA;!l;ol2ua9;eGla3o1ro2;n1r1;a18e2WlJoHuG;ss;uGv0;ra8;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;liA;an;mEv0;a3i04oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aIrHuG;g,nk;ief;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinci9llVmTnGrro9;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r8;a0Hin23ribu6;er2iGoli25pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGlu9;al,i2;buBe,men3pG;e6ly;eCi9u9;r3xiB;ean1iQ;rcumveFte;eGoo1;riAw;ncGre5t0ulk;el;aYeSi1TlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l10mbaGrrMth0;rd;aHeGow;ed;ze;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;niA;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an8i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e8oGu9;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled8quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,liA;da6;te;pt;andMet,i9oIsG;coIol2;ve;liArt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:24;5:1X;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel5;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri4roun5;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee5;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war5;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19r6un1F;e6o0X;ce5s4vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri5whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s4tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area4;po4;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un5;ebo5th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0;ab2c6du3ga01sQ;han0oura00;barras4erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es4;biliBcAfiKgra5m9pres4ser8v6;asAelo6;pi1;vi1;an5eaG;a0BliF;ta0;maMri1sYun0;aMhJlo4o6ripp2ut0;mCn6rrespon5;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u4;ni1;fAm9p6;e7ro6;mi4;l2ti1;an5;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in5lin5o7rui4u6;d5st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un5;di1;is6;hi1;ri1;res0;li1;a9u4;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦alexand5darwin,h3jordan,k2orlando,s0victo5;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ia=36,sa="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",la=sa.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var ua=function(e){if(void 0!==la[e])return la[e];let t=0,n=1,r=ia,a=1;for(;n=0;n--,a*=ia){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},ca=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=da(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=ma(oa[e]);ba.test(e)?Object.keys(t).forEach(t=>{if(ya[t]=e,"Noun|Verb"===e){let e=fa(t,wa);ya[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{va[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","va[e]="Emoticon"),delete va[""],delete va.null,delete va[" "];const ka="Adjective";var Pa={beforeTags:{Determiner:ka,Possessive:ka},afterTags:{Adjective:ka},beforeWords:{seem:ka,seemed:ka,seems:ka,feel:ka,feels:ka,felt:ka,appear:ka,appears:ka,appeared:ka,also:ka,over:ka,under:ka,too:ka,it:ka,but:ka,still:ka,really:ka,quite:ka,well:ka,very:ka,deeply:ka,profoundly:ka,extremely:ka,so:ka,badly:ka,mostly:ka,totally:ka,awfully:ka,rather:ka,nothing:ka,something:ka,anything:ka},afterWords:{too:ka,also:ka,or:ka}};const Aa="Gerund";var Da={beforeTags:{Adverb:Aa,Preposition:Aa,Conjunction:Aa},afterTags:{Adverb:Aa,Possessive:Aa,Person:Aa,Pronoun:Aa,Determiner:Aa,Copula:Aa,Preposition:Aa,Conjunction:Aa,Comparative:Aa},beforeWords:{been:Aa,keep:Aa,continue:Aa,stop:Aa,am:Aa,be:Aa,me:Aa,began:Aa,start:Aa,starts:Aa,started:Aa,stops:Aa,stopped:Aa,help:Aa,helps:Aa,avoid:Aa,avoids:Aa,love:Aa,loves:Aa,loved:Aa,hate:Aa,hates:Aa,hated:Aa},afterWords:{you:Aa,me:Aa,her:Aa,him:Aa,them:Aa,their:Aa,it:Aa,this:Aa,there:Aa,on:Aa,about:Aa,for:Aa}},ja={beforeTags:Object.assign({},Pa.beforeTags,Da.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Pa.afterTags,Da.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Pa.beforeWords,Da.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,Da.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const xa="Singular";var Na={beforeTags:{Determiner:xa,Possessive:xa,Acronym:xa,Noun:xa,Adjective:xa,PresentTense:xa,Gerund:xa,PastTense:xa,Infinitive:xa,Date:xa},afterTags:{Value:xa,Modal:xa,Copula:xa,PresentTense:xa,PastTense:xa,Demonym:xa},beforeWords:{the:xa,with:xa,without:xa,of:xa,for:xa,any:xa,all:xa,on:xa,cut:xa,cuts:xa,save:xa,saved:xa,saves:xa,make:xa,makes:xa,made:xa,minus:xa,plus:xa,than:xa,another:xa,versus:xa,neither:xa,favorite:xa,best:xa,daily:xa,weekly:xa},afterWords:{of:xa,system:xa,aid:xa,method:xa,utility:xa,tool:xa,reform:xa,therapy:xa,philosophy:xa,room:xa,authority:xa,says:xa,said:xa,wants:xa,wanted:xa}};const Ia={beforeTags:{Determiner:void 0}};var Ta={beforeTags:Object.assign({},Pa.beforeTags,Na.beforeTags,Ia.beforeTags),afterTags:Object.assign({},Pa.afterTags,Na.afterTags),beforeWords:Object.assign({},Pa.beforeWords,Na.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,Na.afterWords)};const Ga={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Ea={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Ca={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Oa={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ba={beforeTags:Object.assign({},Pa.beforeTags,Ga),afterTags:Object.assign({},Pa.afterTags,Ea),beforeWords:Object.assign({},Pa.beforeWords,Ca),afterWords:Object.assign({},Pa.afterWords,Oa)};const Va="Infinitive";var za={beforeTags:{Modal:Va,Adverb:Va,Negative:Va,Plural:Va},afterTags:{Determiner:Va,Adverb:Va,Possessive:Va,Preposition:Va},beforeWords:{i:Va,we:Va,you:Va,they:Va,to:Va,please:Va,will:Va,have:Va,had:Va,would:Va,could:Va,should:Va,do:Va,did:Va,does:Va,can:Va,must:Va,us:Va,me:Va,he:Va,she:Va,it:Va,being:Va},afterWords:{the:Va,me:Va,you:Va,him:Va,her:Va,them:Va,it:Va,a:Va,an:Va,up:Va,down:Va,by:Va,out:Va,off:Va,when:Va,all:Va,to:Va,because:Va,although:Va,before:Va,how:Va,otherwise:Va,though:Va,yet:Va}};const Fa={afterTags:{Noun:"Adjective",Conjunction:void 0}};var $a={beforeTags:Object.assign({},Pa.beforeTags,za.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Pa.afterTags,za.afterTags,Fa.afterTags),beforeWords:Object.assign({},Pa.beforeWords,za.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,za.afterWords,{to:void 0})};const Sa={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Ha={},Ma={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Wa={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var Ja={beforeTags:Object.assign({},Da.beforeTags,Na.beforeTags,Sa),afterTags:Object.assign({},Da.afterTags,Na.afterTags,Ha),beforeWords:Object.assign({},Da.beforeWords,Na.beforeWords,Ma),afterWords:Object.assign({},Da.afterWords,Na.afterWords,Wa)},La={beforeTags:Object.assign({},za.beforeTags,Na.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},za.afterTags,Na.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},za.beforeWords,Na.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},za.afterWords,Na.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const qa="Person";var Ka={beforeTags:{Honorific:qa,Person:qa,Preposition:qa},afterTags:{Person:qa,ProperNoun:qa,Verb:qa},ownTags:{ProperNoun:qa},beforeWords:{hi:qa,hey:qa,yo:qa,dear:qa,hello:qa},afterWords:{said:qa,says:qa,told:qa,tells:qa,feels:qa,felt:qa,seems:qa,thinks:qa,thought:qa,spends:qa,spendt:qa,plays:qa,played:qa,sing:qa,sang:qa,learn:qa,learned:qa,wants:qa,wanted:qa}};const Ua="Month",Ra={beforeTags:{Date:Ua,Value:Ua},afterTags:{Date:Ua,Value:Ua},beforeWords:{by:Ua,in:Ua,on:Ua,during:Ua,after:Ua,before:Ua,between:Ua,until:Ua,til:Ua,sometime:Ua,of:Ua,this:Ua,next:Ua,last:Ua,previous:Ua,following:Ua},afterWords:{sometime:Ua,in:Ua,of:Ua,until:Ua,the:Ua}};var Za={beforeTags:Object.assign({},Ka.beforeTags,Ra.beforeTags),afterTags:Object.assign({},Ka.afterTags,Ra.afterTags),beforeWords:Object.assign({},Ka.beforeWords,Ra.beforeWords),afterWords:Object.assign({},Ka.afterWords,Ra.afterWords)};const Qa={Place:"Place"},_a={Place:"Place",Abbreviation:"Place"},Ya={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},Xa={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},eo={"Adj|Gerund":ja,"Adj|Noun":Ta,"Adj|Past":Ba,"Adj|Present":$a,"Noun|Verb":La,"Noun|Gerund":Ja,"Person|Noun":{beforeTags:Object.assign({},Na.beforeTags,Ka.beforeTags),afterTags:Object.assign({},Na.afterTags,Ka.afterTags),beforeWords:Object.assign({},Na.beforeWords,Ka.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Na.afterWords,Ka.afterWords)},"Person|Date":Za,"Person|Verb":{beforeTags:Object.assign({},Ka.beforeTags,za.beforeTags),afterTags:Object.assign({},Ka.afterTags,za.afterTags),beforeWords:Object.assign({},Ka.beforeWords,za.beforeWords),afterWords:Object.assign({},Ka.afterWords,za.afterWords)},"Person|Place":{beforeTags:Object.assign({},Qa,Ka.beforeTags),afterTags:Object.assign({},_a,Ka.afterTags),beforeWords:Object.assign({},Ya,Ka.beforeWords),afterWords:Object.assign({},Xa,Ka.afterWords)}},to=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};eo["Plural|Verb"]={beforeWords:to(eo["Noun|Verb"].beforeWords,{}),afterWords:to(eo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:to(eo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:to(eo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var no=eo;const ro="Adjective",ao="Infinitive",oo="PresentTense",io="Singular",so="PastTense",lo="Adverb",uo="Plural",co="Actor",ho="Verb",mo="Noun",po="LastName",go="Modal",fo="Participle";var bo=[null,null,{ea:io,ia:mo,ic:ro,ly:lo,"'n":ho,"'t":ho},{oed:so,ued:so,xed:so," so":lo,"'ll":go,"'re":"Copula",azy:ro,eer:mo,end:ho,ped:so,ffy:ro,ify:ao,ing:"Gerund",ize:ao,ibe:ao,lar:ro,mum:ro,nes:oo,nny:ro,ous:ro,que:ro,rol:io,sis:io,ogy:io,oid:io,ian:io,zes:oo,eld:so,ken:fo,ven:fo,ten:fo,ect:ao,ict:ao,ide:ao,ign:ao,ful:ro,bal:ro},{amed:so,aped:so,ched:so,lked:so,rked:so,reed:so,nded:so,mned:ro,cted:so,dged:so,ield:io,akis:po,cede:ao,chuk:po,czyk:po,ects:oo,ends:ho,enko:po,ette:io,wner:io,fies:oo,fore:lo,gate:ao,gone:ro,ices:uo,ints:uo,ruct:ao,ines:uo,ions:uo,less:ro,llen:ro,made:ro,nsen:po,oses:oo,ould:go,some:ro,sson:po,tion:io,tage:mo,ique:io,tive:ro,tors:mo,vice:io,lier:io,fier:io,wned:so,gent:io,tist:io,pist:io,rist:io,mist:io,yist:io,vist:io,lite:io,site:io,rite:io,mite:io,bite:io,mate:io,date:io,ndal:io,vent:io,uist:io,gist:io,note:io,ract:ao,duce:ao,pose:ao,eive:ao,lyze:ao,lyse:ao,iant:ro,nary:ro},{elist:io,holic:io,phite:io,tized:so,urned:so,eased:so,ances:uo,bound:ro,ettes:uo,fully:lo,ishes:oo,ities:uo,marek:po,nssen:po,ology:mo,osome:io,tment:io,ports:uo,rough:ro,tches:oo,tieth:"Ordinal",tures:uo,wards:lo,where:lo,archy:mo,pathy:mo,opoly:mo,embly:mo,phate:mo,ndent:io,scent:io,onist:io,anist:io,alist:io,olist:io,icist:io,ounce:ao,iable:ro,borne:ro,gnant:ro,inant:ro,igent:ro,atory:ro,rient:io,dient:io},{auskas:po,parent:io,cedent:io,ionary:io,cklist:io,keeper:co,logist:co,teenth:"Value"},{opoulos:po,borough:"Place",sdottir:po}];const vo="Adjective",yo="Noun",wo="Verb";var ko=[null,null,{},{neo:yo,bio:yo,"de-":wo,"re-":wo,"un-":wo},{anti:yo,auto:yo,faux:vo,hexa:yo,kilo:yo,mono:yo,nano:yo,octa:yo,poly:yo,semi:vo,tele:yo,"pro-":vo,"mis-":wo,"dis-":wo,"pre-":vo},{anglo:yo,centi:yo,ethno:yo,ferro:yo,grand:yo,hepta:yo,hydro:yo,intro:yo,macro:yo,micro:yo,milli:yo,nitro:yo,penta:yo,quasi:vo,radio:yo,tetra:yo,"omni-":vo,"post-":vo},{pseudo:vo,"extra-":vo,"hyper-":vo,"inter-":vo,"intra-":vo,"deca-":vo},{electro:yo}];const Po="Adjective",Ao="Infinitive",Do="PresentTense",jo="Singular",xo="PastTense",No="Adverb",Io="Expression",To="Actor",Go="Verb",Eo="Noun",Co="LastName";var Oo={a:[[/.[aeiou]na$/,Eo,"tuna"],[/.[oau][wvl]ska$/,Co],[/.[^aeiou]ica$/,jo,"harmonica"],[/^([hyj]a+)+$/,Io,"haha"]],c:[[/.[^aeiou]ic$/,Po]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,xo,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,xo,"rammed"],[/.[aeiou][sg]hed$/,xo,"gushed"],[/.[aeiou]red$/,xo,"hired"],[/.[aeiou]r?ried$/,xo,"hurried"],[/[^aeiou]ard$/,jo,"steward"],[/[aeiou][^aeiou]id$/,Po,""],[/.[vrl]id$/,Po,"livid"],[/..led$/,xo,"hurled"],[/.[iao]sed$/,xo,""],[/[aeiou]n?[cs]ed$/,xo,""],[/[aeiou][rl]?[mnf]ed$/,xo,""],[/[aeiou][ns]?c?ked$/,xo,"bunked"],[/[aeiou]gned$/,xo],[/[aeiou][nl]?ged$/,xo],[/.[tdbwxyz]ed$/,xo],[/[^aeiou][aeiou][tvx]ed$/,xo],[/.[cdflmnprstv]ied$/,xo,"emptied"]],e:[[/.[lnr]ize$/,Ao,"antagonize"],[/.[^aeiou]ise$/,Ao,"antagonise"],[/.[aeiou]te$/,Ao,"bite"],[/.[^aeiou][ai]ble$/,Po,"fixable"],[/.[^aeiou]eable$/,Po,"maleable"],[/.[ts]ive$/,Po,"festive"],[/[a-z]-like$/,Po,"woman-like"]],h:[[/.[^aeiouf]ish$/,Po,"cornish"],[/.v[iy]ch$/,Co,"..ovich"],[/^ug?h+$/,Io,"ughh"],[/^uh[ -]?oh$/,Io,"uhoh"],[/[a-z]-ish$/,Po,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Co,"polish-male"]],k:[[/^(k){2}$/,Io,"kkkk"]],l:[[/.[gl]ial$/,Po,"familial"],[/.[^aeiou]ful$/,Po,"fitful"],[/.[nrtumcd]al$/,Po,"natal"],[/.[^aeiou][ei]al$/,Po,"familial"]],m:[[/.[^aeiou]ium$/,jo,"magnesium"],[/[^aeiou]ism$/,jo,"schism"],[/^[hu]m+$/,Io,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Po,"republican"],[/[^aeiou]ician$/,To,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Io,"noooo"],[/^(yo)+$/,Io,"yoo"],[/^wo{2,}[pt]?$/,Io,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,jo],[/[^i]fer$/,Ao],[/.[^aeiou][ao]pher$/,To],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Po],[/[aeiou].*ist$/,Po],[/^[a-z]et$/,Go]],s:[[/.[^aeiou]ises$/,Do],[/.[rln]ates$/,Do],[/.[^z]ens$/,Go],[/.[lstrn]us$/,jo],[/.[aeiou]sks$/,Do],[/.[aeiou]kes$/,Do],[/[aeiou][^aeiou]is$/,jo],[/[a-z]'s$/,Eo],[/^yes+$/,Io]],v:[[/.[^aeiou][ai][kln]ov$/,Co]],y:[[/.[cts]hy$/,Po],[/.[st]ty$/,Po],[/.[tnl]ary$/,Po],[/.[oe]ry$/,jo],[/[rdntkbhs]ly$/,No],[/.(gg|bb|zz)ly$/,Po],[/...lly$/,No],[/.[gk]y$/,Po],[/[bszmp]{2}y$/,Po],[/.[ai]my$/,Po],[/[ea]{2}zy$/,Po],[/.[^aeiou]ity$/,jo]]};const Bo="Verb",Vo="Noun";var zo={leftTags:[["Adjective",Vo],["Possessive",Vo],["Determiner",Vo],["Adverb",Bo],["Pronoun",Bo],["Value",Vo],["Ordinal",Vo],["Modal",Bo],["Superlative",Vo],["Demonym",Vo],["Honorific","Person"]],leftWords:[["i",Bo],["first",Vo],["it",Bo],["there",Bo],["not",Bo],["because",Vo],["if",Vo],["but",Vo],["who",Bo],["this",Vo],["his",Vo],["when",Vo],["you",Bo],["very","Adjective"],["old",Vo],["never",Bo],["before",Vo],["a","Singular"],["the",Vo],["been",Bo]],rightTags:[["Copula",Vo],["PastTense",Vo],["Conjunction",Vo],["Modal",Vo]],rightWords:[["there",Bo],["me",Bo],["man","Adjective"],["only",Bo],["him",Bo],["it",Bo],["were",Vo],["took",Vo],["himself",Bo],["went",Vo],["who",Vo],["jr","Person"]]},Fo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},$o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},So={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Ho={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Mo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Wo=/^.([0-9]+)/;var Jo=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(Wo);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(Wo,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},qo=/^([0-9]+)/,Ko=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(qo);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(qo,"")]}(n[0],n[1])})};var Uo=function(e={}){return(e=Object.assign({},e)).rules=Ko(e.rules),e.rules=Lo(e.rules),e.rev&&(e.rev=Ko(e.rev),e.rev=Lo(e.rev)),e.exceptions=Ko(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},Ro=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const Zo=Uo({rules:"een|1,egan|2in,on|in,pun|1in,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Qo=Uo(Ho),_o=Uo($o),Yo=Uo(So),Xo=Ro(Zo),ei=Ro(Qo),ti=Ro(_o),ni=Ro(Yo),ri=Uo(Fo),ai=Uo(Mo);var oi={fromPast:Zo,fromPresent:Qo,fromGerund:_o,fromParticiple:Yo,toPast:Xo,toPresent:ei,toGerund:ti,toParticiple:ni,toComparative:ri,toSuperlative:ai,fromComparative:Ro(ri),fromSuperlative:Ro(ai)},ii=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),si=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],li=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(ui[t].forEach(n=>e[n]=t),e),{});var ci=ui,hi=function(e){let t=e.substr(e.length-3);if(!0===ci.hasOwnProperty(t))return ci[t];let n=e.substr(e.length-2);return!0===ci.hasOwnProperty(n)?ci[n]:"s"===e.substr(e.length-1)?"PresentTense":null};const di={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var mi=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=hi(e)),di.hasOwnProperty(e))c=di[e];else if("Participle"===n)c=Jo(l,i);else if("PastTense"===n)c=Jo(l,r);else if("PresentTense"===n)c=Jo(l,a);else{if("Gerund"!==n)return e;c=Jo(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},pi=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Jo(i,n),PresentTense:Jo(i,r),Gerund:Jo(i,a),FutureTense:"will "+e},u=Jo(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},gi=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const fi="ically",bi=new Set(["analyt"+fi,"chem"+fi,"class"+fi,"clin"+fi,"crit"+fi,"ecolog"+fi,"electr"+fi,"empir"+fi,"frant"+fi,"grammat"+fi,"ident"+fi,"ideolog"+fi,"log"+fi,"mag"+fi,"mathemat"+fi,"mechan"+fi,"med"+fi,"method"+fi,"method"+fi,"mus"+fi,"phys"+fi,"phys"+fi,"polit"+fi,"pract"+fi,"rad"+fi,"satir"+fi,"statist"+fi,"techn"+fi,"technolog"+fi,"theoret"+fi,"typ"+fi,"vert"+fi,"whims"+fi]),vi=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],yi=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),wi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var ki=function(e){return e.endsWith("ly")?bi.has(e)?e.replace(/ically/,"ical"):yi.has(e)?null:wi.hasOwnProperty(e)?wi[e]:gi(e,vi)||e:null};const Pi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ai={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Di=function(e){if(Ai.hasOwnProperty(e))return Ai[e];let t=gi(e,Pi);return t||e+"ly"};const ji=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],xi={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Ni=new Set(["terrible","annoying"]),Ii=function(e,t){const n=t.two.models.toSuperlative;return Jo(e,n)},Ti=function(e,t){const n=t.two.models.toComparative;return Jo(e,n)};var Gi={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Ei={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Gi.hasOwnProperty(i)&&Gi[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:fa,nounToSingular:li,verbToInfinitive:mi,getTense:hi,verbConjugate:pi,adjToSuperlative:Ii,adjToComparative:Ti,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Jo(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Jo(e,n)},advToAdjective:ki,adjToAdverb:Di,adjToNoun:function(e){if(xi.hasOwnProperty(e))return xi[e];if(Ni.has(e))return null;let t=gi(e,ji);return t||e+"ness"}}}},Ci=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Oi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var Bi=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Oi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Oi(r,"Infinitive","Verb"),Object.assign(s,l),l=Oi(a,"Infinitive","Gerund"),Object.assign(s,l),l=Oi(o,"Adjective","Superlative"),Object.assign(s,l),l=Oi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Vi={two:{models:oi}};const zi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Fi=function(e,t){const n={model:t,methods:Ei};let{lex:r,_multi:a}=Ei.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},$i=function(e,t,n){let r=pi(e,Vi);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Si=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=zi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||$i(a,r,!1),"Adj|Present"===o&&($i(a,r,!0),function(e,t,n){let r=Ii(e,n);t[r]=t[r]||"Superlative";let a=Ti(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=mi(a,Vi,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=mi(a,Vi,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Fi(n,t)};let Hi={one:{_multiCache:{},lexicon:va},two:{irregularPlurals:aa,models:oi,suffixPatterns:bo,prefixPatterns:ko,endsWith:Oo,neighbours:zo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[a-z0-9_\u00C0-\u00FF]{2,}$/i,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^([\u00a9\u00ae\u2319-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,"Emoji","emoji-range"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6][-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]\+?$/,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:ya,clues:no,uncountable:{},orgWords:ii}};Hi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Fi(e.one.lexicon,e)).one.lexicon,e),e=Si(e.two.switches,e),e=Bi(e),e=Ci(e)}(Hi);var Mi=Hi;const Wi=/^(under|over|mis|re|un|dis|semi)-?/;var Ji=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(Wi.test(a.normal)){let e=a.normal.replace(Wi,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},Li=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const qi={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},Ki=new Set(["formulas","koalas","israelis","menus"]),Ui=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Ri=function(e){if(!e||e.length<=3)return!1;if(Ki.has(e))return!0;let t=e[e.length-1];return qi.hasOwnProperty(t)?qi[t].find(t=>e.endsWith(t)):"s"===t&&!Ui.find(t=>e.endsWith(t))};const Zi=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Qi=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(Ri(e.normal)?Li(e,"Plural","3-plural-guess"):Li(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=hi(e.normal);t&&Li(e,t,"3-verb-tense-guess")}}(r)};const _i=/^[A-Z][a-z'\u00C0-\u00FF]/,Yi=/[0-9]/,Xi=["Date","Month","WeekDay","Unit"],es=/^[IVXLCDM]{2,}$/,ts=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,ns={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var rs=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===_i.test(o)&&!1===Yi.test(o)?Xi.find(e=>r.tags.has(e))?null:(Qi(e,t,n),r.tags.has("Noun")||r.tags.clear(),Li(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&es.test(o)&&ts.test(o)&&!ns[r.normal]?(Li(r,"RomanNumeral","2-xvii"),!0):null};const as=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substr(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var os=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=as(r.normal,n.two.suffixPatterns);if(null!==e)return Li(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=as(r.implicit,n.two.suffixPatterns),null!==e))return Li(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const is=/['‘’‛‵′`´]/,ss=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return Li(r,e,"2-prefix"),r.confidence=.5,!0}return null};const cs=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),hs=function(e){return!(!e||!cs.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ds=function(e){return!!e&&!!e.tags.has("Ordinal")};var ms=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(hs(e[t-1])||hs(e[t+1]))return Li(n,"Year","2-tagYear");if(r>1950&&r<2025&&(ds(e[t-1])||ds(e[t+1])))return Li(n,"Year","2-tagYear-close")}}return null};const ps=/^[A-Z]('s|,)?$/,gs=/^[A-Z-]+$/,fs=/([A-Z]\.)+[A-Z]?,?$/,bs=/[A-Z]{2,}('s|,)?$/,vs=/([a-z]\.)+[a-z]\.?$/,ys={I:!0,A:!0};var ws=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===gs.test(n)||n.length>5||ys.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==fs.test(n)&&!0!==vs.test(n)&&!0!==ps.test(n)&&!0!==bs.test(n))}(r,n)?(r.tags.clear(),Li(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!ys.hasOwnProperty(r.text)&&ps.test(r.text)?(r.tags.clear(),Li(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(Li(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&gs.test(r.text)&&r.text.length<=6?(Li(r,"Acronym","3-titlecase-acronym"),!0):null};const ks=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Ps=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var As=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||ks(e[t-1],a),l=l||ks(e[t+1],o),l=l||Ps(e[t-1],r),l=l||Ps(e[t+1],i),l)return Li(s,l,"3-[neighbour]"),Qi(e,t,n),e[t].confidence=.2,!0}return null};const Ds=function(e){return!(!e||!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))&&(t=e.text,!/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)));var t};var js=function(e,t,n){const r=n.two.orgWords;let a=e[t];if(!0===r[a.machine||a.normal]&&Ds(e[t-1])){Li(e[t],"Organization","3-[org-word]");for(let n=t;n>=0&&Ds(e[n]);n-=1)Li(e[n],"Organization","3-[org-word]")}return null},xs=function(e,t,n){0===e[t].tags.size&&(Li(e[t],"Noun","3-[fallback]"),Qi(e,t,n),e[t].confidence=.1)};const Ns=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Is=(e,t,n)=>0!==t||e[1]?null:n;var Ts={"Adj|Gerund":(e,t)=>Ns(e,t),"Adj|Noun":(e,t)=>Ns(e,t),"Adj|Past":(e,t)=>Ns(e,t),"Adj|Present":(e,t)=>Ns(e,t),"Noun|Gerund":(e,t)=>Ns(e,t),"Noun|Verb":(e,t)=>Ns(e,t)||Is(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Ns(e,t)||Is(e,t,"PresentTense"),"Person|Noun":(e,t)=>Ns(e,t),"Person|Verb":(e,t)=>0!==t&&Ns(e,t)};const Gs="undefined"!=typeof process&&process.env?process.env:self.env||{},Es=/^(under|over|mis|re|un|dis|semi)-?/,Cs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&Gs.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Os=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&Gs.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r},Bs={tagSwitch:Ji,checkSuffix:os,checkRegex:ls,checkCase:rs,checkPrefix:us,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(Li(o,"Verb","3-[prefix]"),Li(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(Li(o,"Adjective","3-[prefix]"),Li(o,"Prefix","3-[prefix]")))},checkYear:ms},Vs={checkAcronym:ws,neighbours:As,orgWords:js,nounFallback:xs,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(Es.test(l)&&!o[l]&&(l=l.replace(Es,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=Cs(e[t+1],n.afterWords);return o=o||Cs(e[t-1],n.beforeWords),o=o||Os(e[t-1],n.beforeTags,a),o=o||Os(e[t+1],n.afterTags,a),o}(e,t,i[o],r);Ts[o]&&(u=Ts[o](e,t)||u),u?(Gs.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):Gs.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},zs=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Ss={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Hs={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const _s=/'/;var Ys=function(e,t){let n=e[t].normal.split(_s)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Xs=/'/;var el=function(e,t){let n=e[t].normal.split(Xs)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},tl=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const nl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},rl={in:!0,by:!0,for:!0};var al=(e,t)=>{let n=e[t];if(nl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e}if(e[t-1]&&!0===rl[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const ol=/'/,il=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},sl={d:(e,t)=>el(e,t),t:(e,t)=>tl(e,t),s:(e,t,n)=>al(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Ys(e,t)},ll=function(e,t){return t.fromText(e.join(" ")).docs[0]};var ul={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===ol.test(r[o].normal)&&([,i]=r[o].normal.split(ol));let s=null;sl.hasOwnProperty(i)&&(s=sl[i](r,o,t)),s&&(s=ll(s,e),Qs(n,[a,o],s),il(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=Zs.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Rs},hooks:["contractionTwo"]};const cl="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",hl="(drew|pat|wade|ollie|will|rob|buck|bob|mark|jack)",dl=["i","we","they"];let ml=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"(#Determiner|#Possessive) [#Gerund] #Noun",group:0,tag:"Adjective",reason:"amusing-world"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Determiner|#Value) [(linear|binary|mobile|lexical|technical|computer|scientific|formal)] #Noun",group:0,tag:"Noun",reason:"technical-noun"},{match:"(#Noun && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"(the|those|these|a|an) #Adjective? [#PastTense]",group:0,tag:"Noun",reason:"det-past"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Noun",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Noun] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"},{match:"^[%Noun|Verb%] #Noun",group:0,tag:"Verb",reason:"visit-boards"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"(#Value|a) [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"%Person|Noun% #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:cl+" #Person",tag:"Person",reason:"randy-smith"},{match:cl+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${cl}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:`#Modal [${hl}]`,group:0,tag:"Verb",reason:"would-mark"},{match:`#Adverb [${hl}]`,group:0,tag:"Verb",reason:"really-mark"},{match:`[${hl}] (#Adverb|#Comparative)`,group:0,tag:"Verb",reason:"drew-closer"},{match:hl+" #Person",tag:"Person",reason:"rob-smith"},{match:hl+" #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:dl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:dl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:dl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);var pl=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e},gl=function(e){let t=[];return e.forEach(e=>{let n=e.regs.findIndex(e=>"or"===e.operator&&e.fastOr&&!e.optional&&!e.negative);-1===n?(n=e.regs.findIndex(e=>"or"===e.operator&&e.choices&&!e.optional&&!e.negative),-1===n?t.push(e):function(e,t){let n=e.regs[t];return n.choices.map(e=>1===e.length?e[0]:{choices:e,operator:n.operator})}(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,//!fixme [mo]? -a._expanded=!0,t.push(a)})):function(e,t){let n=e.regs[t];return Array.from(n.fastOr).map(e=>{let t=Object.assign({},n);return delete t.fastOr,delete t.operator,t.word=e,t})}(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,a._expanded=!0,t.push(a)})}),t},fl=function(e,t){const n=t.one.cacheMatch;return e.forEach(e=>{e.needs=Array.from(n(e.regs))}),e},bl=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},vl=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},yl=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},wl=function(e,t,n){let r=[];return e.forEach((e,a)=>{e.forEach(e=>{let o=n.match([t[a]],e);o.ptrs.length>0&&o.ptrs.forEach(t=>{t[0]=a;let n=Object.assign({},e,{pointer:t});void 0!==e.unTag&&(n.unTag=e.unTag),r.push(n)})})}),r},kl=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s="string"!=typeof e.tag?e.tag.join(" #"):e.tag,l=` [${e.reason}]`.padEnd(20)+" - ";const u=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;l+=i>r&&i{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;let a=r.two.compile(n.two.matches,r),o=r.two.quickSplit(e.document),i=r.two.bulkMatch(o,a,r);return r.two.bulkTagger(i,o,t),e.uncache(),o}},methods:{two:{compile:function(e,t){e=pl(e,t),e=gl(e),e=gl(e),e=fl(e,t);let n=bl(e,t);return delete n["#Noun"],delete n["#Verb"],n},bulkMatch:function(e,t,n){const r=n.one;let a=r.cacheDoc(e),o=vl(a,t);return o=yl(o,a),wl(o,e,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag)return;l.DEBUG_TAGS&&kl(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===a.two.canBe(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe)),void 0!==e.unTag&&s(u,e.unTag,n,e.safe)})},canBe:function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;te.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n},Nl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r},Il=function(e){for(let t=0;t",chunk:"Noun"},{match:"#Adjective+ ",chunk:"Noun"},{match:" of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let Gl=null;var El=function(e,t){const{methods:n}=t;Gl=Gl||n.two.compile(Tl,n),n.two.bulkMatch(e,Gl,n).forEach(t=>{!function(e,t,n){const{getDoc:r}=n.one;let a=r([e.pointer],t)[0];const o="undefined"!=typeof process&&process.env?process.env:self.env||{};a.forEach(t=>{if(t.chunk!==e.chunk){if(o.DEBUG_CHUNKS){let n=(t.normal+"'").padEnd(8);console.log(` | '${n} → ${e.chunk.padEnd(6)} -  ${e.match} `)}t.chunk=e.chunk}})}(t,e,n)})};const Cl=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Ol=function(e){for(let t=0;t{for(let r=0;r{"Verb"===e.chunk&&(e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null)),"Noun"===e.chunk&&(e.terms.find(e=>e.tags.has("Noun"))||e.terms.forEach(e=>e.chunk=null))})},Vl={compute:{chunks:function(e){const{document:t,world:n}=e;Il(t),El(t,n),El(t,n),Ol(t,n),Bl(t,n)}},api:function(e){e.prototype.chunks=Nl,e.prototype.clauses=xl},hooks:["chunks"]};const zl=/'s$/;var Fl=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(zl,""),e.normal=e.normal.replace(zl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const $l=/\(/,Sl=/\)/,Hl=function(e,t){for(;t{e[0].pre=e[0].pre.replace($l,"");let t=e[e.length-1];t.post=t.post.replace(Sl,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const Wl={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Jl=RegExp("("+Object.keys(Wl).join("|")+")"),Ll=RegExp("("+Object.values(Wl).join("|")+")"),ql=function(e,t){const n=e[t].pre.match(Jl)[0]||"";if(!n||!Wl[n])return null;const r=Wl[n];for(;t{e[0].pre=e[0].pre.replace(Jl,"");let t=e[e.length-1];t.post=t.post.replace(Ll,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const Ul=/\./g;var Rl=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Ul,""),e.normal=e.normal.replace(Ul,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Ul,""),e.normal=e.normal.replace(Ul,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}},Zl=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const Ql=(e,t)=>"number"==typeof t?e.eq(t):e,_l=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var Yl=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=_l(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=Ql(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=Ql(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=Ql(t,e),new Adjectives(t.document,t.pointer)}};const Xl=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},eu=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let tu=[["emojis","emoji"],["atmentions","atMentions"]];var nu=function(e){eu.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=Xl,tu.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},ru={api:function(e){nu(e),Fl(e),Ml(e),Kl(e),Yl(e),Zl(e),Rl(e)}};const au=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var ou={case:e=>{au(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;au(e,e=>e.text=n(e.text,t))},whitespace:e=>{au(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{au(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const iu=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),su="unicode|punctuation|whitespace|acronyms",lu="|case|contractions|parentheses|quotations|emoji|honorifics",uu={light:iu(su),medium:iu(su+lu),heavy:iu(su+lu+"|possessives|adverbs|nouns|verbs")};var cu={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=uu[e]),Object.keys(e).forEach(t=>{ou.hasOwnProperty(t)&&ou[t](this,e[t])}),this}}},hu=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const du=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var mu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},gu=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:pu(e,t),isSubordinate:mu(e),root:t}};const fu=e=>e.text(),bu=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),vu=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var yu=function(e){let t=gu(e);return{root:fu(t.root),number:vu(t.number),determiner:fu(t.determiner),adjectives:bu(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const wu={tags:!0};var ku=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,wu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",wu),e};const Pu={tags:!0};var Au=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,Pu).tag("Singular","toPlural"),e};const Du=(e,t)=>"number"==typeof t?e.eq(t):e;var ju={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return Du(this,e).map(gu)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=yu(t)),n},[])}isPlural(e){let t=this.filter(e=>gu(e).isPlural);return Du(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=gu(e).adjectives;n.found&&(t=t.concat(n))}),Du(t,e)}toPlural(e){return Du(this,e).map(e=>ku(e,gu(e)))}toSingular(e){return Du(this,e).map(e=>{let t=gu(e);return Au(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=hu(this);return t=Du(t,e),new Nouns(this.document,t.pointer)}}},xu=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},Nu=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(Iu.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(Iu.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(Iu.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},Gu=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Cu=/^([0-9,. ]+)\/([0-9,. ]+)$/,Ou={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Bu=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Vu=function(e){if(!0===Ou.hasOwnProperty(e))return Ou[e];if("a"===e||"an"===e)return 1;const t=Nu(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Fu(n),r=Fu(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Fu(n);let a=r.text("reduced");return zu.test(a)&&(a=a.replace(zu,""),r=r.replaceWith(a)),r=$u.hasOwnProperty(a)?$u[a]:Fu(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:Fu(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Hu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Mu=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Wu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Ju=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Lu=function(e){let t=[];if(e>100)return t;for(let n=0;n=Mu[n][1]&&(e-=Mu[n][1],t.push(Mu[n][0]));return Wu[e]&&t.push(Wu[e]),t};var qu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Hu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Ju.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Lu(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Hu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")},Ku=function(e){return e.numerator&&e.denominator?`${qu({num:e.numerator})} out of ${qu({num:e.denominator})}`:""};const Uu={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Ru=e=>{let t=qu(e).split(" "),n=t[t.length-1];return Uu.hasOwnProperty(n)?t[t.length-1]=Uu[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Zu=function(e){if(!e.numerator||!e.denominator)return"";let t=qu({num:e.numerator}),n=Ru({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const Qu=(e,t)=>"number"==typeof t?e.eq(t):e;var _u=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return Qu(this,e).map(Su)}get(e){return Qu(this,e).map(Su)}json(e){return Qu(this,e).map(t=>{let n=t.toView().json(e)[0],r=Su(t);return n.fraction=r,n},[])}toDecimal(e){return Qu(this,e).forEach(e=>{let{decimal:t}=Su(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return Qu(this,e).forEach(e=>{let t=Su(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return Qu(this,e).forEach(e=>{let t=Su(e),n=Zu(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return Qu(this,e).forEach(e=>{let t=Su(e),n=Ku(t);e.replaceWith(n)}),this}toPercentage(e){return Qu(this,e).forEach(e=>{let{decimal:t}=Su(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=xu(this);return t=Qu(t,e),new Fractions(this.document,t.pointer)}};const Yu="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Xu=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Yu+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Yu+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Yu+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Yu+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Yu})`),r=e.has("("+Yu+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Yu+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Yu+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},ec=function(e){if("string"==typeof e)return{num:Vu(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Su(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Vu(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}},tc=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Hu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const nc={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},rc={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var ac=function(e){let t={suffix:"",prefix:e.prefix};return nc.hasOwnProperty(e.prefix)&&(t.suffix+=" "+nc[e.prefix],t.prefix=""),rc.hasOwnProperty(e.suffix)&&(t.suffix+=" "+rc[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},oc=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=ac(e);return t+Ru(e)+n}if("Ordinal"===t)return e.prefix+tc(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=ac(e);return t+qu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const ic=(e,t)=>"number"==typeof t?e.eq(t):e;var sc=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return ic(this,e).map(ec)}get(e){return ic(this,e).map(ec).map(e=>e.num)}json(e){return ic(this,e).map(t=>{let n=t.toView().json(e)[0],r=ec(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=ec(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=oc(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=ec(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=oc(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>ec(t).num===e)}greaterThan(e){return this.filter(t=>ec(t).num>e)}lessThan(e){return this.filter(t=>ec(t).num{let r=ec(n).num;return r>e&&r{let n=ec(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=oc(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=ec(e).num);let t=this.map(t=>{let n=ec(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=oc(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Xu(this);return t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Xu(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Xu(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},lc={api:function(e){_u(e),sc(e)}};const uc={people:!0,emails:!0,phoneNumbers:!0,places:!0},cc=function(e={}){return!1!==(e=Object.assign({},uc,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var hc={api:function(e){e.prototype.redact=cc}},dc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0],a=r[r.length-1];return n[a.index[0]].length===r.length&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})},mc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))},pc=function(e){let t=e.clauses(),n=mc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}},gc=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},fc=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},bc=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!(t.lookBehind("to$").found||!t.has("#Copula #Gerund")&&(t.has("#Gerund")||!t.has("#Copula")&&t.has("#PresentTense")&&e.has("(when|as|how)"))));n.found&&n.toInfinitive()}return e},vc=function(e){return e.verbs().toInfinitive(),e};const yc=(e,t)=>"number"==typeof t?e.eq(t):e;var wc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=pc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return yc(this,e).map(e=>{let t=pc(e);return gc(e,t)})}toPresentTense(e){return yc(this,e).map(e=>{let t=pc(e);return fc(e,t)})}toFutureTense(e){return yc(this,e).map(e=>{let t=pc(e);return e=bc(e,t)})}toInfinitive(e){return yc(this,e).map(e=>{let t=pc(e);return vc(e,t)})}toNegative(e){return yc(this,e).map(e=>(pc(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)))}toPositive(e){return yc(this,e).map(e=>(pc(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return yc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return yc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=yc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=dc(this);return yc(t,e)}};Object.assign(e.prototype,t)}},kc=function(e){return e.match("#Honorific+? #Person+")},Pc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const Ac="male",Dc="female",jc={mr:Ac,mrs:Dc,miss:Dc,madam:Dc,king:Ac,queen:Dc,duke:Ac,duchess:Dc,baron:Ac,baroness:Dc,count:Ac,countess:Dc,prince:Ac,princess:Dc,sire:Ac,dame:Dc,lady:Dc,ayatullah:Ac,congressman:Ac,congresswoman:Dc,"first lady":Dc,mx:null};var xc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return Dc;if(n.has("#MaleName"))return Ac;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),jc.hasOwnProperty(e))return jc[e];if(/^her /.test(e))return Dc;if(/^his /.test(e))return Ac}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return Ac;if(n&&!t)return Dc}return null};const Nc=(e,t)=>"number"==typeof t?e.eq(t):e;var Ic=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return Nc(this,e).map(Pc)}json(e){return Nc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Pc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:xc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=kc(this);return t=Nc(t,e),new People(this.document,t.pointer)}},Tc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region)$")||!e.after("^#Country").found),t=t.splitAfter(n),t},Gc=function(e){e.prototype.places=function(t){let n=Tc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}},Ec=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const Cc=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Oc=function(e){e.prototype.topics=Cc},Bc={api:function(e){Ic(e),Gc(e),Ec(e),Oc(e)}},Vc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t},zc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},Fc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const $c=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Sc=function(e){return e.match("#Negative")},Hc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Mc=function(e){let t=e.clone();t.contractions().expand();const n=zc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Fc(t,n),auxiliary:$c(t,n),negative:Sc(t),phrasal:Hc(n)}};const Wc={tense:"PresentTense"},Jc={conditional:!0},Lc={tense:"FutureTense"},qc={progressive:!0},Kc={tense:"PastTense"},Uc={complete:!0,progressive:!1},Rc={passive:!0},Zc=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},Qc={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Wc]],["^wanted to #Infinitive$",[Kc]],["^will want to #Infinitive$",[Lc]]],"gerund-phrase":[["^#PastTense #Gerund$",[Kc]],["^#PresentTense #Gerund$",[Wc]],["^#Infinitive #Gerund$",[Wc]],["^will #Infinitive #Gerund$",[Lc]],["^have #PastTense #Gerund$",[Kc]],["^will have #PastTense #Gerund$",[Kc]]],"simple-present":[["^#PresentTense$",[Wc]],["^#Infinitive$",[Wc]]],"simple-past":[["^#PastTense$",[Kc]]],"simple-future":[["^will #Adverb? #Infinitive",[Lc]]],"present-progressive":[["^(is|are|am) #Gerund$",[Wc,qc]]],"past-progressive":[["^(was|were) #Gerund$",[Kc,qc]]],"future-progressive":[["^will be #Gerund$",[Lc,qc]]],"present-perfect":[["^(has|have) #PastTense$",[Kc,Uc]]],"past-perfect":[["^had #PastTense$",[Kc,Uc]],["^had #PastTense to #Infinitive",[Kc,Uc]]],"future-perfect":[["^will have #PastTense$",[Lc,Uc]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Kc,qc]]],"past-perfect-progressive":[["^had been #Gerund$",[Kc,qc]]],"future-perfect-progressive":[["^will have been #Gerund$",[Lc,qc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Kc,Rc]],["^(was|were) being (#PastTense|#Participle)",[Kc,Rc]],["^(had|have) been (#PastTense|#Participle)",[Kc,Rc]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Wc,Rc]],["^(is|are|am) being (#PastTense|#Participle)",[Wc,Rc]],["^has been (#PastTense|#Participle)",[Wc,Rc]]],"passive-future":[["will have been (#PastTense|#Participle)",[Lc,Rc,Jc]],["will be being? (#PastTense|#Participle)",[Lc,Rc,Jc]]],"present-conditional":[["would be #PastTense",[Wc,Jc]]],"past-conditional":[["would have been #PastTense",[Kc,Jc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Lc]]],"auxiliary-past":[["^did #Infinitive$",[Kc,{plural:!1}]],["^used to #Infinitive$",[Kc,Uc]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Wc,Uc,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Kc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let _c=[];Object.keys(Qc).map(e=>{Qc[e].forEach(t=>{_c.push({name:e,match:t[0],data:Zc(t[1])})})});var Yc=_c,Xc=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),eh(r)&&(n.remove(r),r=n.last()),eh(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:th(t,e)}};const rh=e=>e,ah=(e,t)=>{let n=nh(e,t),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},oh=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=nh(e,t);return n.has("i")?"am":n.has("we")||r?"are":"is"},ih=function(e,t){let n=nh(e,t),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},sh=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},lh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,sh(e)),r&&e.replace(t.root,r),e},uh=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ch=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal):[]},hh=function(e){return e&&e.isView?e.text("normal"):""},dh=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,sh(e))};var mh=function(e){e=e.clone().toView();let t=Mc(e);const n=Xc(e,t);return{root:t.root.text(),preAdverbs:ch(t.adverbs.pre),postAdverbs:ch(t.adverbs.post),auxiliary:hh(t.auxiliary),negative:t.negative.found,prefix:hh(t.prefix),infinitive:dh(t.root),grammar:n}};const ph={tags:!0};var gh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,sh(r)),i&&e.replace(r,i,ph).tag("Verb").firstTerm().tag("Infinitive"),o.found&&o.reverse().forEach(t=>{e.remove(t)}),t.negative.found){e.has("not")||e.prepend("not");let n=ih(e,t);e.prepend(n)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const fh={tags:!0},bh={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,sh(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=nh(e,t);return r||n.has("we")?"were":"was"})(e,t)),o&&e.replace(a,o,fh),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=bh.simple(e,t),e=bh.noAux(e,t))},hasHad:e=>(e.replace("has","had",fh),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),n(o,e.model).Participle}},vh={infinitive:bh.simple,"simple-present":bh.simple,"simple-past":rh,"simple-future":bh.both,"present-progressive":e=>(e.replace("are","were",fh),e.replace("(is|are|am)","was",fh),e),"past-progressive":rh,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":bh.hasHad,"past-perfect":rh,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=uh(e)),e.remove("have"),e),"present-perfect-progressive":bh.hasHad,"past-perfect-progressive":rh,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",fh),e),"passive-past":e=>(e.replace("have","had",fh),e),"passive-present":e=>(e.replace("(is|are)","was",fh),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",fh),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":rh,"auxiliary-future":e=>(e.replace("(is|are|am)","was",fh),e),"auxiliary-past":rh,"auxiliary-present":e=>(e.replace("(do|does)","did",fh),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",fh):(bh.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":rh,"want-infinitive":e=>(e.replace("(want|wants)","wanted",fh),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),bh.simple(e,t),uh(e),e)};var yh=function(e,t,n){return vh.hasOwnProperty(n)?((e=vh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const wh={tags:!0},kh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),!1===ah(e,t)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=oh(e,t)),o&&(e=e.replace(a,o,wh)).not("#Particle").tag("PresentTense"),e},Ph=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),!1===ah(e,t)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,wh)).not("#Particle").tag("Gerund"),e},Ah={infinitive:kh,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(r.has("#Infinitive")){let a=nh(e,t).subject;if(ah(e,t)||a.has("i"))return e;let o=r.text("normal"),i=n(o,e.model).PresentTense;o!==i&&(e=e.replace(r,i,wh))}return e},"simple-past":kh,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let r=oh(e,t);e.replace(n,r),(e=e.remove("will")).replace("not "+r,r+" not")}else kh(e,t),e=e.remove("will");return e},"present-progressive":rh,"past-progressive":(e,t)=>{let n=oh(e,t);return e.replace("(were|was)",n,wh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(kh(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=nh(e,t).subject;return ah(e,t)||n.has("i")?((e=lh(e,t)).remove("had"),e):(e.replace("had","has",wh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":rh,"past-perfect-progressive":e=>e.replace("had","has",wh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=oh(e,t);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,wh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":rh,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":rh,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(Ph(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=ih(e,t);return e.replace(t.auxiliary,n),e}return Ph(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":rh,"modal-infinitive":rh,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,sh(r)),a&&(e=e.replace(t.root,a,wh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),kh(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return ah(e,t)&&(n="want"),e.replace("(want|wanted|wants)",n,wh),e.remove("will"),e}};var Dh=function(e,t,n){return Ah.hasOwnProperty(n)?((e=Ah[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const jh={tags:!0},xh=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,sh(r)),o&&(e=e.replace(r,o,jh)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Nh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,sh(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,jh),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Ih={infinitive:xh,"simple-present":xh,"simple-past":xh,"simple-future":rh,"present-progressive":Nh,"past-progressive":Nh,"future-progressive":rh,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":rh,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":rh,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":rh,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":rh,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":rh,"modal-past":rh,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),xh(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Th=function(e,t,n){return e.has("will")||e.has("going to")?e:Ih.hasOwnProperty(n)?((e=Ih[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Gh={tags:!0};var Eh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,sh(a));let s=r(i,e.model).Gerund;return s&&(s=`${oh(e,t)} ${s}`,e.replace(a,s,Gh)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const Ch={tags:!0},Oh=function(e,t){let n=ih(e,t);return e.prepend(n+" not"),e},Bh=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Vh=e=>e.has("(is|was|am|are|will|were|be)"),zh={"simple-present":(e,t)=>!0===Vh(e)?Bh(e):(e=lh(e,t),e=Oh(e,t)),"simple-past":(e,t)=>!0===Vh(e)?Bh(e):((e=lh(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Vh(e)?Bh(e):Oh(e,t),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ch),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Oh(e,t)).replace("wants","want",Ch)};var Fh=function(e,t,n){if(e.has("#Negative"))return e;if(zh.hasOwnProperty(n))return e=zh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Vh(e)?Bh(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const $h=(e,t)=>"number"==typeof t?e.eq(t):e;var Sh={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return $h(this,e).map(Mc)}json(e,t){return $h(this,t).reverse().map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=mh(t),n},[]).reverse()}subjects(e){return $h(this,e).map(e=>{let t=Mc(e);return nh(e,t).subject})}adverbs(e){return $h(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return $h(this,e).filter(e=>!0!==nh(e).plural)}isPlural(e){return $h(this,e).filter(e=>!0===nh(e).plural)}isImperative(e){return $h(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return gh(e,t,n.form)})}toPresentTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Dh(e,t,n.form)})}toPastTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return yh(e,t,n.form)})}toFutureTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Th(e,t,n.form)})}toGerund(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Eh(e,t,n.form)})}conjugate(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return{Infinitive:gh(e.clone(),t,n.form).text("normal"),PastTense:yh(e.clone(),t,n.form).text("normal"),PresentTense:Dh(e.clone(),t,n.form).text("normal"),FutureTense:Th(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Fh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Vc(this);return t=$h(t,e),new Verbs(this.document,t.pointer)}}};return p.plugin(Vl),p.plugin(ru),p.plugin(cu),p.plugin(ju),p.plugin(lc),p.plugin(hc),p.plugin(wc),p.plugin(Bc),p.plugin(Sh),p},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); +var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer,n=this._cache||[];if(t||(t=this.docs.map((e,t)=>[t])),t[e]){let r=this.update([t[e]]);return r._cache=n[e],r}return this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);return a.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(r.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):a):a;var o};let d=Object.assign({},e);const p=function(e,t){t&&p.addWords(t);let n=h(e,s,d);return e&&n.compute(d.hooks),n};Object.defineProperty(p,"_world",{value:d,writable:!0}),p.tokenize=function(e,t){const{compute:n}=this._world;t&&p.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(e){return u(e,this._world,s,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},p.version="14.2.0";var m=p;const g={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var f={api:function(e){Object.assign(e.prototype,g)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.alias&&e.alias.forEach(e=>t.add(e));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),v=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},y=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},w=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},k=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?y(n):(y(n),y([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!b(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||b(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,e=>e.toLowerCase()))}(e,o,n),v(e,o,n)},P=(new Date).getTime(),A=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var j=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-P;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=A((r=r>46655?46655:r).toString(36));a+=A(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const E=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},x=e=>"[object Array]"===Object.prototype.toString.call(e),N=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]:x(e)?x(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.map(e=>(e.id=j(e),e))}(d),n?(E(t.update([u]).firstTerm()),k(h,u,d,r)):(E(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(T,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));r.insertAfter(e),a.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this}};var D=C,O=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const B={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let a=n.fullPointer,o=r.fullPointer.reverse(),i=O(this.document,o);return a=function(e,t){return(e=e.map(e=>{let[n]=e;return t[n]?(t[n].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e})).forEach((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0)).map(e=>(e[3]=null,e[4]=null,e))}(a,t(o)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):(this.ptrs=[],n.none())}};B.delete=B.remove;var V=B;const z={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};z.deHyphenate=z.dehyphenate,z.toQuotation=z.toQuotations;var $=z,F={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const S=new Set(["index","sequence","seq","sequential","chron","chronological"]),H=new Set(["freq","frequency","topk","repeats"]),M=new Set(["alpha","alphabetical"]);var L={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return S.has(e)&&(e="sequential"),M.has(e)&&(e="alpha"),H.has(e)?(a=F.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof F[e]?(a=a.sort(F[e]),this.update(a.map(e=>e.pointer))):this}};const J=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var W={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return v(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=J(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=J(this.document,e);return this.document=t,this.all()}var a;return this}},q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const K=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},G,D,V,$,L,W,q);var U={api:function(e){Object.assign(e.prototype,K)},compute:{id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Z=/'/,_=new Set(["what","how","when","where","why"]),X=new Set(["be","go","start","think","need"]),Y=new Set(["been","gone"]);var ee=function(e,t){let n=e[t].normal.split(Z)[0];if(_.has(n))return[n,"did"];if(e[t+1]){if(Y.has(e[t+1].normal))return[n,"had"];if(X.has(e[t+1].normal))return[n,"would"]}return null},te=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ne=/'/;var re=(e,t)=>["je",e[t].normal.split(ne)[1]],ae=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},oe=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ie=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,se=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var le=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(ie);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(se),null!==r?[r[1],"to",r[4]]:null)};const ue=/'/,ce=/^[0-9][^-–—]*[-–—].*?[0-9]/,he=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},de={t:(e,t)=>te(e,t),d:(e,t)=>ee(e,t)},pe={j:(e,t)=>re(e,t),l:(e,t)=>ae(e,t),d:(e,t)=>oe(e,t)},me=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===ue.test(r[s].normal)&&([l,u]=r[s].normal.split(ue));let c=me(o,r[s],l,u);!c&&de.hasOwnProperty(u)&&(c=de[u](r,s,t)),!c&&pe.hasOwnProperty(l)&&(c=pe[l](r,s)),c?(c=ge(c,e),Q(n,[i,s],c),he(n[i],e,s,c.length)):ce.test(r[s].normal)&&(c=le(r,s),c&&(c=ge(c,e),Q(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),he(n[i],e,s,c.length)))}})}},hooks:["contractions"]},be=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===ve.test(l)){let e=l.replace(ve,"");if(i.hasOwnProperty(e)&&e.length>3&&ye.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},ke={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]},Pe=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;return n.one.tokenize.splitTerms(e,r).map(n.one.tokenize.splitWhitespace).map(e=>e.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Ae=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const xe=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Ne=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=xe(e.goNext,void 0),e.failTo=xe(e.failTo,0),e.endAs=xe(e.endAs,null),e},Ie={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:Pe(e,this.world));var r;let a=Ee(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=Pe(e,this.world());return Ne(t)}}};const Ge=function(e,t){return t?(e.forEach(e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},Te=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ge(n,t),Object.keys(r).forEach(e=>{r[e]=Ge(r[e],t)}),{ptrs:n,byGroup:r}},Ce=e=>"[object Object]"===Object.prototype.toString.call(e),De=e=>e&&Ce(e)&&!0===e.isView,Oe=e=>e&&Ce(e)&&!0===e.isNet;var Be={matchOne:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e).eq(0);if(Oe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e);if(Oe(e))return this.sweep(e,{tagger:!1}).view.settle();"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(De(e))return e.fullPointer.length>0;if(Oe(e))return this.sweep(e,{tagger:!1}).view.found;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(De(e))return this.filter(t=>t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0});let s=this.update(o);return this._cache&&(s._cache=o.map(e=>i[e[0]])),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(De(e))return this.filter(t=>!t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let o=this._cache||[],i=this.filter((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length});return this._cache&&(i._cache=i.ptrs.map(e=>o[e[0]])),i}},Ve={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const ze=function(e,t){return[e[0],e[1],t[2]]},$e=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Fe=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},Se={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(ze(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(ze(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)}};Se.split=Se.splitAfter;var He=Se;const Me=Object.assign({},Be,Ve,He);Me.lookBehind=Me.before,Me.lookBefore=Me.before,Me.lookAhead=Me.after,Me.lookAfter=Me.after,Me.notIf=Me.ifNo;var Le=function(e){Object.assign(e.prototype,Me)};const Je=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,We=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,qe=/ /g,Ke=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Ue=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var Re=function(e){let t=e.split(Je),n=[];t.forEach(e=>{Ke(e)?n.push(e):n=n.concat(e.split(We))}),n=Ue(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||Ke(e)?r.push(e):r=r.concat(e.split(qe))}),r=Ue(r),r};const Qe=/\{([0-9]+)?(, *[0-9]*)?\}/,Ze=/&&/,_e=new RegExp(/^<\s*(\S+)\s*>/),Xe=e=>e.charAt(0).toUpperCase()+e.substring(1),Ye=e=>e.charAt(e.length-1),et=e=>e.charAt(0),tt=e=>e.substring(1),nt=e=>e.substring(0,e.length-1),rt=function(e){return e=tt(e),e=nt(e)},at=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===Ye(e)&&(n.end=!0,e=nt(e)),"^"===et(e)&&(n.start=!0,e=tt(e)),("["===et(e)||"]"===Ye(e))&&(n.group=null,"["===et(e)&&(n.groupStart=!0),"]"===Ye(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===et(e))){const t=_e.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===Ye(e)&&(n.greedy=!0,e=nt(e)),"*"!==e&&"*"===Ye(e)&&"\\*"!==e&&(n.greedy=!0,e=nt(e)),"?"===Ye(e)&&(n.optional=!0,e=nt(e)),"!"===et(e)&&(n.negative=!0,e=tt(e)),"~"===et(e)&&"~"===Ye(e)&&e.length>2&&(e=rt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===et(e)&&")"===Ye(e)){Ze.test(e)?(n.choices=e.split(Ze),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=tt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=nt(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>at(e,t))),e=""}if("/"===et(e)&&"/"===Ye(e))return e=rt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===et(e)&&"}"===Ye(e))return e=rt(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===et(e)&&">"===Ye(e))return e=rt(e),n.chunk=Xe(e),n.greedy=!0,n;if("%"===et(e)&&"%"===Ye(e))return e=rt(e),n.switch=e,n}return!0===Qe.test(e)&&(e=e.replace(Qe,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===et(e)?(n.tag=tt(e),n.tag=Xe(n.tag),n):"@"===et(e)?(n.method=tt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ot=at,it=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let r=0;r{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},st=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=Re(e);return n=n.map(e=>ot(e,t)),n=it(n),n};const lt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var ut=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),ft=(e,t)=>-1!==e.pre.indexOf(t),bt={hasQuote:e=>ht.test(e.pre)||dt.test(e.post),hasComma:e=>gt(e,","),hasPeriod:e=>!0===gt(e,".")&&!1===gt(e,"..."),hasExclamation:e=>gt(e,"!"),hasQuestionMark:e=>gt(e,"?")||gt(e,"¿"),hasEllipses:e=>gt(e,"..")||gt(e,"…")||ft(e,"..")||ft(e,"…"),hasSemicolon:e=>gt(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>pt.test(e.post)||pt.test(e.pre),hasDash:e=>mt.test(e.post)||mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};bt.hasQuotation=bt.hasQuote;var vt=bt;let yt=function(){};yt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(ct(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof vt[t.method]&&!0===vt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?t.fastOr.has(e.implicit)||t.fastOr.has(e.normal)||t.fastOr.has(e.text)||t.fastOr.has(e.machine):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>yt(e,t,n,r)):t.choices.some(t=>yt(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var wt=yt;const kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Pt(e,e.t).length=r-e.t),e.t=r,!0)};const jt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&wt(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Pt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Nt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null},It=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},Gt=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},Tt=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},Ct=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&It(e),r.implicit&&e.terms[e.t+1]&&Tt(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Gt(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Pt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},Dt=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==kt(e,a)){if(!0!==wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative&&!Nt(a))return null;if(!0!==e.optional)return null}else if(!Ct(a))return null}else if(!Ct(a))return null}else if(!Ct(a))return null}else if(!xt(a))return null}else if(!Et(a))return null}else if(!At(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}},Ot=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Bt=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Vt=function(e,t,n){let r=Dt(e,t,0,e.length);return r?(r=Bt(r,n),r):null};var zt={api:Le,methods:{one:{termMethods:vt,parseMatch:st,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Vt(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ot(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t)}}};const $t=/^\../,Ft=/^#./,St=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),$t.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var Ht={html:function(e){let{starts:t,ends:n}=St(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(Lt,""),Wt.test(a)&&(a=" "),a=a.replace(Jt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(Lt,""),a="-"===a?" ":a.replace(Mt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&qt.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},Ut={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};Ut.clean=Ut.normal,Ut.reduced=Ut.root;var Rt=Ut;const Qt={text:!0,terms:!0};let Zt={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _t=function(e,t){return Object.assign({},e,t)},Xt={text:e=>Kt(e,{keepPunct:!0},!1),normal:e=>Kt(e,_t(Rt.normal,{keepPunct:!0}),!1),implicit:e=>Kt(e,_t(Rt.implicit,{keepPunct:!0}),!1),machine:e=>Kt(e,Zt,!1),root:e=>Kt(e,_t(Zt,{form:"root"}),!1),offset:e=>{let t=Xt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};Xt.sentences=Xt.sentence,Xt.clean=Xt.normal,Xt.reduced=Xt.root;const Yt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},Qt,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&Xt[o]&&(a[o]=Xt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};Yt.data=Yt.json;var en=Yt,tn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const nn="";var rn={green:e=>""+e+nn,red:e=>""+e+nn,blue:e=>""+e+nn,magenta:e=>""+e+nn,cyan:e=>""+e+nn,yellow:e=>""+e+nn,black:e=>""+e+nn,dim:e=>""+e+nn,i:e=>""+e+nn},an=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(rn.blue("\n ──────")),t.forEach(e=>{console.log(rn.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=rn.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=rn.blue(" │ ")+rn.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return rn[n](e)})),e.join(", ")}(t,n);console.log(o)})})},on=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(rn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(rn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(rn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(rn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},sn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${rn.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var un=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},hn={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&&Rt.hasOwnProperty(e)?t=Object.assign({},Rt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},gn=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var fn=function(e,t){let n=gn(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r},bn={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n=n.filter(e=>e.length>0),n},pointer:{indexN:gn,splitAll:fn}}},vn=function(e,t){let n=e.concat(t),r=gn(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>mn(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},wn=function(e,t){let n=gn(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>mn(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Pn=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},An={union:function(e){e=kn(e,this);let t=vn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)}};An.and=An.union,An.intersection=function(e){e=kn(e,this);let t=wn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.not=function(e){e=kn(e,this);let t=yn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.difference=An.not,An.complement=function(){let e=this.all(),t=yn(e.fullPointer,this.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=vn(e,[t])}),e=Pn(e,this.document),this.update(e)};var jn={methods:bn,api:function(e){Object.assign(e.prototype,An)}},En=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};function xn(e,t,n){return e.splice(t,1,...n),e}const Nn=function(e){return e.fastOr?Array.from(e.fastOr).map(e=>[{word:e}]):e.choices},In=function(e,t){let n=Object.assign({},e,t);return delete n.choices,delete n.fastOr,delete n.operator,n};var Gn=function(e){let t=[];return e.forEach(e=>{for(let n=0;n{let a=Object.assign({},e);a.regs=a.regs.slice(0),r=r.map(t=>In(e.regs[n],t)),a.regs=xn(a.regs,n,r),t.push(a)})}t.push(e)}),t};const Tn=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var Cn=function(e){return e.forEach(e=>{e.needs=Array.from(function(e){let t=new Set;return e.forEach(e=>{let n=Tn(e);n?t.add(n):"and"===e.operator&&e.choices&&e.choices.forEach(e=>{e.forEach(e=>{let n=Tn(e);n&&t.add(n)})})}),t}(e.regs)),e.minWords=e.regs.filter(e=>!e.optional).length}),e},Dn=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},On=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},Bn=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},Vn=function(e,t,n,r){let a=[];for(let o=0;o0&&(l.ptrs.forEach(e=>{e[0]=o;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),a.push(t)}),!0===r.matchOne))return[a[0]]}return a},zn=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s=e.tag||"";var l;l=e.tag,"[object Array]"===Object.prototype.toString.call(l)&&(s=e.tag.join(" #"));let u=e.reason||e.match;u=u?`|${u}|`:"";let c=(" "+u).padEnd(20)+" - ";const h=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;c+=i>r&&i{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e});let i=o.map(e=>e.pointer);return o=o.map(e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e)),{view:this.update(i),found:o}}},methods:{one:{buildNet:function(e,t){e=En(e,t),e=Gn(e);let n=(e=Cn(e)).filter(e=>0===e.needs.length),r=Dn(e);return delete r["#Noun"],delete r["#Verb"],{index:r,always:n}},bulkMatch:function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=On(a,t.index);return o=Bn(o,a),t.always.length>0&&(o=o.map(e=>e.concat(t.always))),o=function(e,t){return e.map((e,n)=>{let r=t[n].length;return e.filter(e=>r>=e.minWords)})}(o,e),Vn(o,e,n,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag&&!e.chunk)return;let a=e.reason||e.match;l.DEBUG_TAGS&&zn(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===$n(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe,a),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe,"quick-plural")),void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach(t=>t.chunk=e.chunk)})}}}};const Sn=/ /,Hn=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Mn=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Sn.test(t))!function(e,t,n,r){let a=t.split(Sn);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),Mn(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nLn(e,t,n,r))};var Jn=Ln,Wn=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>qn({id:e})),t}return[qn({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Qn=e=>"[object Array]"===Object.prototype.toString.call(e),Zn=e=>(e=e||"").trim(),_n=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Kn.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Un(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=qn({});return e.forEach(e=>{if((e=qn(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Rn(t=e).forEach(qn),t);var t},Xn=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Rn(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},Yn=function(e){let t=Rn(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},er={text:Xn,txt:Xn,array:Yn,flat:Yn},tr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Xn(e,!0)),null):er.hasOwnProperty(t)?er[t](e):e},nr=e=>{Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},rr=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zn(e),!rr.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||qn({});return new g$1(t)}add(e,t={}){if(Qn(e))return e.forEach(e=>this.add(Zn(e),t)),this;e=Zn(e);let n=qn({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zn(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Rn(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Rn(this.json)}fillDown(){var e;return e=this.json,Rn(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Qn(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){nr(this.json);let e=Rn(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return nr(this.json),tr(this.json,e)}debug(){return nr(this.json),tr(this.json,"debug"),this}}const ar=function(e){let t=_n(e);return new g$1(t)};ar.prototype.plugin=function(e){e(this)};var or={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const ir=function(e){if(or.hasOwnProperty(e.id))return or[e.id];if(or.hasOwnProperty(e.is))return or[e.is];let t=e._cache.parents.find(e=>or[e]);return or[t]};var sr=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:ir(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const lr=function(e){return e?"string"==typeof e?[e]:e:[]};var ur=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=lr(e[t].children),e[t].not=lr(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},cr={one:{setTag:Jn,unTag:Wn,addTags:function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach(t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0}),e}(e)),e=ur(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}});return ar(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sr(n)}}};const hr=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var dr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),hr(e)?e.forEach(e=>a.one.setTag(r,e,i,n,t)):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return hr(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}},pr=function(e){Object.assign(e.prototype,dr)},mr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const gr=new Set(["Auxiliary","Possessive"]);var fr={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(gr.has(e)||!t.hasOwnProperty(n))return 1;if(gr.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:cr,api:pr,lib:mr};const br=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vr=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var yr=function(e){let t=[],n=e.split(vr);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const $r=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Fr=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Sr=/['’]/,Hr=/^[a-z]\.([a-z]\.)+/i,Mr=/^[-+.][0-9]/,Lr=/^'[0-9]{2}/;var Jr=function(e){let t=e,n="",r="";return""===(e=(e=e.replace($r,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Mr.test(e)?"'"===n&&Lr.test(e)?(n="",t):"":(n="",t)))).replace(Fr,a=>(r=a,Sr.test(a)&&/[sn]['’]$/.test(t)&&!1===Sr.test(n)?(r=r.replace(Sr,""),"'"):!0===Hr.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}},Wr=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const qr=/([A-Z]\.)+[A-Z]?,?$/,Kr=/^[A-Z]\.,?$/,Ur=/[A-Z]{2,}('s|,)?$/,Rr=/([a-z]\.)+[a-z]\.?$/;var Qr=function(e){return function(e){return!0===qr.test(e)||!0===Rr.test(e)||!0===Kr.test(e)||!0===Ur.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Zr=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Wr(r),r=n(r,t),r=Qr(r),e.normal=r},_r={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Nr,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Vr);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Dr(n),n=Tr(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Jr(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Zr(e,t)}),n})}}}},Xr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yr={},ea={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Yr[t]=!0,ea[t]="Abbreviation",void 0!==e[1]&&(ea[t]=[ea[t],e[1]])})});var ta=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let na={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ra={};Object.keys(na).forEach((function(e){na[e].split("").forEach((function(t){ra[t]=e}))}));const aa=/\//,oa=/[a-z]\.[a-z]/i,ia=/[0-9]/;var sa=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),aa.test(n)&&!oa.test(n)&&!ia.test(n)){let t=n.split(aa);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};const la=/^\p{Letter}+-\p{Letter}+$/u;var ua=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),la.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ca=function(e){let t=0,n=0,r=e.document;for(let e=0;eha(e,sa),machine:e=>ha(e,ua),normal:e=>ha(e,Zr),freq:function(e){let t=e.docs,n={};for(let e=0;e{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const ga={safe:!0,min:3};var fa={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=pa},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},ga,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=ma(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};m.extend(U),m.extend(pn),m.extend(zt),m.extend(jn),m.extend(fr),m.plugin(fe),m.extend(da),m.plugin(f),m.extend(Ie),m.extend(fa),m.extend(ke),m.extend(Fn);var ba={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},va={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shiba,y1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7S;1:6L;2:7O;3:7Z;4:7Y;5:82;6:6X;7:7I;8:75;9:6T;a7Kb6Wc5Vd5Ae52f4Eg44h3Wi3Qj3Ok3Ml3Cm33n2Zo2Vp21ques7Mr1Ds07tTuRvMwCyBzA;ip,o6E;awn,e1Wie4U;aHeaGhEiCoAre7M;nd0rA;k,ry;mp,nApe,re,sh,tne84;!d,g;e6IiA;p,st6;r,th0;it,rAs4t2ve,x;ehou1ra83;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l3A;pAsh0;da4gra50;aLeKhrJiIoHrDuBwiAy4O;n,st;nArn;e,n63;aCeBiAu7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5Z;ll,ne,r3Sss,t76u2;ck,e,me,p,re;e1Now,u7;ar,e,st;g,lArg63s4;k,ly;a0Ec09e06h01iZkXlVmUnTou6CpPtFuBwA;ear,it2;b1Yit,m,ppBrAspe5;ge,pri1vey;lAo5C;e59y;aHeGiFoDrBuAy6;dy,ff,mb6;a6CeAi4G;am,ss,t2;cking,p,rA;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Lons6MrAy;ay,e12ink6u3;n,r6Ite;n,rk;ee1Fow;e0Fi6o43;eep,iA;ce,p,t;ateboa5ZiA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i33;pe,re;aBed,nArv16t;se,t1Y;l,r2t;aDhedu6oCrA;at2eA;en,w;re,ut;le,n,r0J;crifi3il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1C;as5EcOdo,el,fMgLje5lKmInHo0VpFque7sCturn,vAwa5C;eAi1J;al,r1;er5JoBt,uA;lt,me;l5Hrt;air,eaAly,o3Z;l,t;dezvo26t;aAedy;ke,rk;ea1i3F;a50ist0r4E;act5Eorm,uA;nd,se;aAo4Xru8;ll;ck,i1ke,l48nAtV;ge,k;a00eXhViSlNoJrBuA;mp,n2rcha1sh;ai1eFiEoAu3L;be,ceCdu3grAje5mi1te7;amAe5E;!me;ed,ss;ce,de;sAy;er4Us;iClAol,p,re,s2Sw0;iAl;ce,sh;nt,s4I;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Um8;!l;cka9iBn,rtAss,t2u1;!y;nt,r;bCff0il,oBrAutli2T;d0ie4S;ze;je5;a3LeCoA;d,tA;e,i3;ed,gle5rd,t;aFeDiCoBuA;rd0;d2Unit44p,ve;lk,n2Yrr43x;asu12n3OrAss;ge,it;il,nBp,rk2ZsAt2;h,k;da4oeuv0Y;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0DvA;el,y;ch,d,p,se;bBcAnd,t2un2;e,k;el,o25;e2DiAno3C;ck,ll,ss;am,o17uA;d9i3;mpEnBr36ssA;ue;cr19dex,fluBha6k,se1VterviAvoi3;ew;en3;a5le1Q;aEeCiBoAu3S;ld,no1Tok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo30m,ne3Hve7;!le;aIeek,lo3FoHrCuA;arAe3Ei0Nn;antee,d;aCiBoAumb6;om,u2B;nd,p;dAsp;e,ua4;of,ssip;in,me,ng,s,te,ze;aWeSiNlJoGrCuA;el,nAzz;c2Fd;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Om;us;aCe0Kip,oAy;at,od,wA;!er;g,re,sh,vo0Z;eDgClBnAre,sh,t,x;an3i0F;e,m,t0;ht,uE;ld;aBeAn3;d,l;r,tuA;re;ce,il,ll,rm,vo21;cho,nGsExAye;cCerci1hib8pAtra5;eriAo0J;en3me2J;el,han9;caAtima4;pe;count0d,gine0vy;aSeMiGoFrBuAye;b,mp,pli24;aCeBiA;ft,nk,ve;am,ss;ft,in;cu05d9ubt;p,sCvA;e,iAor3;de;char9liBpA;at2lay;ke;al,ba4cDfeClBma0Wpos8siAtail;gn,re;ay,ega4;at,ct;liXrA;ea1;ma9n3rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu5glomeDstru5tAveI;a5rA;a7ol;ntArn;ra4;biEfoDmCpA;leAou08romi1;me1C;a06e1Bu4;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t2u1ve;se;d,e;aTeQiPlMoIrDuAypa0N;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan3nCrgaBsA;e,h;in;!d,g,k;c01dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa2;ch;al;chAsw0;or;er;d,m,r;ia4;dEvA;an3oA;ca4;te;ce;i5reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aObrigadiNcGdFexcellency,fiAliCma9officNp5queen,r2s0taoiseach,vice4;e0ultJ;cond liArgeaB;abbi,e0;ar0verend; adK;astGr0;eside6i0ofessF;me ministFnce0;!ss;gistrate,r4yC;eld mar3rst l0;ady,i0;eutena0;nt;shB;oct6utchess;aptain,hance4o0;lonel,mmand5n0unci3;gress0stable;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:56;1:4F;2:55;3:4S;4:4Q;5:4L;6:4P;7:4Z;8:4G;a4Pb44c37d2Ue2Nf2Dg22h1Qin1Njel3k1Ll1Im19n16o12p0Lqu0Kr0BsStJuGvCw9;a9ha39om29;f1i4Tt0Cy9;! arou4C;arn4DeAo9;cabu05l50;gIr9;di6t1H;nc32p2PrAs 9;do3Ps53;bani2in0; rex,aGeFhEiCoBrAu9v show;m2Hn5rntIto15;agedy,ibe,o43;p5rq3D;c,de,er,m9;etE;ere,i8;am,mp38;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n26st4O;ab2O;bAnri19per bowl,r9;f1roga2;st3Ctot0;aCepBipe3PrAudent9;! lo1J;ang1i8;fa1Emo1E;ff1t2Z;loi40me15;elet12i9;er,ll,rm3K;ack,or47;ab0Tcurity gu2C;e4ho9;l2Yol;la31;av0VeChetor5iAo9;de4om;te,v9;erb0M;bCcBf9publ5r0Nspi2;er9orm1;e4r0;it0ord label;a2u40;estion mark,ot27;aMeKhJiHlFort0rAu9yram1B;ddi8ppy,rpo0I;eCie3Go9;bl3Ts9;pe6t9;a2itu2;diction,mi0Droga7ss relea0D;a9ebisci2;q26te,y1;cn5e9g;!r;armaci37otocoH;dest0ncil,r9t0;cen3Fsp3G;nAr2Qte9;!nt;el2Qop3;bj3CcApia2rde0thers,ve9wn1;n,rview;cu9e0E;pi1;aAit23ot9umb1;a24hi8;n28rra7;aFeEiDoAu9é0F;m0Rr0;mAnopo3pPrni8sq1Ot9u12;h1i34;!my;li0Vn08;d5nu,t0;mm0nd11te9yf3;ri0;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,ph9;one;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi1id;a16d9; slam,fa9mo9;th1;d,lf1;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er0;ee market,iAon9;ti1;e16ga2;ame,u2;nan9ref3;ci1;lla,t14;br5mi3n0Uth1;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i1;cAg1Fi3or,ssi1wn9;si0M;to0BumenB;ale6gniAnn1s9vide0O;conte4incen7tri6;ta0A;aBc0fAni0te9;c7rre4;ault 05err0;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi1rr0t11u9yo2;ri1s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli1racter9;ist5;ili8llDr9;e0tifica2;hi1naFpErCshi1t9ucus;erpi9hedr0;ll9;ar;bohyd9ri1;ra2;it0;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i0;!y;ny;eakBiAo9;!th1;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri1;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru0eAqui9;tt0;ta2;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Uncountable:"true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0X;a0Sb0Qc0Cd0Bex0Af07g04he02in0Ljoule0kVlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Dd0Jears old,o1;tt07;att0b;able3e2on1;!ne0;a1r03;spoY;c0Ad09f3i07kilo0Bm1ya06;e0Eil1;e0li09;eet0o05;ascals,e2i1ou0I;c0Fnt0;rcent,tV;hms,uS;an0CewtP;/s,e6i1m²,²,³;/h,cro4l1;e1li03;! pFs 1²;anFpE;g02s07;gMter1;! 2s1;! 1;per second;it2u1;men0x;er0re0;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0S;a0Rb0Mc0Dde0Ce07f00gZhomel09iXjuWlVmPnOoNpMrJsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;b01nt;ndergr1pstairs;adua0Jou1;nd;a3e1oken;en,r1;min0ror0B;boo,n;e6ist00o4qua3ta2u1;bordina0Cper6;bRndard;re,t;cial05l1;e,v0F;cret,n1ri0;ior;e1outiIubbish;ar,laVnt0p1;resentaUublican;ati09eriodic0otenti0rincip0;ffiYpposi01v0;agging,ovel;aFe4in3o1;biEdernUr1;al,t0;iature,or;di1tr03;an,um;attGiber0;stice,veni8;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1ecu7pL;ess;d1iE;er;mographKriva3;hiCo1rude;m3n2opera1;tive;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AK;4:CL;5:C0;6:CG;7:D3;8:BT;9:AS;A:95;B:DB;C:D4;D:BN;aCAbB8cA8d99e8Jf83g7Gh6Ti6Dj5Fk53l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Kkaria,n0C;hFkE;!aC8;ar5VeC7;aMoGuE;sEu2LvBK;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB9ssY;avi3ho4;aNeLiGoEyaBO;jcie88lfgang,odrow,utE;!er;lEnst1;bGey,fredBlE;aB0iE;am,e,s;e98ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Yy;aHiEladimir,ojte7V;cFha0kt68nceErgA6va0;!nt;e3Xt66;lentEn9T;inE;!e;ghBFlyss5Anax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r5A;avAIeEist0oy,um0;ntAAv5Xy;bGd8SmEny;!as,mEoharu;aCCie,y;iAy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8H;!de5;dHrE;en99rE;an98eEy;ll,n97;!dy;dgh,ha,iEnn3req,tsu4S;cAQka;aUcotSeQhMiKoIpenc3tEur1Xylve97zym1;anGeEua86;f0phBDvEwa85;e60ie;!islaw,l8;lom1uE;leyma6ta;dElAm1yabonga;!dhart75n8;aGeE;lErm0;d1t1;h7Lne,qu11un,wn,y6;aEbasti0k2Cl4Qrg4Nth,ymoAF;m5n;!tE;!ie,y;lFmEnti2Gq59ul;!ke5KmDu4;ik,vato7P;aZeVhe9WiRoIuFyE;an,ou;b7EdFf5pe7LssE;!elBJ;ol3Gy;an,bLc63dJel,geIh0landBmHnGry,sFyE;!ce;coe,s;!aA2nD;an,eo;l46r;er79g3n8olfo,riE;go;bDeAR;cEl8;ar6Jc6IhFkEo;!ey,ie,y;a8Wie;gFid,ubCyEza;an1KnZ;g9TiE;na9Ps;ch6Rfa4lImHndGpha4sFul,wi2IyE;an,mo6V;h7Km5;alAXol2Vy;iADon;f,ph;ent2inE;cy,t1;aJeHhilGier6UrE;aka18eE;m,st1;!ip,lip;dA5rcy,tE;ar,e3Fr1Z;b4Idra74tr6KulE;!o19;ctav3Ei3liv3m9Zndrej,rIsFtEum7wC;is,to;aFc7k7m0vE;al5T;ma;i,vM;aMeKiGoEu39;aEel,j5l0ma0r3J;h,m;cFg4i47kE;!au,h7Hola;holAkEolA;!olA;al,d,il,ls1vE;il8K;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Hr1;hamFr6LstaE;fa,p55;ed,mI;di0Xe,hamGis2DntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Vik;house,o0Ct1;ae5Pe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2BlSmadXnRrLs1tGuricFxE;imilianBwe9;e,io;eHhFiAtEus,yA;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Zsha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5H;ou;aXeRiPlo3AoLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7CrenGuEv82we9;!iE;e,s;!zo;am,oE;n4r;a7Vevi,la4BnIonHst3thaGvE;eEi;nte;bo;!a6Eel;!ny;mGnFrEur55wr55;ry,s;ce,d1;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubAnJrHsE;eFhEi7Vue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Fy;!e5OrE;ey,y;cLdCkJmIrGsFvi3yE;dCs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i6ZmaEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dC;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5J;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4X;oGrE;aEry;ld,rdB;ffr8rge;brFlCrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;!ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymCzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estBie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4EsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydAy29;!lA;!a2HnEov0;e9ie,y;go,iFykA;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l35n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1B;aEie;rdB;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndB;!el,ki;ie;ta;aq;as,dIgelBtE;hony,oE;i6nE;!iBy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;an,beQdCeKfIi,lHonGphYt1vE;aOin;on;so,zo;an,en;onUrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtB;ni;dCm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfBri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:98;1:84;2:81;3:8Z;4:8T;5:6H;6:85;7:89;8:8U;9:8G;A:5Z;a7Qb7Ac6Sd6Ae5Sf5Ag52h4Ri3Tjuni46k3Rl3Gm34n2Uo2Fp1Wquart66r1Ls0Rt0JuMvIwBye1J;ast56eFholeEiDoB;man5oBrthwhi6u0F;d7Lzy;despr8Is6H;!sa6;ather13eBll o5Lste2R;!k5;aDeCiBola5F;b98ce versa,gi2R;ng4Xrsa5D;ca0lu56;lt06nHpDrCsBttermo90;ef79u4;b6Age0; Db2BpCsBti37;ca6et,ide dO;er,i4N;f3Vto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4G;e73i2GoDpCuB;pervis1spect2;e0ok71;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6S;mploy1nd2xpect1;eBue;cid1rB;!a6VcovAly2sDwB;aBei2L;tAy;iz1to45;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Ira;aGeDhough5Cip 1QoCrB;anspa72i3;gethAle86rp9;ena6JmpCrB;r3Htia6T;e8o6R;leBst3S;nt1;a03c01eZhYiWkiVmug,nobb41oPpMqueam41tGuBymb73;bDi generis,pBr5;erBre1P;! dupAb,viX;du1sBurb53;eq76tanda7S;atu6DeFi0VrByl3V;aBin4G;ightBy; fBfB;or61;adfa7Kri6;arCeBirit1lend9ot on;c30e36;k5se; caGlub6mbAphisticFrEuCvB;erei5Miet;ndBth0Y;pro6I;d9ry;at1;ll1;g1YnB;ce5Bg6;am32eA;at1co1Jem5lf3CnBre7;so5Z;ath2holBient2M;ar5;cr1me,tisfac5Q;aJeEheumato9iCoB;bu70tt5Cy4;ghtBv4;-w2f58;bZcEdu6RlDnown1sBtard1;is3FoB;lu3na0;e1Duc3D;e0ondi3;b9ciB;al,st;aOeMicayu7laLopuli6QrCuB;bl5Ynjabi;eGiEoB;!b2SfCmi3EpBv4Zxi21;er,ort63;a7u66;maBor,sti7va3;!ry;ci63exist2mBpa9;a1QiB;er,um;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8U;1:8H;2:9C;3:90;4:81;5:7O;6:98;7:83;8:9F;9:91;A:9G;B:8W;C:7V;D:7R;E:7L;F:88;a81b7Ec6Od5Ge4Ef44g40h3Wi3Cj39k36l2Xm2Qnou3Vo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7IlGplug,tie,ve84;ea8o3K;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Fmp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7M;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all70e2EiG;m,ng;bIccumb,ffHggeBmm90p2FrG;mouFvi2;er,i3;li7Zmer9siGveD;de,st;aKe7SiIrG;ang4eGi2;ng20w;fGnW;f5le;gg0rG;t4ve;a3Ri8;awn,eJiIlHoGri6A;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5EoHriGun;nk,v5Q;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3IoGyc4;gni57nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,ni8rGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0truAvG;e,iAo4R;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi41iC;a5Brt4T;er3npoiF;cei2fo3Bi8mea6plex,sGvaA;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Rpo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3uA;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee2ZolG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer9pG;hasi1Xow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi29sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3GsKtG;iGoDu2W;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a17e2WlJoHuG;ss;uGv0;ra9;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta18;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Iin24ribu6;er2iGoli26pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aZeTiSlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l11mbaGrrNth0;rd;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ya=36,wa="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ka=wa.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Pa=function(e){if(void 0!==ka[e])return ka[e];let t=0,n=1,r=ya,a=1;for(;n=0;n--,a*=ya){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Aa=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=Ea(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=xa(va[e]);Ta.test(e)?Object.keys(t).forEach(t=>{if(Da[t]=e,"Noun|Verb"===e){let e=Ga(t,Oa);Da[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{Ca[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Ca[e]="Emoticon"),delete Ca[""],delete Ca.null,delete Ca[" "];const Ba="Adjective";var Va={beforeTags:{Determiner:Ba,Possessive:Ba},afterTags:{Adjective:Ba},beforeWords:{seem:Ba,seemed:Ba,seems:Ba,feel:Ba,feels:Ba,felt:Ba,appear:Ba,appears:Ba,appeared:Ba,also:Ba,over:Ba,under:Ba,too:Ba,it:Ba,but:Ba,still:Ba,really:Ba,quite:Ba,well:Ba,very:Ba,deeply:Ba,profoundly:Ba,extremely:Ba,so:Ba,badly:Ba,mostly:Ba,totally:Ba,awfully:Ba,rather:Ba,nothing:Ba,something:Ba,anything:Ba},afterWords:{too:Ba,also:Ba,or:Ba}};const za="Gerund";var $a={beforeTags:{Adverb:za,Preposition:za,Conjunction:za},afterTags:{Adverb:za,Possessive:za,Person:za,Pronoun:za,Determiner:za,Copula:za,Preposition:za,Conjunction:za,Comparative:za},beforeWords:{been:za,keep:za,continue:za,stop:za,am:za,be:za,me:za,began:za,start:za,starts:za,started:za,stops:za,stopped:za,help:za,helps:za,avoid:za,avoids:za,love:za,loves:za,loved:za,hate:za,hates:za,hated:za},afterWords:{you:za,me:za,her:za,him:za,them:za,their:za,it:za,this:za,there:za,on:za,about:za,for:za}},Fa={beforeTags:Object.assign({},Va.beforeTags,$a.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Va.afterTags,$a.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Va.beforeWords,$a.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Va.afterWords,$a.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Sa="Singular";var Ha={beforeTags:{Determiner:Sa,Possessive:Sa,Acronym:Sa,Noun:Sa,Adjective:Sa,PresentTense:Sa,Gerund:Sa,PastTense:Sa,Infinitive:Sa,Date:Sa},afterTags:{Value:Sa,Modal:Sa,Copula:Sa,PresentTense:Sa,PastTense:Sa,Demonym:Sa},beforeWords:{the:Sa,with:Sa,without:Sa,of:Sa,for:Sa,any:Sa,all:Sa,on:Sa,cut:Sa,cuts:Sa,save:Sa,saved:Sa,saves:Sa,make:Sa,makes:Sa,made:Sa,minus:Sa,plus:Sa,than:Sa,another:Sa,versus:Sa,neither:Sa,favorite:Sa,best:Sa,daily:Sa,weekly:Sa,linear:Sa,binary:Sa,mobile:Sa,lexical:Sa,technical:Sa,computer:Sa,scientific:Sa,formal:Sa},afterWords:{of:Sa,system:Sa,aid:Sa,method:Sa,utility:Sa,tool:Sa,reform:Sa,therapy:Sa,philosophy:Sa,room:Sa,authority:Sa,says:Sa,said:Sa,wants:Sa,wanted:Sa}};const Ma={beforeTags:{Determiner:void 0}};var La={beforeTags:Object.assign({},Va.beforeTags,Ha.beforeTags,Ma.beforeTags),afterTags:Object.assign({},Va.afterTags,Ha.afterTags),beforeWords:Object.assign({},Va.beforeWords,Ha.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Va.afterWords,Ha.afterWords)};const Ja={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Wa={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},qa={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Ka={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ua={beforeTags:Object.assign({},Va.beforeTags,Ja),afterTags:Object.assign({},Va.afterTags,Wa),beforeWords:Object.assign({},Va.beforeWords,qa),afterWords:Object.assign({},Va.afterWords,Ka)};const Ra="Infinitive";var Qa={beforeTags:{Modal:Ra,Adverb:Ra,Negative:Ra,Plural:Ra},afterTags:{Determiner:Ra,Adverb:Ra,Possessive:Ra,Preposition:Ra},beforeWords:{i:Ra,we:Ra,you:Ra,they:Ra,to:Ra,please:Ra,will:Ra,have:Ra,had:Ra,would:Ra,could:Ra,should:Ra,do:Ra,did:Ra,does:Ra,can:Ra,must:Ra,us:Ra,me:Ra,he:Ra,she:Ra,it:Ra,being:Ra},afterWords:{the:Ra,me:Ra,you:Ra,him:Ra,her:Ra,them:Ra,it:Ra,a:Ra,an:Ra,up:Ra,down:Ra,by:Ra,out:Ra,off:Ra,when:Ra,all:Ra,to:Ra,because:Ra,although:Ra,before:Ra,how:Ra,otherwise:Ra,though:Ra,yet:Ra}};const Za={afterTags:{Noun:"Adjective",Conjunction:void 0}};var _a={beforeTags:Object.assign({},Va.beforeTags,Qa.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Va.afterTags,Qa.afterTags,Za.afterTags),beforeWords:Object.assign({},Va.beforeWords,Qa.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Va.afterWords,Qa.afterWords,{to:void 0})};const Xa={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Ya={},eo={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},to={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var no={beforeTags:Object.assign({},$a.beforeTags,Ha.beforeTags,Xa),afterTags:Object.assign({},$a.afterTags,Ha.afterTags,Ya),beforeWords:Object.assign({},$a.beforeWords,Ha.beforeWords,eo),afterWords:Object.assign({},$a.afterWords,Ha.afterWords,to)},ro={beforeTags:Object.assign({},Qa.beforeTags,Ha.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Qa.afterTags,Ha.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Qa.beforeWords,Ha.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Qa.afterWords,Ha.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const ao="Person";var oo={beforeTags:{Honorific:ao,Person:ao,Preposition:ao},afterTags:{Person:ao,ProperNoun:ao,Verb:ao},ownTags:{ProperNoun:ao},beforeWords:{hi:ao,hey:ao,yo:ao,dear:ao,hello:ao},afterWords:{said:ao,says:ao,told:ao,tells:ao,feels:ao,felt:ao,seems:ao,thinks:ao,thought:ao,spends:ao,spendt:ao,plays:ao,played:ao,sing:ao,sang:ao,learn:ao,learned:ao,wants:ao,wanted:ao}};const io="Month",so={beforeTags:{Date:io,Value:io},afterTags:{Date:io,Value:io},beforeWords:{by:io,in:io,on:io,during:io,after:io,before:io,between:io,until:io,til:io,sometime:io,of:io,this:io,next:io,last:io,previous:io,following:io},afterWords:{sometime:io,in:io,of:io,until:io,the:io}};var lo={beforeTags:Object.assign({},oo.beforeTags,so.beforeTags),afterTags:Object.assign({},oo.afterTags,so.afterTags),beforeWords:Object.assign({},oo.beforeWords,so.beforeWords),afterWords:Object.assign({},oo.afterWords,so.afterWords)};const uo={Place:"Place"},co={Place:"Place",Abbreviation:"Place"},ho={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},po={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},mo={"Adj|Gerund":Fa,"Adj|Noun":La,"Adj|Past":Ua,"Adj|Present":_a,"Noun|Verb":ro,"Noun|Gerund":no,"Person|Noun":{beforeTags:Object.assign({},Ha.beforeTags,oo.beforeTags),afterTags:Object.assign({},Ha.afterTags,oo.afterTags),beforeWords:Object.assign({},Ha.beforeWords,oo.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Ha.afterWords,oo.afterWords)},"Person|Date":lo,"Person|Verb":{beforeTags:Object.assign({},oo.beforeTags,Qa.beforeTags),afterTags:Object.assign({},oo.afterTags,Qa.afterTags),beforeWords:Object.assign({},oo.beforeWords,Qa.beforeWords),afterWords:Object.assign({},oo.afterWords,Qa.afterWords)},"Person|Place":{beforeTags:Object.assign({},uo,oo.beforeTags),afterTags:Object.assign({},co,oo.afterTags),beforeWords:Object.assign({},ho,oo.beforeWords),afterWords:Object.assign({},po,oo.afterWords)}},go=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};mo["Plural|Verb"]={beforeWords:go(mo["Noun|Verb"].beforeWords,{}),afterWords:go(mo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:go(mo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:go(mo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var fo=mo;const bo="Adjective",vo="Infinitive",yo="PresentTense",wo="Singular",ko="PastTense",Po="Adverb",Ao="Plural",jo="Actor",Eo="Verb",xo="Noun",No="LastName",Io="Modal",Go="Participle";var To=[null,null,{ea:wo,ia:xo,ic:bo,ly:Po,"'n":Eo,"'t":Eo},{oed:ko,ued:ko,xed:ko," so":Po,"'ll":Io,"'re":"Copula",azy:bo,eer:xo,end:Eo,ped:ko,ffy:bo,ify:vo,ing:"Gerund",ize:vo,ibe:vo,lar:bo,mum:bo,nes:yo,nny:bo,ous:bo,que:bo,rol:wo,sis:wo,ogy:wo,oid:wo,ian:wo,zes:yo,eld:ko,ken:Go,ven:Go,ten:Go,ect:vo,ict:vo,ign:vo,ful:bo,bal:bo},{amed:ko,aped:ko,ched:ko,lked:ko,rked:ko,reed:ko,nded:ko,mned:bo,cted:ko,dged:ko,ield:wo,akis:No,cede:vo,chuk:No,czyk:No,ects:yo,ends:Eo,enko:No,ette:wo,wner:wo,fies:yo,fore:Po,gate:vo,gone:bo,ices:Ao,ints:Ao,ruct:vo,ines:Ao,ions:Ao,less:bo,llen:bo,made:bo,nsen:No,oses:yo,ould:Io,some:bo,sson:No,tion:wo,tage:xo,ique:wo,tive:bo,tors:xo,vice:wo,lier:wo,fier:wo,wned:ko,gent:wo,tist:wo,pist:wo,rist:wo,mist:wo,yist:wo,vist:wo,lite:wo,site:wo,rite:wo,mite:wo,bite:wo,mate:wo,date:wo,ndal:wo,vent:wo,uist:wo,gist:wo,note:wo,cide:wo,wide:bo,vide:vo,ract:vo,duce:vo,pose:vo,eive:vo,lyze:vo,lyse:vo,iant:bo,nary:bo},{elist:wo,holic:wo,phite:wo,tized:ko,urned:ko,eased:ko,ances:Ao,bound:bo,ettes:Ao,fully:Po,ishes:yo,ities:Ao,marek:No,nssen:No,ology:xo,osome:wo,tment:wo,ports:Ao,rough:bo,tches:yo,tieth:"Ordinal",tures:Ao,wards:Po,where:Po,archy:xo,pathy:xo,opoly:xo,embly:xo,phate:xo,ndent:wo,scent:wo,onist:wo,anist:wo,alist:wo,olist:wo,icist:wo,ounce:vo,iable:bo,borne:bo,gnant:bo,inant:bo,igent:bo,atory:bo,rient:wo,dient:wo},{auskas:No,parent:wo,cedent:wo,ionary:wo,cklist:wo,keeper:jo,logist:jo,teenth:"Value"},{opoulos:No,borough:"Place",sdottir:No}];const Co="Adjective",Do="Noun",Oo="Verb";var Bo=[null,null,{},{neo:Do,bio:Do,"de-":Oo,"re-":Oo,"un-":Oo},{anti:Do,auto:Do,faux:Co,hexa:Do,kilo:Do,mono:Do,nano:Do,octa:Do,poly:Do,semi:Co,tele:Do,"pro-":Co,"mis-":Oo,"dis-":Oo,"pre-":Co},{anglo:Do,centi:Do,ethno:Do,ferro:Do,grand:Do,hepta:Do,hydro:Do,intro:Do,macro:Do,micro:Do,milli:Do,nitro:Do,penta:Do,quasi:Co,radio:Do,tetra:Do,"omni-":Co,"post-":Co},{pseudo:Co,"extra-":Co,"hyper-":Co,"inter-":Co,"intra-":Co,"deca-":Co},{electro:Do}];const Vo="Adjective",zo="Infinitive",$o="PresentTense",Fo="Singular",So="PastTense",Ho="Adverb",Mo="Expression",Lo="Actor",Jo="Verb",Wo="Noun",qo="LastName";var Ko={a:[[/.[aeiou]na$/,Wo,"tuna"],[/.[oau][wvl]ska$/,qo],[/.[^aeiou]ica$/,Fo,"harmonica"],[/^([hyj]a+)+$/,Mo,"haha"]],c:[[/.[^aeiou]ic$/,Vo]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,So,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,So,"rammed"],[/.[aeiou][sg]hed$/,So,"gushed"],[/.[aeiou]red$/,So,"hired"],[/.[aeiou]r?ried$/,So,"hurried"],[/[^aeiou]ard$/,Fo,"steward"],[/[aeiou][^aeiou]id$/,Vo,""],[/.[vrl]id$/,Vo,"livid"],[/..led$/,So,"hurled"],[/.[iao]sed$/,So,""],[/[aeiou]n?[cs]ed$/,So,""],[/[aeiou][rl]?[mnf]ed$/,So,""],[/[aeiou][ns]?c?ked$/,So,"bunked"],[/[aeiou]gned$/,So],[/[aeiou][nl]?ged$/,So],[/.[tdbwxyz]ed$/,So],[/[^aeiou][aeiou][tvx]ed$/,So],[/.[cdflmnprstv]ied$/,So,"emptied"]],e:[[/.[lnr]ize$/,zo,"antagonize"],[/.[^aeiou]ise$/,zo,"antagonise"],[/.[aeiou]te$/,zo,"bite"],[/.[^aeiou][ai]ble$/,Vo,"fixable"],[/.[^aeiou]eable$/,Vo,"maleable"],[/.[ts]ive$/,Vo,"festive"],[/[a-z]-like$/,Vo,"woman-like"]],h:[[/.[^aeiouf]ish$/,Vo,"cornish"],[/.v[iy]ch$/,qo,"..ovich"],[/^ug?h+$/,Mo,"ughh"],[/^uh[ -]?oh$/,Mo,"uhoh"],[/[a-z]-ish$/,Vo,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,qo,"polish-male"]],k:[[/^(k){2}$/,Mo,"kkkk"]],l:[[/.[gl]ial$/,Vo,"familial"],[/.[^aeiou]ful$/,Vo,"fitful"],[/.[nrtumcd]al$/,Vo,"natal"],[/.[^aeiou][ei]al$/,Vo,"familial"]],m:[[/.[^aeiou]ium$/,Fo,"magnesium"],[/[^aeiou]ism$/,Fo,"schism"],[/^[hu]m+$/,Mo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Vo,"republican"],[/[^aeiou]ician$/,Lo,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Mo,"noooo"],[/^(yo)+$/,Mo,"yoo"],[/^wo{2,}[pt]?$/,Mo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Fo],[/[^i]fer$/,zo],[/.[^aeiou][ao]pher$/,Lo],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Vo],[/[aeiou].*ist$/,Vo],[/^[a-z]et$/,Jo]],s:[[/.[^aeiou]ises$/,$o],[/.[rln]ates$/,$o],[/.[^z]ens$/,Jo],[/.[lstrn]us$/,Fo],[/.[aeiou]sks$/,$o],[/.[aeiou]kes$/,$o],[/[aeiou][^aeiou]is$/,Fo],[/[a-z]'s$/,Wo],[/^yes+$/,Mo]],v:[[/.[^aeiou][ai][kln]ov$/,qo]],y:[[/.[cts]hy$/,Vo],[/.[st]ty$/,Vo],[/.[tnl]ary$/,Vo],[/.[oe]ry$/,Fo],[/[rdntkbhs]ly$/,Ho],[/.(gg|bb|zz)ly$/,Vo],[/...lly$/,Ho],[/.[gk]y$/,Vo],[/[bszmp]{2}y$/,Vo],[/.[ai]my$/,Vo],[/[ea]{2}zy$/,Vo],[/.[^aeiou]ity$/,Fo]]};const Uo="Verb",Ro="Noun";var Qo={leftTags:[["Adjective",Ro],["Possessive",Ro],["Determiner",Ro],["Adverb",Uo],["Pronoun",Uo],["Value",Ro],["Ordinal",Ro],["Modal",Uo],["Superlative",Ro],["Demonym",Ro],["Honorific","Person"]],leftWords:[["i",Uo],["first",Ro],["it",Uo],["there",Uo],["not",Uo],["because",Ro],["if",Ro],["but",Ro],["who",Uo],["this",Ro],["his",Ro],["when",Ro],["you",Uo],["very","Adjective"],["old",Ro],["never",Uo],["before",Ro],["a","Singular"],["the",Ro],["been",Uo]],rightTags:[["Copula",Ro],["PastTense",Ro],["Conjunction",Ro],["Modal",Ro]],rightWords:[["there",Uo],["me",Uo],["man","Adjective"],["only",Uo],["him",Uo],["it",Uo],["were",Ro],["took",Ro],["himself",Uo],["went",Ro],["who",Ro],["jr","Person"]]},Zo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},_o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Xo={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Yo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},ei={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const ti=/^.([0-9]+)/;var ni=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(ti);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(ti,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},ai=/^([0-9]+)/,oi=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(ai);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(ai,"")]}(n[0],n[1])})};var ii=function(e={}){return(e=Object.assign({},e)).rules=oi(e.rules),e.rules=ri(e.rules),e.rev&&(e.rev=oi(e.rev),e.rev=ri(e.rev)),e.exceptions=oi(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},si=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const li=ii({rules:"een|1,egan|2in,on|in,pun|1in,hun|3ned,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,ollide|6d,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,rod|3ded,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,ulfil|5led,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,utgrow|4ew,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im,lam|3med,nearth|6s",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,utgrew|4ow,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,ollided|6,lammed|3,hunned|3,rodded|3,lfilled|4,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,nearths|6,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),ui=ii(Yo),ci=ii(_o),hi=ii(Xo),di=si(li),pi=si(ui),mi=si(ci),gi=si(hi),fi=ii(Zo),bi=ii(ei);var vi={fromPast:li,fromPresent:ui,fromGerund:ci,fromParticiple:hi,toPast:di,toPresent:pi,toGerund:mi,toParticiple:gi,toComparative:fi,toSuperlative:bi,fromComparative:si(fi),fromSuperlative:si(bi)},yi=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),wi=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],ki=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Pi[t].forEach(n=>e[n]=t),e),{});var Ai=Pi,ji=function(e){let t=e.substring(e.length-3);if(!0===Ai.hasOwnProperty(t))return Ai[t];let n=e.substring(e.length-2);return!0===Ai.hasOwnProperty(n)?Ai[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Ei={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var xi=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=ji(e)),Ei.hasOwnProperty(e))c=Ei[e];else if("Participle"===n)c=ni(l,i);else if("PastTense"===n)c=ni(l,r);else if("PresentTense"===n)c=ni(l,a);else{if("Gerund"!==n)return e;c=ni(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Ni=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:ni(i,n),PresentTense:ni(i,r),Gerund:ni(i,a),FutureTense:"will "+e},u=ni(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},Ii=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const Gi="ically",Ti=new Set(["analyt"+Gi,"chem"+Gi,"class"+Gi,"clin"+Gi,"crit"+Gi,"ecolog"+Gi,"electr"+Gi,"empir"+Gi,"frant"+Gi,"grammat"+Gi,"ident"+Gi,"ideolog"+Gi,"log"+Gi,"mag"+Gi,"mathemat"+Gi,"mechan"+Gi,"med"+Gi,"method"+Gi,"method"+Gi,"mus"+Gi,"phys"+Gi,"phys"+Gi,"polit"+Gi,"pract"+Gi,"rad"+Gi,"satir"+Gi,"statist"+Gi,"techn"+Gi,"technolog"+Gi,"theoret"+Gi,"typ"+Gi,"vert"+Gi,"whims"+Gi]),Ci=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Di=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Oi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var Bi=function(e){return e.endsWith("ly")?Ti.has(e)?e.replace(/ically/,"ical"):Di.has(e)?null:Oi.hasOwnProperty(e)?Oi[e]:Ii(e,Ci)||e:null};const Vi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],zi={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var $i=function(e){if(zi.hasOwnProperty(e))return zi[e];let t=Ii(e,Vi);return t||e+"ly"};const Fi=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Si={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Hi=new Set(["terrible","annoying"]),Mi=function(e,t){const n=t.two.models.toSuperlative;return ni(e,n)},Li=function(e,t){const n=t.two.models.toComparative;return ni(e,n)};var Ji={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Wi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Ji.hasOwnProperty(i)&&Ji[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:Ga,nounToSingular:ki,verbToInfinitive:xi,getTense:ji,verbConjugate:Ni,adjToSuperlative:Mi,adjToComparative:Li,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ni(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return ni(e,n)},advToAdjective:Bi,adjToAdverb:$i,adjToNoun:function(e){if(Si.hasOwnProperty(e))return Si[e];if(Hi.has(e))return null;let t=Ii(e,Fi);return t||e+"ness"}}}},qi=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Ki=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var Ui=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Ki(n,"Infinitive","PastTense"),Object.assign(s,l),l=Ki(r,"Infinitive","Verb"),Object.assign(s,l),l=Ki(a,"Infinitive","Gerund"),Object.assign(s,l),l=Ki(o,"Adjective","Superlative"),Object.assign(s,l),l=Ki(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Ri={two:{models:vi}};const Qi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Zi=function(e,t){const n={model:t,methods:Wi};let{lex:r,_multi:a}=Wi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},_i=function(e,t,n){let r=Ni(e,Ri);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Xi=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=Qi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||_i(a,r,!1),"Adj|Present"===o&&(_i(a,r,!0),function(e,t,n){let r=Mi(e,n);t[r]=t[r]||"Superlative";let a=Li(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=xi(a,Ri,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=xi(a,Ri,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Zi(n,t)};let Yi={one:{_multiCache:{},lexicon:Ca},two:{irregularPlurals:ba,models:vi,suffixPatterns:To,prefixPatterns:Bo,endsWith:Ko,neighbours:Qo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:Da,clues:fo,uncountable:{},orgWords:yi}};Yi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Zi(e.one.lexicon,e)).one.lexicon,e),e=Xi(e.two.switches,e),e=Ui(e),e=qi(e)}(Yi);var es=Yi;const ts=/^(under|over|mis|re|un|dis|semi)-?/;var ns=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(ts.test(a.normal)){let e=a.normal.replace(ts,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},rs=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const as={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},os=new Set(["formulas","koalas","israelis","menus"]),is=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var ss=function(e){if(!e||e.length<=3)return!1;if(os.has(e))return!0;let t=e[e.length-1];return as.hasOwnProperty(t)?as[t].find(t=>e.endsWith(t)):"s"===t&&!is.find(t=>e.endsWith(t))};const ls=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var us=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(ss(e.normal)?rs(e,"Plural","3-plural-guess"):rs(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=ji(e.normal);t&&rs(e,t,"3-verb-tense-guess")}}(r)};const cs=/^\p{Lu}[\p{Ll}'’]/u,hs=/[0-9]/,ds=["Date","Month","WeekDay","Unit"],ps=/^[IVXLCDM]{2,}$/,ms=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,gs={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var fs=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===cs.test(o)&&!1===hs.test(o)?ds.find(e=>r.tags.has(e))?null:(us(e,t,n),r.tags.has("Noun")||r.tags.clear(),rs(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&ps.test(o)&&ms.test(o)&&!gs[r.normal]?(rs(r,"RomanNumeral","2-xvii"),!0):null};const bs=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var vs=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=bs(r.normal,n.two.suffixPatterns);if(null!==e)return rs(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=bs(r.implicit,n.two.suffixPatterns),null!==e))return rs(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const ys=/['‘’‛‵′`´]/,ws=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return rs(r,e,"2-prefix"),r.confidence=.5,!0}return null};const As=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),js=function(e){return!(!e||!As.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},Es=function(e){return!!e&&!!e.tags.has("Ordinal")};var xs=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(js(e[t-1])||js(e[t+1]))return rs(n,"Year","2-tagYear");if(r>1950&&r<2025&&(Es(e[t-1])||Es(e[t+1])))return rs(n,"Year","2-tagYear-close")}}return null};const Ns=/^[A-Z]('s|,)?$/,Is=/^[A-Z-]+$/,Gs=/([A-Z]\.)+[A-Z]?,?$/,Ts=/[A-Z]{2,}('s|,)?$/,Cs=/([a-z]\.)+[a-z]\.?$/,Ds={I:!0,A:!0};var Os=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===Is.test(n)||n.length>5||Ds.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Gs.test(n)&&!0!==Cs.test(n)&&!0!==Ns.test(n)&&!0!==Ts.test(n))}(r,n)?(r.tags.clear(),rs(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!Ds.hasOwnProperty(r.text)&&Ns.test(r.text)?(r.tags.clear(),rs(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(rs(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Is.test(r.text)&&r.text.length<=6?(rs(r,"Acronym","3-titlecase-acronym"),!0):null};const Bs=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Vs=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var zs=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Bs(e[t-1],a),l=l||Bs(e[t+1],o),l=l||Vs(e[t-1],r),l=l||Vs(e[t+1],i),l)return rs(s,l,"3-[neighbour]"),us(e,t,n),e[t].confidence=.2,!0}return null};const $s=function(e,t){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(n=e.text,!!/^\p{Lu}[\p{Ll}'’]/u.test(n)&&(0!==t||e.tags.has("Singular"))));var n};var Fs=function(e,t,n){const r=n.model.two.orgWords,a=n.methods.one.setTag;let o=e[t];if(!0===r[o.machine||o.normal]&&$s(e[t-1])){a([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&$s(e[r],r);r-=1)a([e[r]],"Organization",n,null,"3-[org-word]")}return null},Ss=function(e,t,n){0===e[t].tags.size&&(rs(e[t],"Noun","3-[fallback]"),us(e,t,n),e[t].confidence=.1)};const Hs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Ms=(e,t,n)=>0!==t||e[1]?null:n;var Ls={"Adj|Gerund":(e,t)=>Hs(e,t),"Adj|Noun":(e,t)=>Hs(e,t),"Adj|Past":(e,t)=>Hs(e,t),"Adj|Present":(e,t)=>Hs(e,t),"Noun|Gerund":(e,t)=>Hs(e,t),"Noun|Verb":(e,t)=>Hs(e,t)||Ms(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Hs(e,t)||Ms(e,t,"PresentTense"),"Person|Noun":(e,t)=>Hs(e,t),"Person|Verb":(e,t)=>0!==t&&Hs(e,t)};const Js="undefined"!=typeof process&&process.env?process.env:self.env||{},Ws=/^(under|over|mis|re|un|dis|semi)-?/,qs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&Js.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Ks=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&Js.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r},Us={tagSwitch:ns,checkSuffix:vs,checkRegex:ks,checkCase:fs,checkPrefix:Ps,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(rs(o,"Verb","3-[prefix]"),rs(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(rs(o,"Adjective","3-[prefix]"),rs(o,"Prefix","3-[prefix]")))},checkYear:xs},Rs={checkAcronym:Os,neighbours:zs,orgWords:Fs,nounFallback:Ss,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(Ws.test(l)&&!o[l]&&(l=l.replace(Ws,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=qs(e[t+1],n.afterWords);return o=o||qs(e[t-1],n.beforeWords),o=o||Ks(e[t-1],n.beforeTags,a),o=o||Ks(e[t+1],n.afterTags,a),o}(e,t,i[o],r);Ls[o]&&(u=Ls[o](e,t)||u),u?(Js.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):Js.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},Qs=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Xs={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ys={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const cl=/'/;var hl=function(e,t){let n=e[t].normal.split(cl)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const dl=/'/;var pl=function(e,t){let n=e[t].normal.split(dl)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},ml=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const gl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},fl={in:!0,by:!0,for:!0};var bl=(e,t)=>{let n=e[t];if(gl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===fl[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const vl=/'/,yl=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},wl={d:(e,t)=>pl(e,t),t:(e,t)=>ml(e,t),s:(e,t,n)=>bl(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):hl(e,t)},kl=function(e,t){return t.fromText(e.join(" ")).docs[0]};var Pl={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===vl.test(r[o].normal)&&([,i]=r[o].normal.split(vl));let s=null;wl.hasOwnProperty(i)&&(s=wl[i](r,o,t)),s&&(s=kl(s,e),ul(n,[a,o],s),yl(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=ll.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=sl},hooks:["contractionTwo"]};const Al="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",jl=["i","we","they"];let El=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",tag:"Place",reason:"east-sydney"},{match:Al+" #Person",tag:"Person",reason:"randy-smith"},{match:Al+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${Al}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:jl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:jl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:jl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]),xl=null;var Nl={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach(n=>{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["preTagger","contractionTwo","postTagger"])}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;xl=xl||r.one.buildNet(n.two.matches,r);let a=r.two.quickSplit(e.document).map(e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]}),o=e.update(a);return o.cache(),o.sweep(xl),e.uncache(),e}},model:{two:{matches:El}},hooks:["postTagger"]},Il=function(e,t){let n=t;e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verbConjugate)(t,e.model);return e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)},Gl=function(e,t,n){let r=this.match(`{${e}}`);return n&&(r=r.if(n)),r.has("#Verb")?Il(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.nounToPlural)(t,e.model)),e.replaceWith(n)}(r,t):r.has("#Adverb")?function(e,t){let n=(0,e.methods.two.transform.adjToAdverb)(t);n&&e.replaceWith(n)}(r,t):this},Tl={api:function(e){e.prototype.swap=Gl}};m.plugin(al),m.plugin(Pl),m.plugin(Nl),m.plugin(Tl);var Cl=function(e){let t=this.if("@hasComma").ifNo("@hasComma @hasComma").ifNo("@hasComma (and|or) .").ifNo("(#City && @hasComma) #Country").ifNo("(#WeekDay && @hasComma) #Date").ifNo("(#Date+ && @hasComma) #Value").ifNo("@hasComma (too|also)$").match("@hasComma"),n=this.splitAfter(t),r=n.if("#Copula #Adjective #Conjunction (#Pronoun|#Determiner) #Verb").match("#Conjunction");n=n.splitBefore(r);let a=n.if("if .{2,9} then .").match("then");n=n.splitBefore(a),n=n.splitBefore("as well as ."),n=n.splitBefore("such as ."),n=n.splitBefore("in addition to ."),n=n.splitAfter("@hasSemicolon"),n=n.splitAfter("@hasDash");let o=n.filter(e=>e.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n},Dl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r};const Ol={this:"Noun",then:"Pivot"};var Bl=function(e){for(let t=0;t of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let $l=null;var Fl=function(e,t,n){const{methods:r}=n;$l=$l||r.one.buildNet(zl,r),e.sweep($l)};const Sl=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Hl=function(e){for(let t=0;t{for(let r=0;r{"Verb"===e.chunk&&(e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null))})},Ll={compute:{chunks:function(e){const{document:t,world:n}=e;Bl(t),Vl(t),Fl(e,t,n),Hl(t),Ml(t)}},api:function(e){e.prototype.chunks=Dl,e.prototype.clauses=Cl},hooks:["chunks"]};const Jl=/'s$/;var Wl=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Jl,""),e.normal=e.normal.replace(Jl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const ql=/\(/,Kl=/\)/,Ul=function(e,t){for(;t{e[0].pre=e[0].pre.replace(ql,"");let t=e[e.length-1];t.post=t.post.replace(Kl,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const Ql={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Zl=RegExp("("+Object.keys(Ql).join("|")+")"),_l=RegExp("("+Object.values(Ql).join("|")+")"),Xl=function(e,t){const n=e[t].pre.match(Zl)[0]||"";if(!n||!Ql[n])return null;const r=Ql[n];for(;t{e[0].pre=e[0].pre.replace(Zl,"");let t=e[e.length-1];t.post=t.post.replace(_l,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const eu=/\./g;var tu=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(eu,""),e.normal=e.normal.replace(eu,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(eu,""),e.normal=e.normal.replace(eu,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}},nu=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const ru=(e,t)=>"number"==typeof t?e.eq(t):e,au=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var ou=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=au(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=ru(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=ru(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=ru(t,e),new Adjectives(t.document,t.pointer)}};const iu=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},su=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let lu=[["emojis","emoji"],["atmentions","atMentions"]];var uu=function(e){su.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=iu,lu.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},cu={api:function(e){uu(e),Wl(e),Rl(e),Yl(e),ou(e),nu(e),tu(e)}};const hu=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var du={case:e=>{hu(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;hu(e,e=>e.text=n(e.text,t))},whitespace:e=>{hu(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{hu(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const pu=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),mu="unicode|punctuation|whitespace|acronyms",gu="|case|contractions|parentheses|quotations|emoji|honorifics",fu={light:pu(mu),medium:pu(mu+gu),heavy:pu(mu+gu+"|possessives|adverbs|nouns|verbs")};var bu={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=fu[e]),Object.keys(e).forEach(t=>{du.hasOwnProperty(t)&&du[t](this,e[t])}),this}}},vu=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const yu=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var wu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},Pu=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:ku(e,t),isSubordinate:wu(e),root:t}};const Au=e=>e.text(),ju=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),Eu=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var xu=function(e){let t=Pu(e);return{root:Au(t.root),number:Eu(t.number),determiner:Au(t.determiner),adjectives:ju(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const Nu={tags:!0};var Iu=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("^(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)+$")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,Nu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",Nu),e};const Gu={tags:!0};var Tu=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,Gu).tag("Singular","toPlural"),e};const Cu=(e,t)=>"number"==typeof t?e.eq(t):e;var Du={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return Cu(this,e).map(Pu)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=xu(t)),n},[])}isPlural(e){let t=this.filter(e=>Pu(e).isPlural);return Cu(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=Pu(e).adjectives;n.found&&(t=t.concat(n))}),Cu(t,e)}toPlural(e){return Cu(this,e).map(e=>Iu(e,Pu(e)))}toSingular(e){return Cu(this,e).map(e=>{let t=Pu(e);return Tu(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=vu(this);return t=Cu(t,e),new Nouns(this.document,t.pointer)}}},Ou=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},Bu=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(Vu.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(Vu.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(Vu.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},$u=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Su=/^([0-9,. ]+)\/([0-9,. ]+)$/,Hu={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Mu=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Lu=function(e){if(!0===Hu.hasOwnProperty(e))return Hu[e];if("a"===e||"an"===e)return 1;const t=Bu(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Wu(n),r=Wu(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Wu(n);let a=r.text("reduced");return Ju.test(a)&&(a=a.replace(Ju,""),r=r.replaceWith(a)),r=qu.hasOwnProperty(a)?qu[a]:Wu(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:Wu(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Uu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Ru=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Qu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Zu=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],_u=function(e){let t=[];if(e>100)return t;for(let n=0;n=Ru[n][1]&&(e-=Ru[n][1],t.push(Ru[n][0]));return Qu[e]&&t.push(Qu[e]),t};var Xu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Uu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Zu.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(_u(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Uu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")},Yu=function(e){return e.numerator&&e.denominator?`${Xu({num:e.numerator})} out of ${Xu({num:e.denominator})}`:""};const ec={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var tc=e=>{let t=Xu(e).split(" "),n=t[t.length-1];return ec.hasOwnProperty(n)?t[t.length-1]=ec[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},nc=function(e){if(!e.numerator||!e.denominator)return"";let t=Xu({num:e.numerator}),n=tc({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const rc=(e,t)=>"number"==typeof t?e.eq(t):e;var ac=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return rc(this,e).map(Ku)}get(e){return rc(this,e).map(Ku)}json(e){return rc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Ku(t);return n.fraction=r,n},[])}toDecimal(e){return rc(this,e).forEach(e=>{let{decimal:t}=Ku(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return rc(this,e).forEach(e=>{let t=Ku(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return rc(this,e).forEach(e=>{let t=Ku(e),n=nc(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return rc(this,e).forEach(e=>{let t=Ku(e),n=Yu(t);e.replaceWith(n)}),this}toPercentage(e){return rc(this,e).forEach(e=>{let{decimal:t}=Ku(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=Ou(this);return t=rc(t,e),new Fractions(this.document,t.pointer)}};const oc="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var ic=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+oc+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+oc+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+oc+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+oc+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${oc})`),r=e.has("("+oc+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+oc+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+oc+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},sc=function(e){if("string"==typeof e)return{num:Lu(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Ku(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Lu(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}},lc=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Uu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const uc={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},cc={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var hc=function(e){let t={suffix:"",prefix:e.prefix};return uc.hasOwnProperty(e.prefix)&&(t.suffix+=" "+uc[e.prefix],t.prefix=""),cc.hasOwnProperty(e.suffix)&&(t.suffix+=" "+cc[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},dc=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=hc(e);return t+tc(e)+n}if("Ordinal"===t)return e.prefix+lc(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=hc(e);return t+Xu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const pc=(e,t)=>"number"==typeof t?e.eq(t):e;var mc=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return pc(this,e).map(sc)}get(e){return pc(this,e).map(sc).map(e=>e.num)}json(e){return pc(this,e).map(t=>{let n=t.toView().json(e)[0],r=sc(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=sc(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=dc(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=sc(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=dc(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>sc(t).num===e)}greaterThan(e){return this.filter(t=>sc(t).num>e)}lessThan(e){return this.filter(t=>sc(t).num{let r=sc(n).num;return r>e&&r{let n=sc(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=dc(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=sc(e).num);let t=this.map(t=>{let n=sc(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=dc(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=ic(this);return t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=ic(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=ic(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},gc={api:function(e){ac(e),mc(e)}};const fc={people:!0,emails:!0,phoneNumbers:!0,places:!0},bc=function(e={}){return!1!==(e=Object.assign({},fc,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var vc={api:function(e){e.prototype.redact=bc}},yc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})},wc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))},kc=function(e){let t=e.clauses(),n=wc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}},Pc=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},Ac=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},jc=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!(t.lookBehind("to$").found||!t.has("#Copula #Gerund")&&(t.has("#Gerund")||!t.has("#Copula")&&t.has("#PresentTense")&&e.has("(when|as|how)"))));n.found&&n.toInfinitive()}return e},Ec=function(e){return e.verbs().toInfinitive(),e};const xc=(e,t)=>"number"==typeof t?e.eq(t):e;var Nc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=kc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return xc(this,e).map(e=>(kc(e),Pc(e)))}toPresentTense(e){return xc(this,e).map(e=>(kc(e),Ac(e)))}toFutureTense(e){return xc(this,e).map(e=>(kc(e),e=jc(e)))}toInfinitive(e){return xc(this,e).map(e=>(kc(e),Ec(e)))}toNegative(e){return xc(this,e).map(e=>(kc(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)))}toPositive(e){return xc(this,e).map(e=>(kc(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return xc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return xc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=xc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=yc(this);return xc(t,e)}};Object.assign(e.prototype,t)}},Ic=function(e){return e.match("#Honorific+? #Person+")},Gc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const Tc="male",Cc="female",Dc={mr:Tc,mrs:Cc,miss:Cc,madam:Cc,king:Tc,queen:Cc,duke:Tc,duchess:Cc,baron:Tc,baroness:Cc,count:Tc,countess:Cc,prince:Tc,princess:Cc,sire:Tc,dame:Cc,lady:Cc,ayatullah:Tc,congressman:Tc,congresswoman:Cc,"first lady":Cc,mx:null};var Oc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return Cc;if(n.has("#MaleName"))return Tc;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),Dc.hasOwnProperty(e))return Dc[e];if(/^her /.test(e))return Cc;if(/^his /.test(e))return Tc}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return Tc;if(n&&!t)return Cc}return null};const Bc=(e,t)=>"number"==typeof t?e.eq(t):e;var Vc=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return Bc(this,e).map(Gc)}json(e){return Bc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Gc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:Oc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=Ic(this);return t=Bc(t,e),new People(this.document,t.pointer)}},zc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found),t=t.splitAfter(n),t},$c=function(e){e.prototype.places=function(t){let n=zc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}},Fc=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const Sc=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Hc=function(e){e.prototype.topics=Sc},Mc={api:function(e){Vc(e),$c(e),Fc(e),Hc(e)}},Lc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t},Jc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},Wc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const qc=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Kc=function(e){return e.match("#Negative")},Uc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Rc=function(e){let t=e.clone();t.contractions().expand();const n=Jc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Wc(t,n),auxiliary:qc(t,n),negative:Kc(t),phrasal:Uc(n)}};const Qc={tense:"PresentTense"},Zc={conditional:!0},_c={tense:"FutureTense"},Xc={progressive:!0},Yc={tense:"PastTense"},eh={complete:!0,progressive:!1},th={passive:!0},nh=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},rh={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Qc]],["^wanted to #Infinitive$",[Yc]],["^will want to #Infinitive$",[_c]]],"gerund-phrase":[["^#PastTense #Gerund$",[Yc]],["^#PresentTense #Gerund$",[Qc]],["^#Infinitive #Gerund$",[Qc]],["^will #Infinitive #Gerund$",[_c]],["^have #PastTense #Gerund$",[Yc]],["^will have #PastTense #Gerund$",[Yc]]],"simple-present":[["^#PresentTense$",[Qc]],["^#Infinitive$",[Qc]]],"simple-past":[["^#PastTense$",[Yc]]],"simple-future":[["^will #Adverb? #Infinitive",[_c]]],"present-progressive":[["^(is|are|am) #Gerund$",[Qc,Xc]]],"past-progressive":[["^(was|were) #Gerund$",[Yc,Xc]]],"future-progressive":[["^will be #Gerund$",[_c,Xc]]],"present-perfect":[["^(has|have) #PastTense$",[Yc,eh]]],"past-perfect":[["^had #PastTense$",[Yc,eh]],["^had #PastTense to #Infinitive",[Yc,eh]]],"future-perfect":[["^will have #PastTense$",[_c,eh]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Yc,Xc]]],"past-perfect-progressive":[["^had been #Gerund$",[Yc,Xc]]],"future-perfect-progressive":[["^will have been #Gerund$",[_c,Xc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Yc,th]],["^(was|were) being (#PastTense|#Participle)",[Yc,th]],["^(had|have) been (#PastTense|#Participle)",[Yc,th]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Qc,th]],["^(is|are|am) being (#PastTense|#Participle)",[Qc,th]],["^has been (#PastTense|#Participle)",[Qc,th]]],"passive-future":[["will have been (#PastTense|#Participle)",[_c,th,Zc]],["will be being? (#PastTense|#Participle)",[_c,th,Zc]]],"present-conditional":[["would be #PastTense",[Qc,Zc]]],"past-conditional":[["would have been #PastTense",[Yc,Zc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[_c]]],"auxiliary-past":[["^did #Infinitive$",[Yc,{plural:!1}]],["^used to #Infinitive$",[Yc,eh]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Qc,eh,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Yc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let ah=[];Object.keys(rh).map(e=>{rh[e].forEach(t=>{ah.push({name:e,match:t[0],data:nh(t[1])})})});var oh=ah,ih=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),sh(r)&&(n.remove(r),r=n.last()),sh(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:lh(t,e)}};const ch=e=>e,hh=(e,t)=>{let n=uh(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},dh=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=uh(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},ph=function(e,t){let n=uh(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},mh=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},gh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,mh(e)),r&&e.replace(t.root,r),e},fh=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),bh=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal):[]},vh=function(e){return e&&e.isView?e.text("normal"):""},yh=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,mh(e))};var wh=function(e){let t=Rc(e);e=e.clone().toView();const n=ih(e,t);return{root:t.root.text(),preAdverbs:bh(t.adverbs.pre),postAdverbs:bh(t.adverbs.post),auxiliary:vh(t.auxiliary),negative:t.negative.found,prefix:vh(t.prefix),infinitive:yh(t.root),grammar:n}};const kh={tags:!0};var Ph=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,mh(r)),i&&e.replace(r,i,kh).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=ph(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const Ah={tags:!0},jh={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,mh(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=uh(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,Ah),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=jh.simple(e,t),e=jh.noAux(e,t))},hasHad:e=>(e.replace("has","had",Ah),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),n(o,e.model).Participle}},Eh={infinitive:jh.simple,"simple-present":jh.simple,"simple-past":ch,"simple-future":jh.both,"present-progressive":e=>(e.replace("are","were",Ah),e.replace("(is|are|am)","was",Ah),e),"past-progressive":ch,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":jh.hasHad,"past-perfect":ch,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=fh(e)),e.remove("have"),e),"present-perfect-progressive":jh.hasHad,"past-perfect-progressive":ch,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",Ah),e),"passive-past":e=>(e.replace("have","had",Ah),e),"passive-present":e=>(e.replace("(is|are)","was",Ah),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",Ah),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":ch,"auxiliary-future":e=>(e.replace("(is|are|am)","was",Ah),e),"auxiliary-past":ch,"auxiliary-present":e=>(e.replace("(do|does)","did",Ah),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",Ah):(jh.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":ch,"want-infinitive":e=>(e.replace("(want|wants)","wanted",Ah),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),jh.simple(e,t),fh(e),e)};var xh=function(e,t,n){return Eh.hasOwnProperty(n)?((e=Eh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Nh={tags:!0},Ih=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),!1===hh(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=dh(e)),o&&(e=e.replace(a,o,Nh)).not("#Particle").tag("PresentTense"),e},Gh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),!1===hh(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,Nh)).not("#Particle").tag("Gerund"),e},Th={infinitive:Ih,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(!r.has("#Infinitive"))return Ih(e,t);{let t=uh(e).subject;if(hh(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,Nh)}return e},"simple-past":Ih,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=dh(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else Ih(e,t),e=e.remove("will");return e},"present-progressive":ch,"past-progressive":(e,t)=>{let n=dh(e);return e.replace("(were|was)",n,Nh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(Ih(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=uh(e).subject;return hh(e)||n.has("i")?((e=gh(e,t)).remove("had"),e):(e.replace("had","has",Nh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":ch,"past-perfect-progressive":e=>e.replace("had","has",Nh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=dh(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,Nh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":ch,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":ch,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(Gh(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=ph(e);return e.replace(t.auxiliary,n),e}return Gh(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":ch,"modal-infinitive":ch,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,mh(r)),a&&(e=e.replace(t.root,a,Nh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Ih(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return hh(e)&&(n="want"),e.replace("(want|wanted|wants)",n,Nh),e.remove("will"),e}};var Ch=function(e,t,n){return Th.hasOwnProperty(n)?((e=Th[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Dh={tags:!0},Oh=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,mh(r)),o&&(e=e.replace(r,o,Dh)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Bh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,mh(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,Dh),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Vh={infinitive:Oh,"simple-present":Oh,"simple-past":Oh,"simple-future":ch,"present-progressive":Bh,"past-progressive":Bh,"future-progressive":ch,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":ch,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":ch,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":ch,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":ch,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":ch,"modal-past":ch,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Oh(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var zh=function(e,t,n){return e.has("will")||e.has("going to")?e:Vh.hasOwnProperty(n)?((e=Vh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const $h={tags:!0};var Fh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,mh(a));let s=r(i,e.model).Gerund;return s&&(s=`${dh(e)} ${s}`,e.replace(a,s,$h)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const Sh={tags:!0},Hh=function(e,t){let n=ph(e);return e.prepend(n+" not"),e},Mh=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Lh=e=>e.has("(is|was|am|are|will|were|be)"),Jh={"simple-present":(e,t)=>!0===Lh(e)?Mh(e):(e=gh(e,t),e=Hh(e)),"simple-past":(e,t)=>!0===Lh(e)?Mh(e):((e=gh(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Lh(e)?Mh(e):Hh(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Sh),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Hh(e)).replace("wants","want",Sh)};var Wh=function(e,t,n){if(e.has("#Negative"))return e;if(Jh.hasOwnProperty(n))return e=Jh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Lh(e)?Mh(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const qh=(e,t)=>"number"==typeof t?e.eq(t):e;var Kh={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return qh(this,e).map(Rc)}json(e,t){return qh(this,t).map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=wh(t),n},[])}subjects(e){return qh(this,e).map(e=>(Rc(e),uh(e).subject))}adverbs(e){return qh(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return qh(this,e).filter(e=>!0!==uh(e).plural)}isPlural(e){return qh(this,e).filter(e=>!0===uh(e).plural)}isImperative(e){return qh(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Ph(e,t,n.form)})}toPresentTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Ch(e,t,n.form)})}toPastTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return xh(e,t,n.form)})}toFutureTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return zh(e,t,n.form)})}toGerund(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Fh(e,t,n.form)})}conjugate(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return"imperative"===n.form&&(n.form="simple-present"),{Infinitive:Ph(e.clone(),t,n.form).text("normal"),PastTense:xh(e.clone(),t,n.form).text("normal"),PresentTense:Ch(e.clone(),t,n.form).text("normal"),FutureTense:zh(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Wh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Lc(this);return t=qh(t,e),new Verbs(this.document,t.pointer)}}};return m.plugin(Ll),m.plugin(cu),m.plugin(bu),m.plugin(Du),m.plugin(gc),m.plugin(vc),m.plugin(Nc),m.plugin(Mc),m.plugin(Kh),m},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/one/compromise-one.cjs b/builds/one/compromise-one.cjs index 7388219dd..68f82b99a 100644 --- a/builds/one/compromise-one.cjs +++ b/builds/one/compromise-one.cjs @@ -1 +1,2 @@ -var t,e;t=this,e=function(){var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach(t=>e.compute.hasOwnProperty(t)&&n[t](this)):"function"==typeof t?t(this):console.warn("no compute:",t),this}},n={forEach:function(t){return this.fullPointer.forEach((e,n)=>{let r=this.update([e]);t(r,n)}),this},map:function(t,e){let n=this.fullPointer.map((e,n)=>{let r=this.update([e]);return t(r,n)});if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(t=>{r=r.concat(t.fullPointer)}),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter((e,n)=>{let r=this.update([e]);return t(r,n)}),this.update(e)},find:function(t){let e=this.fullPointer.find((e,n)=>{let r=this.update([e]);return t(r,n)});return this.update([e])},some:function(t){return this.fullPointer.some((e,n)=>{let r=this.update([e]);return t(r,n)})},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=[];this.docs.forEach(t=>{t.forEach(t=>{let[n,r]=t.index||[];e.push([n,r,r+1])})});let n=this.update(e);return"number"==typeof t?n.eq(t):n},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach(t=>{e[t]=this.update(this._groups[t])}),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map((t,e)=>[e])),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map((t,e)=>[e]);return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map(t=>[t[0]]);return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every((t,e)=>!!n[e]&&t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2])},wordCount:function(){return this.docs.reduce((t,e)=>t+=e.filter(t=>""!==t.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,e,n);i.get=i.eq;var s=i;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach(t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})}),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this;return(e||t.map((t,e)=>[e])).map(t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]})}update(t){let e=new View(this.document,t);if(e._cache&&t&&t.length>1){let n=[];t.forEach(t=>{1===t.length&&n.push(e._cache[t[0]])}),e._cache=n}return e.world=this.world,e}toView(t){return void 0===t&&(t=this.pointer),new View(this.document,t)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let t=this.document.slice(0);t=t.map(t=>t.map(t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,s);var l=View;const c=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};var a=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&function t(e,n){if(c(n))for(const r in n)c(n[r])?(e[r]||Object.assign(e,{[r]:{}}),t(e[r],n[r])):Object.assign(e,{[r]:n[r]});return e}(i,t.model),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach(e=>r[e]=t.lib[e]),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const u=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var h=function(t,e,n){const{methods:r}=n;let o=new e([]);return o.world=n,"number"==typeof t&&(t=String(t)),t?"string"==typeof t?new e(r.one.tokenize.fromString(t,n)):(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView?new e(t.document,t.ptrs):u(t)?u(t[0])?new e(t.map(t=>t.map(t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))):new e(function(t){return t.map(t=>t.terms.map(t=>(u(t.tags)&&(t.tags=new Set(t.tags)),t)))}(t)):o):o;var i};let f=Object.assign({},t);const p=function(t,e){e&&p.addWords(e);let n=h(t,l,f);return n.compute(f.hooks),n};Object.defineProperty(p,"_world",{value:f,writable:!0}),p.tokenize=function(t,e){const{compute:n}=this._world;e&&p.addWords(e);let r=h(t,l,f);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(t){return a(t,this._world,l,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},p.version="14.1.2";var d=p;const m=(t,e,n)=>{if(n.forEach(t=>t.dirty=!0),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},w=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},y=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},b=function(t){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)||/^[A-Z]$/.test(t)},v=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?w(n):(w(n),w([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!b(r.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,t=>t.toUpperCase());let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||b(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^[A-Z]/,t=>t.toLowerCase()))}(t,i,n),m(t,i,n)},x=(new Date).getTime(),j=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var E=function(t){let[e,n]=t.index||[0,0];var r=(new Date).getTime()-x;r=parseInt(r,10),e=e>46655?46655:e,n=n>1294?1294:n;let o=j((r=r>46655?46655:r).toString(36));o+=j(e.toString(36));let i=n.toString(36);return i=i.length<2?"0"+i:i,o+=i,o+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+o.toUpperCase()};const O=function(t){t.has("@hasContraction")&&t.grow("@hasContraction").contractions().expand()},P=t=>"[object Array]"===Object.prototype.toString.call(t),k=function(t,e,n){const{document:r,world:o}=e;let i=e.fullPointer,s=e.fullPointer;e.forEach((l,c)=>{let a=l.fullPointer[0],[u]=a,h=r[u],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.docs[0]:P(t)?P(t[0])?t[0]:t:[]}(t,o);f=function(t){return t.forEach(t=>{t.id=E(t)}),t}(f),n?(O(e.update([a]).firstTerm()),v(h,a,f,r)):(O(e.update([a]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)}),t}(r,t);t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t.replace(A,t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})}(t,r);let o=this.update(n);n=n.map(t=>t.slice(0,3));let i=(o.docs[0]||[]).map(t=>Array.from(t.tags));r.insertAfter(t),o.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(o);let s=r.toView(n).compute(["index","lexicon","preTagger"]);return e.tags&&s.terms().forEach((t,e)=>{t.tagSafe(i[e])}),e.case&&s.docs[0]&&s.docs[0][0]&&0===s.docs[0][0].index[1]&&(s.docs[0][0].text=s.docs[0][0].text.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())),s},replace:function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?r.replaceWith(e,n):this}};var $=C;const z={remove:function(t){const{indexN:e}=this.methods.one.pointer;let n=this.all(),r=this;t&&(n=this,r=this.match(t)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=function(t,e){e.forEach(e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))});for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t}(this.document,i),l=e(i);return o=o.map(t=>{let[e]=t;return l[e]?(l[e].forEach(e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)}),t):t}),o=o.filter((t,e)=>{if(t[2]-t[1]<=0){for(let t=e+1;te[0]===t).forEach(t=>{t[0]-=1});return!1}return!0}),o=o.map(t=>(t[3]=null,t[4]=null,t)),n.ptrs=o,n.document=s,n.compute("index"),t?n.toView(o):n.none()}};z.delete=z.remove;var T=z;const F={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t}),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t}),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")})}),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach(e=>{e.forEach(e=>{t.test(e.post)&&(e.post=" ")})}),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this}};F.deHyphenate=F.dehyphenate,F.toQuotation=F.toQuotations;var V=F,q={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach(t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1}),t.sort((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0}),t}};const N=new Set(["index","sequence","seq","sequential","chron","chronological"]),D=new Set(["freq","frequency","topk","repeats"]),G=new Set(["alpha","alphabetical"]);var L={unique:function(){let t=new Set;return this.filter(e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)})},reverse:function(){let t=this.pointer||this.docs.map((t,e)=>[e]);return t=[].concat(t),t=t.reverse(),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if("function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map((t,e)=>[e]),o=e.map((t,e)=>({index:e,words:t.length,normal:t.map(t=>t.machine||t.normal||"").join(" "),pointer:r[e]}));return N.has(t)&&(t="sequential"),G.has(t)&&(t="alpha"),D.has(t)?(o=q.byFreq(o),this.update(o.map(t=>t.pointer))):"function"==typeof q[t]?(o=o.sort(q[t]),this.update(o.map(t=>t.pointer))):this}};const B=function(t,e){let n=t[t.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),t=t.concat(e)};var M={concat:function(t){const{methods:e,document:n,world:r}=this;if("string"==typeof t){let o=e.one.tokenize.fromString(t,r),i=this.fullPointer,s=i[i.length-1][0];return m(n,s+1,o),this.compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach(e=>{e[0]+=t.document.length}),t.document=B(t.document,e.document),t.all()}(this,t);if(o=t,"[object Array]"===Object.prototype.toString.call(o)){let e=B(this.document,t);return this.document=e,this.all()}var o;return this}},U={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map(t=>t.slice(0,3)),this.ptrs=t),this}};const W=Object.assign({},{toLowerCase:function(){return this.termList().forEach(t=>{t.text=t.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(t=>{t.text=t.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())),n!==t.length-1&&(e.post="")})}),this}},S,$,T,V,L,M,U);var Z={api:function(t){Object.assign(t.prototype,W)},compute:{id:function(t){let e=t.docs;for(let t=0;t{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])}),t):t},Q=function(t,e){let{ptrs:n,byGroup:r}=t;return n=I(n,e),Object.keys(r).forEach(t=>{r[t]=I(r[t],e)}),{ptrs:n,byGroup:r}},R=t=>t&&"object"==typeof t&&!0===t.isView;var H={matchOne:function(t,e,n){const r=this.methods.one;if(R(t))return this.intersection(t).eq(0);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Q(i,this.fullPointer),c=this.toView(s);return c._groups=l,c},match:function(t,e,n){const r=this.methods.one;if(R(t))return this.intersection(t);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Q(i,this.fullPointer),c=this.toView(s);return c._groups=l,c},has:function(t,e,n){const r=this.methods.one;if(R(t))return t.fullPointer.length>0;"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(R(t))return this.filter(e=>e.intersection(t).found);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=this.fullPointer;return i=i.filter(t=>{let e=this.update([t]);return r.match(e.docs,o,this._cache).ptrs.length>0}),this.update(i)},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;return R(t)?this.difference(t):("string"==typeof t&&(t=o.parseMatch(t,n)),this.filter(n=>{let r={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,r,n._cache).ptrs.length}))}},K={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?1:-1)[0];e[1]>0&&o.push([e[0],0,e[1]])});let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?-1:1)[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}}),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n)),t[0].start=!0;let r=this.fullPointer;return this.forEach((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}}),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const J=function(t,e){return[t[0],t[1],e[2]]},X=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},Y=function(t,e){let[n,r]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id),t},tt={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(J(t.match,t.after)):(i.push(t.match),i.push(t.after))}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),t.before&&t.match?i.push(J(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)}};tt.split=tt.splitAfter;var et=tt;const nt=Object.assign({},H,K,et);nt.lookBehind=nt.before,nt.lookBefore=nt.before,nt.lookAhead=nt.after,nt.lookAfter=nt.after,nt.notIf=nt.ifNo;var rt=function(t){Object.assign(t.prototype,nt)};const ot=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,it=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,st=/ /g,lt=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),ct=function(t){return t=(t=t.map(t=>t.trim())).filter(t=>t)};var at=function(t){let e=t.split(ot),n=[];e.forEach(t=>{lt(t)?n.push(t):n=n.concat(t.split(it))}),n=ct(n);let r=[];return n.forEach(t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||lt(t)?r.push(t):r=r.concat(t.split(st))}),r=ct(r),r};const ut=/\{([0-9]+)?(, *[0-9]*)?\}/,ht=/&&/,ft=new RegExp(/^<\s*(\S+)\s*>/),pt=t=>t.charAt(0).toUpperCase()+t.substr(1),dt=function(t){return t[t.length-1]},mt=function(t){return t[0]},gt=function(t){return t.substr(1)},wt=function(t){return t.substr(0,t.length-1)},yt=function(t){return t=gt(t),t=wt(t)},bt=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===dt(t)&&(n.end=!0,t=wt(t)),"^"===mt(t)&&(n.start=!0,t=gt(t)),("["===mt(t)||"]"===dt(t))&&(n.group=null,"["===mt(t)&&(n.groupStart=!0),"]"===dt(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===mt(t))){const e=ft.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===dt(t)&&(n.greedy=!0,t=wt(t)),"*"!==t&&"*"===dt(t)&&"\\*"!==t&&(n.greedy=!0,t=wt(t)),"?"===dt(t)&&(n.optional=!0,t=wt(t)),"!"===mt(t)&&(n.negative=!0,t=gt(t)),"~"===mt(t)&&"~"===dt(t)&&t.length>2&&(t=yt(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("("===mt(t)&&")"===dt(t)){ht.test(t)?(n.choices=t.split(ht),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=gt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map(t=>t.trim()),n.choices=n.choices.filter(t=>t),n.choices=n.choices.map(t=>t.split(/ /g).map(t=>bt(t,e))),t=""}if("/"===mt(t)&&"/"===dt(t))return t=yt(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if("{"===mt(t)&&"}"===dt(t))return t=yt(t),/\//.test(t)?(n.sense=t,n.greedy=!0):n.machine=t,n;if("<"===mt(t)&&">"===dt(t))return t=yt(t),n.chunk=pt(t),n.greedy=!0,n;if("%"===mt(t)&&"%"===dt(t))return t=yt(t),n.switch=t,n}return!0===ut.test(t)&&(t=t.replace(ut,(t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===mt(t)?(n.tag=gt(t),n.tag=pt(n.tag),n):"@"===mt(t)?(n.method=gt(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var vt=bt,xt=function(t){return t=function(t){return t.map(t=>(t.fuzzy&&t.choices&&t.choices.forEach(e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)}),t))}(t=(t=function(t){let e=0,n=null;for(let r=0;r{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every(t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method})&&(t.fastOr=new Set,t.choices.forEach(e=>{t.fastOr.add(e[0].word)}),delete t.choices)}return t}))},jt=function(t,e={}){if(null==t||""===t)return[];"number"==typeof t&&(t=String(t));let n=at(t);return n=n.map(t=>vt(t,e)),n=xt(n,e),n};const Et=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var Ot=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,c,a,u,h=[];for(let t=0;t4)return n;l=e[i-1],c=s===l?0:1,a=h[o-1][i]+1,(u=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(u=h[o-2][i-2]+c)-1!==t.post.indexOf(e),$t=(t,e)=>-1!==t.pre.indexOf(e),zt={hasQuote:t=>kt.test(t.pre)||_t.test(t.post),hasComma:t=>Ct(t,","),hasPeriod:t=>!0===Ct(t,".")&&!1===Ct(t,"..."),hasExclamation:t=>Ct(t,"!"),hasQuestionMark:t=>Ct(t,"?")||Ct(t,"¿"),hasEllipses:t=>Ct(t,"..")||Ct(t,"…")||$t(t,"..")||$t(t,"…"),hasSemicolon:t=>Ct(t,";"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>St.test(t.post)||St.test(t.pre),hasDash:t=>At.test(t.post)||At.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(t.text),isUpperCase:t=>/^[A-Z]+$/.test(t.text)};zt.hasQuotation=zt.hasQuote;var Tt=zt;let Ft=function(){};Ft=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Pt(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some(t=>t===e.word))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Tt[e.method]&&!0===Tt[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}return void 0!==e.chunk?t.chunk===e.chunk:void 0!==e.switch?t.switch===e.switch:void 0!==e.machine?t.normal===e.machine||t.machine===e.machine||t.root===e.machine:void 0!==e.sense?t.sense===e.sense:void 0!==e.fastOr?!(!t.implicit||!0!==e.fastOr.has(t.implicit))||e.fastOr.has(t.normal)||e.fastOr.has(t.text):void 0!==e.choices&&("and"===e.operator?e.choices.every(e=>Ft(t,e,n,r)):e.choices.some(e=>Ft(t,e,n,r)))}(t,e,n,r);return!0===e.negative?!o:o};var Vt=Ft;const qt=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max?(t.t=t.t+n.max,!0):(!0===t.hasGroup&&(Nt(t,t.t).length=r-t.t),t.t=r,!0)};const Gt=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=Vt(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&Vt(t.terms[r],e,r,t.phrase_length)});return!0===r&&n.length>e&&(e=n.length),r})&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(Nt(t,t.t).length+=r),!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null},Mt=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);return r.negative=!1,!0!==Vt(t.terms[t.t],r,t.start_i+t.t,t.phrase_length)||null},Ut=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=Vt(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&Vt(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},Wt=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null},Zt=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}},It=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;return!!(n.optional&&e[t.r+1]&&n.negative)||(n.optional&&e[t.r+1]&&Ut(t),r.implicit&&t.terms[t.t+1]&&Zt(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Wt(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Nt(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},Qt=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional))break;return null}if(!0!==t.anything||!0!==t.greedy){if(void 0===t.choices||"or"!==t.operator){if(void 0===t.choices||"and"!==t.operator){if(!0!==t.anything){if(!0!==qt(t,o)){if(!0!==Vt(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(t.negative&&!Mt(o))return null;if(!0!==t.optional)return null}else if(!It(o))return null}else if(!It(o))return null}else if(!It(o))return null}else if(!Bt(o))return null}else if(!Lt(o))return null}else if(!Dt(o))return null}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach(t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]}),{pointer:i,groups:s}},Rt=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach(t=>{t.groups[e]&&n.push(t.groups[e])}):t.forEach(t=>{n.push(t.pointer),Object.keys(t.groups).forEach(e=>{r[e]=r[e]||[],r[e].push(t.groups[e])})})),{ptrs:n,byGroup:r}};const Ht=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach(n=>{t.groups[n][0]=e}),t},Kt=function(t,e,n){let r=Qt(t,e,0,t.length);return r?(r=Ht(r,n),r):null};var Jt={api:rt,methods:{one:{termMethods:Tt,parseMatch:jt,match:function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter(t=>!0!==t.optional&&!0!==t.negative).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=Kt(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter(e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]})),s=Rt(s,o),s.ptrs.forEach(e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id}),s}}},lib:{parseMatch:function(t,e){return this.world().methods.one.parseMatch(t,e)}}};const Xt=/^\../,Yt=/^#./,te=function(t,e){let n={},r={};return Object.keys(e).forEach(o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Xt.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach(t=>{if(t.every(t=>t.implicit))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)})}),{starts:n,ends:r}};var ee={html:function(t){let{starts:e,ends:n}=te(this,t),r="";return this.docs.forEach(t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(re,""),ie.test(o)&&(o=" "),o=o.replace(oe,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(re,""),o="-"===o?" ":o.replace(ne,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&se.test(o)||(o+=" "),r+=n+i+o}),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},ce={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};ce.clean=ce.normal,ce.reduced=ce.root;var ae=ce;const ue={text:!0,terms:!0};let he={case:"none",unicode:"some",form:"machine",punctuation:"some"};const fe=function(t,e){return Object.assign({},t,e)},pe={text:t=>le(t,{keepPunct:!0},!1),normal:t=>le(t,fe(ae.normal,{keepPunct:!0}),!1),implicit:t=>le(t,fe(ae.implicit,{keepPunct:!0}),!1),machine:t=>le(t,he,!1),root:t=>le(t,fe(he,{form:"root"}),!1),offset:t=>{let e=pe.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map(t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e}),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some(t=>!0===t.dirty)};pe.sentences=pe.sentence,pe.clean=pe.normal,pe.reduced=pe.root;const de={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},ue,r)).offset&&n.compute("offset"),n.docs.map((t,e)=>{let o={};return Object.keys(r).forEach(i=>{r[i]&&pe[i]&&(o[i]=pe[i](t,n,e))}),o}));var n,r;return"number"==typeof t?e[t]:e}};de.data=de.json;var me=de,ge=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach(t=>{console.groupCollapsed(t.text());let e=t.docs[0].map(t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}});console.table(e,["text","tags"]),console.groupEnd()})};const we="";var ye={green:t=>""+t+we,red:t=>""+t+we,blue:t=>""+t+we,magenta:t=>""+t+we,cyan:t=>""+t+we,yellow:t=>""+t+we,black:t=>""+t+we,dim:t=>""+t+we,i:t=>""+t+we},be=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(ye.blue("\n ──────")),e.forEach(t=>{console.log(ye.blue("\n ┌─────────")),t.forEach(t=>{let e=[...t.tags||[]],r=t.text||"-";t.sense&&(r="{"+t.sense+"}"),t.implicit&&(r="["+t.implicit+"]"),r=ye.yellow(r);let o="'"+r+"'";o=o.padEnd(18);let i=ye.blue(" │ ")+ye.i(o)+" - "+function(t,e){return e.one.tagSet&&(t=t.map(t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return ye[n](t)})),t.join(", ")}(e,n);console.log(i)})})},ve=function(t){let{docs:e}=t;console.log(""),e.forEach(t=>{let e=[];t.forEach(t=>{"Noun"===t.chunk?e.push(ye.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(ye.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(ye.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(ye.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)}),console.log(e.join(" "),"\n")})},xe=function(t){if(!t.found)return;let e={};t.fullPointer.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),Object.keys(e).forEach(n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${ye.blue(r[1])}${r[2]}`}(r,t.offset,e)}),console.log(r)})};const je=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Ee=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach(r=>{t.match(r).fullPointer.forEach(t=>{n[t[3]]={fn:e[r],end:t[2]}})}),n}(t,e),r="";return t.docs.forEach((e,o)=>{for(let i=0;it.reduce((t,e)=>t+e.pre+e.text+e.post,"").trim()).filter(t=>t);if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};return t.forEach(t=>{e[t]=e[t]||0,e[t]+=1}),Object.keys(e).map(t=>({normal:t,count:e[t]})).sort((t,e)=>t.count>e.count?-1:0)}(this.json({normal:!0}).map(t=>t.normal));if("terms"===t){let t=[];return this.docs.forEach(e=>{let n=e.terms.map(t=>t.text);n=n.filter(t=>t),t=t.concat(n)}),t}return"tags"===t?this.docs.map(t=>t.reduce((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t),{})):"debug"===t?this.debug():this.text()}},Pe={text:function(t){let e={keepSpace:!0,keepPunct:!0};var n;if(t&&"string"==typeof t&&ae.hasOwnProperty(t)?e=Object.assign({},ae[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t,e)),this.pointer){e.keepSpace=!1;let t=this.pointer[0];t&&t[1]?e.keepPunct=!1:e.keepPunct=!0}else e.keepPunct=!0;return function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Ae=function(t){let e={};return t.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),e};var Ce=function(t,e){let n=Ae(e),r=[];return t.forEach(t=>{let[e]=t,o=n[e]||[];if(o=o.filter(e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e)),0===o.length)return void r.push({passthrough:t});o=o.sort((t,e)=>t[1]-e[1]);let i=t;o.forEach((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)})}),r},$e={one:{termList:function(t){let e=[];for(let n=0;n{if(!r)return;let[i,s,l,c,a]=r,u=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=u.length),!c||u[s]&&u[s].id===c)u=u.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<4;r+=1){if(e[n-r]){let o=e[n-r].findIndex(e=>e.id===t);if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex(e=>e.id===t);if(-1!==o)return[n+r,o]}}return null}(c,e,i);if(null!==n){let r=l-s;u=e[n[0]].slice(n[1],n[1]+r);let i=u[0]?u[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==u.length&&s!==l&&(a&&u[u.length-1].id!==a&&(u=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex(t=>t.id===o);return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(u))}),n},pointer:{indexN:Ae,splitAll:Ce}}},ze=function(t,e){let n=t.concat(e),r=Ae(n),o=[];return n.forEach(t=>{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter(e=>Se(t,e));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach(t=>{t[1]n&&(n=t[2])}),[t[0][0],e,n]}(n);o.push(i)}),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)}),n},Fe=function(t,e){let n=Ae(e),r=[];return t.forEach(t=>{let e=n[t[0]]||[];e=e.filter(e=>Se(t,e)),0!==e.length&&e.forEach(e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},qe=function(t,e){return t.map(t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t})},Ne={union:function(t){t=Ve(t,this);let e=ze(this.fullPointer,t.fullPointer);return e=qe(e,this.document),this.toView(e)}};Ne.and=Ne.union,Ne.intersection=function(t){t=Ve(t,this);let e=Fe(this.fullPointer,t.fullPointer);return e=qe(e,this.document),this.toView(e)},Ne.not=function(t){t=Ve(t,this);let e=Te(this.fullPointer,t.fullPointer);return e=qe(e,this.document),this.toView(e)},Ne.difference=Ne.not,Ne.complement=function(){let t=this.all(),e=Te(t.fullPointer,this.fullPointer);return e=qe(e,this.document),this.toView(e)},Ne.settle=function(){let t=this.fullPointer;return t.forEach(e=>{t=ze(t,[e])}),t=qe(t,this.document),this.update(t)};var De={methods:$e,api:function(t){Object.assign(t.prototype,Ne)}};const Ge=/ /,Le=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},Be=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.text||"["+t.implicit+"]";var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(25)} ${(t=>""+t+"")(n)}`)})(t[0],e,o),1!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if(e=e.trim(),Ge.test(e))!function(t,e,n,r){let o=e.split(Ge);t.forEach((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),Be(t,i,n,r))})}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nMe(t,e,n,r))};var Ue=Me,We=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach(t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map(t=>t.trim()).filter(t=>t),e=e.map(t=>Ze({id:t})),e}return[Ze({id:t})]}(t))}),n=n.filter(t=>t);let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach(n=>{e&&e(t,n),r.push(n)})}return n},He=t=>"[object Array]"===Object.prototype.toString.call(t),Ke=t=>(t=t||"").trim(),Je=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach(t=>{if(!t.trim()||Ie.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:Qe(t)})});let r=function(t){let e={children:[]};return t.forEach((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t});let n=Ze({});return t.forEach(t=>{if((t=Ze(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)}),n}(t):(Re(e=t).forEach(Ze),e);var e},Xe=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Re(t).forEach((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"}),r},Ye=function(t){let e=Re(t);e.forEach(t=>{delete(t=Object.assign({},t)).children});let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},tn={text:Xe,txt:Xe,array:Ye,flat:Ye},en=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Xe(t,!0)),null):tn.hasOwnProperty(e)?tn[e](t):t},nn=t=>{Re(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))})},rn=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Ke(t),!rn.test(t)){let e=this.json.children.find(e=>e.id===t);return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]);if(!r)return null;t=r}return t})(this.json,t)||Ze({});return new g(e)}add(t,e={}){if(He(t))return t.forEach(t=>this.add(Ke(t),e)),this;t=Ke(t);let n=Ze({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Ke(t),this.json.children=this.json.children.filter(e=>e.id!==t),this}nodes(){return Re(this.json).map(t=>(delete(t=Object.assign({},t)).children,t))}cache(){return(t=>{let e=Re(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))}),n={};e.forEach(t=>{t.id&&(n[t.id]=t)}),e.forEach(t=>{t._cache.parents.forEach(e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)})}),t._cache.children=Object.keys(n)})(this.json),this}list(){return Re(this.json)}fillDown(){var t;return t=this.json,Re(t,(t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach(n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else He(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])}),t))(e.props,t.props)}),this}depth(){nn(this.json);let t=Re(this.json),e=t.length>1?1:0;return t.forEach(t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)}),e}out(t){return nn(this.json),en(this.json,t)}debug(){return nn(this.json),en(this.json,"debug"),this}}const on=function(t){let e=Je(t);return new g(e)};on.prototype.plugin=function(t){t(this)};var sn={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const ln=function(t){if(sn.hasOwnProperty(t.id))return sn[t.id];if(sn.hasOwnProperty(t.is))return sn[t.is];let e=t._cache.parents.find(t=>sn[t]);return sn[e]};var cn=function(t){const e={};return t.forEach(t=>{let{not:n,also:r,is:o}=t.props,i=t._cache.parents;r&&(i=i.concat(r)),e[t.id]={is:o,not:n,also:r,parents:i,children:t._cache.children,color:ln(t)}}),Object.keys(e).forEach(t=>{let n=new Set(e[t].not);e[t].not.forEach(t=>{e[t]&&e[t].children.forEach(t=>n.add(t))}),e[t].not=Array.from(n)}),e};const an=function(t){return t?"string"==typeof t?[t]:t:[]};var un=function(t,e){return t=function(t,e){return Object.keys(t).forEach(n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))}),t}(t,e),Object.keys(t).forEach(e=>{t[e].children=an(t[e].children),t[e].not=an(t[e].not)}),Object.keys(t).forEach(e=>{(t[e].not||[]).forEach(n=>{t[n]&&t[n].not&&t[n].not.push(e)})}),t},hn={one:{setTag:Ue,unTag:We,addTags:function(t,e){t=un(t,e);const n=function(t){const e=Object.keys(t).map(e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is};return{id:e,parent:n.is,props:r,children:[]}});return on(e).cache().fillDown().out("array")}(Object.assign({},e,t));return cn(n)}}};const fn=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var pn={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),fn(t)?t.forEach(t=>o.one.setTag(r,t,s,n)):o.one.setTag(r,t,s,n),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return fn(t)?t.forEach(t=>r.one.unTag(n,t,s)):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach((t,e)=>{t.forEach((t,o)=>{n.find(e=>t.tags.has(e))&&r.push([e,o,o+1])})});let o=this.update(r);return this.difference(o)}},dn=function(t){Object.assign(t.prototype,pn)},mn={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const gn=new Set(["Auxiliary","Possessive"]);var wn={model:{one:{tagSet:{}}},compute:{tagRank:function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach(t=>{t.forEach(t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t.sort((t,n)=>{if(gn.has(t)||!e.hasOwnProperty(n))return 1;if(gn.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})}(e,r)})})}},methods:hn,api:dn,lib:mn};const yn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,bn=/((?:\r?\n|\r)+)/;var vn=function(t){let e=[],n=t.split(bn);for(let t=0;t0&&(r.push(e),o[t]="")}if(0===r.length)return[t];for(let t=1;t(t[e]=!0,t),{});const Dn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Gn=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Ln=/['’]/,Bn=/^[a-z]\.([a-z]\.)+/i,Mn=/^[-+.][0-9]/,Un=/^'[0-9]{2}/;var Wn=function(t){let e=t,n="",r="";return""===(t=(t=t.replace(Dn,e=>(n=e,"-"!==n&&"+"!==n&&"."!==n||!Mn.test(t)?"'"===n&&Un.test(t)?(n="",e):"":(n="",e)))).replace(Gn,o=>(r=o,Ln.test(o)&&/[sn]['’]$/.test(e)&&!1===Ln.test(n)?(r=r.replace(Ln,""),"'"):!0===Bn.test(t)?(r=r.replace(/\./,""),"."):"")))&&(e=e.replace(/ *$/,t=>(r=t||"","")),t=e,n=""),{str:t,pre:n,post:r}},Zn=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const In=/([A-Z]\.)+[A-Z]?,?$/,Qn=/^[A-Z]\.,?$/,Rn=/[A-Z]{2,}('s|,)?$/,Hn=/([a-z]\.)+[a-z]\.?$/;var Kn=function(t){return function(t){return!0===In.test(t)||!0===Hn.test(t)||!0===Qn.test(t)||!0===Rn.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Jn=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Zn(r),r=n(r,e),r=Kn(r),t.normal=r},Xn={one:{killUnicode:function(t,e){const n=e.model.one.unicode||{};let r=t.split("");return r.forEach((t,e)=>{n[t]&&(r[e]=n[t])}),r.join("")},tokenize:{splitSentences:Sn,splitTerms:function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(qn);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=Tn(n),n=$n(n),n=n.filter(t=>t),n},splitWhitespace:t=>{let{str:e,pre:n,post:r}=Wn(t);return{text:e,pre:n,post:r,tags:new Set}},fromString:function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",r).map(t=>{let n=i(t,r);return n=n.map(s),n.forEach(t=>{Jn(t,e)}),n})}}}},Yn={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let tr={},er={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(t=>{t[0].forEach(e=>{tr[e]=!0,er[e]="Abbreviation",void 0!==t[1]&&(er[e]=[er[e],t[1]])})});var nr=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((t,e)=>(t[e]=!0,t),{});let rr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},or={};Object.keys(rr).forEach((function(t){rr[t].split("").forEach((function(e){or[e]=t}))}));const ir=/\//,sr=/[a-z]\.[a-z]/i,lr=/[0-9]/;var cr=function(t,e){let n=t.normal||t.text;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ir.test(n)&&!sr.test(n)&&!lr.test(n)){let e=n.split(ir);e.length<=2&&e.forEach(e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))})}return t},ar=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(e)&&(e=e.replace("-","")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},ur=function(t){let e=0,n=0,r=t.document;for(let t=0;thr(t,cr),machine:t=>hr(t,ar),normal:t=>hr(t,Jn),freq:function(t){let e=t.docs,n={};for(let t=0;tt.text.toLowerCase())}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(c);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][c];o[a]=t,r[t]&&(r[a]=r[a]||[],r[a]=r[a].concat(r[t]))}else o[a]=0}}return{goNext:n,endAs:r,failTo:o}};const dr=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(c))}return t.update(r)};const wr=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var yr=function(t){return t.goNext=t.goNext.map(t=>{if(0!==Object.keys(t).length)return t}),t.goNext=wr(t.goNext,void 0),t.failTo=wr(t.failTo,0),t.endAs=wr(t.endAs,null),t},br={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:pr(t,this.world));var r;let o=gr(this,n,e);return o=o.settle(),o}},lib:{compile:function(t){const e=pr(t,this.world());return yr(e)}}};const vr={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var xr={api:function(t){Object.assign(t.prototype,vr)},compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:{one:{cacheDoc:function(t){return t.map(t=>{let e=new Set;return t.forEach(t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit);let n=Array.from(t.tags);for(let t=0;t{!0!==t.optional&&!0!==t.negative&&(t.tag&&e.add("#"+t.tag),t.word&&e.add(t.word))}),e}}}};const jr=function(){const t=this.docs;if(0===t.length)return this;let e=t[t.length-1]||[],n=e[e.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var Er=function(t,e,n){let r={},o=[],i=n.prefixes||{};return t.forEach(t=>{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]}),r};const Or={safe:!0,min:3};var Pr={model:{one:{typeahead:{}}},api:function(t){t.prototype.autoFill=jr},lib:{typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},Or,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=Er(t,e,this.world());return Object.keys(o).forEach(t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]}),this}},compute:{typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;let r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){let n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]},kr=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let c=t[e],a=c.machine||c.normal;return void 0!==t[e+1]&&!0===s[a]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t));if(t)return i([l],s[t],n,"1-lexicon-alias"),!0}if(!0===_r.test(c)){let t=c.replace(_r,"");if(s.hasOwnProperty(t)&&t.length>3&&Sr.has(s[t]))return i([l],s[t],n,"1-lexicon-prefix"),!0}return null},Cr={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(t){let e={},n={};return Object.keys(t).forEach(r=>{let o=t[r],i=(r=r.toLowerCase().trim()).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o}),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}}}},compute:{lexicon:function(t){const e=t.world;t.docs.forEach(t=>{for(let n=0;n{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))}),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},hooks:["lexicon"]},$r={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}},zr=function(t,e,n){let[r,o]=e;n&&0!==n.length&&((n=n.map(t=>(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t)))[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const Tr=/'/,Fr=new Set(["what","how","when","where","why"]),Vr=new Set(["be","go","start","think","need"]),qr=new Set(["been","gone"]);var Nr=function(t,e){let n=t[e].normal.split(Tr)[0];if(Fr.has(n))return[n,"did"];if(t[e+1]){if(qr.has(t[e+1].normal))return[n,"had"];if(Vr.has(t[e+1].normal))return[n,"would"]}return null};const Dr=/'/;var Gr=function(t,e){let n=t[e].normal.split(Dr)[0];if(((t,e)=>t.slice(e+1,e+3).some(t=>t.tags.has("PastTense")))(t,e))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=t[e+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]},Lr=function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]};const Br=/'/;var Mr=(t,e)=>["je",t[e].normal.split(Br)[1]],Ur=(t,e)=>{let n=t[e].normal.split(Br)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Wr=(t,e)=>{let n=t[e].normal.split(Br)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Zr=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,Ir=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var Qr=function(t,e){let n=t[e];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(Zr);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(Ir),null!==r?[r[1],"to",r[4]]:null)};const Rr=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Hr=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Kr=(t,e)=>{let n=t[e],[r]=n.normal.split(/'s/);if(Rr.has(r))return!0;let o=t[e+1];return!(!o||!Hr.has(o.normal))};const Jr=/'/,Xr=/^[0-9][^-–—]*[-–—].*?[0-9]/,Yr=function(t,e){let n=e.update();n.document=[t],n.compute(["lexicon","preTagger","index"])},to={t:(t,e)=>Lr(t,e),d:(t,e)=>Nr(t,e),s:(t,e)=>!0===Kr(t,e)?Gr(t,e):null},eo={j:(t,e)=>Mr(t,e),l:(t,e)=>Ur(t,e),d:(t,e)=>Wr(t,e)},no=function(t,e,n,r){for(let o=0;o{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let c=null,a=null;!0===Jr.test(r[l].normal)&&([c,a]=r[l].normal.split(Jr));let u=no(i,r[l],c,a);!u&&to.hasOwnProperty(a)&&(u=to[a](r,l,e)),!u&&eo.hasOwnProperty(c)&&(u=eo[c](r,l)),u?(u=ro(u,t),zr(n,[s,l],u),Yr(n[s],t)):Xr.test(r[l].normal)&&(u=Qr(r,l),u&&(u=ro(u,t),zr(n,[s,l],u),o.one.setTag(u,"NumberRange",e),u[2]&&u[2].tags.has("Time")&&o.one.setTag([u[0]],"Time",e),Yr(n[s],t)))}})}},hooks:["contractions"]};return d.extend(Z),d.extend(_e),d.extend(Jt),d.extend(De),d.extend(wn),d.plugin(oo),d.extend(fr),d.plugin(xr),d.extend(br),d.extend(Pr),d.extend(Cr),d},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nlp=e(); +var t,e;t=this,e=function(){var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach(t=>e.compute.hasOwnProperty(t)&&n[t](this)):"function"==typeof t?t(this):console.warn("no compute:",t),this}},n={forEach:function(t){return this.fullPointer.forEach((e,n)=>{let r=this.update([e]);t(r,n)}),this},map:function(t,e){let n=this.fullPointer.map((e,n)=>{let r=this.update([e]);return t(r,n)});if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(t=>{r=r.concat(t.fullPointer)}),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter((e,n)=>{let r=this.update([e]);return t(r,n)}),this.update(e)},find:function(t){let e=this.fullPointer.find((e,n)=>{let r=this.update([e]);return t(r,n)});return this.update([e])},some:function(t){return this.fullPointer.some((e,n)=>{let r=this.update([e]);return t(r,n)})},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=[];this.docs.forEach(t=>{t.forEach(t=>{let[n,r]=t.index||[];e.push([n,r,r+1])})});let n=this.update(e);return"number"==typeof t?n.eq(t):n},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach(t=>{e[t]=this.update(this._groups[t])}),e},eq:function(t){let e=this.pointer,n=this._cache||[];if(e||(e=this.docs.map((t,e)=>[e])),e[t]){let r=this.update([e[t]]);return r._cache=n[t],r}return this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map((t,e)=>[e]);return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map(t=>[t[0]]);return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every((t,e)=>!!n[e]&&t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2])},wordCount:function(){return this.docs.reduce((t,e)=>t+=e.filter(t=>""!==t.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,e,n);i.get=i.eq;var s=i;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach(t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})}),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this;return(e||t.map((t,e)=>[e])).map(t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]})}update(t){let e=new View(this.document,t);if(e._cache&&t&&t.length>1){let n=[];t.forEach(t=>{1===t.length&&n.push(e._cache[t[0]])}),e._cache=n}return e.world=this.world,e}toView(t){return void 0===t&&(t=this.pointer),new View(this.document,t)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let t=this.document.slice(0);t=t.map(t=>t.map(t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,s);var l=View;const c=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};var a=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&function t(e,n){if(c(n))for(const r in n)c(n[r])?(e[r]||Object.assign(e,{[r]:{}}),t(e[r],n[r])):Object.assign(e,{[r]:n[r]});return e}(i,t.model),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach(e=>r[e]=t.lib[e]),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const u=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var h=function(t,e,n){const{methods:r}=n;let o=new e([]);return o.world=n,"number"==typeof t&&(t=String(t)),t?"string"==typeof t?new e(r.one.tokenize.fromString(t,n)):(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView?new e(t.document,t.ptrs):u(t)?u(t[0])?new e(t.map(t=>t.map(t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))):new e(function(t){return t.map(t=>t.terms.map(t=>(u(t.tags)&&(t.tags=new Set(t.tags)),t)))}(t)):o):o;var i};let f=Object.assign({},t);const p=function(t,e){e&&p.addWords(e);let n=h(t,l,f);return t&&n.compute(f.hooks),n};Object.defineProperty(p,"_world",{value:f,writable:!0}),p.tokenize=function(t,e){const{compute:n}=this._world;e&&p.addWords(e);let r=h(t,l,f);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(t){return a(t,this._world,l,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},p.version="14.2.0";var d=p;const m={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var w={api:function(t){Object.assign(t.prototype,m)},compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:{one:{cacheDoc:function(t){return t.map(t=>{let e=new Set;return t.forEach(t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.alias&&t.alias.forEach(t=>e.add(t));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),b=(t,e,n)=>{if(n.forEach(t=>t.dirty=!0),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},v=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},x=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},j=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?v(n):(v(n),v([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!y(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,t=>t.toUpperCase());let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||y(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^\p{Lu}/u,t=>t.toLowerCase()))}(t,i,n),b(t,i,n)},E=(new Date).getTime(),O=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var k=function(t){let[e,n]=t.index||[0,0];var r=(new Date).getTime()-E;r=parseInt(r,10),e=e>46655?46655:e,n=n>1294?1294:n;let o=O((r=r>46655?46655:r).toString(36));o+=O(e.toString(36));let i=n.toString(36);return i=i.length<2?"0"+i:i,o+=i,o+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+o.toUpperCase()};const P=function(t){t.has("@hasContraction")&&t.grow("@hasContraction").contractions().expand()},_=t=>"[object Array]"===Object.prototype.toString.call(t),S=function(t,e,n){const{document:r,world:o}=e;let i=e.fullPointer,s=e.fullPointer;e.forEach((l,c)=>{let a=l.fullPointer[0],[u]=a,h=r[u],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]:_(t)?_(t[0])?t[0]:t:[]}(t,o);f=function(t){return t.map(t=>(t.id=k(t),t))}(f),n?(P(e.update([a]).firstTerm()),j(h,a,f,r)):(P(e.update([a]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)}),t}(r,t);t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t.replace(T,t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})}(t,r);let o=this.update(n);n=n.map(t=>t.slice(0,3));let i=(o.docs[0]||[]).map(t=>Array.from(t.tags));r.insertAfter(t),o.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(o);let s=r.toView(n).compute(["index","lexicon","preTagger"]);return e.tags&&s.terms().forEach((t,e)=>{t.tagSafe(i[e])}),e.case&&s.docs[0]&&s.docs[0][0]&&0===s.docs[0][0].index[1]&&(s.docs[0][0].text=s.docs[0][0].text.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())),s},replace:function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?r.replaceWith(e,n):this}};var z=C,N=function(t,e){e.forEach(e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))});for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const F={remove:function(t){const{indexN:e}=this.methods.one.pointer;let n=this.all(),r=this;t&&(n=this,r=this.match(t)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let o=n.fullPointer,i=r.fullPointer.reverse(),s=N(this.document,i);return o=function(t,e){return(t=t.map(t=>{let[n]=t;return e[n]?(e[n].forEach(e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)}),t):t})).forEach((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0)).map(t=>(t[3]=null,t[4]=null,t))}(o,e(i)),n.ptrs=o,n.document=s,n.compute("index"),t?n.toView(o):(this.ptrs=[],n.none())}};F.delete=F.remove;var L=F;const V={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t}),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t}),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")})}),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach(e=>{e.forEach(e=>{t.test(e.post)&&(e.post=" ")})}),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this}};V.deHyphenate=V.dehyphenate,V.toQuotation=V.toQuotations;var q=V,D={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach(t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1}),t.sort((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0}),t}};const G=new Set(["index","sequence","seq","sequential","chron","chronological"]),B=new Set(["freq","frequency","topk","repeats"]),U=new Set(["alpha","alphabetical"]);var M={unique:function(){let t=new Set;return this.filter(e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)})},reverse:function(){let t=this.pointer||this.docs.map((t,e)=>[e]);return t=[].concat(t),t=t.reverse(),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if("function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map((t,e)=>[e]),o=e.map((t,e)=>({index:e,words:t.length,normal:t.map(t=>t.machine||t.normal||"").join(" "),pointer:r[e]}));return G.has(t)&&(t="sequential"),U.has(t)&&(t="alpha"),B.has(t)?(o=D.byFreq(o),this.update(o.map(t=>t.pointer))):"function"==typeof D[t]?(o=o.sort(D[t]),this.update(o.map(t=>t.pointer))):this}};const W=function(t,e){let n=t[t.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),t=t.concat(e)};var I={concat:function(t){const{methods:e,document:n,world:r}=this;if("string"==typeof t){let o=e.one.tokenize.fromString(t,r),i=this.fullPointer,s=i[i.length-1][0];return b(n,s+1,o),this.compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach(e=>{e[0]+=t.document.length}),t.document=W(t.document,e.document),t.all()}(this,t);if(o=t,"[object Array]"===Object.prototype.toString.call(o)){let e=W(this.document,t);return this.document=e,this.all()}var o;return this}},Q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map(t=>t.slice(0,3)),this.ptrs=t),this}};const R=Object.assign({},{toLowerCase:function(){return this.termList().forEach(t=>{t.text=t.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(t=>{t.text=t.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())),n!==t.length-1&&(e.post="")})}),this}},$,z,L,q,M,I,Q);var H={api:function(t){Object.assign(t.prototype,R)},compute:{id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t)))[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const J=/'/,X=new Set(["what","how","when","where","why"]),Y=new Set(["be","go","start","think","need"]),tt=new Set(["been","gone"]);var et=function(t,e){let n=t[e].normal.split(J)[0];if(X.has(n))return[n,"did"];if(t[e+1]){if(tt.has(t[e+1].normal))return[n,"had"];if(Y.has(t[e+1].normal))return[n,"would"]}return null},nt=function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]};const rt=/'/;var ot=(t,e)=>["je",t[e].normal.split(rt)[1]],it=(t,e)=>{let n=t[e].normal.split(rt)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},st=(t,e)=>{let n=t[e].normal.split(rt)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const lt=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,ct=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var at=function(t,e){let n=t[e];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(lt);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(ct),null!==r?[r[1],"to",r[4]]:null)};const ut=/'/,ht=/^[0-9][^-–—]*[-–—].*?[0-9]/,ft=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]],o.compute(["lexicon","preTagger","index"])},pt={t:(t,e)=>nt(t,e),d:(t,e)=>et(t,e)},dt={j:(t,e)=>ot(t,e),l:(t,e)=>it(t,e),d:(t,e)=>st(t,e)},gt=function(t,e,n,r){for(let o=0;o{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let c=null,a=null;!0===ut.test(r[l].normal)&&([c,a]=r[l].normal.split(ut));let u=gt(i,r[l],c,a);!u&&pt.hasOwnProperty(a)&&(u=pt[a](r,l,e)),!u&&dt.hasOwnProperty(c)&&(u=dt[c](r,l)),u?(u=mt(u,t),K(n,[s,l],u),ft(n[s],t,l,u.length)):ht.test(r[l].normal)&&(u=at(r,l),u&&(u=mt(u,t),K(n,[s,l],u),o.one.setTag(u,"NumberRange",e),u[2]&&u[2].tags.has("Time")&&o.one.setTag([u[0]],"Time",e),ft(n[s],t,l,u.length)))}})}},hooks:["contractions"]},yt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let c=t[e],a=c.machine||c.normal;return void 0!==t[e+1]&&!0===s[a]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t));if(t)return i([l],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===bt.test(c)){let t=c.replace(bt,"");if(s.hasOwnProperty(t)&&t.length>3&&vt.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null},jt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(t){let e={},n={};return Object.keys(t).forEach(r=>{let o=t[r],i=(r=r.toLowerCase().trim()).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o}),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}}}},compute:{lexicon:function(t){const e=t.world;t.docs.forEach(t=>{for(let n=0;n{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))}),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},hooks:["lexicon"]},Et=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;return n.one.tokenize.splitTerms(t,r).map(n.one.tokenize.splitWhitespace).map(t=>t.text.toLowerCase())}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(c);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][c];o[a]=t,r[t]&&(r[a]=r[a]||[],r[a]=r[a].concat(r[t]))}else o[a]=0}}return{goNext:n,endAs:r,failTo:o}};const Ot=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(c))}return t.update(r)};const _t=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var St=function(t){return t.goNext=t.goNext.map(t=>{if(0!==Object.keys(t).length)return t}),t.goNext=_t(t.goNext,void 0),t.failTo=_t(t.failTo,0),t.endAs=_t(t.endAs,null),t},At={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Et(t,this.world));var r;let o=Pt(this,n,e);return o=o.settle(),o}},lib:{compile:function(t){const e=Et(t,this.world());return St(e)}}};const $t=function(t,e){return e?(t.forEach(t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])}),t):t},Tt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=$t(n,e),Object.keys(r).forEach(t=>{r[t]=$t(r[t],e)}),{ptrs:n,byGroup:r}},Ct=t=>"[object Object]"===Object.prototype.toString.call(t),zt=t=>t&&Ct(t)&&!0===t.isView,Nt=t=>t&&Ct(t)&&!0===t.isNet;var Ft={matchOne:function(t,e,n){const r=this.methods.one;if(zt(t))return this.intersection(t).eq(0);if(Nt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Tt(i,this.fullPointer),c=this.toView(s);return c._groups=l,c},match:function(t,e,n){const r=this.methods.one;if(zt(t))return this.intersection(t);if(Nt(t))return this.sweep(t,{tagger:!1}).view.settle();"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Tt(i,this.fullPointer),c=this.toView(s);return c._groups=l,c},has:function(t,e,n){const r=this.methods.one;if(zt(t))return t.fullPointer.length>0;if(Nt(t))return this.sweep(t,{tagger:!1}).view.found;"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(zt(t))return this.filter(e=>e.intersection(t).found);if(Nt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0});let l=this.update(i);return this._cache&&(l._cache=i.map(t=>s[t[0]])),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(zt(t))return this.filter(e=>!e.intersection(t).found);if(Nt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}"string"==typeof t&&(t=o.killUnicode(t,this.world),t=o.parseMatch(t,n));let i=this._cache||[],s=this.filter((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length});return this._cache&&(s._cache=s.ptrs.map(t=>i[t[0]])),s}},Lt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?1:-1)[0];e[1]>0&&o.push([e[0],0,e[1]])});let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?-1:1)[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}}),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n)),t[0].start=!0;let r=this.fullPointer;return this.forEach((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}}),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const Vt=function(t,e){return[t[0],t[1],e[2]]},qt=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},Dt=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},Gt={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(Vt(t.match,t.after)):(i.push(t.match),i.push(t.after))}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),t.before&&t.match?i.push(Vt(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)}};Gt.split=Gt.splitAfter;var Bt=Gt;const Ut=Object.assign({},Ft,Lt,Bt);Ut.lookBehind=Ut.before,Ut.lookBefore=Ut.before,Ut.lookAhead=Ut.after,Ut.lookAfter=Ut.after,Ut.notIf=Ut.ifNo;var Mt=function(t){Object.assign(t.prototype,Ut)};const Wt=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,It=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,Qt=/ /g,Rt=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),Ht=function(t){return t=(t=t.map(t=>t.trim())).filter(t=>t)};var Zt=function(t){let e=t.split(Wt),n=[];e.forEach(t=>{Rt(t)?n.push(t):n=n.concat(t.split(It))}),n=Ht(n);let r=[];return n.forEach(t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||Rt(t)?r.push(t):r=r.concat(t.split(Qt))}),r=Ht(r),r};const Kt=/\{([0-9]+)?(, *[0-9]*)?\}/,Jt=/&&/,Xt=new RegExp(/^<\s*(\S+)\s*>/),Yt=t=>t.charAt(0).toUpperCase()+t.substring(1),te=t=>t.charAt(t.length-1),ee=t=>t.charAt(0),ne=t=>t.substring(1),re=t=>t.substring(0,t.length-1),oe=function(t){return t=ne(t),t=re(t)},ie=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===te(t)&&(n.end=!0,t=re(t)),"^"===ee(t)&&(n.start=!0,t=ne(t)),("["===ee(t)||"]"===te(t))&&(n.group=null,"["===ee(t)&&(n.groupStart=!0),"]"===te(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ee(t))){const e=Xt.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===te(t)&&(n.greedy=!0,t=re(t)),"*"!==t&&"*"===te(t)&&"\\*"!==t&&(n.greedy=!0,t=re(t)),"?"===te(t)&&(n.optional=!0,t=re(t)),"!"===ee(t)&&(n.negative=!0,t=ne(t)),"~"===ee(t)&&"~"===te(t)&&t.length>2&&(t=oe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("("===ee(t)&&")"===te(t)){Jt.test(t)?(n.choices=t.split(Jt),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=ne(n.choices[0]);let r=n.choices.length-1;n.choices[r]=re(n.choices[r]),n.choices=n.choices.map(t=>t.trim()),n.choices=n.choices.filter(t=>t),n.choices=n.choices.map(t=>t.split(/ /g).map(t=>ie(t,e))),t=""}if("/"===ee(t)&&"/"===te(t))return t=oe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if("{"===ee(t)&&"}"===te(t))return t=oe(t),/\//.test(t)?(n.sense=t,n.greedy=!0):n.machine=t,n;if("<"===ee(t)&&">"===te(t))return t=oe(t),n.chunk=Yt(t),n.greedy=!0,n;if("%"===ee(t)&&"%"===te(t))return t=oe(t),n.switch=t,n}return!0===Kt.test(t)&&(t=t.replace(Kt,(t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===ee(t)?(n.tag=ne(t),n.tag=Yt(n.tag),n):"@"===ee(t)?(n.method=ne(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var se=ie,le=function(t){return t=function(t){return t.map(t=>(t.fuzzy&&t.choices&&t.choices.forEach(e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)}),t))}(t=(t=function(t){let e=0,n=null;for(let r=0;r{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every(t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method})&&(t.fastOr=new Set,t.choices.forEach(e=>{t.fastOr.add(e[0].word)}),delete t.choices)}return t}))},ce=function(t,e={}){if(null==t||""===t)return[];"number"==typeof t&&(t=String(t));let n=Zt(t);return n=n.map(t=>se(t,e)),n=le(n),n};const ae=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ue=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,c,a,u,h=[];for(let t=0;t4)return n;l=e[i-1],c=s===l?0:1,a=h[o-1][i]+1,(u=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(u=h[o-2][i-2]+c)-1!==t.post.indexOf(e),we=(t,e)=>-1!==t.pre.indexOf(e),ye={hasQuote:t=>fe.test(t.pre)||pe.test(t.post),hasComma:t=>me(t,","),hasPeriod:t=>!0===me(t,".")&&!1===me(t,"..."),hasExclamation:t=>me(t,"!"),hasQuestionMark:t=>me(t,"?")||me(t,"¿"),hasEllipses:t=>me(t,"..")||me(t,"…")||we(t,"..")||we(t,"…"),hasSemicolon:t=>me(t,";"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>de.test(t.post)||de.test(t.pre),hasDash:t=>ge.test(t.post)||ge.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};ye.hasQuotation=ye.hasQuote;var be=ye;let ve=function(){};ve=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(he(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some(t=>t===e.word))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof be[e.method]&&!0===be[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}return void 0!==e.chunk?t.chunk===e.chunk:void 0!==e.switch?t.switch===e.switch:void 0!==e.machine?t.normal===e.machine||t.machine===e.machine||t.root===e.machine:void 0!==e.sense?t.sense===e.sense:void 0!==e.fastOr?e.fastOr.has(t.implicit)||e.fastOr.has(t.normal)||e.fastOr.has(t.text)||e.fastOr.has(t.machine):void 0!==e.choices&&("and"===e.operator?e.choices.every(e=>ve(t,e,n,r)):e.choices.some(e=>ve(t,e,n,r)))}(t,e,n,r);return!0===e.negative?!o:o};var xe=ve;const je=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max?(t.t=t.t+n.max,!0):(!0===t.hasGroup&&(Ee(t,t.t).length=r-t.t),t.t=r,!0)};const ke=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=xe(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&xe(t.terms[r],e,r,t.phrase_length)});return!0===r&&n.length>e&&(e=n.length),r})&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(Ee(t,t.t).length+=r),!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null},Se=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);return r.negative=!1,!0!==xe(t.terms[t.t],r,t.start_i+t.t,t.phrase_length)||null},Ae=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=xe(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&xe(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},$e=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null},Te=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}},Ce=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;return!!(n.optional&&e[t.r+1]&&n.negative)||(n.optional&&e[t.r+1]&&Ae(t),r.implicit&&t.terms[t.t+1]&&Te(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||$e(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Ee(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},ze=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional))break;return null}if(!0!==t.anything||!0!==t.greedy){if(void 0===t.choices||"or"!==t.operator){if(void 0===t.choices||"and"!==t.operator){if(!0!==t.anything){if(!0!==je(t,o)){if(!0!==xe(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(t.negative&&!Se(o))return null;if(!0!==t.optional)return null}else if(!Ce(o))return null}else if(!Ce(o))return null}else if(!Ce(o))return null}else if(!_e(o))return null}else if(!Pe(o))return null}else if(!Oe(o))return null}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach(t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]}),{pointer:i,groups:s}},Ne=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach(t=>{t.groups[e]&&n.push(t.groups[e])}):t.forEach(t=>{n.push(t.pointer),Object.keys(t.groups).forEach(e=>{r[e]=r[e]||[],r[e].push(t.groups[e])})})),{ptrs:n,byGroup:r}};const Fe=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach(n=>{t.groups[n][0]=e}),t},Le=function(t,e,n){let r=ze(t,e,0,t.length);return r?(r=Fe(r,n),r):null};var Ve={api:Mt,methods:{one:{termMethods:be,parseMatch:ce,match:function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter(t=>!0!==t.optional&&!0!==t.negative).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=Le(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter(e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]})),s=Ne(s,o),s.ptrs.forEach(e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id}),s}}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e)}}};const qe=/^\../,De=/^#./,Ge=function(t,e){let n={},r={};return Object.keys(e).forEach(o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),qe.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach(t=>{if(t.every(t=>t.implicit))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)})}),{starts:n,ends:r}};var Be={html:function(t){let{starts:e,ends:n}=Ge(this,t),r="";return this.docs.forEach(t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(Me,""),Ie.test(o)&&(o=" "),o=o.replace(We,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(Me,""),o="-"===o?" ":o.replace(Ue,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&Qe.test(o)||(o+=" "),r+=n+i+o}),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},He={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};He.clean=He.normal,He.reduced=He.root;var Ze=He;const Ke={text:!0,terms:!0};let Je={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Xe=function(t,e){return Object.assign({},t,e)},Ye={text:t=>Re(t,{keepPunct:!0},!1),normal:t=>Re(t,Xe(Ze.normal,{keepPunct:!0}),!1),implicit:t=>Re(t,Xe(Ze.implicit,{keepPunct:!0}),!1),machine:t=>Re(t,Je,!1),root:t=>Re(t,Xe(Je,{form:"root"}),!1),offset:t=>{let e=Ye.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map(t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e}),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some(t=>!0===t.dirty)};Ye.sentences=Ye.sentence,Ye.clean=Ye.normal,Ye.reduced=Ye.root;const tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Ke,r)).offset&&n.compute("offset"),n.docs.map((t,e)=>{let o={};return Object.keys(r).forEach(i=>{r[i]&&Ye[i]&&(o[i]=Ye[i](t,n,e))}),o}));var n,r;return"number"==typeof t?e[t]:e}};tn.data=tn.json;var en=tn,nn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach(t=>{console.groupCollapsed(t.text());let e=t.docs[0].map(t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}});console.table(e,["text","tags"]),console.groupEnd()})};const rn="";var on={green:t=>""+t+rn,red:t=>""+t+rn,blue:t=>""+t+rn,magenta:t=>""+t+rn,cyan:t=>""+t+rn,yellow:t=>""+t+rn,black:t=>""+t+rn,dim:t=>""+t+rn,i:t=>""+t+rn},sn=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(on.blue("\n ──────")),e.forEach(t=>{console.log(on.blue("\n ┌─────────")),t.forEach(t=>{let e=[...t.tags||[]],r=t.text||"-";t.sense&&(r="{"+t.sense+"}"),t.implicit&&(r="["+t.implicit+"]"),r=on.yellow(r);let o="'"+r+"'";o=o.padEnd(18);let i=on.blue(" │ ")+on.i(o)+" - "+function(t,e){return e.one.tagSet&&(t=t.map(t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return on[n](t)})),t.join(", ")}(e,n);console.log(i)})})},ln=function(t){let{docs:e}=t;console.log(""),e.forEach(t=>{let e=[];t.forEach(t=>{"Noun"===t.chunk?e.push(on.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(on.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(on.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(on.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)}),console.log(e.join(" "),"\n")})},cn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),Object.keys(e).forEach(n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${on.blue(r[1])}${r[2]}`}(r,t.offset,e)}),console.log(r)})};const an=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var un=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach(r=>{t.match(r).fullPointer.forEach(t=>{n[t[3]]={fn:e[r],end:t[2]}})}),n}(t,e),r="";return t.docs.forEach((e,o)=>{for(let i=0;it.reduce((t,e)=>t+e.pre+e.text+e.post,"").trim()).filter(t=>t);if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};return t.forEach(t=>{e[t]=e[t]||0,e[t]+=1}),Object.keys(e).map(t=>({normal:t,count:e[t]})).sort((t,e)=>t.count>e.count?-1:0)}(this.json({normal:!0}).map(t=>t.normal));if("terms"===t){let t=[];return this.docs.forEach(e=>{let n=e.terms.map(t=>t.text);n=n.filter(t=>t),t=t.concat(n)}),t}return"tags"===t?this.docs.map(t=>t.reduce((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t),{})):"debug"===t?this.debug():this.text()}},fn={text:function(t){let e={keepSpace:!0,keepPunct:!0};var n;if(t&&"string"==typeof t&&Ze.hasOwnProperty(t)?e=Object.assign({},Ze[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t,e)),this.pointer){e.keepSpace=!1;let t=this.pointer[0];t&&t[1]?e.keepPunct=!1:e.keepPunct=!0}else e.keepPunct=!0;return function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},mn=function(t){let e={};return t.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),e};var wn=function(t,e){let n=mn(e),r=[];return t.forEach(t=>{let[e]=t,o=n[e]||[];if(o=o.filter(e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e)),0===o.length)return void r.push({passthrough:t});o=o.sort((t,e)=>t[1]-e[1]);let i=t;o.forEach((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)})}),r},yn={one:{termList:function(t){let e=[];for(let n=0;n{if(!r)return;let[i,s,l,c,a]=r,u=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=u.length),!c||u[s]&&u[s].id===c)u=u.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<4;r+=1){if(e[n-r]){let o=e[n-r].findIndex(e=>e.id===t);if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex(e=>e.id===t);if(-1!==o)return[n+r,o]}}return null}(c,e,i);if(null!==n){let r=l-s;u=e[n[0]].slice(n[1],n[1]+r);let i=u[0]?u[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==u.length&&s!==l&&(a&&u[u.length-1].id!==a&&(u=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex(t=>t.id===o);return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(u))}),n=n.filter(t=>t.length>0),n},pointer:{indexN:mn,splitAll:wn}}},bn=function(t,e){let n=t.concat(e),r=mn(n),o=[];return n.forEach(t=>{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter(e=>gn(t,e));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach(t=>{t[1]n&&(n=t[2])}),[t[0][0],e,n]}(n);o.push(i)}),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)}),n},xn=function(t,e){let n=mn(e),r=[];return t.forEach(t=>{let e=n[t[0]]||[];e=e.filter(e=>gn(t,e)),0!==e.length&&e.forEach(e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},En=function(t,e){return t.map(t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t})},On={union:function(t){t=jn(t,this);let e=bn(this.fullPointer,t.fullPointer);return e=En(e,this.document),this.toView(e)}};On.and=On.union,On.intersection=function(t){t=jn(t,this);let e=xn(this.fullPointer,t.fullPointer);return e=En(e,this.document),this.toView(e)},On.not=function(t){t=jn(t,this);let e=vn(this.fullPointer,t.fullPointer);return e=En(e,this.document),this.toView(e)},On.difference=On.not,On.complement=function(){let t=this.all(),e=vn(t.fullPointer,this.fullPointer);return e=En(e,this.document),this.toView(e)},On.settle=function(){let t=this.fullPointer;return t.forEach(e=>{t=bn(t,[e])}),t=En(t,this.document),this.update(t)};var kn={methods:yn,api:function(t){Object.assign(t.prototype,On)}},Pn=function(t,e){const n=e.one.parseMatch;return t.forEach(t=>{t.regs=n(t.match),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo])}),t};function _n(t,e,n){return t.splice(e,1,...n),t}const Sn=function(t){return t.fastOr?Array.from(t.fastOr).map(t=>[{word:t}]):t.choices},An=function(t,e){let n=Object.assign({},t,e);return delete n.choices,delete n.fastOr,delete n.operator,n};var $n=function(t){let e=[];return t.forEach(t=>{for(let n=0;n{let o=Object.assign({},t);o.regs=o.regs.slice(0),r=r.map(e=>An(t.regs[n],e)),o.regs=_n(o.regs,n,r),e.push(o)})}e.push(t)}),e};const Tn=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var Cn=function(t){return t.forEach(t=>{t.needs=Array.from(function(t){let e=new Set;return t.forEach(t=>{let n=Tn(t);n?e.add(n):"and"===t.operator&&t.choices&&t.choices.forEach(t=>{t.forEach(t=>{let n=Tn(t);n&&e.add(n)})})}),e}(t.regs)),t.minWords=t.regs.filter(t=>!t.optional).length}),t},zn=function(t){let e={};return t.forEach(t=>{t.needs.forEach(n=>{e[n]=e[n]||[],e[n].push(t)})}),e},Nn=function(t,e){return t.map(t=>{let n=[];return t.forEach(t=>{e.hasOwnProperty(t)&&(n=n.concat(e[t]))}),new Set(n)})},Fn=function(t,e){for(let n=0;nt.needs.every(t=>r.has(t))),t[n]=t[n].filter(t=>void 0===t.ifNo||!0!==t.ifNo.some(t=>e[n].has(t)))}return t},Ln=function(t,e,n,r){let o=[];for(let i=0;i0&&(c.ptrs.forEach(t=>{t[0]=i;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),o.push(e)}),!0===r.matchOne))return[o[0]]}return o},Vn=function(t,e){let[n,r,o]=t.pointer,i=e[n],s=r>4?r-2:0,l=t.tag||"";var c;c=t.tag,"[object Array]"===Object.prototype.toString.call(c)&&(l=t.tag.join(" #"));let a=t.reason||t.match;a=a?`|${a}|`:"";let u=(" "+a).padEnd(20)+" - ";const h=t=>""+t+"";for(;so+2);s+=1){let t=i[s].machine||i[s].normal;u+=s>r&&s{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t});let s=i.map(t=>t.pointer);return i=i.map(t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t)),{view:this.update(s),found:i}}},methods:{one:{buildNet:function(t,e){t=Pn(t,e),t=$n(t);let n=(t=Cn(t)).filter(t=>0===t.needs.length),r=zn(t);return delete r["#Noun"],delete r["#Verb"],{index:r,always:n}},bulkMatch:function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=Nn(o,e.index);return i=Fn(i,o),e.always.length>0&&(i=i.map(t=>t.concat(e.always))),i=function(t,e){return t.map((t,n)=>{let r=e[n].length;return t.filter(t=>r>=t.minWords)})}(i,t),Ln(i,t,n,r)},bulkTagger:function(t,e,n){const{model:r,methods:o}=n,{getDoc:i,setTag:s,unTag:l}=o.one;if(0===t.length)return t;const c="undefined"!=typeof process&&process.env?process.env:self.env||{};return c.DEBUG_TAGS&&console.log(`\n → ${t.length} corrections:`),t.map(t=>{if(!t.tag&&!t.chunk)return;let o=t.reason||t.match;c.DEBUG_TAGS&&Vn(t,e);let a=i([t.pointer],e)[0];if(!0===t.safe){if(!1===qn(a,t.tag,r))return;if("-"===a[a.length-1].post)return}void 0!==t.tag&&(s(a,t.tag,n,t.safe,o),1===a.length&&"Noun"===t.tag&&a[0].text&&null!==a[0].text.match(/..s$/)&&s(a,"Plural",n,t.safe,"quick-plural")),void 0!==t.unTag&&l(a,t.unTag,n,t.safe,o),t.chunk&&a.forEach(e=>e.chunk=t.chunk)})}}}};const Gn=/ /,Bn=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},Un=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.text||"["+t.implicit+"]";var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(25)} ${(t=>""+t+"")(n)}`)})(t[0],e,o),1!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if(e=e.trim(),Gn.test(e))!function(t,e,n,r){let o=e.split(Gn);t.forEach((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),Un(t,i,n,r))})}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nMn(t,e,n,r))};var Wn=Mn,In=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach(t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map(t=>t.trim()).filter(t=>t),e=e.map(t=>Qn({id:t})),e}return[Qn({id:t})]}(t))}),n=n.filter(t=>t);let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach(n=>{e&&e(t,n),r.push(n)})}return n},Kn=t=>"[object Array]"===Object.prototype.toString.call(t),Jn=t=>(t=t||"").trim(),Xn=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach(t=>{if(!t.trim()||Rn.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:Hn(t)})});let r=function(t){let e={children:[]};return t.forEach((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t});let n=Qn({});return t.forEach(t=>{if((t=Qn(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)}),n}(t):(Zn(e=t).forEach(Qn),e);var e},Yn=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Zn(t).forEach((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"}),r},tr=function(t){let e=Zn(t);e.forEach(t=>{delete(t=Object.assign({},t)).children});let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},er={text:Yn,txt:Yn,array:tr,flat:tr},nr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Yn(t,!0)),null):er.hasOwnProperty(e)?er[e](t):t},rr=t=>{Zn(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))})},or=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Jn(t),!or.test(t)){let e=this.json.children.find(e=>e.id===t);return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]);if(!r)return null;t=r}return t})(this.json,t)||Qn({});return new g(e)}add(t,e={}){if(Kn(t))return t.forEach(t=>this.add(Jn(t),e)),this;t=Jn(t);let n=Qn({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Jn(t),this.json.children=this.json.children.filter(e=>e.id!==t),this}nodes(){return Zn(this.json).map(t=>(delete(t=Object.assign({},t)).children,t))}cache(){return(t=>{let e=Zn(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))}),n={};e.forEach(t=>{t.id&&(n[t.id]=t)}),e.forEach(t=>{t._cache.parents.forEach(e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)})}),t._cache.children=Object.keys(n)})(this.json),this}list(){return Zn(this.json)}fillDown(){var t;return t=this.json,Zn(t,(t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach(n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else Kn(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])}),t))(e.props,t.props)}),this}depth(){rr(this.json);let t=Zn(this.json),e=t.length>1?1:0;return t.forEach(t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)}),e}out(t){return rr(this.json),nr(this.json,t)}debug(){return rr(this.json),nr(this.json,"debug"),this}}const ir=function(t){let e=Xn(t);return new g(e)};ir.prototype.plugin=function(t){t(this)};var sr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const lr=function(t){if(sr.hasOwnProperty(t.id))return sr[t.id];if(sr.hasOwnProperty(t.is))return sr[t.is];let e=t._cache.parents.find(t=>sr[t]);return sr[e]};var cr=function(t){const e={};return t.forEach(t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:lr(t)}}),Object.keys(e).forEach(t=>{let n=new Set(e[t].not);e[t].not.forEach(t=>{e[t]&&e[t].children.forEach(t=>n.add(t))}),e[t].not=Array.from(n)}),e};const ar=function(t){return t?"string"==typeof t?[t]:t:[]};var ur=function(t,e){return t=function(t,e){return Object.keys(t).forEach(n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))}),t}(t,e),Object.keys(t).forEach(e=>{t[e].children=ar(t[e].children),t[e].not=ar(t[e].not)}),Object.keys(t).forEach(e=>{(t[e].not||[]).forEach(n=>{t[n]&&t[n].not&&t[n].not.push(e)})}),t},hr={one:{setTag:Wn,unTag:In,addTags:function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach(e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0}),t}(t)),t=ur(t,e);const n=function(t){const e=Object.keys(t).map(e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}});return ir(e).cache().fillDown().out("array")}(Object.assign({},e,t));return cr(n)}}};const fr=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var pr={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),fr(t)?t.forEach(t=>o.one.setTag(r,t,s,n,e)):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return fr(t)?t.forEach(t=>r.one.unTag(n,t,s)):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach((t,e)=>{t.forEach((t,o)=>{n.find(e=>t.tags.has(e))&&r.push([e,o,o+1])})});let o=this.update(r);return this.difference(o)}},dr=function(t){Object.assign(t.prototype,pr)},gr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const mr=new Set(["Auxiliary","Possessive"]);var wr={model:{one:{tagSet:{}}},compute:{tagRank:function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach(t=>{t.forEach(t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t.sort((t,n)=>{if(mr.has(t)||!e.hasOwnProperty(n))return 1;if(mr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})}(e,r)})})}},methods:hr,api:dr,lib:gr};const yr=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,br=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var vr=function(t){let e=[],n=t.split(br);for(let t=0;t0&&(r.push(e),o[t]="")}if(0===r.length)return[t];for(let t=1;t(t[e]=!0,t),{});const qr=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Dr=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Gr=/['’]/,Br=/^[a-z]\.([a-z]\.)+/i,Ur=/^[-+.][0-9]/,Mr=/^'[0-9]{2}/;var Wr=function(t){let e=t,n="",r="";return""===(t=(t=t.replace(qr,e=>(n=e,"-"!==n&&"+"!==n&&"."!==n||!Ur.test(t)?"'"===n&&Mr.test(t)?(n="",e):"":(n="",e)))).replace(Dr,o=>(r=o,Gr.test(o)&&/[sn]['’]$/.test(e)&&!1===Gr.test(n)?(r=r.replace(Gr,""),"'"):!0===Br.test(t)?(r=r.replace(/\./,""),"."):"")))&&(e=e.replace(/ *$/,t=>(r=t||"","")),t=e,n=""),{str:t,pre:n,post:r}},Ir=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Qr=/([A-Z]\.)+[A-Z]?,?$/,Rr=/^[A-Z]\.,?$/,Hr=/[A-Z]{2,}('s|,)?$/,Zr=/([a-z]\.)+[a-z]\.?$/;var Kr=function(t){return function(t){return!0===Qr.test(t)||!0===Zr.test(t)||!0===Rr.test(t)||!0===Hr.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Jr=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Ir(r),r=n(r,e),r=Kr(r),t.normal=r},Xr={one:{killUnicode:function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach((t,e)=>{n[t]&&(r[e]=n[t])}),r.join("")},tokenize:{splitSentences:Sr,splitTerms:function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(Lr);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=zr(n),n=Tr(n),n=n.filter(t=>t),n},splitWhitespace:t=>{let{str:e,pre:n,post:r}=Wr(t);return{text:e,pre:n,post:r,tags:new Set}},fromString:function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",r).map(t=>{let n=i(t,r);return n=n.map(s),n.forEach(t=>{Jr(t,e)}),n})}}}},Yr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let to={},eo={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(t=>{t[0].forEach(e=>{to[e]=!0,eo[e]="Abbreviation",void 0!==t[1]&&(eo[e]=[eo[e],t[1]])})});var no=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((t,e)=>(t[e]=!0,t),{});let ro={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},oo={};Object.keys(ro).forEach((function(t){ro[t].split("").forEach((function(e){oo[e]=t}))}));const io=/\//,so=/[a-z]\.[a-z]/i,lo=/[0-9]/;var co=function(t,e){let n=t.normal||t.text;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),io.test(n)&&!so.test(n)&&!lo.test(n)){let e=n.split(io);e.length<=2&&e.forEach(e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))})}return t};const ao=/^\p{Letter}+-\p{Letter}+$/u;var uo=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),ao.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},ho=function(t){let e=0,n=0,r=t.document;for(let t=0;tfo(t,co),machine:t=>fo(t,uo),normal:t=>fo(t,Jr),freq:function(t){let e=t.docs,n={};for(let t=0;t{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]}),r};const wo={safe:!0,min:3};var yo={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},wo,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=mo(t,e,this.world());return Object.keys(o).forEach(t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]}),this}},bo={model:{one:{typeahead:{}}},api:function(t){t.prototype.autoFill=go},lib:yo,compute:{typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;let r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){let n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};return d.extend(H),d.extend(dn),d.extend(Ve),d.extend(kn),d.extend(wr),d.plugin(wt),d.extend(po),d.plugin(w),d.extend(At),d.extend(bo),d.extend(jt),d.extend(Dn),d},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nlp=e(); diff --git a/builds/one/compromise-one.mjs b/builds/one/compromise-one.mjs index ee65f3d94..5eedee802 100644 --- a/builds/one/compromise-one.mjs +++ b/builds/one/compromise-one.mjs @@ -1 +1,2 @@ -var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};var e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach(t=>e.compute.hasOwnProperty(t)&&n[t](this)):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n={forEach:function(t){return this.fullPointer.forEach((e,n)=>{let r=this.update([e]);t(r,n)}),this},map:function(t,e){let n=this.fullPointer.map((e,n)=>{let r=this.update([e]);return t(r,n)});if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(t=>{r=r.concat(t.fullPointer)}),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter((e,n)=>{let r=this.update([e]);return t(r,n)}),this.update(e)},find:function(t){let e=this.fullPointer.find((e,n)=>{let r=this.update([e]);return t(r,n)});return this.update([e])},some:function(t){return this.fullPointer.some((e,n)=>{let r=this.update([e]);return t(r,n)})},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=[];this.docs.forEach(t=>{t.forEach(t=>{let[n,r]=t.index||[];e.push([n,r,r+1])})});let n=this.update(e);return"number"==typeof t?n.eq(t):n},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach(t=>{e[t]=this.update(this._groups[t])}),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map((t,e)=>[e])),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map((t,e)=>[e]);return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map(t=>[t[0]]);return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every((t,e)=>!!n[e]&&(t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2]))},wordCount:function(){return this.docs.reduce((t,e)=>t+=e.filter(t=>""!==t.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,e,n);i.get=i.eq;var s=i;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach(t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})}),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this;return(e||t.map((t,e)=>[e])).map(t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]})}update(t){let e=new View(this.document,t);if(e._cache&&t&&t.length>1){let n=[];t.forEach(t=>{1===t.length&&n.push(e._cache[t[0]])}),e._cache=n}return e.world=this.world,e}toView(t){return void 0===t&&(t=this.pointer),new View(this.document,t)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let t=this.document.slice(0);t=t.map(t=>t.map(t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,s);var l=View;const a=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};var u=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&function t(e,n){if(a(n))for(const r in n)a(n[r])?(e[r]||Object.assign(e,{[r]:{}}),t(e[r],n[r])):Object.assign(e,{[r]:n[r]});return e}(i,t.model),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach(e=>r[e]=t.lib[e]),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const c=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var h=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t){return new e(r.one.tokenize.fromString(t,n))}if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(c(t)){if(c(t[0])){return new e(t.map(t=>t.map(t=>({text:t,normal:t,pre:"",post:" ",tags:new Set}))))}return new e(function(t){return t.map(t=>t.terms.map(t=>(c(t.tags)&&(t.tags=new Set(t.tags)),t)))}(t))}return o};let f=Object.assign({},t);const p=function(t,e){e&&p.addWords(e);let n=h(t,l,f);return n.compute(f.hooks),n};Object.defineProperty(p,"_world",{value:f,writable:!0}),p.tokenize=function(t,e){const{compute:n}=this._world;e&&p.addWords(e);let r=h(t,l,f);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(t){return u(t,this._world,l,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},p.version="14.1.2";var d=p;const m=(t,e,n)=>{if(n.forEach(t=>t.dirty=!0),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},w=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},y=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},b=function(t){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)||/^[A-Z]$/.test(t)},v=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?w(n):(w(n),w([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!b(r.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,t=>t.toUpperCase());let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||b(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^[A-Z]/,t=>t.toLowerCase()))}(t,i,n),m(t,i,n)},x=(new Date).getTime(),j=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var E=function(t){let[e,n]=t.index||[0,0];var r=(new Date).getTime()-x;r=parseInt(r,10),e=e>46655?46655:e,n=n>1294?1294:n;let o=j((r=r>46655?46655:r).toString(36));o+=j(e.toString(36));let i=n.toString(36);return i=i.length<2?"0"+i:i,o+=i,o+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+o.toUpperCase()};const O=function(t){if(t.has("@hasContraction")){t.grow("@hasContraction").contractions().expand()}},P=t=>"[object Array]"===Object.prototype.toString.call(t),k=function(t,e,n){const{document:r,world:o}=e;let i=e.fullPointer,s=e.fullPointer;e.forEach((l,a)=>{let u=l.fullPointer[0],[c]=u,h=r[c],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.docs[0]:P(t)?P(t[0])?t[0]:t:[]}(t,o);f=function(t){return t.forEach(t=>{t.id=E(t)}),t}(f),n?(O(e.update([u]).firstTerm()),v(h,u,f,r)):(O(e.update([u]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)}),t}(r,t);t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t.replace(A,t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})}(t,r);let o=this.update(n);n=n.map(t=>t.slice(0,3));let i=(o.docs[0]||[]).map(t=>Array.from(t.tags));if(r.insertAfter(t),o.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}r.delete(o);let s=r.toView(n).compute(["index","lexicon","preTagger"]);return e.tags&&s.terms().forEach((t,e)=>{t.tagSafe(i[e])}),e.case&&s.docs[0]&&s.docs[0][0]&&0===s.docs[0][0].index[1]&&(s.docs[0][0].text=s.docs[0][0].text.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())),s},C.replace=function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?r.replaceWith(e,n):this};var $=C;const z={remove:function(t){const{indexN:e}=this.methods.one.pointer;let n=this.all(),r=this;if(t&&(n=this,r=this.match(t)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=r.fullPointer.reverse(),s=function(t,e){e.forEach(e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))});for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t}(this.document,i),l=e(i);return o=o.map(t=>{let[e]=t;return l[e]?(l[e].forEach(e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)}),t):t}),o=o.filter((t,e)=>{if(t[2]-t[1]<=0){for(let t=e+1;te[0]===t).forEach(t=>{t[0]-=1});return!1}return!0}),o=o.map(t=>(t[3]=null,t[4]=null,t)),n.ptrs=o,n.document=s,n.compute("index"),t?n.toView(o):n.none()}};z.delete=z.remove;var T=z;const F={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t}),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t}),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")})}),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach(e=>{e.forEach(e=>{t.test(e.post)&&(e.post=" ")})}),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this}};F.deHyphenate=F.dehyphenate,F.toQuotation=F.toQuotations;var V=F;var q={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach(t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1}),t.sort((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0}),t}};const N=new Set(["index","sequence","seq","sequential","chron","chronological"]),D=new Set(["freq","frequency","topk","repeats"]),G=new Set(["alpha","alphabetical"]);var L={unique:function(){let t=new Set;return this.filter(e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)})},reverse:function(){let t=this.pointer||this.docs.map((t,e)=>[e]);return t=[].concat(t),t=t.reverse(),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if("function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map((t,e)=>[e]),o=e.map((t,e)=>({index:e,words:t.length,normal:t.map(t=>t.machine||t.normal||"").join(" "),pointer:r[e]}));return N.has(t)&&(t="sequential"),G.has(t)&&(t="alpha"),D.has(t)?(o=q.byFreq(o),this.update(o.map(t=>t.pointer))):"function"==typeof q[t]?(o=o.sort(q[t]),this.update(o.map(t=>t.pointer))):this}};const B=function(t,e){let n=t[t.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),t=t.concat(e)};var M={concat:function(t){const{methods:e,document:n,world:r}=this;if("string"==typeof t){let o=e.one.tokenize.fromString(t,r),i=this.fullPointer,s=i[i.length-1][0];return m(n,s+1,o),this.compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach(e=>{e[0]+=t.document.length}),t.document=B(t.document,e.document),t.all()}(this,t);if(o=t,"[object Array]"===Object.prototype.toString.call(o)){let e=B(this.document,t);return this.document=e,this.all()}var o;return this}};var U={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map(t=>t.slice(0,3)),this.ptrs=t),this}};const W=Object.assign({},{toLowerCase:function(){return this.termList().forEach(t=>{t.text=t.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(t=>{t.text=t.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())),n!==t.length-1&&(e.post="")})}),this}},S,$,T,V,L,M,U);var Z={api:function(t){Object.assign(t.prototype,W)},compute:{id:function(t){let e=t.docs;for(let t=0;t{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])}),t):t},Q=function(t,e){let{ptrs:n,byGroup:r}=t;return n=I(n,e),Object.keys(r).forEach(t=>{r[t]=I(r[t],e)}),{ptrs:n,byGroup:r}},R=t=>t&&"object"==typeof t&&!0===t.isView;var H={matchOne:function(t,e,n){const r=this.methods.one;if(R(t))return this.intersection(t).eq(0);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Q(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(R(t))return this.intersection(t);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Q(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(R(t)){return t.fullPointer.length>0}"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(R(t))return this.filter(e=>e.intersection(t).found);"string"==typeof t&&(t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=this.fullPointer;return i=i.filter(t=>{let e=this.update([t]);return r.match(e.docs,o,this._cache).ptrs.length>0}),this.update(i)},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;return R(t)?this.difference(t):("string"==typeof t&&(t=o.parseMatch(t,n)),this.filter(n=>{let r={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,r,n._cache).ptrs.length}))}};var K={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?1:-1)[0];e[1]>0&&o.push([e[0],0,e[1]])});let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?-1:1)[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}}),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n)),t[0].start=!0;let r=this.fullPointer;return this.forEach((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}}),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const J=function(t,e){return[t[0],t[1],e[2]]},X=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},Y=function(t,e){let[n,r]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id),t},tt={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(J(t.match,t.after)):(i.push(t.match),i.push(t.after))}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=X(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),t.before&&t.match?i.push(J(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Y(t,this)),this.update(i)}};tt.split=tt.splitAfter;var et=tt;const nt=Object.assign({},H,K,et);nt.lookBehind=nt.before,nt.lookBefore=nt.before,nt.lookAhead=nt.after,nt.lookAfter=nt.after,nt.notIf=nt.ifNo;var rt=function(t){Object.assign(t.prototype,nt)};const ot=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,it=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,st=/ /g,lt=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),at=function(t){return t=(t=t.map(t=>t.trim())).filter(t=>t)};var ut=function(t){let e=t.split(ot),n=[];e.forEach(t=>{lt(t)?n.push(t):n=n.concat(t.split(it))}),n=at(n);let r=[];return n.forEach(t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||lt(t)?r.push(t):r=r.concat(t.split(st))}),r=at(r),r};const ct=/\{([0-9]+)?(, *[0-9]*)?\}/,ht=/&&/,ft=new RegExp(/^<\s*(\S+)\s*>/),pt=t=>t.charAt(0).toUpperCase()+t.substr(1),dt=function(t){return t[t.length-1]},mt=function(t){return t[0]},gt=function(t){return t.substr(1)},wt=function(t){return t.substr(0,t.length-1)},yt=function(t){return t=gt(t),t=wt(t)},bt=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===dt(t)&&(n.end=!0,t=wt(t)),"^"===mt(t)&&(n.start=!0,t=gt(t)),("["===mt(t)||"]"===dt(t))&&(n.group=null,"["===mt(t)&&(n.groupStart=!0),"]"===dt(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===mt(t))){const e=ft.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===dt(t)&&(n.greedy=!0,t=wt(t)),"*"!==t&&"*"===dt(t)&&"\\*"!==t&&(n.greedy=!0,t=wt(t)),"?"===dt(t)&&(n.optional=!0,t=wt(t)),"!"===mt(t)&&(n.negative=!0,t=gt(t)),"~"===mt(t)&&"~"===dt(t)&&t.length>2&&(t=yt(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("("===mt(t)&&")"===dt(t)){ht.test(t)?(n.choices=t.split(ht),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=gt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=wt(n.choices[r]),n.choices=n.choices.map(t=>t.trim()),n.choices=n.choices.filter(t=>t),n.choices=n.choices.map(t=>t.split(/ /g).map(t=>bt(t,e))),t=""}if("/"===mt(t)&&"/"===dt(t))return t=yt(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if("{"===mt(t)&&"}"===dt(t))return t=yt(t),/\//.test(t)?(n.sense=t,n.greedy=!0):n.machine=t,n;if("<"===mt(t)&&">"===dt(t))return t=yt(t),n.chunk=pt(t),n.greedy=!0,n;if("%"===mt(t)&&"%"===dt(t))return t=yt(t),n.switch=t,n}return!0===ct.test(t)&&(t=t.replace(ct,(t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===mt(t)?(n.tag=gt(t),n.tag=pt(n.tag),n):"@"===mt(t)?(n.method=gt(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var vt=bt;var xt=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach(e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)}),t))}(t=t.map(t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every(t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method})&&(t.fastOr=new Set,t.choices.forEach(e=>{t.fastOr.add(e[0].word)}),delete t.choices)}return t}))};var jt=function(t,e={}){if(null==t||""===t)return[];"number"==typeof t&&(t=String(t));let n=ut(t);return n=n.map(t=>vt(t,e)),n=xt(n,e),n};const Et=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var Ot=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,u,c,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,u=h[o-1][i]+1,(c=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(c=h[o-2][i-2]+a)-1!==t.post.indexOf(e),$t=(t,e)=>-1!==t.pre.indexOf(e),zt={hasQuote:t=>kt.test(t.pre)||_t.test(t.post),hasComma:t=>Ct(t,","),hasPeriod:t=>!0===Ct(t,".")&&!1===Ct(t,"..."),hasExclamation:t=>Ct(t,"!"),hasQuestionMark:t=>Ct(t,"?")||Ct(t,"¿"),hasEllipses:t=>Ct(t,"..")||Ct(t,"…")||$t(t,"..")||$t(t,"…"),hasSemicolon:t=>Ct(t,";"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>St.test(t.post)||St.test(t.pre),hasDash:t=>At.test(t.post)||At.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(t.text),isUpperCase:t=>/^[A-Z]+$/.test(t.text)};zt.hasQuotation=zt.hasQuote;var Tt=zt;let Ft=function(){};Ft=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Pt(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some(t=>t===e.word))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Tt[e.method]&&!0===Tt[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}return void 0!==e.chunk?t.chunk===e.chunk:void 0!==e.switch?t.switch===e.switch:void 0!==e.machine?t.normal===e.machine||t.machine===e.machine||t.root===e.machine:void 0!==e.sense?t.sense===e.sense:void 0!==e.fastOr?!(!t.implicit||!0!==e.fastOr.has(t.implicit))||e.fastOr.has(t.normal)||e.fastOr.has(t.text):void 0!==e.choices&&("and"===e.operator?e.choices.every(e=>Ft(t,e,n,r)):e.choices.some(e=>Ft(t,e,n,r)))}(t,e,n,r);return!0===e.negative?!o:o};var Vt=Ft;const qt=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max)return t.t=t.t+n.max,!0;if(!0===t.hasGroup){Nt(t,t.t).length=r-t.t}return t.t=r,!0};const Gt=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=Vt(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&Vt(t.terms[r],e,r,t.phrase_length)});return!0===r&&n.length>e&&(e=n.length),r})&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup){Nt(t,t.t).length+=r}if(!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null};var Mt=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);return r.negative=!1,!0!==Vt(t.terms[t.t],r,t.start_i+t.t,t.phrase_length)||null};var Ut=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=Vt(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&Vt(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}};var Wt=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null};var Zt=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}};var It=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;if(n.optional&&e[t.r+1]&&n.negative)return!0;if(n.optional&&e[t.r+1]&&Ut(t),r.implicit&&t.terms[t.t+1]&&Zt(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!Wt(t))return null}return!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Nt(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0};var Qt=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional))break;return null}if(!0!==t.anything||!0!==t.greedy)if(void 0===t.choices||"or"!==t.operator)if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything)if(!0!==qt(t,o))if(!0!==Vt(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(t.negative){if(!Mt(o))return null}if(!0!==t.optional)return null}else{if(!It(o))return null}else{if(!It(o))return null}else{if(!It(o))return null}else{if(!Bt(o))return null}else{if(!Lt(o))return null}else{if(!Dt(o))return null}}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach(t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]}),{pointer:i,groups:s}};var Rt=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach(t=>{t.groups[e]&&n.push(t.groups[e])}):t.forEach(t=>{n.push(t.pointer),Object.keys(t.groups).forEach(e=>{r[e]=r[e]||[],r[e].push(t.groups[e])})})),{ptrs:n,byGroup:r}};const Ht=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach(n=>{t.groups[n][0]=e}),t},Kt=function(t,e,n){let r=Qt(t,e,0,t.length);return r?(r=Ht(r,n),r):null};var Jt={api:rt,methods:{one:{termMethods:Tt,parseMatch:jt,match:function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter(t=>!0!==t.optional&&!0!==t.negative).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=Kt(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter(e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]})),s=Rt(s,o),s.ptrs.forEach(e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id}),s}}},lib:{parseMatch:function(t,e){return this.world().methods.one.parseMatch(t,e)}}};const Xt=/^\../,Yt=/^#./,te=function(t,e){let n={},r={};return Object.keys(e).forEach(o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Xt.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach(t=>{if(t.every(t=>t.implicit))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)})}),{starts:n,ends:r}};var ee={html:function(t){let{starts:e,ends:n}=te(this,t),r="";return this.docs.forEach(t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(re,""),ie.test(o)&&(o=" "),o=o.replace(oe,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(re,""),o="-"===o?" ":o.replace(ne,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&se.test(o)||(o+=" "),r+=n+i+o}),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},ae={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};ae.clean=ae.normal,ae.reduced=ae.root;var ue=ae;const ce={text:!0,terms:!0};let he={case:"none",unicode:"some",form:"machine",punctuation:"some"};const fe=function(t,e){return Object.assign({},t,e)},pe={text:t=>le(t,{keepPunct:!0},!1),normal:t=>le(t,fe(ue.normal,{keepPunct:!0}),!1),implicit:t=>le(t,fe(ue.implicit,{keepPunct:!0}),!1),machine:t=>le(t,he,!1),root:t=>le(t,fe(he,{form:"root"}),!1),offset:t=>{let e=pe.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map(t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e}),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some(t=>!0===t.dirty)};pe.sentences=pe.sentence,pe.clean=pe.normal,pe.reduced=pe.root;const de={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},ce,r)).offset&&n.compute("offset"),n.docs.map((t,e)=>{let o={};return Object.keys(r).forEach(i=>{r[i]&&pe[i]&&(o[i]=pe[i](t,n,e))}),o}));var n,r;return"number"==typeof t?e[t]:e}};de.data=de.json;var me=de;var ge=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach(t=>{console.groupCollapsed(t.text());let e=t.docs[0].map(t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}});console.table(e,["text","tags"]),console.groupEnd()})};var we={green:t=>""+t+"",red:t=>""+t+"",blue:t=>""+t+"",magenta:t=>""+t+"",cyan:t=>""+t+"",yellow:t=>""+t+"",black:t=>""+t+"",dim:t=>""+t+"",i:t=>""+t+""};var ye=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(we.blue("\n ──────")),e.forEach(t=>{console.log(we.blue("\n ┌─────────")),t.forEach(t=>{let e=[...t.tags||[]],r=t.text||"-";t.sense&&(r="{"+t.sense+"}"),t.implicit&&(r="["+t.implicit+"]"),r=we.yellow(r);let o="'"+r+"'";o=o.padEnd(18);let i=we.blue(" │ ")+we.i(o)+" - "+function(t,e){return e.one.tagSet&&(t=t.map(t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return we[n](t)})),t.join(", ")}(e,n);console.log(i)})})};var be=function(t){let{docs:e}=t;console.log(""),e.forEach(t=>{let e=[];t.forEach(t=>{"Noun"===t.chunk?e.push(we.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(we.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(we.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(we.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)}),console.log(e.join(" "),"\n")})};var ve=function(t){if(!t.found)return;let e={};t.fullPointer.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),Object.keys(e).forEach(n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${we.blue(r[1])}${r[2]}`}(r,t.offset,e)}),console.log(r)})};const xe=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var je=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach(r=>{t.match(r).fullPointer.forEach(t=>{n[t[3]]={fn:e[r],end:t[2]}})}),n}(t,e),r="";return t.docs.forEach((e,o)=>{for(let i=0;it.reduce((t,e)=>t+e.pre+e.text+e.post,"").trim()).filter(t=>t)}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};return t.forEach(t=>{e[t]=e[t]||0,e[t]+=1}),Object.keys(e).map(t=>({normal:t,count:e[t]})).sort((t,e)=>t.count>e.count?-1:0)}(this.json({normal:!0}).map(t=>t.normal));if("terms"===t){let t=[];return this.docs.forEach(e=>{let n=e.terms.map(t=>t.text);n=n.filter(t=>t),t=t.concat(n)}),t}return"tags"===t?this.docs.map(t=>t.reduce((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t),{})):"debug"===t?this.debug():this.text()}};var Oe={text:function(t){let e={keepSpace:!0,keepPunct:!0};var n;if(t&&"string"==typeof t&&ue.hasOwnProperty(t)?e=Object.assign({},ue[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t,e)),this.pointer){e.keepSpace=!1;let t=this.pointer[0];t&&t[1]?e.keepPunct=!1:e.keepPunct=!0}else e.keepPunct=!0;return function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},Se=function(t){let e={};return t.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),e};var Ae=function(t,e){let n=Se(e),r=[];return t.forEach(t=>{let[e]=t,o=n[e]||[];if(o=o.filter(e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e)),0===o.length)return void r.push({passthrough:t});o=o.sort((t,e)=>t[1]-e[1]);let i=t;o.forEach((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)})}),r};var Ce={one:{termList:function(t){let e=[];for(let n=0;n{if(!r)return;let[i,s,l,a,u]=r,c=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=c.length),!a||c[s]&&c[s].id===a)c=c.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<4;r+=1){if(e[n-r]){let o=e[n-r].findIndex(e=>e.id===t);if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex(e=>e.id===t);if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;c=e[n[0]].slice(n[1],n[1]+r);let i=c[0]?c[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==c.length&&s!==l&&(u&&c[c.length-1].id!==u&&(c=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex(t=>t.id===o);return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(c))}),n},pointer:{indexN:Se,splitAll:Ae}}};var $e=function(t,e){let n=t.concat(e),r=Se(n),o=[];return n.forEach(t=>{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter(e=>_e(t,e));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach(t=>{t[1]n&&(n=t[2])}),[t[0][0],e,n]}(n);o.push(i)}),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)}),n};var Te=function(t,e){let n=Se(e),r=[];return t.forEach(t=>{let e=n[t[0]]||[];e=e.filter(e=>_e(t,e)),0!==e.length&&e.forEach(e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},Ve=function(t,e){return t.map(t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t})},qe={union:function(t){t=Fe(t,this);let e=$e(this.fullPointer,t.fullPointer);return e=Ve(e,this.document),this.toView(e)}};qe.and=qe.union,qe.intersection=function(t){t=Fe(t,this);let e=Te(this.fullPointer,t.fullPointer);return e=Ve(e,this.document),this.toView(e)},qe.not=function(t){t=Fe(t,this);let e=ze(this.fullPointer,t.fullPointer);return e=Ve(e,this.document),this.toView(e)},qe.difference=qe.not,qe.complement=function(){let t=this.all(),e=ze(t.fullPointer,this.fullPointer);return e=Ve(e,this.document),this.toView(e)},qe.settle=function(){let t=this.fullPointer;return t.forEach(e=>{t=$e(t,[e])}),t=Ve(t,this.document),this.update(t)};var Ne={methods:Ce,api:function(t){Object.assign(t.prototype,qe)}};const De=/ /,Ge=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},Le=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.text||"["+t.implicit+"]";var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(25)} ${(t=>""+t+"")(n)}`)})(t[0],e,o),!0!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if(e=e.trim(),De.test(e))!function(t,e,n,r){let o=e.split(De);t.forEach((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),Le(t,i,n,r))})}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nBe(t,e,n,r))};var Me=Be;var Ue=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach(t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map(t=>t.trim()).filter(t=>t),e=e.map(t=>We({id:t})),e}return[We({id:t})]}(t))}),n=n.filter(t=>t);let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach(n=>{e&&e(t,n),r.push(n)})}return n},Re=t=>"[object Array]"===Object.prototype.toString.call(t),He=t=>(t=t||"").trim(),Ke=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach(t=>{if(!t.trim()||Ze.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:Ie(t)})});let r=function(t){let e={children:[]};return t.forEach((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t});let n=We({});return t.forEach(t=>{if((t=We(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)}),n}(t):(Qe(e=t).forEach(We),e);var e},Je=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Qe(t).forEach((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"}),r},Xe=function(t){let e=Qe(t);e.forEach(t=>{delete(t=Object.assign({},t)).children});let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Ye={text:Je,txt:Je,array:Xe,flat:Xe},tn=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Je(t,!0)),null):Ye.hasOwnProperty(e)?Ye[e](t):t},en=t=>{Qe(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))})},nn=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=He(t),!nn.test(t)){let e=this.json.children.find(e=>e.id===t);return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]);if(!r)return null;t=r}return t})(this.json,t)||We({});return new g(e)}add(t,e={}){if(Re(t))return t.forEach(t=>this.add(He(t),e)),this;t=He(t);let n=We({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=He(t),this.json.children=this.json.children.filter(e=>e.id!==t),this}nodes(){return Qe(this.json).map(t=>(delete(t=Object.assign({},t)).children,t))}cache(){return(t=>{let e=Qe(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))}),n={};e.forEach(t=>{t.id&&(n[t.id]=t)}),e.forEach(t=>{t._cache.parents.forEach(e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)})}),t._cache.children=Object.keys(n)})(this.json),this}list(){return Qe(this.json)}fillDown(){var t;return t=this.json,Qe(t,(t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach(n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else Re(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])}),t))(e.props,t.props)}),this}depth(){en(this.json);let t=Qe(this.json),e=t.length>1?1:0;return t.forEach(t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)}),e}out(t){return en(this.json),tn(this.json,t)}debug(){return en(this.json),tn(this.json,"debug"),this}}const rn=function(t){let e=Ke(t);return new g(e)};rn.prototype.plugin=function(t){t(this)};var on={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const sn=function(t){if(on.hasOwnProperty(t.id))return on[t.id];if(on.hasOwnProperty(t.is))return on[t.is];let e=t._cache.parents.find(t=>on[t]);return on[e]};var ln=function(t){const e={};return t.forEach(t=>{let{not:n,also:r,is:o}=t.props,i=t._cache.parents;r&&(i=i.concat(r)),e[t.id]={is:o,not:n,also:r,parents:i,children:t._cache.children,color:sn(t)}}),Object.keys(e).forEach(t=>{let n=new Set(e[t].not);e[t].not.forEach(t=>{e[t]&&e[t].children.forEach(t=>n.add(t))}),e[t].not=Array.from(n)}),e};const an=function(t){return t?"string"==typeof t?[t]:t:[]};var un=function(t,e){return t=function(t,e){return Object.keys(t).forEach(n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))}),t}(t,e),Object.keys(t).forEach(e=>{t[e].children=an(t[e].children),t[e].not=an(t[e].not)}),Object.keys(t).forEach(e=>{(t[e].not||[]).forEach(n=>{t[n]&&t[n].not&&t[n].not.push(e)})}),t};var cn={one:{setTag:Me,unTag:Ue,addTags:function(t,e){t=un(t,e);const n=function(t){const e=Object.keys(t).map(e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is};return{id:e,parent:n.is,props:r,children:[]}});return rn(e).cache().fillDown().out("array")}(Object.assign({},e,t));return ln(n)}}};const hn=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var fn={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),hn(t)?t.forEach(t=>o.one.setTag(r,t,s,n)):o.one.setTag(r,t,s,n),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return hn(t)?t.forEach(t=>r.one.unTag(n,t,s)):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach((t,e)=>{t.forEach((t,o)=>{n.find(e=>t.tags.has(e))&&r.push([e,o,o+1])})});let o=this.update(r);return this.difference(o)}};var pn=function(t){Object.assign(t.prototype,fn)};var dn={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const mn=new Set(["Auxiliary","Possessive"]);var gn={model:{one:{tagSet:{}}},compute:{tagRank:function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach(t=>{t.forEach(t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t.sort((t,n)=>{if(mn.has(t)||!e.hasOwnProperty(n))return 1;if(mn.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})}(e,r)})})}},methods:cn,api:pn,lib:dn};const wn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,yn=/((?:\r?\n|\r)+)/;var bn=function(t){let e=[],n=t.split(yn);for(let t=0;t0&&(r.push(e),o[t]="")}if(0===r.length)return[t];for(let t=1;t(t[e]=!0,t),{});const Nn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Dn=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Gn=/['’]/,Ln=/^[a-z]\.([a-z]\.)+/i,Bn=/^[-+.][0-9]/,Mn=/^'[0-9]{2}/;var Un=function(t){let e=t,n="",r="";return""===(t=(t=t.replace(Nn,e=>(n=e,"-"!==n&&"+"!==n&&"."!==n||!Bn.test(t)?"'"===n&&Mn.test(t)?(n="",e):"":(n="",e)))).replace(Dn,o=>(r=o,Gn.test(o)&&/[sn]['’]$/.test(e)&&!1===Gn.test(n)?(r=r.replace(Gn,""),"'"):!0===Ln.test(t)?(r=r.replace(/\./,""),"."):"")))&&(e=e.replace(/ *$/,t=>(r=t||"","")),t=e,n=""),{str:t,pre:n,post:r}};var Wn=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Zn=/([A-Z]\.)+[A-Z]?,?$/,In=/^[A-Z]\.,?$/,Qn=/[A-Z]{2,}('s|,)?$/,Rn=/([a-z]\.)+[a-z]\.?$/;var Hn=function(t){return function(t){return!0===Zn.test(t)||!0===Rn.test(t)||!0===In.test(t)||!0===Qn.test(t)}(t)&&(t=t.replace(/\./g,"")),t};var Kn=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Wn(r),r=n(r,e),r=Hn(r),t.normal=r};var Jn={one:{killUnicode:function(t,e){const n=e.model.one.unicode||{};let r=t.split("");return r.forEach((t,e)=>{n[t]&&(r[e]=n[t])}),r.join("")},tokenize:{splitSentences:_n,splitTerms:function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(Vn);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=zn(n),n=Cn(n),n=n.filter(t=>t),n},splitWhitespace:t=>{let{str:e,pre:n,post:r}=Un(t);return{text:e,pre:n,post:r,tags:new Set}},fromString:function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",r).map(t=>{let n=i(t,r);return n=n.map(s),n.forEach(t=>{Kn(t,e)}),n})}}}};var Xn={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yn={},tr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(t=>{t[0].forEach(e=>{Yn[e]=!0,tr[e]="Abbreviation",void 0!==t[1]&&(tr[e]=[tr[e],t[1]])})});var er=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((t,e)=>(t[e]=!0,t),{});let nr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},rr={};Object.keys(nr).forEach((function(t){nr[t].split("").forEach((function(e){rr[e]=t}))}));const or=/\//,ir=/[a-z]\.[a-z]/i,sr=/[0-9]/;var lr=function(t,e){let n=t.normal||t.text;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),or.test(n)&&!ir.test(n)&&!sr.test(n)){let e=n.split(or);e.length<=2&&e.forEach(e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))})}return t};var ar=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(e)&&(e=e.replace("-","")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)};var ur=function(t){let e=0,n=0,r=t.document;for(let t=0;tcr(t,lr),machine:t=>cr(t,ar),normal:t=>cr(t,Kn),freq:function(t){let e=t.docs,n={};for(let t=0;tt.text.toLowerCase())}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[u]=t,r[t]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[t]))}else o[u]=0}}return{goNext:n,endAs:r,failTo:o}};const pr=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const gr=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var wr=function(t){return t.goNext=t.goNext.map(t=>{if(0!==Object.keys(t).length)return t}),t.goNext=gr(t.goNext,void 0),t.failTo=gr(t.failTo,0),t.endAs=gr(t.endAs,null),t};var yr={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:fr(t,this.world));var r;let o=mr(this,n,e);return o=o.settle(),o}},lib:{compile:function(t){const e=fr(t,this.world());return wr(e)}}};const br={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var vr={api:function(t){Object.assign(t.prototype,br)},compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:{one:{cacheDoc:function(t){return t.map(t=>{let e=new Set;return t.forEach(t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit);let n=Array.from(t.tags);for(let t=0;t{!0!==t.optional&&!0!==t.negative&&(t.tag&&e.add("#"+t.tag),t.word&&e.add(t.word))}),e}}}};const xr=function(){const t=this.docs;if(0===t.length)return this;let e=t[t.length-1]||[],n=e[e.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var jr=function(t,e,n){let r={},o=[],i=n.prefixes||{};return t.forEach(t=>{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]}),r};const Er={safe:!0,min:3};var Or={model:{one:{typeahead:{}}},api:function(t){t.prototype.autoFill=xr},lib:{typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},Er,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=jr(t,e,this.world());return Object.keys(o).forEach(t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]}),this}},compute:{typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;let r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){let n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};var Pr=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],u=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[u]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t));if(t){return i([l],s[t],n,"1-lexicon-alias"),!0}}if(!0===kr.test(a)){let t=a.replace(kr,"");if(s.hasOwnProperty(t)&&t.length>3&&_r.has(s[t]))return i([l],s[t],n,"1-lexicon-prefix"),!0}return null};var Ar={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(t){let e={},n={};return Object.keys(t).forEach(r=>{let o=t[r],i=(r=r.toLowerCase().trim()).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o}),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}}}},compute:{lexicon:function(t){const e=t.world;t.docs.forEach(t=>{for(let n=0;n{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))}),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},hooks:["lexicon"]},Cr={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}};var $r=function(t,e,n){let[r,o]=e;n&&0!==n.length&&((n=n.map(t=>(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t)))[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const zr=/'/,Tr=new Set(["what","how","when","where","why"]),Fr=new Set(["be","go","start","think","need"]),Vr=new Set(["been","gone"]);var qr=function(t,e){let n=t[e].normal.split(zr)[0];if(Tr.has(n))return[n,"did"];if(t[e+1]){if(Vr.has(t[e+1].normal))return[n,"had"];if(Fr.has(t[e+1].normal))return[n,"would"]}return null};const Nr=/'/;var Dr=function(t,e){let n=t[e].normal.split(Nr)[0];if(((t,e)=>t.slice(e+1,e+3).some(t=>t.tags.has("PastTense")))(t,e))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=t[e+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};var Gr=function(t,e){if("ain't"===t[e].normal||"aint"===t[e].normal)return null;return[t[e].normal.replace(/n't/,""),"not"]};const Lr=/'/;var Br=(t,e)=>["je",t[e].normal.split(Lr)[1]],Mr=(t,e)=>{let n=t[e].normal.split(Lr)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Ur=(t,e)=>{let n=t[e].normal.split(Lr)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Wr=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,Zr=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var Ir=function(t,e){let n=t[e];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(Wr);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(Zr),null!==r?[r[1],"to",r[4]]:null)};const Qr=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Rr=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Hr=(t,e)=>{let n=t[e];let[r]=n.normal.split(/'s/);if(Qr.has(r))return!0;let o=t[e+1];return!(!o||!Rr.has(o.normal))};const Kr=/'/,Jr=/^[0-9][^-–—]*[-–—].*?[0-9]/,Xr=function(t,e){let n=e.update();n.document=[t],n.compute(["lexicon","preTagger","index"])},Yr={t:(t,e)=>Gr(t,e),d:(t,e)=>qr(t,e),s:(t,e)=>!0===Hr(t,e)?Dr(t,e):null},to={j:(t,e)=>Br(t,e),l:(t,e)=>Mr(t,e),d:(t,e)=>Ur(t,e)},eo=function(t,e,n,r){for(let o=0;o{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,u=null;!0===Kr.test(r[l].normal)&&([a,u]=r[l].normal.split(Kr));let c=eo(i,r[l],a,u);!c&&Yr.hasOwnProperty(u)&&(c=Yr[u](r,l,e)),!c&&to.hasOwnProperty(a)&&(c=to[a](r,l)),c?(c=no(c,t),$r(n,[s,l],c),Xr(n[s],t)):Jr.test(r[l].normal)&&(c=Ir(r,l),c&&(c=no(c,t),$r(n,[s,l],c),o.one.setTag(c,"NumberRange",e),c[2]&&c[2].tags.has("Time")&&o.one.setTag([c[0]],"Time",e),Xr(n[s],t)))}})}},hooks:["contractions"]};d.extend(Z),d.extend(ke),d.extend(Jt),d.extend(Ne),d.extend(gn),d.plugin(ro),d.extend(hr),d.plugin(vr),d.extend(yr),d.extend(Or),d.extend(Ar);export{d as default}; +var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};var e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach(t=>e.compute.hasOwnProperty(t)&&n[t](this)):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n={forEach:function(t){return this.fullPointer.forEach((e,n)=>{let r=this.update([e]);t(r,n)}),this},map:function(t,e){let n=this.fullPointer.map((e,n)=>{let r=this.update([e]);return t(r,n)});if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(t=>{r=r.concat(t.fullPointer)}),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter((e,n)=>{let r=this.update([e]);return t(r,n)}),this.update(e)},find:function(t){let e=this.fullPointer.find((e,n)=>{let r=this.update([e]);return t(r,n)});return this.update([e])},some:function(t){return this.fullPointer.some((e,n)=>{let r=this.update([e]);return t(r,n)})},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=[];this.docs.forEach(t=>{t.forEach(t=>{let[n,r]=t.index||[];e.push([n,r,r+1])})});let n=this.update(e);return"number"==typeof t?n.eq(t):n},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach(t=>{e[t]=this.update(this._groups[t])}),e},eq:function(t){let e=this.pointer,n=this._cache||[];if(e||(e=this.docs.map((t,e)=>[e])),e[t]){let r=this.update([e[t]]);return r._cache=n[t],r}return this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map((t,e)=>[e]);return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map(t=>[t[0]]);return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every((t,e)=>!!n[e]&&(t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2]))},wordCount:function(){return this.docs.reduce((t,e)=>t+=e.filter(t=>""!==t.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var o=r;const i=Object.assign({},o,e,n);i.get=i.eq;var s=i;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach(t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})}),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this;return(e||t.map((t,e)=>[e])).map(t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]})}update(t){let e=new View(this.document,t);if(e._cache&&t&&t.length>1){let n=[];t.forEach(t=>{1===t.length&&n.push(e._cache[t[0]])}),e._cache=n}return e.world=this.world,e}toView(t){return void 0===t&&(t=this.pointer),new View(this.document,t)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let t=this.document.slice(0);t=t.map(t=>t.map(t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,s);var l=View;const a=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};var c=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&function t(e,n){if(a(n))for(const r in n)a(n[r])?(e[r]||Object.assign(e,{[r]:{}}),t(e[r],n[r])):Object.assign(e,{[r]:n[r]});return e}(i,t.model),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach(e=>r[e]=t.lib[e]),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const u=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var h=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t){return new e(r.one.tokenize.fromString(t,n))}if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(u(t)){if(u(t[0])){return new e(t.map(t=>t.map(t=>({text:t,normal:t,pre:"",post:" ",tags:new Set}))))}return new e(function(t){return t.map(t=>t.terms.map(t=>(u(t.tags)&&(t.tags=new Set(t.tags)),t)))}(t))}return o};let f=Object.assign({},t);const p=function(t,e){e&&p.addWords(e);let n=h(t,l,f);return t&&n.compute(f.hooks),n};Object.defineProperty(p,"_world",{value:f,writable:!0}),p.tokenize=function(t,e){const{compute:n}=this._world;e&&p.addWords(e);let r=h(t,l,f);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(t){return c(t,this._world,l,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},p.version="14.2.0";var d=p;const m={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var w={api:function(t){Object.assign(t.prototype,m)},compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:{one:{cacheDoc:function(t){return t.map(t=>{let e=new Set;return t.forEach(t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.alias&&t.alias.forEach(t=>e.add(t));let n=Array.from(t.tags);for(let t=0;t/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),b=(t,e,n)=>{if(n.forEach(t=>t.dirty=!0),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},v=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},x=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},j=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?v(n):(v(n),v([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!y(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,t=>t.toUpperCase());let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||y(o.text)&&o.text.length>1&&(o.text=(i=o.text,i.replace(/^\p{Lu}/u,t=>t.toLowerCase())));var i}(t,i,n),b(t,i,n)},E=(new Date).getTime(),O=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var k=function(t){let[e,n]=t.index||[0,0];var r=(new Date).getTime()-E;r=parseInt(r,10),e=e>46655?46655:e,n=n>1294?1294:n;let o=O((r=r>46655?46655:r).toString(36));o+=O(e.toString(36));let i=n.toString(36);return i=i.length<2?"0"+i:i,o+=i,o+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+o.toUpperCase()};const P=function(t){if(t.has("@hasContraction")){t.grow("@hasContraction").contractions().expand()}},_=t=>"[object Array]"===Object.prototype.toString.call(t),S=function(t,e,n){const{document:r,world:o}=e;let i=e.fullPointer,s=e.fullPointer;e.forEach((l,a)=>{let c=l.fullPointer[0],[u]=c,h=r[u],f=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]:_(t)?_(t[0])?t[0]:t:[]}(t,o);f=function(t){return t.map(t=>(t.id=k(t),t))}(f),n?(P(e.update([c]).firstTerm()),j(h,c,f,r)):(P(e.update([c]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i{let n=e(t);t.replaceWith(n)}),t}(r,t);t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t.replace(T,t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})}(t,r);let o=this.update(n);n=n.map(t=>t.slice(0,3));let i=(o.docs[0]||[]).map(t=>Array.from(t.tags));if(r.insertAfter(t),o.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}r.delete(o);let s=r.toView(n).compute(["index","lexicon","preTagger"]);return e.tags&&s.terms().forEach((t,e)=>{t.tagSafe(i[e])}),e.case&&s.docs[0]&&s.docs[0][0]&&0===s.docs[0][0].index[1]&&(s.docs[0][0].text=s.docs[0][0].text.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())),s},C.replace=function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?r.replaceWith(e,n):this};var z=C;var N=function(t,e){e.forEach(e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))});for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const F={remove:function(t){const{indexN:e}=this.methods.one.pointer;let n=this.all(),r=this;if(t&&(n=this,r=this.match(t)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let o=n.fullPointer,i=r.fullPointer.reverse(),s=N(this.document,i);return o=function(t,e){return(t=t.map(t=>{let[n]=t;return e[n]?(e[n].forEach(e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)}),t):t})).forEach((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;et[2]-t[1]>0)).map(t=>(t[3]=null,t[4]=null,t))}(o,e(i)),n.ptrs=o,n.document=s,n.compute("index"),t?n.toView(o):(this.ptrs=[],n.none())}};F.delete=F.remove;var L=F;const V={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t}),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t}),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")})}),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach(e=>{e.forEach(e=>{t.test(e.post)&&(e.post=" ")})}),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach(n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post}),this}};V.deHyphenate=V.dehyphenate,V.toQuotation=V.toQuotations;var q=V;var D={alpha:(t,e)=>t.normale.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return nr?-1:0},wordCount:(t,e)=>t.wordse.words?-1:0,sequential:(t,e)=>t[0]e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach(t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1}),t.sort((t,n)=>{let r=e[t.normal],o=e[n.normal];return ro?-1:0}),t}};const G=new Set(["index","sequence","seq","sequential","chron","chronological"]),B=new Set(["freq","frequency","topk","repeats"]),U=new Set(["alpha","alphabetical"]);var M={unique:function(){let t=new Set;return this.filter(e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)})},reverse:function(){let t=this.pointer||this.docs.map((t,e)=>[e]);return t=[].concat(t),t=t.reverse(),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if("function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map((t,e)=>[e]),o=e.map((t,e)=>({index:e,words:t.length,normal:t.map(t=>t.machine||t.normal||"").join(" "),pointer:r[e]}));return G.has(t)&&(t="sequential"),U.has(t)&&(t="alpha"),B.has(t)?(o=D.byFreq(o),this.update(o.map(t=>t.pointer))):"function"==typeof D[t]?(o=o.sort(D[t]),this.update(o.map(t=>t.pointer))):this}};const W=function(t,e){let n=t[t.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),t=t.concat(e)};var I={concat:function(t){const{methods:e,document:n,world:r}=this;if("string"==typeof t){let o=e.one.tokenize.fromString(t,r),i=this.fullPointer,s=i[i.length-1][0];return b(n,s+1,o),this.compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach(e=>{e[0]+=t.document.length}),t.document=W(t.document,e.document),t.all()}(this,t);if(o=t,"[object Array]"===Object.prototype.toString.call(o)){let e=W(this.document,t);return this.document=e,this.all()}var o;return this}};var Q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map(t=>t.slice(0,3)),this.ptrs=t),this}};const R=Object.assign({},{toLowerCase:function(){return this.termList().forEach(t=>{t.text=t.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(t=>{t.text=t.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(t=>{t.forEach((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,t=>t.toUpperCase())),n!==t.length-1&&(e.post="")})}),this}},$,z,L,q,M,I,Q);var H={api:function(t){Object.assign(t.prototype,R)},compute:{id:function(t){let e=t.docs;for(let t=0;t(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t)))[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const J=/'/,X=new Set(["what","how","when","where","why"]),Y=new Set(["be","go","start","think","need"]),tt=new Set(["been","gone"]);var et=function(t,e){let n=t[e].normal.split(J)[0];if(X.has(n))return[n,"did"];if(t[e+1]){if(tt.has(t[e+1].normal))return[n,"had"];if(Y.has(t[e+1].normal))return[n,"would"]}return null};var nt=function(t,e){if("ain't"===t[e].normal||"aint"===t[e].normal)return null;return[t[e].normal.replace(/n't/,""),"not"]};const rt=/'/;var ot=(t,e)=>["je",t[e].normal.split(rt)[1]],it=(t,e)=>{let n=t[e].normal.split(rt)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},st=(t,e)=>{let n=t[e].normal.split(rt)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const lt=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,at=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var ct=function(t,e){let n=t[e];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(lt);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(at),null!==r?[r[1],"to",r[4]]:null)};const ut=/'/,ht=/^[0-9][^-–—]*[-–—].*?[0-9]/,ft=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]],o.compute(["lexicon","preTagger","index"])},pt={t:(t,e)=>nt(t,e),d:(t,e)=>et(t,e)},dt={j:(t,e)=>ot(t,e),l:(t,e)=>it(t,e),d:(t,e)=>st(t,e)},gt=function(t,e,n,r){for(let o=0;o{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];n.forEach((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,c=null;!0===ut.test(r[l].normal)&&([a,c]=r[l].normal.split(ut));let u=gt(i,r[l],a,c);!u&&pt.hasOwnProperty(c)&&(u=pt[c](r,l,e)),!u&&dt.hasOwnProperty(a)&&(u=dt[a](r,l)),u?(u=mt(u,t),K(n,[s,l],u),ft(n[s],t,l,u.length)):ht.test(r[l].normal)&&(u=ct(r,l),u&&(u=mt(u,t),K(n,[s,l],u),o.one.setTag(u,"NumberRange",e),u[2]&&u[2].tags.has("Time")&&o.one.setTag([u[0]],"Time",e),ft(n[s],t,l,u.length)))}})}},hooks:["contractions"]};var yt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],c=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[c]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;ls.hasOwnProperty(t));if(t){return i([l],s[t],n,!1,"1-lexicon-alias"),!0}}if(!0===bt.test(a)){let t=a.replace(bt,"");if(s.hasOwnProperty(t)&&t.length>3&&vt.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null};var jt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(t){let e={},n={};return Object.keys(t).forEach(r=>{let o=t[r],i=(r=r.toLowerCase().trim()).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o}),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}}}},compute:{lexicon:function(t){const e=t.world;t.docs.forEach(t=>{for(let n=0;n{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))}),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},hooks:["lexicon"]};var Et=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;return n.one.tokenize.splitTerms(t,r).map(n.one.tokenize.splitWhitespace).map(t=>t.text.toLowerCase())}(t,e);for(let t=0;t0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[c]=t,r[t]&&(r[c]=r[c]||[],r[c]=r[c].concat(r[t]))}else o[c]=0}}return{goNext:n,endAs:r,failTo:o}};const Ot=function(t,e,n){let r=0,o=[];for(let i=0;i0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e0&&(r=r.concat(a))}return t.update(r)};const _t=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var St=function(t){return t.goNext=t.goNext.map(t=>{if(0!==Object.keys(t).length)return t}),t.goNext=_t(t.goNext,void 0),t.failTo=_t(t.failTo,0),t.endAs=_t(t.endAs,null),t};var At={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Et(t,this.world));var r;let o=Pt(this,n,e);return o=o.settle(),o}},lib:{compile:function(t){const e=Et(t,this.world());return St(e)}}};const $t=function(t,e){return e?(t.forEach(t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])}),t):t},Tt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=$t(n,e),Object.keys(r).forEach(t=>{r[t]=$t(r[t],e)}),{ptrs:n,byGroup:r}},Ct=t=>"[object Object]"===Object.prototype.toString.call(t),zt=t=>t&&Ct(t)&&!0===t.isView,Nt=t=>t&&Ct(t)&&!0===t.isNet;var Ft={matchOne:function(t,e,n){const r=this.methods.one;if(zt(t))return this.intersection(t).eq(0);if(Nt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Tt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(zt(t))return this.intersection(t);if(Nt(t))return this.sweep(t,{tagger:!1}).view.settle();"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Tt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(zt(t)){return t.fullPointer.length>0}if(Nt(t))return this.sweep(t,{tagger:!1}).view.found;"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(zt(t))return this.filter(e=>e.intersection(t).found);if(Nt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}"string"==typeof t&&(t=r.killUnicode(t,this.world),t=r.parseMatch(t,n));let o={regs:t,group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0});let l=this.update(i);return this._cache&&(l._cache=i.map(t=>s[t[0]])),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(zt(t))return this.filter(e=>!e.intersection(t).found);if(Nt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}"string"==typeof t&&(t=o.killUnicode(t,this.world),t=o.parseMatch(t,n));let i=this._cache||[],s=this.filter((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length});return this._cache&&(s._cache=s.ptrs.map(t=>i[t[0]])),s}};var Lt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?1:-1)[0];e[1]>0&&o.push([e[0],0,e[1]])});let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach(t=>{let e=i[t].sort((t,e)=>t[1]>e[1]?-1:1)[0],[n,,r]=e;r{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}}),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n)),t[0].start=!0;let r=this.fullPointer;return this.forEach((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}}),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const Vt=function(t,e){return[t[0],t[1],e[2]]},qt=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},Dt=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},Gt={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(Vt(t.match,t.after)):(i.push(t.match),i.push(t.after))}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach(t=>{i.push(t.passthrough),t.before&&t.match?i.push(Vt(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)}),i=i.filter(t=>t),i=i.map(t=>Dt(t,this)),this.update(i)}};Gt.split=Gt.splitAfter;var Bt=Gt;const Ut=Object.assign({},Ft,Lt,Bt);Ut.lookBehind=Ut.before,Ut.lookBefore=Ut.before,Ut.lookAhead=Ut.after,Ut.lookAfter=Ut.after,Ut.notIf=Ut.ifNo;var Mt=function(t){Object.assign(t.prototype,Ut)};const Wt=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,It=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,Qt=/ /g,Rt=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),Ht=function(t){return t=(t=t.map(t=>t.trim())).filter(t=>t)};var Zt=function(t){let e=t.split(Wt),n=[];e.forEach(t=>{Rt(t)?n.push(t):n=n.concat(t.split(It))}),n=Ht(n);let r=[];return n.forEach(t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||Rt(t)?r.push(t):r=r.concat(t.split(Qt))}),r=Ht(r),r};const Kt=/\{([0-9]+)?(, *[0-9]*)?\}/,Jt=/&&/,Xt=new RegExp(/^<\s*(\S+)\s*>/),Yt=t=>t.charAt(0).toUpperCase()+t.substring(1),te=t=>t.charAt(t.length-1),ee=t=>t.charAt(0),ne=t=>t.substring(1),re=t=>t.substring(0,t.length-1),oe=function(t){return t=ne(t),t=re(t)},ie=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===te(t)&&(n.end=!0,t=re(t)),"^"===ee(t)&&(n.start=!0,t=ne(t)),("["===ee(t)||"]"===te(t))&&(n.group=null,"["===ee(t)&&(n.groupStart=!0),"]"===te(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ee(t))){const e=Xt.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===te(t)&&(n.greedy=!0,t=re(t)),"*"!==t&&"*"===te(t)&&"\\*"!==t&&(n.greedy=!0,t=re(t)),"?"===te(t)&&(n.optional=!0,t=re(t)),"!"===ee(t)&&(n.negative=!0,t=ne(t)),"~"===ee(t)&&"~"===te(t)&&t.length>2&&(t=oe(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("("===ee(t)&&")"===te(t)){Jt.test(t)?(n.choices=t.split(Jt),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=ne(n.choices[0]);let r=n.choices.length-1;n.choices[r]=re(n.choices[r]),n.choices=n.choices.map(t=>t.trim()),n.choices=n.choices.filter(t=>t),n.choices=n.choices.map(t=>t.split(/ /g).map(t=>ie(t,e))),t=""}if("/"===ee(t)&&"/"===te(t))return t=oe(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if("{"===ee(t)&&"}"===te(t))return t=oe(t),/\//.test(t)?(n.sense=t,n.greedy=!0):n.machine=t,n;if("<"===ee(t)&&">"===te(t))return t=oe(t),n.chunk=Yt(t),n.greedy=!0,n;if("%"===ee(t)&&"%"===te(t))return t=oe(t),n.switch=t,n}return!0===Kt.test(t)&&(t=t.replace(Kt,(t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===ee(t)?(n.tag=ne(t),n.tag=Yt(n.tag),n):"@"===ee(t)?(n.method=ne(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var se=ie;var le=function(t){return t=function(t){let e=0,n=null;for(let r=0;r(t.fuzzy&&t.choices&&t.choices.forEach(e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)}),t))}(t=t.map(t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every(t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method})&&(t.fastOr=new Set,t.choices.forEach(e=>{t.fastOr.add(e[0].word)}),delete t.choices)}return t}))};var ae=function(t,e={}){if(null==t||""===t)return[];"number"==typeof t&&(t=String(t));let n=Zt(t);return n=n.map(t=>se(t,e)),n=le(n),n};const ce=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var ue=function(t,e){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,c,u,h=[];for(let t=0;t4)return n;l=e[i-1],a=s===l?0:1,c=h[o-1][i]+1,(u=h[o][i-1]+1)1&&i>1&&s===e[i-2]&&t[o-2]===l&&(u=h[o-2][i-2]+a)-1!==t.post.indexOf(e),we=(t,e)=>-1!==t.pre.indexOf(e),ye={hasQuote:t=>fe.test(t.pre)||pe.test(t.post),hasComma:t=>me(t,","),hasPeriod:t=>!0===me(t,".")&&!1===me(t,"..."),hasExclamation:t=>me(t,"!"),hasQuestionMark:t=>me(t,"?")||me(t,"¿"),hasEllipses:t=>me(t,"..")||me(t,"…")||we(t,"..")||we(t,"…"),hasSemicolon:t=>me(t,";"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>de.test(t.post)||de.test(t.pre),hasDash:t=>ge.test(t.post)||ge.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};ye.hasQuotation=ye.hasQuote;var be=ye;let ve=function(){};ve=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(he(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some(t=>t===e.word))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof be[e.method]&&!0===be[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}return void 0!==e.chunk?t.chunk===e.chunk:void 0!==e.switch?t.switch===e.switch:void 0!==e.machine?t.normal===e.machine||t.machine===e.machine||t.root===e.machine:void 0!==e.sense?t.sense===e.sense:void 0!==e.fastOr?e.fastOr.has(t.implicit)||e.fastOr.has(t.normal)||e.fastOr.has(t.text)||e.fastOr.has(t.machine):void 0!==e.choices&&("and"===e.operator?e.choices.every(e=>ve(t,e,n,r)):e.choices.some(e=>ve(t,e,n,r)))}(t,e,n,r);return!0===e.negative?!o:o};var xe=ve;const je=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.tn.max)return t.t=t.t+n.max,!0;if(!0===t.hasGroup){Ee(t,t.t).length=r-t.t}return t.t=r,!0};const ke=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=xe(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e{let r=n.every((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&xe(t.terms[r],e,r,t.phrase_length)});return!0===r&&n.length>e&&(e=n.length),r})&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup){Ee(t,t.t).length+=r}if(!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null};var Se=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);return r.negative=!1,!0!==xe(t.terms[t.t],r,t.start_i+t.t,t.phrase_length)||null};var Ae=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=xe(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&xe(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}};var $e=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.tt.t?null:!0!==r.end||t.start_i+t.t===n||null};var Te=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}};var Ce=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;if(n.optional&&e[t.r+1]&&n.negative)return!0;if(n.optional&&e[t.r+1]&&Ae(t),r.implicit&&t.terms[t.t+1]&&Te(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!$e(t))return null}return!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=Ee(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0};var ze=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r!t.optional))break;return null}if(!0!==t.anything||!0!==t.greedy)if(void 0===t.choices||"or"!==t.operator)if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything)if(!0!==je(t,o))if(!0!==xe(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(t.negative){if(!Se(o))return null}if(!0!==t.optional)return null}else{if(!Ce(o))return null}else{if(!Ce(o))return null}else{if(!Ce(o))return null}else{if(!_e(o))return null}else{if(!Pe(o))return null}else{if(!Oe(o))return null}}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach(t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]}),{pointer:i,groups:s}};var Ne=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach(t=>{t.groups[e]&&n.push(t.groups[e])}):t.forEach(t=>{n.push(t.pointer),Object.keys(t.groups).forEach(e=>{r[e]=r[e]||[],r[e].push(t.groups[e])})})),{ptrs:n,byGroup:r}};const Fe=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach(n=>{t.groups[n][0]=e}),t},Le=function(t,e,n){let r=ze(t,e,0,t.length);return r?(r=Fe(r,n),r):null};var Ve={api:Mt,methods:{one:{termMethods:be,parseMatch:ae,match:function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter(t=>!0!==t.optional&&!0!==t.negative).length;t:for(let e=0;et&&(t=Math.abs(n-1))}}else{let t=Le(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter(e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]})),s=Ne(s,o),s.ptrs.forEach(e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id}),s}}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e)}}};const qe=/^\../,De=/^#./,Ge=function(t,e){let n={},r={};return Object.keys(e).forEach(o=>{let i=e[o],s=function(t){let e="",n="";return t=t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),qe.test(t)?e=``),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach(t=>{if(t.every(t=>t.implicit))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)})}),{starts:n,ends:r}};var Be={html:function(t){let{starts:e,ends:n}=Ge(this,t),r="";return this.docs.forEach(t=>{for(let o=0;o{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(Me,""),Ie.test(o)&&(o=" "),o=o.replace(We,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(Me,""),o="-"===o?" ":o.replace(Ue,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&Qe.test(o)||(o+=" "),r+=n+i+o}),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},He={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};He.clean=He.normal,He.reduced=He.root;var Ze=He;const Ke={text:!0,terms:!0};let Je={case:"none",unicode:"some",form:"machine",punctuation:"some"};const Xe=function(t,e){return Object.assign({},t,e)},Ye={text:t=>Re(t,{keepPunct:!0},!1),normal:t=>Re(t,Xe(Ze.normal,{keepPunct:!0}),!1),implicit:t=>Re(t,Xe(Ze.implicit,{keepPunct:!0}),!1),machine:t=>Re(t,Je,!1),root:t=>Re(t,Xe(Je,{form:"root"}),!1),offset:t=>{let e=Ye.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map(t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e}),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some(t=>!0===t.dirty)};Ye.sentences=Ye.sentence,Ye.clean=Ye.normal,Ye.reduced=Ye.root;const tn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},Ke,r)).offset&&n.compute("offset"),n.docs.map((t,e)=>{let o={};return Object.keys(r).forEach(i=>{r[i]&&Ye[i]&&(o[i]=Ye[i](t,n,e))}),o}));var n,r;return"number"==typeof t?e[t]:e}};tn.data=tn.json;var en=tn;var nn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach(t=>{console.groupCollapsed(t.text());let e=t.docs[0].map(t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}});console.table(e,["text","tags"]),console.groupEnd()})};var rn={green:t=>""+t+"",red:t=>""+t+"",blue:t=>""+t+"",magenta:t=>""+t+"",cyan:t=>""+t+"",yellow:t=>""+t+"",black:t=>""+t+"",dim:t=>""+t+"",i:t=>""+t+""};var on=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(rn.blue("\n ──────")),e.forEach(t=>{console.log(rn.blue("\n ┌─────────")),t.forEach(t=>{let e=[...t.tags||[]],r=t.text||"-";t.sense&&(r="{"+t.sense+"}"),t.implicit&&(r="["+t.implicit+"]"),r=rn.yellow(r);let o="'"+r+"'";o=o.padEnd(18);let i=rn.blue(" │ ")+rn.i(o)+" - "+function(t,e){return e.one.tagSet&&(t=t.map(t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return rn[n](t)})),t.join(", ")}(e,n);console.log(i)})})};var sn=function(t){let{docs:e}=t;console.log(""),e.forEach(t=>{let e=[];t.forEach(t=>{"Noun"===t.chunk?e.push(rn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(rn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(rn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(rn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)}),console.log(e.join(" "),"\n")})};var ln=function(t){if(!t.found)return;let e={};t.fullPointer.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),Object.keys(e).forEach(n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${rn.blue(r[1])}${r[2]}`}(r,t.offset,e)}),console.log(r)})};const an=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var cn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach(r=>{t.match(r).fullPointer.forEach(t=>{n[t[3]]={fn:e[r],end:t[2]}})}),n}(t,e),r="";return t.docs.forEach((e,o)=>{for(let i=0;it.reduce((t,e)=>t+e.pre+e.text+e.post,"").trim()).filter(t=>t)}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};return t.forEach(t=>{e[t]=e[t]||0,e[t]+=1}),Object.keys(e).map(t=>({normal:t,count:e[t]})).sort((t,e)=>t.count>e.count?-1:0)}(this.json({normal:!0}).map(t=>t.normal));if("terms"===t){let t=[];return this.docs.forEach(e=>{let n=e.terms.map(t=>t.text);n=n.filter(t=>t),t=t.concat(n)}),t}return"tags"===t?this.docs.map(t=>t.reduce((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t),{})):"debug"===t?this.debug():this.text()}};var hn={text:function(t){let e={keepSpace:!0,keepPunct:!0};var n;if(t&&"string"==typeof t&&Ze.hasOwnProperty(t)?e=Object.assign({},Ze[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t,e)),this.pointer){e.keepSpace=!1;let t=this.pointer[0];t&&t[1]?e.keepPunct=!1:e.keepPunct=!0}else e.keepPunct=!0;return function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;ro||o<=n&&i>n},gn=function(t){let e={};return t.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),e};var mn=function(t,e){let n=gn(e),r=[];return t.forEach(t=>{let[e]=t,o=n[e]||[];if(o=o.filter(e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e)),0===o.length)return void r.push({passthrough:t});o=o.sort((t,e)=>t[1]-e[1]);let i=t;o.forEach((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(ri&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)})}),r};var wn={one:{termList:function(t){let e=[];for(let n=0;n{if(!r)return;let[i,s,l,a,c]=r,u=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=u.length),!a||u[s]&&u[s].id===a)u=u.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<4;r+=1){if(e[n-r]){let o=e[n-r].findIndex(e=>e.id===t);if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex(e=>e.id===t);if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;u=e[n[0]].slice(n[1],n[1]+r);let i=u[0]?u[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==u.length&&s!==l&&(c&&u[u.length-1].id!==c&&(u=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex(t=>t.id===o);return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(u))}),n=n.filter(t=>t.length>0),n},pointer:{indexN:gn,splitAll:mn}}};var yn=function(t,e){let n=t.concat(e),r=gn(n),o=[];return n.forEach(t=>{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter(e=>dn(t,e));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach(t=>{t[1]n&&(n=t[2])}),[t[0][0],e,n]}(n);o.push(i)}),o=function(t){let e={};for(let n=0;n{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)}),n};var vn=function(t,e){let n=gn(e),r=[];return t.forEach(t=>{let e=n[t[0]]||[];e=e.filter(e=>dn(t,e)),0!==e.length&&e.forEach(e=>{let n=function(t,e){let n=t[1]e[2]?e[2]:t[2];return n{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},jn=function(t,e){return t.map(t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t})},En={union:function(t){t=xn(t,this);let e=yn(this.fullPointer,t.fullPointer);return e=jn(e,this.document),this.toView(e)}};En.and=En.union,En.intersection=function(t){t=xn(t,this);let e=vn(this.fullPointer,t.fullPointer);return e=jn(e,this.document),this.toView(e)},En.not=function(t){t=xn(t,this);let e=bn(this.fullPointer,t.fullPointer);return e=jn(e,this.document),this.toView(e)},En.difference=En.not,En.complement=function(){let t=this.all(),e=bn(t.fullPointer,this.fullPointer);return e=jn(e,this.document),this.toView(e)},En.settle=function(){let t=this.fullPointer;return t.forEach(e=>{t=yn(t,[e])}),t=jn(t,this.document),this.update(t)};var On={methods:wn,api:function(t){Object.assign(t.prototype,En)}};var kn=function(t,e){const n=e.one.parseMatch;return t.forEach(t=>{t.regs=n(t.match),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo])}),t};function Pn(t,e,n){return t.splice(e,1,...n),t}const _n=function(t){return t.fastOr?Array.from(t.fastOr).map(t=>[{word:t}]):t.choices},Sn=function(t,e){let n=Object.assign({},t,e);return delete n.choices,delete n.fastOr,delete n.operator,n};var An=function(t){let e=[];return t.forEach(t=>{for(let n=0;n{let o=Object.assign({},t);o.regs=o.regs.slice(0),r=r.map(e=>Sn(t.regs[n],e)),o.regs=Pn(o.regs,n,r),e.push(o)})}}e.push(t)}),e};const $n=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var Tn=function(t){return t.forEach(t=>{t.needs=Array.from(function(t){let e=new Set;return t.forEach(t=>{let n=$n(t);n?e.add(n):"and"===t.operator&&t.choices&&t.choices.forEach(t=>{t.forEach(t=>{let n=$n(t);n&&e.add(n)})})}),e}(t.regs)),t.minWords=t.regs.filter(t=>!t.optional).length}),t};var Cn=function(t){let e={};return t.forEach(t=>{t.needs.forEach(n=>{e[n]=e[n]||[],e[n].push(t)})}),e};var zn=function(t,e){return t.map(t=>{let n=[];return t.forEach(t=>{e.hasOwnProperty(t)&&(n=n.concat(e[t]))}),new Set(n)})};var Nn=function(t,e){for(let n=0;nt.needs.every(t=>r.has(t))),t[n]=t[n].filter(t=>void 0===t.ifNo||!0!==t.ifNo.some(t=>e[n].has(t)))}return t};var Fn=function(t,e,n,r){let o=[];for(let i=0;i0&&(a.ptrs.forEach(t=>{t[0]=i;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),o.push(e)}),!0===r.matchOne))return[o[0]]}return o};var Ln=function(t,e){let[n,r,o]=t.pointer,i=e[n],s=r>4?r-2:0,l=t.tag||"";var a;a=t.tag,"[object Array]"===Object.prototype.toString.call(a)&&(l=t.tag.join(" #"));let c=t.reason||t.match;c=c?`|${c}|`:"";let u=(" "+c).padEnd(20)+" - ";const h=t=>""+t+"";for(;so+2);s+=1){let t=i[s].machine||i[s].normal;u+=s>r&&s{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t});let s=i.map(t=>t.pointer);return i=i.map(t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t)),{view:this.update(s),found:i}}},methods:{one:{buildNet:function(t,e){t=kn(t,e),t=An(t);let n=(t=Tn(t)).filter(t=>0===t.needs.length),r=Cn(t);return delete r["#Noun"],delete r["#Verb"],{index:r,always:n}},bulkMatch:function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=zn(o,e.index);return i=Nn(i,o),e.always.length>0&&(i=i.map(t=>t.concat(e.always))),i=function(t,e){return t.map((t,n)=>{let r=e[n].length;return t.filter(t=>r>=t.minWords)})}(i,t),Fn(i,t,n,r)},bulkTagger:function(t,e,n){const{model:r,methods:o}=n,{getDoc:i,setTag:s,unTag:l}=o.one;if(0===t.length)return t;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};return a.DEBUG_TAGS&&console.log(`\n → ${t.length} corrections:`),t.map(t=>{if(!t.tag&&!t.chunk)return;let o=t.reason||t.match;a.DEBUG_TAGS&&Ln(t,e);let c=i([t.pointer],e)[0];if(!0===t.safe){if(!1===Vn(c,t.tag,r))return;if("-"===c[c.length-1].post)return}void 0!==t.tag&&(s(c,t.tag,n,t.safe,o),1===c.length&&"Noun"===t.tag&&c[0].text&&null!==c[0].text.match(/..s$/)&&s(c,"Plural",n,t.safe,"quick-plural")),void 0!==t.unTag&&l(c,t.unTag,n,t.safe,o),t.chunk&&c.forEach(e=>e.chunk=t.chunk)})}}}};const Dn=/ /,Gn=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},Bn=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e0)for(let e=0;e{let r=t.text||"["+t.implicit+"]";var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(25)} ${(t=>""+t+"")(n)}`)})(t[0],e,o),!0!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if(e=e.trim(),Dn.test(e))!function(t,e,n,r){let o=e.split(Dn);t.forEach((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),Bn(t,i,n,r))})}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;nUn(t,e,n,r))};var Mn=Un;var Wn=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r0)for(let t=0;t/),n=[];e.forEach(t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map(t=>t.trim()).filter(t=>t),e=e.map(t=>In({id:t})),e}return[In({id:t})]}(t))}),n=n.filter(t=>t);let r=n[0];for(let t=1;t{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach(n=>{e&&e(t,n),r.push(n)})}return n},Zn=t=>"[object Array]"===Object.prototype.toString.call(t),Kn=t=>(t=t||"").trim(),Jn=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach(t=>{if(!t.trim()||Qn.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:Rn(t)})});let r=function(t){let e={children:[]};return t.forEach((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent{e[t.id]=t});let n=In({});return t.forEach(t=>{if((t=In(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)}),n}(t):(Hn(e=t).forEach(In),e);var e},Xn=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Hn(t).forEach((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"}),r},Yn=function(t){let e=Hn(t);e.forEach(t=>{delete(t=Object.assign({},t)).children});let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},tr={text:Xn,txt:Xn,array:Yn,flat:Yn},er=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Xn(t,!0)),null):tr.hasOwnProperty(e)?tr[e](t):t},nr=t=>{Hn(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))})},rr=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=Kn(t),!rr.test(t)){let e=this.json.children.find(e=>e.id===t);return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;et.id===n[e]);if(!r)return null;t=r}return t})(this.json,t)||In({});return new g(e)}add(t,e={}){if(Zn(t))return t.forEach(t=>this.add(Kn(t),e)),this;t=Kn(t);let n=In({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Kn(t),this.json.children=this.json.children.filter(e=>e.id!==t),this}nodes(){return Hn(this.json).map(t=>(delete(t=Object.assign({},t)).children,t))}cache(){return(t=>{let e=Hn(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))}),n={};e.forEach(t=>{t.id&&(n[t.id]=t)}),e.forEach(t=>{t._cache.parents.forEach(e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)})}),t._cache.children=Object.keys(n)})(this.json),this}list(){return Hn(this.json)}fillDown(){var t;return t=this.json,Hn(t,(t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach(n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else Zn(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])}),t))(e.props,t.props)}),this}depth(){nr(this.json);let t=Hn(this.json),e=t.length>1?1:0;return t.forEach(t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)}),e}out(t){return nr(this.json),er(this.json,t)}debug(){return nr(this.json),er(this.json,"debug"),this}}const or=function(t){let e=Jn(t);return new g(e)};or.prototype.plugin=function(t){t(this)};var ir={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const sr=function(t){if(ir.hasOwnProperty(t.id))return ir[t.id];if(ir.hasOwnProperty(t.is))return ir[t.is];let e=t._cache.parents.find(t=>ir[t]);return ir[e]};var lr=function(t){const e={};return t.forEach(t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:sr(t)}}),Object.keys(e).forEach(t=>{let n=new Set(e[t].not);e[t].not.forEach(t=>{e[t]&&e[t].children.forEach(t=>n.add(t))}),e[t].not=Array.from(n)}),e};const ar=function(t){return t?"string"==typeof t?[t]:t:[]};var cr=function(t,e){return t=function(t,e){return Object.keys(t).forEach(n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))}),t}(t,e),Object.keys(t).forEach(e=>{t[e].children=ar(t[e].children),t[e].not=ar(t[e].not)}),Object.keys(t).forEach(e=>{(t[e].not||[]).forEach(n=>{t[n]&&t[n].not&&t[n].not.push(e)})}),t};var ur={one:{setTag:Mn,unTag:Wn,addTags:function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach(e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0}),t}(t)),t=cr(t,e);const n=function(t){const e=Object.keys(t).map(e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}});return or(e).cache().fillDown().out("array")}(Object.assign({},e,t));return lr(n)}}};const hr=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var fr={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),hr(t)?t.forEach(t=>o.one.setTag(r,t,s,n,e)):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return hr(t)?t.forEach(t=>r.one.unTag(n,t,s)):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach((t,e)=>{t.forEach((t,o)=>{n.find(e=>t.tags.has(e))&&r.push([e,o,o+1])})});let o=this.update(r);return this.difference(o)}};var pr=function(t){Object.assign(t.prototype,fr)};var dr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const gr=new Set(["Auxiliary","Possessive"]);var mr={model:{one:{tagSet:{}}},compute:{tagRank:function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach(t=>{t.forEach(t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t.sort((t,n)=>{if(gr.has(t)||!e.hasOwnProperty(n))return 1;if(gr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})}(e,r)})})}},methods:ur,api:pr,lib:dr};const wr=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,yr=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var br=function(t){let e=[],n=t.split(yr);for(let t=0;t0&&(r.push(e),o[t]="")}if(0===r.length)return[t];for(let t=1;t(t[e]=!0,t),{});const Vr=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,qr=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Dr=/['’]/,Gr=/^[a-z]\.([a-z]\.)+/i,Br=/^[-+.][0-9]/,Ur=/^'[0-9]{2}/;var Mr=function(t){let e=t,n="",r="";return""===(t=(t=t.replace(Vr,e=>(n=e,"-"!==n&&"+"!==n&&"."!==n||!Br.test(t)?"'"===n&&Ur.test(t)?(n="",e):"":(n="",e)))).replace(qr,o=>(r=o,Dr.test(o)&&/[sn]['’]$/.test(e)&&!1===Dr.test(n)?(r=r.replace(Dr,""),"'"):!0===Gr.test(t)?(r=r.replace(/\./,""),"."):"")))&&(e=e.replace(/ *$/,t=>(r=t||"","")),t=e,n=""),{str:t,pre:n,post:r}};var Wr=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Ir=/([A-Z]\.)+[A-Z]?,?$/,Qr=/^[A-Z]\.,?$/,Rr=/[A-Z]{2,}('s|,)?$/,Hr=/([a-z]\.)+[a-z]\.?$/;var Zr=function(t){return function(t){return!0===Ir.test(t)||!0===Hr.test(t)||!0===Qr.test(t)||!0===Rr.test(t)}(t)&&(t=t.replace(/\./g,"")),t};var Kr=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=Wr(r),r=n(r,e),r=Zr(r),t.normal=r};var Jr={one:{killUnicode:function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach((t,e)=>{n[t]&&(r[e]=n[t])}),r.join("")},tokenize:{splitSentences:_r,splitTerms:function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(Fr);for(let t=0;t0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=Cr(n),n=$r(n),n=n.filter(t=>t),n},splitWhitespace:t=>{let{str:e,pre:n,post:r}=Mr(t);return{text:e,pre:n,post:r,tags:new Set}},fromString:function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",r).map(t=>{let n=i(t,r);return n=n.map(s),n.forEach(t=>{Kr(t,e)}),n})}}}};var Xr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yr={},to={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(t=>{t[0].forEach(e=>{Yr[e]=!0,to[e]="Abbreviation",void 0!==t[1]&&(to[e]=[to[e],t[1]])})});var eo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((t,e)=>(t[e]=!0,t),{});let no={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ro={};Object.keys(no).forEach((function(t){no[t].split("").forEach((function(e){ro[e]=t}))}));const oo=/\//,io=/[a-z]\.[a-z]/i,so=/[0-9]/;var lo=function(t,e){let n=t.normal||t.text;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),oo.test(n)&&!io.test(n)&&!so.test(n)){let e=n.split(oo);e.length<=2&&e.forEach(e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))})}return t};const ao=/^\p{Letter}+-\p{Letter}+$/u;var co=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),ao.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)};var uo=function(t){let e=0,n=0,r=t.document;for(let t=0;tho(t,lo),machine:t=>ho(t,co),normal:t=>ho(t,Kr),freq:function(t){let e=t.docs,n={};for(let t=0;t{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l{delete r[t]}),r};const mo={safe:!0,min:3};var wo={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},mo,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=go(t,e,this.world());return Object.keys(o).forEach(t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]}),this}};var yo={model:{one:{typeahead:{}}},api:function(t){t.prototype.autoFill=po},lib:wo,compute:{typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;let r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){let n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};d.extend(H),d.extend(pn),d.extend(Ve),d.extend(On),d.extend(mr),d.plugin(wt),d.extend(fo),d.plugin(w),d.extend(At),d.extend(yo),d.extend(jt),d.extend(qn);export{d as default}; diff --git a/builds/three/compromise-three.cjs b/builds/three/compromise-three.cjs index eff2c8b54..cd70b4154 100644 --- a/builds/three/compromise-three.cjs +++ b/builds/three/compromise-three.cjs @@ -1,2 +1,2 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map((e,t)=>[t])),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);return a.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(r.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):a):a;var o};let d=Object.assign({},e);const m=function(e,t){t&&m.addWords(t);let n=h(e,s,d);return n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(e,t){const{compute:n}=this._world;t&&m.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(e){return u(e,this._world,s,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},m.version="14.1.2";var p=m;const g=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},f=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},b=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},v=function(e){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(e)||/^[A-Z]$/.test(e)},y=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?f(n):(f(n),f([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!v(r.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||v(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^[A-Z]/,e=>e.toLowerCase()))}(e,o,n),g(e,o,n)},w=(new Date).getTime(),k=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var P=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-w;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=k((r=r>46655?46655:r).toString(36));a+=k(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const A=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},D=e=>"[object Array]"===Object.prototype.toString.call(e),j=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.docs[0]:D(e)?D(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.forEach(e=>{e.id=P(e)}),e}(d),n?(A(t.update([u]).firstTerm()),y(h,u,d,r)):(A(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(I,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));r.insertAfter(e),a.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this}};var G=T;const E={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let a=n.fullPointer,o=r.fullPointer.reverse(),i=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e}(this.document,o),s=t(o);return a=a.map(e=>{let[t]=e;return s[t]?(s[t].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e}),a=a.filter((e,t)=>{if(e[2]-e[1]<=0){for(let e=t+1;et[0]===e).forEach(e=>{e[0]-=1});return!1}return!0}),a=a.map(e=>(e[3]=null,e[4]=null,e)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):n.none()}};E.delete=E.remove;var C=E;const O={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};O.deHyphenate=O.dehyphenate,O.toQuotation=O.toQuotations;var B=O,V={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const z=new Set(["index","sequence","seq","sequential","chron","chronological"]),F=new Set(["freq","frequency","topk","repeats"]),$=new Set(["alpha","alphabetical"]);var S={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return z.has(e)&&(e="sequential"),$.has(e)&&(e="alpha"),F.has(e)?(a=V.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof V[e]?(a=a.sort(V[e]),this.update(a.map(e=>e.pointer))):this}};const H=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var M={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return g(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=H(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=H(this.document,e);return this.document=t,this.all()}var a;return this}},W={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},N,G,C,B,S,M,W);var L={api:function(e){Object.assign(e.prototype,J)},compute:{id:function(e){let t=e.docs;for(let e=0;e{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},K=function(e,t){let{ptrs:n,byGroup:r}=e;return n=q(n,t),Object.keys(r).forEach(e=>{r[e]=q(r[e],t)}),{ptrs:n,byGroup:r}},U=e=>e&&"object"==typeof e&&!0===e.isView;var R={matchOne:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e).eq(0);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(U(e))return e.fullPointer.length>0;"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(U(e))return this.filter(t=>t.intersection(e).found);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer;return o=o.filter(e=>{let t=this.update([e]);return r.match(t.docs,a,this._cache).ptrs.length>0}),this.update(o)},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;return U(e)?this.difference(e):("string"==typeof e&&(e=a.parseMatch(e,n)),this.filter(n=>{let r={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,r,n._cache).ptrs.length}))}},Z={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Q=function(e,t){return[e[0],e[1],t[2]]},_=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Y=function(e,t){let[n,r]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id),e},X={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Q(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Q(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)}};X.split=X.splitAfter;var ee=X;const te=Object.assign({},R,Z,ee);te.lookBehind=te.before,te.lookBefore=te.before,te.lookAhead=te.after,te.lookAfter=te.after,te.notIf=te.ifNo;var ne=function(e){Object.assign(e.prototype,te)};const re=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),se=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var le=function(e){let t=e.split(re),n=[];t.forEach(e=>{ie(e)?n.push(e):n=n.concat(e.split(ae))}),n=se(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ie(e)?r.push(e):r=r.concat(e.split(oe))}),r=se(r),r};const ue=/\{([0-9]+)?(, *[0-9]*)?\}/,ce=/&&/,he=new RegExp(/^<\s*(\S+)\s*>/),de=e=>e.charAt(0).toUpperCase()+e.substr(1),me=function(e){return e[e.length-1]},pe=function(e){return e[0]},ge=function(e){return e.substr(1)},fe=function(e){return e.substr(0,e.length-1)},be=function(e){return e=ge(e),e=fe(e)},ve=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===me(e)&&(n.end=!0,e=fe(e)),"^"===pe(e)&&(n.start=!0,e=ge(e)),("["===pe(e)||"]"===me(e))&&(n.group=null,"["===pe(e)&&(n.groupStart=!0),"]"===me(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===pe(e))){const t=he.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===me(e)&&(n.greedy=!0,e=fe(e)),"*"!==e&&"*"===me(e)&&"\\*"!==e&&(n.greedy=!0,e=fe(e)),"?"===me(e)&&(n.optional=!0,e=fe(e)),"!"===pe(e)&&(n.negative=!0,e=ge(e)),"~"===pe(e)&&"~"===me(e)&&e.length>2&&(e=be(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===pe(e)&&")"===me(e)){ce.test(e)?(n.choices=e.split(ce),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=ge(n.choices[0]);let r=n.choices.length-1;n.choices[r]=fe(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>ve(e,t))),e=""}if("/"===pe(e)&&"/"===me(e))return e=be(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===pe(e)&&"}"===me(e))return e=be(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===pe(e)&&">"===me(e))return e=be(e),n.chunk=de(e),n.greedy=!0,n;if("%"===pe(e)&&"%"===me(e))return e=be(e),n.switch=e,n}return!0===ue.test(e)&&(e=e.replace(ue,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===pe(e)?(n.tag=ge(e),n.tag=de(n.tag),n):"@"===pe(e)?(n.method=ge(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ye=ve,we=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let r=0;r{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},ke=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=le(e);return n=n.map(e=>ye(e,t)),n=we(n,t),n};const Pe=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ae=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Ge=(e,t)=>-1!==e.pre.indexOf(t),Ee={hasQuote:e=>je.test(e.pre)||xe.test(e.post),hasComma:e=>Te(e,","),hasPeriod:e=>!0===Te(e,".")&&!1===Te(e,"..."),hasExclamation:e=>Te(e,"!"),hasQuestionMark:e=>Te(e,"?")||Te(e,"¿"),hasEllipses:e=>Te(e,"..")||Te(e,"…")||Ge(e,"..")||Ge(e,"…"),hasSemicolon:e=>Te(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Ne.test(e.post)||Ne.test(e.pre),hasDash:e=>Ie.test(e.post)||Ie.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(e.text),isUpperCase:e=>/^[A-Z]+$/.test(e.text)};Ee.hasQuotation=Ee.hasQuote;var Ce=Ee;let Oe=function(){};Oe=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(De(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ce[t.method]&&!0===Ce[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?!(!e.implicit||!0!==t.fastOr.has(e.implicit))||t.fastOr.has(e.normal)||t.fastOr.has(e.text):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>Oe(e,t,n,r)):t.choices.some(t=>Oe(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var Be=Oe;const Ve=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(ze(e,e.t).length=r-e.t),e.t=r,!0)};const $e=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Be(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Be(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(ze(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Me=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==Be(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null},We=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Be(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Be(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},Je=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},Le=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},qe=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&We(e),r.implicit&&e.terms[e.t+1]&&Le(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Je(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=ze(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},Ke=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==Ve(e,a)){if(!0!==Be(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative&&!Me(a))return null;if(!0!==e.optional)return null}else if(!qe(a))return null}else if(!qe(a))return null}else if(!qe(a))return null}else if(!He(a))return null}else if(!Se(a))return null}else if(!Fe(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}},Ue=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Re=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Ze=function(e,t,n){let r=Ke(e,t,0,e.length);return r?(r=Re(r,n),r):null};var Qe={api:ne,methods:{one:{termMethods:Ce,parseMatch:ke,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Ze(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ue(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){return this.world().methods.one.parseMatch(e,t)}}};const _e=/^\../,Ye=/^#./,Xe=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),_e.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var et={html:function(e){let{starts:t,ends:n}=Xe(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(nt,""),at.test(a)&&(a=" "),a=a.replace(rt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(nt,""),a="-"===a?" ":a.replace(tt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&ot.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},st={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};st.clean=st.normal,st.reduced=st.root;var lt=st;const ut={text:!0,terms:!0};let ct={case:"none",unicode:"some",form:"machine",punctuation:"some"};const ht=function(e,t){return Object.assign({},e,t)},dt={text:e=>it(e,{keepPunct:!0},!1),normal:e=>it(e,ht(lt.normal,{keepPunct:!0}),!1),implicit:e=>it(e,ht(lt.implicit,{keepPunct:!0}),!1),machine:e=>it(e,ct,!1),root:e=>it(e,ht(ct,{form:"root"}),!1),offset:e=>{let t=dt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};dt.sentences=dt.sentence,dt.clean=dt.normal,dt.reduced=dt.root;const mt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},ut,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&dt[o]&&(a[o]=dt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};mt.data=mt.json;var pt=mt,gt=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const ft="";var bt={green:e=>""+e+ft,red:e=>""+e+ft,blue:e=>""+e+ft,magenta:e=>""+e+ft,cyan:e=>""+e+ft,yellow:e=>""+e+ft,black:e=>""+e+ft,dim:e=>""+e+ft,i:e=>""+e+ft},vt=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(bt.blue("\n ──────")),t.forEach(e=>{console.log(bt.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=bt.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=bt.blue(" │ ")+bt.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return bt[n](e)})),e.join(", ")}(t,n);console.log(o)})})},yt=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(bt.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(bt.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(bt.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(bt.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},wt=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${bt.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const kt=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Pt=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},Dt={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&<.hasOwnProperty(e)?t=Object.assign({},lt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},It=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var Tt=function(e,t){let n=It(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r},Gt={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n},pointer:{indexN:It,splitAll:Tt}}},Et=function(e,t){let n=e.concat(t),r=It(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>Nt(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},Ot=function(e,t){let n=It(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>Nt(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Vt=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},zt={union:function(e){e=Bt(e,this);let t=Et(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)}};zt.and=zt.union,zt.intersection=function(e){e=Bt(e,this);let t=Ot(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.not=function(e){e=Bt(e,this);let t=Ct(this.fullPointer,e.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.difference=zt.not,zt.complement=function(){let e=this.all(),t=Ct(e.fullPointer,this.fullPointer);return t=Vt(t,this.document),this.toView(t)},zt.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=Et(e,[t])}),e=Vt(e,this.document),this.update(e)};var Ft={methods:Gt,api:function(e){Object.assign(e.prototype,zt)}};const $t=/ /,St=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Ht=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),$t.test(t))!function(e,t,n,r){let a=t.split($t);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),Ht(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nMt(e,t,n,r))};var Wt=Mt,Jt=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Lt({id:e})),t}return[Lt({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Rt=e=>"[object Array]"===Object.prototype.toString.call(e),Zt=e=>(e=e||"").trim(),Qt=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||qt.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Kt(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Lt({});return e.forEach(e=>{if((e=Lt(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Ut(t=e).forEach(Lt),t);var t},_t=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Ut(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},Yt=function(e){let t=Ut(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Xt={text:_t,txt:_t,array:Yt,flat:Yt},en=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(_t(e,!0)),null):Xt.hasOwnProperty(t)?Xt[t](e):e},tn=e=>{Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},nn=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zt(e),!nn.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||Lt({});return new g$1(t)}add(e,t={}){if(Rt(e))return e.forEach(e=>this.add(Zt(e),t)),this;e=Zt(e);let n=Lt({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zt(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Ut(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Ut(this.json)}fillDown(){var e;return e=this.json,Ut(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Rt(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){tn(this.json);let e=Ut(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return tn(this.json),en(this.json,e)}debug(){return tn(this.json),en(this.json,"debug"),this}}const rn=function(e){let t=Qt(e);return new g$1(t)};rn.prototype.plugin=function(e){e(this)};var an={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const on=function(e){if(an.hasOwnProperty(e.id))return an[e.id];if(an.hasOwnProperty(e.is))return an[e.is];let t=e._cache.parents.find(e=>an[e]);return an[t]};var sn=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a}=e.props,o=e._cache.parents;r&&(o=o.concat(r)),t[e.id]={is:a,not:n,also:r,parents:o,children:e._cache.children,color:on(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const ln=function(e){return e?"string"==typeof e?[e]:e:[]};var un=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=ln(e[t].children),e[t].not=ln(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},cn={one:{setTag:Wt,unTag:Jt,addTags:function(e,t){e=un(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is};return{id:t,parent:n.is,props:r,children:[]}});return rn(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sn(n)}}};const hn=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var dn={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),hn(e)?e.forEach(e=>a.one.setTag(r,e,i,n)):a.one.setTag(r,e,i,n),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return hn(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}},mn=function(e){Object.assign(e.prototype,dn)},pn={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const gn=new Set(["Auxiliary","Possessive"]);var fn={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(gn.has(e)||!t.hasOwnProperty(n))return 1;if(gn.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:cn,api:mn,lib:pn};const bn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vn=/((?:\r?\n|\r)+)/;var yn=function(e){let t=[],n=e.split(vn);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Fn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,$n=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Sn=/['’]/,Hn=/^[a-z]\.([a-z]\.)+/i,Mn=/^[-+.][0-9]/,Wn=/^'[0-9]{2}/;var Jn=function(e){let t=e,n="",r="";return""===(e=(e=e.replace(Fn,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Mn.test(e)?"'"===n&&Wn.test(e)?(n="",t):"":(n="",t)))).replace($n,a=>(r=a,Sn.test(a)&&/[sn]['’]$/.test(t)&&!1===Sn.test(n)?(r=r.replace(Sn,""),"'"):!0===Hn.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}},Ln=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const qn=/([A-Z]\.)+[A-Z]?,?$/,Kn=/^[A-Z]\.,?$/,Un=/[A-Z]{2,}('s|,)?$/,Rn=/([a-z]\.)+[a-z]\.?$/;var Zn=function(e){return function(e){return!0===qn.test(e)||!0===Rn.test(e)||!0===Kn.test(e)||!0===Un.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Qn=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Ln(r),r=n(r,t),r=Zn(r),e.normal=r},_n={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=e.split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Nn,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Vn);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Cn(n),n=Gn(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Jn(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Qn(e,t)}),n})}}}},Yn={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xn={},er={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Xn[t]=!0,er[t]="Abbreviation",void 0!==e[1]&&(er[t]=[er[t],e[1]])})});var tr=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let nr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},rr={};Object.keys(nr).forEach((function(e){nr[e].split("").forEach((function(t){rr[t]=e}))}));const ar=/\//,or=/[a-z]\.[a-z]/i,ir=/[0-9]/;var sr=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),ar.test(n)&&!or.test(n)&&!ir.test(n)){let t=n.split(ar);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e},lr=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(t)&&(t=t.replace("-","")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ur=function(e){let t=0,n=0,r=e.document;for(let e=0;ecr(e,sr),machine:e=>cr(e,lr),normal:e=>cr(e,Qn),freq:function(e){let t=e.docs,n={};for(let e=0;ee.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const mr=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const fr=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var br=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=fr(e.goNext,void 0),e.failTo=fr(e.failTo,0),e.endAs=fr(e.endAs,null),e},vr={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:dr(e,this.world));var r;let a=gr(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=dr(e,this.world());return br(t)}}};const yr={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var wr={api:function(e){Object.assign(e.prototype,yr)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit);let n=Array.from(e.tags);for(let e=0;e{!0!==e.optional&&!0!==e.negative&&(e.tag&&t.add("#"+e.tag),e.word&&t.add(e.word))}),t}}}};const kr=function(){const e=this.docs;if(0===e.length)return this;let t=e[e.length-1]||[],n=t[t.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var Pr=function(e,t,n){let r={},a=[],o=n.prefixes||{};return e.forEach(e=>{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const Ar={safe:!0,min:3};var Dr={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=kr},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Ar,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=Pr(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]},jr=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,"1-lexicon-alias"),!0}if(!0===xr.test(l)){let e=l.replace(xr,"");if(i.hasOwnProperty(e)&&e.length>3&&Nr.has(i[e]))return o([s],i[e],n,"1-lexicon-prefix"),!0}return null},Tr={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]},Gr={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}},Er=function(e,t,n){let[r,a]=t;n&&0!==n.length&&((n=n.map(e=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Cr=/'/,Or=new Set(["what","how","when","where","why"]),Br=new Set(["be","go","start","think","need"]),Vr=new Set(["been","gone"]);var zr=function(e,t){let n=e[t].normal.split(Cr)[0];if(Or.has(n))return[n,"did"];if(e[t+1]){if(Vr.has(e[t+1].normal))return[n,"had"];if(Br.has(e[t+1].normal))return[n,"would"]}return null};const Fr=/'/;var $r=function(e,t){let n=e[t].normal.split(Fr)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]},Sr=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const Hr=/'/;var Mr=(e,t)=>["je",e[t].normal.split(Hr)[1]],Wr=(e,t)=>{let n=e[t].normal.split(Hr)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Jr=(e,t)=>{let n=e[t].normal.split(Hr)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Lr=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,qr=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var Kr=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(Lr);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(qr),null!==r?[r[1],"to",r[4]]:null)};const Ur=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Rr=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Zr=(e,t)=>{let n=e[t],[r]=n.normal.split(/'s/);if(Ur.has(r))return!0;let a=e[t+1];return!(!a||!Rr.has(a.normal))};const Qr=/'/,_r=/^[0-9][^-–—]*[-–—].*?[0-9]/,Yr=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Xr={t:(e,t)=>Sr(e,t),d:(e,t)=>zr(e,t),s:(e,t)=>!0===Zr(e,t)?$r(e,t):null},ea={j:(e,t)=>Mr(e,t),l:(e,t)=>Wr(e,t),d:(e,t)=>Jr(e,t)},ta=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===Qr.test(r[s].normal)&&([l,u]=r[s].normal.split(Qr));let c=ta(o,r[s],l,u);!c&&Xr.hasOwnProperty(u)&&(c=Xr[u](r,s,t)),!c&&ea.hasOwnProperty(l)&&(c=ea[l](r,s)),c?(c=na(c,e),Er(n,[i,s],c),Yr(n[i],e)):_r.test(r[s].normal)&&(c=Kr(r,s),c&&(c=na(c,e),Er(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),Yr(n[i],e)))}})}},hooks:["contractions"]};p.extend(L),p.extend(xt),p.extend(Qe),p.extend(Ft),p.extend(fn),p.plugin(ra),p.extend(hr),p.plugin(wr),p.extend(vr),p.extend(Dr),p.extend(Tr);var aa={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},oa={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Uncountable:"true¦0:2O;1:1W;2:24;a2Db24c1Ud1Le1Df17g10h0Ti0Nj0Mk0Ll0Hm06n04o03pXrSsHt8vi7w3;a5i4oo3;d,l;ldlife,ne;rm7t2;neg1Rol0Mtae;eAh9oothpas1Lr4un3yranny;a,gst1T;aff00ea16o4ue nor3;th;oZu3;ble3se1Dt;!shoot1V;ermod29und2;a,nnis;aBcene0Heri1hAil9ki8o7p6t4u3weepstak1;g1Gnshi10;ati28e3;am,el;ace21eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;d0Nfe1Ul3nd,t0B;m1Kt;a6e4ic3;e,ke0V;c3laxa0Ssearch;ogni0Rrea0R;bi1in;aVe7hys0lastDo5re3;amble,mis1s3ten1J;en1Isu0C;l3rk;it0yD;a1Ntr06;bstetr0vercrowd16xyg0Z;a3ews;il polWtional securi1F;aBe9o6u3;m4s3;ic;ps;n3o17;ey,o3;gamy;a3chan0rchandi14tallurgy;sl1t;chine3themat0; learn0Try;aught2e5i4ogi1Au3;ck,g0V;ce,ghtn0Qngui18teraR;ath2isuRss;indergart0Hnowled0T;azz,ewelCusti13;ce,gnor7mp4n3tself;formaYternet;a3ort5;ti3;en0Y;an0X;a6eIisto5o3;ckey,mework,ne3rserad7spitali0Q;s0Py;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0R;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;icFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti03;body,o3thU;ne;joy3tertain3;ment;ici01on0;tiR;e9i6o4raugh3ynasZ;ts;pe,wnstai3;rs;abet1s3;honTrepu3;te;b3miP;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eGw8;us;d,rI;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarDs3;on;g3ss;ga3;ge;cDdviCeroAir9m5ni4ppeal court,spi3thlet0;rin;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4B;a3Eb2Wc2Dd25e21f1Wg1Oh1Ji1Gj1Ek1Cl17m0Vn0Io0Fp08qu07r00sTtGuBv8w3xiaomi,y1;amaha,m12ou1w12;gov,tu2X;a3e1orld trade organizati2Q;lls fargo,st1;fie27inghou2G;l1rner br3G;gree35l street journ28m16;an halOeriz2Lisa,o1;dafo2Ml1;kswagMvo;b4kip,n2ps,s1;a tod2Wps;es38i1;lev31ted natio2Y;er,s; mobi2Oaco bePd bMeAgi frida9h3im horto2Wmz,o1witt2Z;shiba,y1;ota,s r Z;e 1in lizzy;b3carpen35daily ma2Zguess w2holli0rolling st1Qs1w2;mashing pumpki2Ruprem0;ho;ea1lack eyed pe3Jyrds;ch bo1tl0;ys;l2n3Bs1xas instrumen1I;co,la m14;efoni0Bus;a6e4ieme2Jnp,o2pice gir5quare03ta1ubaru;rbucks,to2P;ny,undgard1;en;a2Tx pisto1;ls;few29insbury2PlesforYmsu21;.e.m.,adiohead,b6e3oyal 1yana2Z;b1dutch she4;ank;aders dige1Gd 1max,vl1Q;bu1c1Yhot chili peppe2Mlobst2B;ll;c,s;ant2Zizno2H;a5bs,e3fiz27hilip morrCi2r1;emier29udenti16;nk floyd,zza hut;psi2Atro1uge0A;br2Uchina,n2U;lant2Mn1yp12; 2ason1Zda2H;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Gtflix,w1; 1sweek;kids on the block,york09;a,c;nd1Us2t1;ional aca2Ho,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Lnsanto,ody blu0t1;ley crue,or0N;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt13z1Y;'ore08a3e1g,ittle caesa1J;novo,x1;is,mark; 1bour party;pres0Az boy;atv,fc,kk,m1od1I;art;iffy lu0Loy divisi0Fpmorgan1sa;! cha06;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Qi3o1sbc,yundai;me dep1n1K;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Ku1;cci,ns n ros0;ldman sachs,o1;dye1g0D;ar;axo smith kli02encoU;electr0Jm1;oto0V;a4bi,da,edex,i2leetwood mac,o1rito l0C;rd,xcW;at,nancial1restoX; tim0;cebook,nnie mae;b07sa,u3xxon1; m1m1;ob0G;!rosceptics;aiml0Ae6isney,o4u1;nkin donu2po0Wran dur1;an;ts;j,w j1;on0;a,f lepp0Yll,peche mode,r spiegYstiny's chi1;ld;aHbc,hDiBloudflaAnn,o3r1;aigsli5eedence clearwater reviv1ossra05;al;ca c6inba5l4m1o0Ast05;ca2p1;aq;st;dplOgate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7O;1:6H;2:7U;3:7K;4:7X;5:7T;6:6T;7:7E;8:71;9:6P;a7Gb6Sc5Rd57e4Zf4Bg42h3Ui3Oj3Mk3Kl3Am31n2Xo2Tp21ques7Ir1Ds07tTuRvMwCyBzA;ip,o6A;awn,e1Wie4R;aHeaGhEiCoAre7I;nd0rA;k,ry;mp,nApe,re,sh,tne7Z;!d,g;e6EiA;p,st6;r,th0;it,rAs5t3ve,x;ehou1ra7Y;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l38;pAsh0;da5gra4W;aLeKhrJiIoHrDuBwiAy4L;n,st;nArn;e,n5Z;aCeBiAu7;bu5ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Pss,t72u3;ck,e,me,p,re;e1Low,u7;ar,e,st;g,lArg5Zs5;k,ly;a0Ec09e06h01iZkXlVmUnTou68pPtFuBwA;ear,it3;b1Wit,m,ppBrAspe4;ge,pri1vey;lAo58;e55y;aHeGiFoDrBuAy6;dy,ff,mb6;a68eAi4C;am,ss,t3;p,rA;e,m;ck,t3;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Hons6IrAy;ay,e10ink6u2;n,r6Ete;n,rk;ee1Dow;e0Fi6o3Z;eep,iA;ce,p,t;ateboa5ViA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i30;pe,re;aBed,nArv14t;se,t1W;l,r3t;aDhedu6oCrA;at3eA;en,w;re,ut;le,n,r0H;crifi2il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1A;as5AcOdo,el,fMgLje4lKmInHo0TpFque7sCturn,vAwa58;eAi1H;al,r1;er5FoBt,uA;lt,me;l5Drt;air,eaAly,o3V;l,t;dezvo23t;aAedy;ke,rk;ea1i3B;a4Wist0r4A;act5Aorm,uA;nd,se;aAo4Tru8;ll;ck,i1ke,l44nAtT;ge,k;aYeVhTiQlLoIrBuA;mp,n3rcha1sh;ai1eEi2oAu3H;be,ceCdu2grAje4mi1te7;amAe59;!me;ed,ss;sAy;er4Rs;iBlAol,p,re,s2Pw0;i2l;nt,s4G;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Sm8;!l;cka9iBn,rtAss,t3u1;!y;nt,r;bCff0il,oBrAutli2R;d0ie4P;ze;je4;a3JeCoA;d,tA;e,i2;ed,gle4rd,t;aFeDiCoBuA;rd0;d2Snit42p,ve;lk,n2Wrr41x;asu11n3MrAss;ge,it;il,nBp,rk2XsAt3;h,k;da5oeuv0X;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0CvA;el,y;ch,d,p,se;bBcAnd,t3un3;e,k;el,o23;e2BiAno3A;ck,ll,ss;am,o15uA;d9i2;mpEnBr34ssA;ue;cr17dex,fluBha6k,se1TterviAvoi2;ew;en2;a4le1O;aEeCiBoAu3P;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo2Ym,ne3Eve7;!le;aHeek,lo3CoGrCuA;arAe3Bi0Ln;antee,d;aCiBoAumb6;om,u29;nd,p;de,sp;of,ssip;in,me,ng,s,ze;aWeSiNlJoGrCuA;el,nAzz;c2Ed;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Nm;us;aCe0Jip,oAy;at,od,wA;!er;g,re,sh,vo0Y;eDgClBnAre,sh,t,x;an2i0E;e,m,t0;ht,uE;ld;aBeAn2;d,l;r,tuA;re;ce,il,ll,rm,vo20;cho,nGsExAye;cCerci1hib8pAtra4;eriAo0I;en2me2H;el,han9;caAtima5;pe;count0d,gine0vy;aReLiFoErBuAye;b,mp;aBeam,iA;ft,nk,ve;ft,in;cu05d9ubt;p,sCvA;e,iAor2;de;char9liBpA;at3lay;ke;al,ba5cDfeClBma0Wpos8siAtail;gn,re;ay,ega5;at,ct;liXrA;ea1;ma9n2rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu4glomeDstru4tAveI;a4rA;a7ol;ntArn;ra5;biEfoDmCpA;leAou08romi1;me1B;a06e1Au5;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t3u1ve;se;d,e;aTeQiPlMoIrDuAypa0M;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan2nCrgaBsA;e,h;in;!d,g,k;c00dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa3;ch;al;chAsw0;or;er;d,m,r;ia5;dDvA;an2oca5;te;ce;i4reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aNbrigadiMcGdFexcellency,fiAliCma9officMp5queen,r2s0taoiseach,vice4;e0ultI;cond liArgeaB;abbi,e0;ar0verend; adJ;astFr0;eside6i0ofessE;me ministEnce0;!ss;gistrate,r4yB;eld mar3rst l0;ady,i0;eutena0;nt;shA;oct5utchess;aptain,hance3o0;lonel,mmand4ngress0unci2;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:49;1:4U;2:4V;3:4K;4:4I;5:3I;6:4H;a4Hb3Wc32d2Ne2Ff27g1Wh1Kin1Ijel3k1Gl1Dm15n13o0Zp0Jqu0Ir09sQtHuEvAw7;a7ha34om23;f0i4Jt0Ay7;! arou45;arn45e8o7;cabu03l4Q;gGr7;di6t1C;nc2Xp2Ir8s 7;doll3Is4Q;bani1in2; rex,aEeDhCiAo9r8u7v show;m2An5rntGto10;agedy,ibe,o3S;p5rq37;c,de,er,m7;etC;ere,i3Z;am,mp32;ct5le4x return;aOcMeLhKi1kIoHtCu9y7;ll7n1Zst4B;ab2J;b8nri13per bowl,r7;f0roga1;st35tot2;aAep9ipe3Ir8udent7;! lo1D;ang0i3O;fa18mo18;ff0t2T;loi3Qme0Z;elet0Wi7;er,ll,rm3C;ack,or3X;ab0Ncurity gu27;e4ho7;l2Qol;la2T;av0PeAhetor5i8o7;de4om;te,v7;erb0G;bAc9f7publ5r0Hspi1;er7orm0;e4r2;it2ord label;a1u3N;estion mark,ot21;aJeIhHiFlDr8u7yram13;ddi32ppy,rpo0C;eAie36o7;bl3Gs7;pe6t7;a1itu1;diction,mi07roga1Ess relea07;a7ebisci1;q20te,y0;cn5e7g;!r;armaci2XotocoE;dest2ncil,rcen36t2;n8te7;!nt;el2Jop3;bjec14c8pia1rde2thers,ve7wn0;n,rview;cu7e09;pi0;an23it1Xot7umb0;a1Xhi2I;aCeBili0Vo8u7é0A;m0Mr2;m8nopo3pLrni2Fsq1Kt7u0Z;h0i0W;!my;d5nu;mm2nd0Zte7yf3;ri2;aurea1i8u7;ddi1nch;ght bulb,p07;ey7ittI;!no1;cide4dices,se6te4vert7;eb1H;aHeaDighBo7uman right,ygie0Y;le,me8tb7;ed;! r7;un; scho10ri7;se;d8v7;en; start,ph7;one;m,ndful,ze;aFeDirl1HlaNoCr8u7;l3y;an7enadi0id;a12d7; slam,fa7mo7;th0;d,lf0;lat0Cntlem7;an;df3r7;l5n19;aDella,iBlAol3r7;ee market,i8on7;ti0;e14ga1;ame,u1;nan7ref3;ci0;br5mi3n0Sth0;conoDffCgg,lecto0LnBs1Qth5venAx8yel7;id;ampUe7te4;cuLmpl0F;i13t;er1F;e6i1E;my;adKeEiBo8r7u0M;agonf3i0;c8g1Ai3or,ssi0wn7;si0J;to09umen9;ale6gni8nn0s7vide0M;conte4incenAtri6;ta07;aBc2fAni2te7;c7rre4;ti7;ve;ault 01err2;th;!dy;aWeThLiKlIoBr7;edit c9it5uc7;ib7;le;ard;efficClAmmuniqKn9pi0rr2t0Uu7yo1;ri0s7;in;ne6suG;ic,um7;ni0F;ie4;er7ie4;gy,ic;ty,vil wH;aBeqAoco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli0racter7;ist5;ic;iliXll8r7;e2tifica1;ar;hi0na9pit2r7shi0ucus;bohyd7ri0;ra1;ry;aNeMiKlemJoGrBu7;ddhiUn9r7tterf3;glar7i2;!y;ny;eak9i8o7;!th0;de;faNthro7;ugh;dy,g,wl,y7;!frie7;nd;ish;cyc7oF;liG;an,l3;nki9r7;!ri0;er;ng;cMdJllHnEppeti1rray,sBth9u7;nt,to7;psy;ie7le1;st;ce4pe6;ct;nt;ec8oma3ti8;ly;do1;er7y;gy; homin8van7;tage;em;cru2e8qui7;tt2;ta1;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0W;a0Rb0Pc0Bd0Aex09f06g03he01in0Kjoule0kUlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Cd0Iears old,o1;tt06;att0b;able3e2on1;!ne0;a1r02;spoX;c09d08f3i06kilo0Am1ya05;e0Dil1;e0li08;eet0o04;ascals,e2i1ou0H;c0Ent0;rcent,tU;hms,uR;an0BewtO;/s,e6i1m²,²,³;/h,cro4l1;e1li02;! pEs 1²;anEpD;g01s06;gLter1;! 2s1;! 1;per second;iVu1;men0x;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0P;a0Ob0Jc0Ade09e04fXgWhomel06iUjuveni01lTmOnNoMpLrIsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;bYnt;ndergr1pstairs;adua0Gou1;nd;a3e1oken;en,r1;min0ror08;boo,n;e5istXo3qua2tandard,u1;bordina09per5;re,t;cial03l1;e,v0D;cret,n1ri0;ior;e1outiG;ar,lTnt0p1;resentSublican;ati07eriodic0otenti0rincip0;ffiWpposiZv0;agging,ovel;aDe3in2o1;biCdernS;iature,or;di1tr02;an,um;attFiber0;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1pL;ess;d1iE;er;mographKriv3;hiCo1rude;m3n2oper1;ative;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l1W;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AJ;4:CL;5:C0;6:CG;7:D3;8:BS;9:AR;A:94;B:DB;C:D4;aC8bB6cA6d97e8Hf81g7Eh6Ri6Bj5Dk51l4Dm35n2To2Np2Fqu2Dr1Ls11t0Fu0Ev07wTxSyIzD;aDor0;cDh9Ikaria,n0B;hEkD;!aC6;ar5TeC5;aLoFuD;sDu2KvBI;if,uf;nFsEusD;ouf,sD;ef;aDg;s,tD;an,h0;hli,nB7ssX;avi3ho4;aMeKiFoDyaBM;jcie86lfgang,odrow,utD;!er;lDnst1;bFey,fredBlD;aAYiD;am,e,s;e96ur;i,nde9sD;!l8t1;lEyD;l1ne;lDt3;a9Wy;aGiDladimir,ojte7T;cEha0kt66nceDrgA4va0;!nt;e3Vt64;lentDn9R;inD;!e;ghBElyss58nax,sm0;aWeRhNiLoHrFuEyD;!l3ro6s1;n7r58;avAGeDist0oy,um0;ntA8v5Vy;bFd8QmDny;!as,mDoharu;aCBie,y;iAy;mDt5;!my,othy;adFeoEia0JomD;!as;!do8F;!de5;dGrD;en97rD;an96eDy;ll,n95;!dy;dgh,ha,iDnn3req,tsu4Q;cAPka;aTcotRePhLiJoHpenc3tDur1Vylve95zym1;anFeDua84;f0phBCvDwa83;e5Yie;!islaw,l8;lom1uD;leyma6ta;dDlAm1yabonga;!dhart73n8;aFeD;lDrm0;d1t1;h7Jne,qu10un,wn,y6;aDbasti0k2Al4Org4Lth,ymoAE;m5n;!tD;!ie,y;lEmDnti2Eq57ul;!ke5Im9Ru4;ik,vato7N;aYeUhe9UiQoHuEyD;an,ou;b7CdEf5pe7JssD;!elBI;ol3Ey;an,bKc61dIel,geHh0landBmGnFry,sEyD;!ce;coe,s;!aA1n9H;an,eo;l44r;er77g3n8olfo,riD;go;b9CeAQ;cDl8;ar6Hc6GhEkDo;!ey,ie,y;a8Uie;gEid,ubCyDza;an1InY;g9SiD;na9Os;ch6Pfa4lHmGndFpha4sEul,wi2GyD;an,mo6T;h7Im5;alAWol2Ty;iACon;f,ph;ent2inD;cy,t1;aIeGhilFier6SrD;aka16eD;m,st1;!ip,lip;dA4rcy,tD;ar,e3Dr1X;b4Gdra72tr6IulD;!o17;ctav3Ci3liv3m9Yndrej,rHsEtDum7wC;is,to;aEc7k7m0vD;al5R;ma;i,vL;aLeJiFoDu37;aDel,j5l0ma0r3H;h,m;cEg4i45kD;!au,h7Fola;holAkDolA;!olA;al,d,il,ls1vD;il8I;hom,thD;anDy;!a4i4;aZeWiMoHuEyD;l2Gr1;hamEr6KstaD;fa,p54;ed,mH;di0We,hamFis2CntEsDussa;es,he;e,y;ad,ed,mD;ad,ed;cIgu4hai,kGlFnEtchD;!e9;a7Uik;house,o0Bt1;ae5Oe9NolD;aj;ah,hD;aEeD;al,l;el,l;hElv2rD;le,ri9v2;di,met;ay0hTjd,ks2AlRmadWnQrKs1tFuricExD;imilianBwe9;e,io;eGhEiAtDus,yA;!eo,hew,ia;eDis;us,w;j,o;cHio,kGlFqu6Ysha9tDv2;iDy;!m,n;in,on;el,oPus;!el91oOus;iGu4;achDcolm,ik;ai,y;amEdi,eDmoud;sh;adDm5G;ou;aWeQiOlo39oKuEyD;le,nd1;cGiFkDth3uk;aDe;!s;gi,s,z;as,iaD;no;g0nn7CrenFuDv82we9;!iD;e,s;!zo;am,oD;n4r;a7Vevi,la4AnHonGst3thaFvD;eDi;nte;bo;!a6Del;!ny;mFnErDur54wr54;ry,s;ce,d1;ar,o4X;aLeHhal7GiEristDu4Jy6I;i0o53;er0p,rD;k,ollD;os;en0iFnDrmit,v3T;!dr3WnDt1;e17y;r,th;cp3j5m5Rna6OrEsp7them,uD;ri;im,l;a00eUiSoGuD;an,lDst2;en,iD;an,en,o,us;aNeLhnKkubAnIrGsD;eEhDi7Vue;!ua;!ph;dDge;i,on;!aDny;h,s,th54;!ath53ie,n5L;!l,sDy;ph;o,qu2;an,mD;!m5G;d,ffGrDs5;a5YemEmai6oDry;me,ni0X;i7Fy;!e5NrD;ey,y;cKdCkImHrFsEvi3yD;dCs1;on,p3;ed,od,rDv4U;e5Aod;al,es4Lis1;a,e,oDub;b,v;ob,quD;es;aWbQchiPgNkeMlija,nuLonut,rJsFtDv0;ai,suD;ki;aEha0i6ZmaDsac;el,il;ac,iaD;h,s;a,vinDw2;!g;k,nngu5F;!r;nacDor;io;ka;ai,rahD;im;aPeJoIuDyd7;be2EgGmber4JsD;eyEsD;a2e2;in,n;h,o;m3ra35sse2wa3Z;aHctGitGnrErD;be27m0;iDy;!q0Y;or;th;bLlKmza,nJo,rFsEyD;a46dC;an,s0;lFo4Nry,uDv8;hi43ki,tD;a,o;an,ey;k,s;!im;ib;aVeRiPlenOoLrHuD;ilEsD;!tavo;herme,lerD;mo;aFegDov3;!g,orD;io,y;dy,h5J;nzaErD;an,d1;lo;!n;lbe4Xno,oD;rg36van4X;oFrD;aDry;ld,rdB;ffr8rge;brElCrDv2;la13r3Gth,y;e32ielD;!i5;aReOiMlKorrest,rD;anEedDitz;!d37er10r10;cFkD;!ie,lD;in,yn;esKisD;!co,z2V;etch3oD;yd;d4lDonn;ip;deriEliDng,rnan04;pe,x;co;bi0di,hd;dXfrWit0lRmKnHo2rFsteb0th0uge6vDymCzra;an,eD;ns,re2W;gi,i09nDrol,v2w2;estBie;oEriqDzo;ue;ch;aIerHiEmD;aHe2P;lDrh0;!iD;o,s;s1y;nu4;be0Ad1iFliEm3t1viDwood;n,s;ot1Rs;!as,j4EsD;ha;a2en;!d2Vg7mGoEuEwD;a25in;arD;do;oVuV;a01eQiOoGrag0uFwEylD;an,l0;ay6ight;a6dl8nc0st2;minGnEri0ugDvydAy28;!lA;!a2HnDov0;e9ie,y;go,iEykA;as;cDk;!k;armuDll1on,rk;id;andMj0lbeLmetri5nJon,rHsFvEwDxt3;ay6ey;en,in;hawn,moD;nd;ek,rD;ick;is,nD;is,y;rt;re;an,le,mKnJrFvD;e,iD;!d;en,iFne9rDyl;eDin,yl;l35n;n,o,us;!i4ny;iDon;an,en,on;a07e05hXiar0lNoIrGuEyrD;il,us;rtD;!is;aDistob0R;ig;dy,lGnErD;ey,neli5y;or,rD;ad;by,e,in,l2t1;aHeFiDyJ;fDnt;fo0Dt1;meDt5;nt;rFuEyD;!t1;de;enD;ce;aHeFrisD;!toD;ph3;st3;er;d,rDs;b4leD;s,y;cDdric,s7;il;lGmer1rD;ey,lEro9y;ll;!os,t1;eb,v2;a06eYiUlaToRrEuDyr1;ddy,rtK;aLeGiFuEyD;an,ce,on;ce,no;an,ce;nEtD;!t;dEtD;!on;an,on;dEndD;en,on;!foDl8y;rd;bby,rDyd;is;i6ke;bFlEshD;al;al,lK;ek;nHrDshoi;at,nEtD;!r1B;aDie;rdB;!iEjam2nD;ie,y;to;kaMlazs,nHrD;n8rDt;eDy;tt;ey;dDeE;ar,iD;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHuFveEyDziz;a0kh0;ry;gust5st2;us;hi;aKchJiIjun,maHnFon,tDy0;hDu08;ur;av,oD;ld;an,ndB;!el,ki;ie;ta;aq;as,dHgelBtD;hony,oD;i6nD;!iBy;ne;er,reDy;!as,i,s,w;iFmaDos;nu4r;el;ne,r,t;an,bePdCeJfHi,lGonFphXt1vD;aNin;on;so,zo;an,en;onTrD;ed;c,jaGksandFssaGxD;!andD;er,ru;ar,er;ndD;ro;rtB;ni;dCm7;ar;en;ad,eD;d,t;in;onD;so;aEi,olfBri0vik;!o;mDn;!a;dHeGraEuD;!bakr,lfazl;hDm;am;!l;allIelFoulaye,ulD;!lDrF;ah,o;! rD;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:93;1:81;2:7Y;3:8U;4:8O;5:6F;6:82;7:87;8:8E;9:5X;A:8T;a7Nb77c6Qd68e5Qf58g50h4Pi3Ujuni47k3Sl3Gm34n2Uo2Fp1Wquart64r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Gs6F;!sa6;ather13eBll o5Jste2R;!k5;aDeCiBola5D;b93ce versa,gi2R;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8V;ef75u4;b68ge0; Db2BpCsBti37;ca6et,ide dO;er,i4L;f3Wto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2GoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a8recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6Scov9ly2sDwB;aBei2L;t9y;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i2Hra;aGeDhough5Aip 1QoCrB;anspa6Zi3;geth9le81rp8;ena6GmpCrB;r3Ftia6Q;e7Lo6O;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb71;bDi generis,pBr5;erBre1P;! dup9b,viX;du1sBurb51;eq73tanda7N;atu6AeFi0VrByl3T;aBin4E;ightBy; fBfB;or5Y;adfa7Fri6;arCeBirit1lend8ot on;c2Ye34;k5se; caGlub6mb9phisticFrEuCvB;erei5Iiet;ndBth0Y;pro6G;d8ry;at1;ll1;g20nB;ce58g6;am30e9;at1co1Kem5lf3AnBre7;so5W;ath2holBient2K;ar5;cr1me,tisfac5N;aJeEheumato8iCoB;bu6Vtt58y4;ghtBv4;-w2f54;bZcEdu6MlDsBtard1;is3DoB;lu3na0;e1Euc3B;e0ondi3;b8ciB;al,st;aOeMicayu7laLopuli6LrCuB;bl5Wnjabi;eGiEoB;!b2QfCmi3CpBv4V;er,ort4C;a7u61;maBor,sti7va3;!ry;ci5Yexist2mBpa8;a1RiB;er,um;c8id;ac27rBti3;feAma32ti32v5S;i27rCsB;s41t;allCtB;-ti05i4;el;bMffKkJld InGrFth9utEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Yer,si4K;d2Ug1L; bBbBgo2li7;oa5X;fashion1school;!ay; gua5UbBli7si4E;eat;eCsB;ce7er0Eo0T;dia0se;aJeIiHoBuanc1;nDrthBt1U;!eB;rn;chaCdescri5Iprof28sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d13ltip6;deDl12nBot,st;ochroBth5;me;rn,st;dblTi;nac2re;cDgenta,in,j05keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aLeHiEoCuB;mber2sh;ngBut18;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBss9th4;al,eCitiB;ma3;nda3N;ngu8ps1st;aput,ind5nB;ow2;gno4Sll03mVnDpso 23rB;a3releB;va0; QaPcoMdJe28fIhibi3AiWnHsDtBvalu0S;aAeB;n43rdep1S;a7iColBubordi3O;ub6ve0;de,gB;nifica0;a3er;eriCluenOreq3U;eCiEoB;or;fini3p1Jtermi3G;mpCrB;reA;le3;ccu3Xdeq3Sppr34;fBsitu,vitro;ro0;mFpB;arDeCl0PoBrop9;li3r0M;nd2rfeA;ti4;aCeBi0R;d2Wn3H;tu20;eg4iB;c0Ite3L;aIelHiFoCumB;a7dr3G;me ma2CnCrrBs04ur5;if31;e3Oo2J;ghfalut1LspB;an2Y;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Tiga26lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2I;olErB; keeps,eBge0Gm9tu2Bwa36;go2i1BseeB;ab6;ish;ag35uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Fmiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4reAthere4veHxB;aAem2PplEquisi3traDuB;be2UlB;ta0;!va1H;icB;it;n,ryday; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;g9sB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa1XtB;a0inA;et,te; IadpHceGfiFgene1UliDpCreliAspe1UvoB;id,ut;ende0;ca3ghB;tf09;a0ni3;as1;an;facto;i5ngeroX;ly;arQertaPivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v01z1;erKgniza0loJmHnCr01veB;rt;cEduIgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Wi12;mensu18passB;io0M;ni4ss4;ci0S;in;diac,efM;aMeGizarFliKoDrBuck nak1;and new,isk,oB;kLn1C;gBldface,na fiT;us;re;autifFhiEloDnBst,yoE;eViBt;gn;v1w;nd;ul;ckDnkCrrB;en;ru0V;!wards; priori,b0Nc0Kd0Df0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0U;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCterB;na3;of;li7;ne;olB;ic;ead;ainWed,gressiB;ve;flCra8;id;ue0; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cuCtu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traA;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8T;1:8G;2:9B;3:8Z;4:80;5:7N;6:97;7:82;8:90;9:9F;A:9E;B:8V;C:7U;D:7Q;E:7K;F:87;a80b7Ec6Od5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Pnou3Uo2Kp23qu22r18s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Ary;nGplift;cov0dHear7HlGplug,tie,ve83;eaAo3J;erGo;go,sta9Cval92whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Y;ch,se;ck4ilor,keGmp0r7L;! paD;a0Ec0De0Bh07i05l03m02n01oZpUqua45tNuIwG;all6Ze2DiG;m,ng;bIccumb,ffHggeBmm8Zp2ErG;mouFvi2;er,i3;li7Ymer8siGveD;de,st;aKe7RiIrG;ang4eGi2;ng1Zw;fGnV;f5le;gg0rGte ch5F;t4ve;awn,eJiIlHoGri6B;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;aAugg4;aGi9;m,y;ft,nGt;g,k;aIi5FoHriGun;nk,v5R;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven8ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,reAuG;el,rbiA;an3e;aCu3;ei2k7Ela3IoGyc4;gni58nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;aAen5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,niArGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0tru9vG;e,i9o4S;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi42iC;a5Brt4T;er3npoiF;cei2fo3BiAmea6plex,sGva9;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Spo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na8;aNeJiGo1u35;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Mow;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3u9;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul8;ca6;i6lu9;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;riA;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee30olG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2M;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un8;ct,di6;st,t;lu9;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a8i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar8iB;a8eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer8pG;hasi1Yow0;a0Tody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Nn;a0Ne01iIo,rGwind4;aw,ed8oG;p,wn;agno1e,ff0g,mi29sJvG;eGul8;rGst;ge,t;ab4bTcNlod8mant4pLru3GsKtG;iGoDu2W;lHngG;uiA;!l;ol2ua9;eGla3o1ro2;n1r1;a18e2WlJoHuG;ss;uGv0;ra8;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;liA;an;mEv0;a3i04oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aIrHuG;g,nk;ief;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinci9llVmTnGrro9;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r8;a0Hin23ribu6;er2iGoli25pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGlu9;al,i2;buBe,men3pG;e6ly;eCi9u9;r3xiB;ean1iQ;rcumveFte;eGoo1;riAw;ncGre5t0ulk;el;aYeSi1TlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l10mbaGrrMth0;rd;aHeGow;ed;ze;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;niA;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an8i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e8oGu9;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled8quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,liA;da6;te;pt;andMet,i9oIsG;coIol2;ve;liArt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:24;5:1X;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel5;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri4roun5;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee5;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war5;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19r6un1F;e6o0X;ce5s4vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri5whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s4tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area4;po4;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un5;ebo5th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0;ab2c6du3ga01sQ;han0oura00;barras4erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es4;biliBcAfiKgra5m9pres4ser8v6;asAelo6;pi1;vi1;an5eaG;a0BliF;ta0;maMri1sYun0;aMhJlo4o6ripp2ut0;mCn6rrespon5;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u4;ni1;fAm9p6;e7ro6;mi4;l2ti1;an5;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in5lin5o7rui4u6;d5st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un5;di1;is6;hi1;ri1;res0;li1;a9u4;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦alexand5darwin,h3jordan,k2orlando,s0victo5;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ia=36,sa="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",la=sa.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var ua=function(e){if(void 0!==la[e])return la[e];let t=0,n=1,r=ia,a=1;for(;n=0;n--,a*=ia){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},ca=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=da(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=ma(oa[e]);ba.test(e)?Object.keys(t).forEach(t=>{if(ya[t]=e,"Noun|Verb"===e){let e=fa(t,wa);ya[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{va[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","va[e]="Emoticon"),delete va[""],delete va.null,delete va[" "];const ka="Adjective";var Pa={beforeTags:{Determiner:ka,Possessive:ka},afterTags:{Adjective:ka},beforeWords:{seem:ka,seemed:ka,seems:ka,feel:ka,feels:ka,felt:ka,appear:ka,appears:ka,appeared:ka,also:ka,over:ka,under:ka,too:ka,it:ka,but:ka,still:ka,really:ka,quite:ka,well:ka,very:ka,deeply:ka,profoundly:ka,extremely:ka,so:ka,badly:ka,mostly:ka,totally:ka,awfully:ka,rather:ka,nothing:ka,something:ka,anything:ka},afterWords:{too:ka,also:ka,or:ka}};const Aa="Gerund";var Da={beforeTags:{Adverb:Aa,Preposition:Aa,Conjunction:Aa},afterTags:{Adverb:Aa,Possessive:Aa,Person:Aa,Pronoun:Aa,Determiner:Aa,Copula:Aa,Preposition:Aa,Conjunction:Aa,Comparative:Aa},beforeWords:{been:Aa,keep:Aa,continue:Aa,stop:Aa,am:Aa,be:Aa,me:Aa,began:Aa,start:Aa,starts:Aa,started:Aa,stops:Aa,stopped:Aa,help:Aa,helps:Aa,avoid:Aa,avoids:Aa,love:Aa,loves:Aa,loved:Aa,hate:Aa,hates:Aa,hated:Aa},afterWords:{you:Aa,me:Aa,her:Aa,him:Aa,them:Aa,their:Aa,it:Aa,this:Aa,there:Aa,on:Aa,about:Aa,for:Aa}},ja={beforeTags:Object.assign({},Pa.beforeTags,Da.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Pa.afterTags,Da.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Pa.beforeWords,Da.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,Da.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const xa="Singular";var Na={beforeTags:{Determiner:xa,Possessive:xa,Acronym:xa,Noun:xa,Adjective:xa,PresentTense:xa,Gerund:xa,PastTense:xa,Infinitive:xa,Date:xa},afterTags:{Value:xa,Modal:xa,Copula:xa,PresentTense:xa,PastTense:xa,Demonym:xa},beforeWords:{the:xa,with:xa,without:xa,of:xa,for:xa,any:xa,all:xa,on:xa,cut:xa,cuts:xa,save:xa,saved:xa,saves:xa,make:xa,makes:xa,made:xa,minus:xa,plus:xa,than:xa,another:xa,versus:xa,neither:xa,favorite:xa,best:xa,daily:xa,weekly:xa},afterWords:{of:xa,system:xa,aid:xa,method:xa,utility:xa,tool:xa,reform:xa,therapy:xa,philosophy:xa,room:xa,authority:xa,says:xa,said:xa,wants:xa,wanted:xa}};const Ia={beforeTags:{Determiner:void 0}};var Ta={beforeTags:Object.assign({},Pa.beforeTags,Na.beforeTags,Ia.beforeTags),afterTags:Object.assign({},Pa.afterTags,Na.afterTags),beforeWords:Object.assign({},Pa.beforeWords,Na.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,Na.afterWords)};const Ga={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Ea={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Ca={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Oa={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ba={beforeTags:Object.assign({},Pa.beforeTags,Ga),afterTags:Object.assign({},Pa.afterTags,Ea),beforeWords:Object.assign({},Pa.beforeWords,Ca),afterWords:Object.assign({},Pa.afterWords,Oa)};const Va="Infinitive";var za={beforeTags:{Modal:Va,Adverb:Va,Negative:Va,Plural:Va},afterTags:{Determiner:Va,Adverb:Va,Possessive:Va,Preposition:Va},beforeWords:{i:Va,we:Va,you:Va,they:Va,to:Va,please:Va,will:Va,have:Va,had:Va,would:Va,could:Va,should:Va,do:Va,did:Va,does:Va,can:Va,must:Va,us:Va,me:Va,he:Va,she:Va,it:Va,being:Va},afterWords:{the:Va,me:Va,you:Va,him:Va,her:Va,them:Va,it:Va,a:Va,an:Va,up:Va,down:Va,by:Va,out:Va,off:Va,when:Va,all:Va,to:Va,because:Va,although:Va,before:Va,how:Va,otherwise:Va,though:Va,yet:Va}};const Fa={afterTags:{Noun:"Adjective",Conjunction:void 0}};var $a={beforeTags:Object.assign({},Pa.beforeTags,za.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Pa.afterTags,za.afterTags,Fa.afterTags),beforeWords:Object.assign({},Pa.beforeWords,za.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pa.afterWords,za.afterWords,{to:void 0})};const Sa={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Ha={},Ma={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Wa={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var Ja={beforeTags:Object.assign({},Da.beforeTags,Na.beforeTags,Sa),afterTags:Object.assign({},Da.afterTags,Na.afterTags,Ha),beforeWords:Object.assign({},Da.beforeWords,Na.beforeWords,Ma),afterWords:Object.assign({},Da.afterWords,Na.afterWords,Wa)},La={beforeTags:Object.assign({},za.beforeTags,Na.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},za.afterTags,Na.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},za.beforeWords,Na.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},za.afterWords,Na.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const qa="Person";var Ka={beforeTags:{Honorific:qa,Person:qa,Preposition:qa},afterTags:{Person:qa,ProperNoun:qa,Verb:qa},ownTags:{ProperNoun:qa},beforeWords:{hi:qa,hey:qa,yo:qa,dear:qa,hello:qa},afterWords:{said:qa,says:qa,told:qa,tells:qa,feels:qa,felt:qa,seems:qa,thinks:qa,thought:qa,spends:qa,spendt:qa,plays:qa,played:qa,sing:qa,sang:qa,learn:qa,learned:qa,wants:qa,wanted:qa}};const Ua="Month",Ra={beforeTags:{Date:Ua,Value:Ua},afterTags:{Date:Ua,Value:Ua},beforeWords:{by:Ua,in:Ua,on:Ua,during:Ua,after:Ua,before:Ua,between:Ua,until:Ua,til:Ua,sometime:Ua,of:Ua,this:Ua,next:Ua,last:Ua,previous:Ua,following:Ua},afterWords:{sometime:Ua,in:Ua,of:Ua,until:Ua,the:Ua}};var Za={beforeTags:Object.assign({},Ka.beforeTags,Ra.beforeTags),afterTags:Object.assign({},Ka.afterTags,Ra.afterTags),beforeWords:Object.assign({},Ka.beforeWords,Ra.beforeWords),afterWords:Object.assign({},Ka.afterWords,Ra.afterWords)};const Qa={Place:"Place"},_a={Place:"Place",Abbreviation:"Place"},Ya={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},Xa={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},eo={"Adj|Gerund":ja,"Adj|Noun":Ta,"Adj|Past":Ba,"Adj|Present":$a,"Noun|Verb":La,"Noun|Gerund":Ja,"Person|Noun":{beforeTags:Object.assign({},Na.beforeTags,Ka.beforeTags),afterTags:Object.assign({},Na.afterTags,Ka.afterTags),beforeWords:Object.assign({},Na.beforeWords,Ka.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Na.afterWords,Ka.afterWords)},"Person|Date":Za,"Person|Verb":{beforeTags:Object.assign({},Ka.beforeTags,za.beforeTags),afterTags:Object.assign({},Ka.afterTags,za.afterTags),beforeWords:Object.assign({},Ka.beforeWords,za.beforeWords),afterWords:Object.assign({},Ka.afterWords,za.afterWords)},"Person|Place":{beforeTags:Object.assign({},Qa,Ka.beforeTags),afterTags:Object.assign({},_a,Ka.afterTags),beforeWords:Object.assign({},Ya,Ka.beforeWords),afterWords:Object.assign({},Xa,Ka.afterWords)}},to=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};eo["Plural|Verb"]={beforeWords:to(eo["Noun|Verb"].beforeWords,{}),afterWords:to(eo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:to(eo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:to(eo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var no=eo;const ro="Adjective",ao="Infinitive",oo="PresentTense",io="Singular",so="PastTense",lo="Adverb",uo="Plural",co="Actor",ho="Verb",mo="Noun",po="LastName",go="Modal",fo="Participle";var bo=[null,null,{ea:io,ia:mo,ic:ro,ly:lo,"'n":ho,"'t":ho},{oed:so,ued:so,xed:so," so":lo,"'ll":go,"'re":"Copula",azy:ro,eer:mo,end:ho,ped:so,ffy:ro,ify:ao,ing:"Gerund",ize:ao,ibe:ao,lar:ro,mum:ro,nes:oo,nny:ro,ous:ro,que:ro,rol:io,sis:io,ogy:io,oid:io,ian:io,zes:oo,eld:so,ken:fo,ven:fo,ten:fo,ect:ao,ict:ao,ide:ao,ign:ao,ful:ro,bal:ro},{amed:so,aped:so,ched:so,lked:so,rked:so,reed:so,nded:so,mned:ro,cted:so,dged:so,ield:io,akis:po,cede:ao,chuk:po,czyk:po,ects:oo,ends:ho,enko:po,ette:io,wner:io,fies:oo,fore:lo,gate:ao,gone:ro,ices:uo,ints:uo,ruct:ao,ines:uo,ions:uo,less:ro,llen:ro,made:ro,nsen:po,oses:oo,ould:go,some:ro,sson:po,tion:io,tage:mo,ique:io,tive:ro,tors:mo,vice:io,lier:io,fier:io,wned:so,gent:io,tist:io,pist:io,rist:io,mist:io,yist:io,vist:io,lite:io,site:io,rite:io,mite:io,bite:io,mate:io,date:io,ndal:io,vent:io,uist:io,gist:io,note:io,ract:ao,duce:ao,pose:ao,eive:ao,lyze:ao,lyse:ao,iant:ro,nary:ro},{elist:io,holic:io,phite:io,tized:so,urned:so,eased:so,ances:uo,bound:ro,ettes:uo,fully:lo,ishes:oo,ities:uo,marek:po,nssen:po,ology:mo,osome:io,tment:io,ports:uo,rough:ro,tches:oo,tieth:"Ordinal",tures:uo,wards:lo,where:lo,archy:mo,pathy:mo,opoly:mo,embly:mo,phate:mo,ndent:io,scent:io,onist:io,anist:io,alist:io,olist:io,icist:io,ounce:ao,iable:ro,borne:ro,gnant:ro,inant:ro,igent:ro,atory:ro,rient:io,dient:io},{auskas:po,parent:io,cedent:io,ionary:io,cklist:io,keeper:co,logist:co,teenth:"Value"},{opoulos:po,borough:"Place",sdottir:po}];const vo="Adjective",yo="Noun",wo="Verb";var ko=[null,null,{},{neo:yo,bio:yo,"de-":wo,"re-":wo,"un-":wo},{anti:yo,auto:yo,faux:vo,hexa:yo,kilo:yo,mono:yo,nano:yo,octa:yo,poly:yo,semi:vo,tele:yo,"pro-":vo,"mis-":wo,"dis-":wo,"pre-":vo},{anglo:yo,centi:yo,ethno:yo,ferro:yo,grand:yo,hepta:yo,hydro:yo,intro:yo,macro:yo,micro:yo,milli:yo,nitro:yo,penta:yo,quasi:vo,radio:yo,tetra:yo,"omni-":vo,"post-":vo},{pseudo:vo,"extra-":vo,"hyper-":vo,"inter-":vo,"intra-":vo,"deca-":vo},{electro:yo}];const Po="Adjective",Ao="Infinitive",Do="PresentTense",jo="Singular",xo="PastTense",No="Adverb",Io="Expression",To="Actor",Go="Verb",Eo="Noun",Co="LastName";var Oo={a:[[/.[aeiou]na$/,Eo,"tuna"],[/.[oau][wvl]ska$/,Co],[/.[^aeiou]ica$/,jo,"harmonica"],[/^([hyj]a+)+$/,Io,"haha"]],c:[[/.[^aeiou]ic$/,Po]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,xo,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,xo,"rammed"],[/.[aeiou][sg]hed$/,xo,"gushed"],[/.[aeiou]red$/,xo,"hired"],[/.[aeiou]r?ried$/,xo,"hurried"],[/[^aeiou]ard$/,jo,"steward"],[/[aeiou][^aeiou]id$/,Po,""],[/.[vrl]id$/,Po,"livid"],[/..led$/,xo,"hurled"],[/.[iao]sed$/,xo,""],[/[aeiou]n?[cs]ed$/,xo,""],[/[aeiou][rl]?[mnf]ed$/,xo,""],[/[aeiou][ns]?c?ked$/,xo,"bunked"],[/[aeiou]gned$/,xo],[/[aeiou][nl]?ged$/,xo],[/.[tdbwxyz]ed$/,xo],[/[^aeiou][aeiou][tvx]ed$/,xo],[/.[cdflmnprstv]ied$/,xo,"emptied"]],e:[[/.[lnr]ize$/,Ao,"antagonize"],[/.[^aeiou]ise$/,Ao,"antagonise"],[/.[aeiou]te$/,Ao,"bite"],[/.[^aeiou][ai]ble$/,Po,"fixable"],[/.[^aeiou]eable$/,Po,"maleable"],[/.[ts]ive$/,Po,"festive"],[/[a-z]-like$/,Po,"woman-like"]],h:[[/.[^aeiouf]ish$/,Po,"cornish"],[/.v[iy]ch$/,Co,"..ovich"],[/^ug?h+$/,Io,"ughh"],[/^uh[ -]?oh$/,Io,"uhoh"],[/[a-z]-ish$/,Po,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Co,"polish-male"]],k:[[/^(k){2}$/,Io,"kkkk"]],l:[[/.[gl]ial$/,Po,"familial"],[/.[^aeiou]ful$/,Po,"fitful"],[/.[nrtumcd]al$/,Po,"natal"],[/.[^aeiou][ei]al$/,Po,"familial"]],m:[[/.[^aeiou]ium$/,jo,"magnesium"],[/[^aeiou]ism$/,jo,"schism"],[/^[hu]m+$/,Io,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Po,"republican"],[/[^aeiou]ician$/,To,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Io,"noooo"],[/^(yo)+$/,Io,"yoo"],[/^wo{2,}[pt]?$/,Io,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,jo],[/[^i]fer$/,Ao],[/.[^aeiou][ao]pher$/,To],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Po],[/[aeiou].*ist$/,Po],[/^[a-z]et$/,Go]],s:[[/.[^aeiou]ises$/,Do],[/.[rln]ates$/,Do],[/.[^z]ens$/,Go],[/.[lstrn]us$/,jo],[/.[aeiou]sks$/,Do],[/.[aeiou]kes$/,Do],[/[aeiou][^aeiou]is$/,jo],[/[a-z]'s$/,Eo],[/^yes+$/,Io]],v:[[/.[^aeiou][ai][kln]ov$/,Co]],y:[[/.[cts]hy$/,Po],[/.[st]ty$/,Po],[/.[tnl]ary$/,Po],[/.[oe]ry$/,jo],[/[rdntkbhs]ly$/,No],[/.(gg|bb|zz)ly$/,Po],[/...lly$/,No],[/.[gk]y$/,Po],[/[bszmp]{2}y$/,Po],[/.[ai]my$/,Po],[/[ea]{2}zy$/,Po],[/.[^aeiou]ity$/,jo]]};const Bo="Verb",Vo="Noun";var zo={leftTags:[["Adjective",Vo],["Possessive",Vo],["Determiner",Vo],["Adverb",Bo],["Pronoun",Bo],["Value",Vo],["Ordinal",Vo],["Modal",Bo],["Superlative",Vo],["Demonym",Vo],["Honorific","Person"]],leftWords:[["i",Bo],["first",Vo],["it",Bo],["there",Bo],["not",Bo],["because",Vo],["if",Vo],["but",Vo],["who",Bo],["this",Vo],["his",Vo],["when",Vo],["you",Bo],["very","Adjective"],["old",Vo],["never",Bo],["before",Vo],["a","Singular"],["the",Vo],["been",Bo]],rightTags:[["Copula",Vo],["PastTense",Vo],["Conjunction",Vo],["Modal",Vo]],rightWords:[["there",Bo],["me",Bo],["man","Adjective"],["only",Bo],["him",Bo],["it",Bo],["were",Vo],["took",Vo],["himself",Bo],["went",Vo],["who",Vo],["jr","Person"]]},Fo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},$o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},So={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Ho={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Mo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Wo=/^.([0-9]+)/;var Jo=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(Wo);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(Wo,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},qo=/^([0-9]+)/,Ko=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(qo);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(qo,"")]}(n[0],n[1])})};var Uo=function(e={}){return(e=Object.assign({},e)).rules=Ko(e.rules),e.rules=Lo(e.rules),e.rev&&(e.rev=Ko(e.rev),e.rev=Lo(e.rev)),e.exceptions=Ko(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},Ro=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const Zo=Uo({rules:"een|1,egan|2in,on|in,pun|1in,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Qo=Uo(Ho),_o=Uo($o),Yo=Uo(So),Xo=Ro(Zo),ei=Ro(Qo),ti=Ro(_o),ni=Ro(Yo),ri=Uo(Fo),ai=Uo(Mo);var oi={fromPast:Zo,fromPresent:Qo,fromGerund:_o,fromParticiple:Yo,toPast:Xo,toPresent:ei,toGerund:ti,toParticiple:ni,toComparative:ri,toSuperlative:ai,fromComparative:Ro(ri),fromSuperlative:Ro(ai)},ii=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),si=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],li=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(ui[t].forEach(n=>e[n]=t),e),{});var ci=ui,hi=function(e){let t=e.substr(e.length-3);if(!0===ci.hasOwnProperty(t))return ci[t];let n=e.substr(e.length-2);return!0===ci.hasOwnProperty(n)?ci[n]:"s"===e.substr(e.length-1)?"PresentTense":null};const di={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var mi=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=hi(e)),di.hasOwnProperty(e))c=di[e];else if("Participle"===n)c=Jo(l,i);else if("PastTense"===n)c=Jo(l,r);else if("PresentTense"===n)c=Jo(l,a);else{if("Gerund"!==n)return e;c=Jo(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},pi=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Jo(i,n),PresentTense:Jo(i,r),Gerund:Jo(i,a),FutureTense:"will "+e},u=Jo(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},gi=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const fi="ically",bi=new Set(["analyt"+fi,"chem"+fi,"class"+fi,"clin"+fi,"crit"+fi,"ecolog"+fi,"electr"+fi,"empir"+fi,"frant"+fi,"grammat"+fi,"ident"+fi,"ideolog"+fi,"log"+fi,"mag"+fi,"mathemat"+fi,"mechan"+fi,"med"+fi,"method"+fi,"method"+fi,"mus"+fi,"phys"+fi,"phys"+fi,"polit"+fi,"pract"+fi,"rad"+fi,"satir"+fi,"statist"+fi,"techn"+fi,"technolog"+fi,"theoret"+fi,"typ"+fi,"vert"+fi,"whims"+fi]),vi=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],yi=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),wi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var ki=function(e){return e.endsWith("ly")?bi.has(e)?e.replace(/ically/,"ical"):yi.has(e)?null:wi.hasOwnProperty(e)?wi[e]:gi(e,vi)||e:null};const Pi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ai={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Di=function(e){if(Ai.hasOwnProperty(e))return Ai[e];let t=gi(e,Pi);return t||e+"ly"};const ji=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],xi={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Ni=new Set(["terrible","annoying"]),Ii=function(e,t){const n=t.two.models.toSuperlative;return Jo(e,n)},Ti=function(e,t){const n=t.two.models.toComparative;return Jo(e,n)};var Gi={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Ei={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Gi.hasOwnProperty(i)&&Gi[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:fa,nounToSingular:li,verbToInfinitive:mi,getTense:hi,verbConjugate:pi,adjToSuperlative:Ii,adjToComparative:Ti,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Jo(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Jo(e,n)},advToAdjective:ki,adjToAdverb:Di,adjToNoun:function(e){if(xi.hasOwnProperty(e))return xi[e];if(Ni.has(e))return null;let t=gi(e,ji);return t||e+"ness"}}}},Ci=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Oi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var Bi=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Oi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Oi(r,"Infinitive","Verb"),Object.assign(s,l),l=Oi(a,"Infinitive","Gerund"),Object.assign(s,l),l=Oi(o,"Adjective","Superlative"),Object.assign(s,l),l=Oi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Vi={two:{models:oi}};const zi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Fi=function(e,t){const n={model:t,methods:Ei};let{lex:r,_multi:a}=Ei.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},$i=function(e,t,n){let r=pi(e,Vi);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Si=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=zi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||$i(a,r,!1),"Adj|Present"===o&&($i(a,r,!0),function(e,t,n){let r=Ii(e,n);t[r]=t[r]||"Superlative";let a=Ti(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=mi(a,Vi,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=mi(a,Vi,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Fi(n,t)};let Hi={one:{_multiCache:{},lexicon:va},two:{irregularPlurals:aa,models:oi,suffixPatterns:bo,prefixPatterns:ko,endsWith:Oo,neighbours:zo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[a-z0-9_\u00C0-\u00FF]{2,}$/i,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^([\u00a9\u00ae\u2319-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,"Emoji","emoji-range"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6][-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]\+?$/,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:ya,clues:no,uncountable:{},orgWords:ii}};Hi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Fi(e.one.lexicon,e)).one.lexicon,e),e=Si(e.two.switches,e),e=Bi(e),e=Ci(e)}(Hi);var Mi=Hi;const Wi=/^(under|over|mis|re|un|dis|semi)-?/;var Ji=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(Wi.test(a.normal)){let e=a.normal.replace(Wi,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},Li=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const qi={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},Ki=new Set(["formulas","koalas","israelis","menus"]),Ui=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Ri=function(e){if(!e||e.length<=3)return!1;if(Ki.has(e))return!0;let t=e[e.length-1];return qi.hasOwnProperty(t)?qi[t].find(t=>e.endsWith(t)):"s"===t&&!Ui.find(t=>e.endsWith(t))};const Zi=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Qi=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(Ri(e.normal)?Li(e,"Plural","3-plural-guess"):Li(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=hi(e.normal);t&&Li(e,t,"3-verb-tense-guess")}}(r)};const _i=/^[A-Z][a-z'\u00C0-\u00FF]/,Yi=/[0-9]/,Xi=["Date","Month","WeekDay","Unit"],es=/^[IVXLCDM]{2,}$/,ts=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,ns={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var rs=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===_i.test(o)&&!1===Yi.test(o)?Xi.find(e=>r.tags.has(e))?null:(Qi(e,t,n),r.tags.has("Noun")||r.tags.clear(),Li(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&es.test(o)&&ts.test(o)&&!ns[r.normal]?(Li(r,"RomanNumeral","2-xvii"),!0):null};const as=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substr(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var os=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=as(r.normal,n.two.suffixPatterns);if(null!==e)return Li(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=as(r.implicit,n.two.suffixPatterns),null!==e))return Li(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const is=/['‘’‛‵′`´]/,ss=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return Li(r,e,"2-prefix"),r.confidence=.5,!0}return null};const cs=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),hs=function(e){return!(!e||!cs.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ds=function(e){return!!e&&!!e.tags.has("Ordinal")};var ms=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(hs(e[t-1])||hs(e[t+1]))return Li(n,"Year","2-tagYear");if(r>1950&&r<2025&&(ds(e[t-1])||ds(e[t+1])))return Li(n,"Year","2-tagYear-close")}}return null};const ps=/^[A-Z]('s|,)?$/,gs=/^[A-Z-]+$/,fs=/([A-Z]\.)+[A-Z]?,?$/,bs=/[A-Z]{2,}('s|,)?$/,vs=/([a-z]\.)+[a-z]\.?$/,ys={I:!0,A:!0};var ws=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===gs.test(n)||n.length>5||ys.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==fs.test(n)&&!0!==vs.test(n)&&!0!==ps.test(n)&&!0!==bs.test(n))}(r,n)?(r.tags.clear(),Li(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!ys.hasOwnProperty(r.text)&&ps.test(r.text)?(r.tags.clear(),Li(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(Li(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&gs.test(r.text)&&r.text.length<=6?(Li(r,"Acronym","3-titlecase-acronym"),!0):null};const ks=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Ps=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var As=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||ks(e[t-1],a),l=l||ks(e[t+1],o),l=l||Ps(e[t-1],r),l=l||Ps(e[t+1],i),l)return Li(s,l,"3-[neighbour]"),Qi(e,t,n),e[t].confidence=.2,!0}return null};const Ds=function(e){return!(!e||!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))&&(t=e.text,!/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)));var t};var js=function(e,t,n){const r=n.two.orgWords;let a=e[t];if(!0===r[a.machine||a.normal]&&Ds(e[t-1])){Li(e[t],"Organization","3-[org-word]");for(let n=t;n>=0&&Ds(e[n]);n-=1)Li(e[n],"Organization","3-[org-word]")}return null},xs=function(e,t,n){0===e[t].tags.size&&(Li(e[t],"Noun","3-[fallback]"),Qi(e,t,n),e[t].confidence=.1)};const Ns=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Is=(e,t,n)=>0!==t||e[1]?null:n;var Ts={"Adj|Gerund":(e,t)=>Ns(e,t),"Adj|Noun":(e,t)=>Ns(e,t),"Adj|Past":(e,t)=>Ns(e,t),"Adj|Present":(e,t)=>Ns(e,t),"Noun|Gerund":(e,t)=>Ns(e,t),"Noun|Verb":(e,t)=>Ns(e,t)||Is(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Ns(e,t)||Is(e,t,"PresentTense"),"Person|Noun":(e,t)=>Ns(e,t),"Person|Verb":(e,t)=>0!==t&&Ns(e,t)};const Gs="undefined"!=typeof process&&process.env?process.env:self.env||{},Es=/^(under|over|mis|re|un|dis|semi)-?/,Cs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&Gs.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Os=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&Gs.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r},Bs={tagSwitch:Ji,checkSuffix:os,checkRegex:ls,checkCase:rs,checkPrefix:us,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(Li(o,"Verb","3-[prefix]"),Li(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(Li(o,"Adjective","3-[prefix]"),Li(o,"Prefix","3-[prefix]")))},checkYear:ms},Vs={checkAcronym:ws,neighbours:As,orgWords:js,nounFallback:xs,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(Es.test(l)&&!o[l]&&(l=l.replace(Es,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=Cs(e[t+1],n.afterWords);return o=o||Cs(e[t-1],n.beforeWords),o=o||Os(e[t-1],n.beforeTags,a),o=o||Os(e[t+1],n.afterTags,a),o}(e,t,i[o],r);Ts[o]&&(u=Ts[o](e,t)||u),u?(Gs.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):Gs.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},zs=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Ss={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Hs={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const _s=/'/;var Ys=function(e,t){let n=e[t].normal.split(_s)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Xs=/'/;var el=function(e,t){let n=e[t].normal.split(Xs)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},tl=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const nl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},rl={in:!0,by:!0,for:!0};var al=(e,t)=>{let n=e[t];if(nl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e}if(e[t-1]&&!0===rl[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const ol=/'/,il=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},sl={d:(e,t)=>el(e,t),t:(e,t)=>tl(e,t),s:(e,t,n)=>al(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Ys(e,t)},ll=function(e,t){return t.fromText(e.join(" ")).docs[0]};var ul={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===ol.test(r[o].normal)&&([,i]=r[o].normal.split(ol));let s=null;sl.hasOwnProperty(i)&&(s=sl[i](r,o,t)),s&&(s=ll(s,e),Qs(n,[a,o],s),il(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=Zs.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Rs},hooks:["contractionTwo"]};const cl="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",hl="(drew|pat|wade|ollie|will|rob|buck|bob|mark|jack)",dl=["i","we","they"];let ml=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"(#Determiner|#Possessive) [#Gerund] #Noun",group:0,tag:"Adjective",reason:"amusing-world"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Determiner|#Value) [(linear|binary|mobile|lexical|technical|computer|scientific|formal)] #Noun",group:0,tag:"Noun",reason:"technical-noun"},{match:"(#Noun && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"(the|those|these|a|an) #Adjective? [#PastTense]",group:0,tag:"Noun",reason:"det-past"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Noun",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Noun] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"},{match:"^[%Noun|Verb%] #Noun",group:0,tag:"Verb",reason:"visit-boards"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"(#Value|a) [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"%Person|Noun% #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:cl+" #Person",tag:"Person",reason:"randy-smith"},{match:cl+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${cl}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:`#Modal [${hl}]`,group:0,tag:"Verb",reason:"would-mark"},{match:`#Adverb [${hl}]`,group:0,tag:"Verb",reason:"really-mark"},{match:`[${hl}] (#Adverb|#Comparative)`,group:0,tag:"Verb",reason:"drew-closer"},{match:hl+" #Person",tag:"Person",reason:"rob-smith"},{match:hl+" #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:dl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:dl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:dl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);var pl=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e},gl=function(e){let t=[];return e.forEach(e=>{let n=e.regs.findIndex(e=>"or"===e.operator&&e.fastOr&&!e.optional&&!e.negative);-1===n?(n=e.regs.findIndex(e=>"or"===e.operator&&e.choices&&!e.optional&&!e.negative),-1===n?t.push(e):function(e,t){let n=e.regs[t];return n.choices.map(e=>1===e.length?e[0]:{choices:e,operator:n.operator})}(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,//!fixme [mo]? -a._expanded=!0,t.push(a)})):function(e,t){let n=e.regs[t];return Array.from(n.fastOr).map(e=>{let t=Object.assign({},n);return delete t.fastOr,delete t.operator,t.word=e,t})}(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,a._expanded=!0,t.push(a)})}),t},fl=function(e,t){const n=t.one.cacheMatch;return e.forEach(e=>{e.needs=Array.from(n(e.regs))}),e},bl=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},vl=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},yl=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},wl=function(e,t,n){let r=[];return e.forEach((e,a)=>{e.forEach(e=>{let o=n.match([t[a]],e);o.ptrs.length>0&&o.ptrs.forEach(t=>{t[0]=a;let n=Object.assign({},e,{pointer:t});void 0!==e.unTag&&(n.unTag=e.unTag),r.push(n)})})}),r},kl=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s="string"!=typeof e.tag?e.tag.join(" #"):e.tag,l=` [${e.reason}]`.padEnd(20)+" - ";const u=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;l+=i>r&&i{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;let a=r.two.compile(n.two.matches,r),o=r.two.quickSplit(e.document),i=r.two.bulkMatch(o,a,r);return r.two.bulkTagger(i,o,t),e.uncache(),o}},methods:{two:{compile:function(e,t){e=pl(e,t),e=gl(e),e=gl(e),e=fl(e,t);let n=bl(e,t);return delete n["#Noun"],delete n["#Verb"],n},bulkMatch:function(e,t,n){const r=n.one;let a=r.cacheDoc(e),o=vl(a,t);return o=yl(o,a),wl(o,e,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag)return;l.DEBUG_TAGS&&kl(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===a.two.canBe(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe)),void 0!==e.unTag&&s(u,e.unTag,n,e.safe)})},canBe:function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;te.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n},Nl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r},Il=function(e){for(let t=0;t",chunk:"Noun"},{match:"#Adjective+ ",chunk:"Noun"},{match:" of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let Gl=null;var El=function(e,t){const{methods:n}=t;Gl=Gl||n.two.compile(Tl,n),n.two.bulkMatch(e,Gl,n).forEach(t=>{!function(e,t,n){const{getDoc:r}=n.one;let a=r([e.pointer],t)[0];const o="undefined"!=typeof process&&process.env?process.env:self.env||{};a.forEach(t=>{if(t.chunk!==e.chunk){if(o.DEBUG_CHUNKS){let n=(t.normal+"'").padEnd(8);console.log(` | '${n} → ${e.chunk.padEnd(6)} -  ${e.match} `)}t.chunk=e.chunk}})}(t,e,n)})};const Cl=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Ol=function(e){for(let t=0;t{for(let r=0;r{"Verb"===e.chunk&&(e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null)),"Noun"===e.chunk&&(e.terms.find(e=>e.tags.has("Noun"))||e.terms.forEach(e=>e.chunk=null))})},Vl={compute:{chunks:function(e){const{document:t,world:n}=e;Il(t),El(t,n),El(t,n),Ol(t,n),Bl(t,n)}},api:function(e){e.prototype.chunks=Nl,e.prototype.clauses=xl},hooks:["chunks"]};const zl=/'s$/;var Fl=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(zl,""),e.normal=e.normal.replace(zl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const $l=/\(/,Sl=/\)/,Hl=function(e,t){for(;t{e[0].pre=e[0].pre.replace($l,"");let t=e[e.length-1];t.post=t.post.replace(Sl,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const Wl={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Jl=RegExp("("+Object.keys(Wl).join("|")+")"),Ll=RegExp("("+Object.values(Wl).join("|")+")"),ql=function(e,t){const n=e[t].pre.match(Jl)[0]||"";if(!n||!Wl[n])return null;const r=Wl[n];for(;t{e[0].pre=e[0].pre.replace(Jl,"");let t=e[e.length-1];t.post=t.post.replace(Ll,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const Ul=/\./g;var Rl=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Ul,""),e.normal=e.normal.replace(Ul,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Ul,""),e.normal=e.normal.replace(Ul,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}},Zl=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const Ql=(e,t)=>"number"==typeof t?e.eq(t):e,_l=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var Yl=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=_l(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return Ql(this,e).map(e=>{let n=_l(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=Ql(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=Ql(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=Ql(t,e),new Adjectives(t.document,t.pointer)}};const Xl=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},eu=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let tu=[["emojis","emoji"],["atmentions","atMentions"]];var nu=function(e){eu.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=Xl,tu.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},ru={api:function(e){nu(e),Fl(e),Ml(e),Kl(e),Yl(e),Zl(e),Rl(e)}};const au=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var ou={case:e=>{au(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;au(e,e=>e.text=n(e.text,t))},whitespace:e=>{au(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{au(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const iu=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),su="unicode|punctuation|whitespace|acronyms",lu="|case|contractions|parentheses|quotations|emoji|honorifics",uu={light:iu(su),medium:iu(su+lu),heavy:iu(su+lu+"|possessives|adverbs|nouns|verbs")};var cu={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=uu[e]),Object.keys(e).forEach(t=>{ou.hasOwnProperty(t)&&ou[t](this,e[t])}),this}}},hu=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const du=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var mu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},gu=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:pu(e,t),isSubordinate:mu(e),root:t}};const fu=e=>e.text(),bu=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),vu=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var yu=function(e){let t=gu(e);return{root:fu(t.root),number:vu(t.number),determiner:fu(t.determiner),adjectives:bu(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const wu={tags:!0};var ku=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,wu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",wu),e};const Pu={tags:!0};var Au=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,Pu).tag("Singular","toPlural"),e};const Du=(e,t)=>"number"==typeof t?e.eq(t):e;var ju={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return Du(this,e).map(gu)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=yu(t)),n},[])}isPlural(e){let t=this.filter(e=>gu(e).isPlural);return Du(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=gu(e).adjectives;n.found&&(t=t.concat(n))}),Du(t,e)}toPlural(e){return Du(this,e).map(e=>ku(e,gu(e)))}toSingular(e){return Du(this,e).map(e=>{let t=gu(e);return Au(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=hu(this);return t=Du(t,e),new Nouns(this.document,t.pointer)}}},xu=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},Nu=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(Iu.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(Iu.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(Iu.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},Gu=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Cu=/^([0-9,. ]+)\/([0-9,. ]+)$/,Ou={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Bu=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Vu=function(e){if(!0===Ou.hasOwnProperty(e))return Ou[e];if("a"===e||"an"===e)return 1;const t=Nu(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Fu(n),r=Fu(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Fu(n);let a=r.text("reduced");return zu.test(a)&&(a=a.replace(zu,""),r=r.replaceWith(a)),r=$u.hasOwnProperty(a)?$u[a]:Fu(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:Fu(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Hu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Mu=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Wu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Ju=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Lu=function(e){let t=[];if(e>100)return t;for(let n=0;n=Mu[n][1]&&(e-=Mu[n][1],t.push(Mu[n][0]));return Wu[e]&&t.push(Wu[e]),t};var qu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Hu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Ju.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Lu(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Hu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")},Ku=function(e){return e.numerator&&e.denominator?`${qu({num:e.numerator})} out of ${qu({num:e.denominator})}`:""};const Uu={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Ru=e=>{let t=qu(e).split(" "),n=t[t.length-1];return Uu.hasOwnProperty(n)?t[t.length-1]=Uu[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},Zu=function(e){if(!e.numerator||!e.denominator)return"";let t=qu({num:e.numerator}),n=Ru({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const Qu=(e,t)=>"number"==typeof t?e.eq(t):e;var _u=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return Qu(this,e).map(Su)}get(e){return Qu(this,e).map(Su)}json(e){return Qu(this,e).map(t=>{let n=t.toView().json(e)[0],r=Su(t);return n.fraction=r,n},[])}toDecimal(e){return Qu(this,e).forEach(e=>{let{decimal:t}=Su(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return Qu(this,e).forEach(e=>{let t=Su(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return Qu(this,e).forEach(e=>{let t=Su(e),n=Zu(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return Qu(this,e).forEach(e=>{let t=Su(e),n=Ku(t);e.replaceWith(n)}),this}toPercentage(e){return Qu(this,e).forEach(e=>{let{decimal:t}=Su(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=xu(this);return t=Qu(t,e),new Fractions(this.document,t.pointer)}};const Yu="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Xu=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Yu+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Yu+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Yu+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Yu+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Yu})`),r=e.has("("+Yu+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Yu+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Yu+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},ec=function(e){if("string"==typeof e)return{num:Vu(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Su(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Vu(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}},tc=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Hu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const nc={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},rc={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var ac=function(e){let t={suffix:"",prefix:e.prefix};return nc.hasOwnProperty(e.prefix)&&(t.suffix+=" "+nc[e.prefix],t.prefix=""),rc.hasOwnProperty(e.suffix)&&(t.suffix+=" "+rc[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},oc=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=ac(e);return t+Ru(e)+n}if("Ordinal"===t)return e.prefix+tc(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=ac(e);return t+qu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const ic=(e,t)=>"number"==typeof t?e.eq(t):e;var sc=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return ic(this,e).map(ec)}get(e){return ic(this,e).map(ec).map(e=>e.num)}json(e){return ic(this,e).map(t=>{let n=t.toView().json(e)[0],r=ec(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=ec(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=oc(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=ec(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=oc(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=ec(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=oc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>ec(t).num===e)}greaterThan(e){return this.filter(t=>ec(t).num>e)}lessThan(e){return this.filter(t=>ec(t).num{let r=ec(n).num;return r>e&&r{let n=ec(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=oc(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=ec(e).num);let t=this.map(t=>{let n=ec(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=oc(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Xu(this);return t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Xu(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Xu(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=ic(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},lc={api:function(e){_u(e),sc(e)}};const uc={people:!0,emails:!0,phoneNumbers:!0,places:!0},cc=function(e={}){return!1!==(e=Object.assign({},uc,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var hc={api:function(e){e.prototype.redact=cc}},dc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0],a=r[r.length-1];return n[a.index[0]].length===r.length&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})},mc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))},pc=function(e){let t=e.clauses(),n=mc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}},gc=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},fc=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},bc=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!(t.lookBehind("to$").found||!t.has("#Copula #Gerund")&&(t.has("#Gerund")||!t.has("#Copula")&&t.has("#PresentTense")&&e.has("(when|as|how)"))));n.found&&n.toInfinitive()}return e},vc=function(e){return e.verbs().toInfinitive(),e};const yc=(e,t)=>"number"==typeof t?e.eq(t):e;var wc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=pc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return yc(this,e).map(e=>{let t=pc(e);return gc(e,t)})}toPresentTense(e){return yc(this,e).map(e=>{let t=pc(e);return fc(e,t)})}toFutureTense(e){return yc(this,e).map(e=>{let t=pc(e);return e=bc(e,t)})}toInfinitive(e){return yc(this,e).map(e=>{let t=pc(e);return vc(e,t)})}toNegative(e){return yc(this,e).map(e=>(pc(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)))}toPositive(e){return yc(this,e).map(e=>(pc(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return yc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return yc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=yc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=dc(this);return yc(t,e)}};Object.assign(e.prototype,t)}},kc=function(e){return e.match("#Honorific+? #Person+")},Pc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const Ac="male",Dc="female",jc={mr:Ac,mrs:Dc,miss:Dc,madam:Dc,king:Ac,queen:Dc,duke:Ac,duchess:Dc,baron:Ac,baroness:Dc,count:Ac,countess:Dc,prince:Ac,princess:Dc,sire:Ac,dame:Dc,lady:Dc,ayatullah:Ac,congressman:Ac,congresswoman:Dc,"first lady":Dc,mx:null};var xc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return Dc;if(n.has("#MaleName"))return Ac;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),jc.hasOwnProperty(e))return jc[e];if(/^her /.test(e))return Dc;if(/^his /.test(e))return Ac}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return Ac;if(n&&!t)return Dc}return null};const Nc=(e,t)=>"number"==typeof t?e.eq(t):e;var Ic=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return Nc(this,e).map(Pc)}json(e){return Nc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Pc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:xc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=kc(this);return t=Nc(t,e),new People(this.document,t.pointer)}},Tc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region)$")||!e.after("^#Country").found),t=t.splitAfter(n),t},Gc=function(e){e.prototype.places=function(t){let n=Tc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}},Ec=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const Cc=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Oc=function(e){e.prototype.topics=Cc},Bc={api:function(e){Ic(e),Gc(e),Ec(e),Oc(e)}},Vc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t},zc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},Fc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const $c=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Sc=function(e){return e.match("#Negative")},Hc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Mc=function(e){let t=e.clone();t.contractions().expand();const n=zc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Fc(t,n),auxiliary:$c(t,n),negative:Sc(t),phrasal:Hc(n)}};const Wc={tense:"PresentTense"},Jc={conditional:!0},Lc={tense:"FutureTense"},qc={progressive:!0},Kc={tense:"PastTense"},Uc={complete:!0,progressive:!1},Rc={passive:!0},Zc=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},Qc={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Wc]],["^wanted to #Infinitive$",[Kc]],["^will want to #Infinitive$",[Lc]]],"gerund-phrase":[["^#PastTense #Gerund$",[Kc]],["^#PresentTense #Gerund$",[Wc]],["^#Infinitive #Gerund$",[Wc]],["^will #Infinitive #Gerund$",[Lc]],["^have #PastTense #Gerund$",[Kc]],["^will have #PastTense #Gerund$",[Kc]]],"simple-present":[["^#PresentTense$",[Wc]],["^#Infinitive$",[Wc]]],"simple-past":[["^#PastTense$",[Kc]]],"simple-future":[["^will #Adverb? #Infinitive",[Lc]]],"present-progressive":[["^(is|are|am) #Gerund$",[Wc,qc]]],"past-progressive":[["^(was|were) #Gerund$",[Kc,qc]]],"future-progressive":[["^will be #Gerund$",[Lc,qc]]],"present-perfect":[["^(has|have) #PastTense$",[Kc,Uc]]],"past-perfect":[["^had #PastTense$",[Kc,Uc]],["^had #PastTense to #Infinitive",[Kc,Uc]]],"future-perfect":[["^will have #PastTense$",[Lc,Uc]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Kc,qc]]],"past-perfect-progressive":[["^had been #Gerund$",[Kc,qc]]],"future-perfect-progressive":[["^will have been #Gerund$",[Lc,qc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Kc,Rc]],["^(was|were) being (#PastTense|#Participle)",[Kc,Rc]],["^(had|have) been (#PastTense|#Participle)",[Kc,Rc]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Wc,Rc]],["^(is|are|am) being (#PastTense|#Participle)",[Wc,Rc]],["^has been (#PastTense|#Participle)",[Wc,Rc]]],"passive-future":[["will have been (#PastTense|#Participle)",[Lc,Rc,Jc]],["will be being? (#PastTense|#Participle)",[Lc,Rc,Jc]]],"present-conditional":[["would be #PastTense",[Wc,Jc]]],"past-conditional":[["would have been #PastTense",[Kc,Jc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Lc]]],"auxiliary-past":[["^did #Infinitive$",[Kc,{plural:!1}]],["^used to #Infinitive$",[Kc,Uc]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Wc,Uc,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Kc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let _c=[];Object.keys(Qc).map(e=>{Qc[e].forEach(t=>{_c.push({name:e,match:t[0],data:Zc(t[1])})})});var Yc=_c,Xc=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),eh(r)&&(n.remove(r),r=n.last()),eh(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:th(t,e)}};const rh=e=>e,ah=(e,t)=>{let n=nh(e,t),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},oh=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=nh(e,t);return n.has("i")?"am":n.has("we")||r?"are":"is"},ih=function(e,t){let n=nh(e,t),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},sh=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},lh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,sh(e)),r&&e.replace(t.root,r),e},uh=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ch=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal):[]},hh=function(e){return e&&e.isView?e.text("normal"):""},dh=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,sh(e))};var mh=function(e){e=e.clone().toView();let t=Mc(e);const n=Xc(e,t);return{root:t.root.text(),preAdverbs:ch(t.adverbs.pre),postAdverbs:ch(t.adverbs.post),auxiliary:hh(t.auxiliary),negative:t.negative.found,prefix:hh(t.prefix),infinitive:dh(t.root),grammar:n}};const ph={tags:!0};var gh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,sh(r)),i&&e.replace(r,i,ph).tag("Verb").firstTerm().tag("Infinitive"),o.found&&o.reverse().forEach(t=>{e.remove(t)}),t.negative.found){e.has("not")||e.prepend("not");let n=ih(e,t);e.prepend(n)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const fh={tags:!0},bh={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,sh(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=nh(e,t);return r||n.has("we")?"were":"was"})(e,t)),o&&e.replace(a,o,fh),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=bh.simple(e,t),e=bh.noAux(e,t))},hasHad:e=>(e.replace("has","had",fh),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),n(o,e.model).Participle}},vh={infinitive:bh.simple,"simple-present":bh.simple,"simple-past":rh,"simple-future":bh.both,"present-progressive":e=>(e.replace("are","were",fh),e.replace("(is|are|am)","was",fh),e),"past-progressive":rh,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":bh.hasHad,"past-perfect":rh,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=uh(e)),e.remove("have"),e),"present-perfect-progressive":bh.hasHad,"past-perfect-progressive":rh,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",fh),e),"passive-past":e=>(e.replace("have","had",fh),e),"passive-present":e=>(e.replace("(is|are)","was",fh),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",fh),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":rh,"auxiliary-future":e=>(e.replace("(is|are|am)","was",fh),e),"auxiliary-past":rh,"auxiliary-present":e=>(e.replace("(do|does)","did",fh),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",fh):(bh.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":rh,"want-infinitive":e=>(e.replace("(want|wants)","wanted",fh),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),bh.simple(e,t),uh(e),e)};var yh=function(e,t,n){return vh.hasOwnProperty(n)?((e=vh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const wh={tags:!0},kh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),!1===ah(e,t)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=oh(e,t)),o&&(e=e.replace(a,o,wh)).not("#Particle").tag("PresentTense"),e},Ph=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,sh(a)),!1===ah(e,t)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,wh)).not("#Particle").tag("Gerund"),e},Ah={infinitive:kh,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(r.has("#Infinitive")){let a=nh(e,t).subject;if(ah(e,t)||a.has("i"))return e;let o=r.text("normal"),i=n(o,e.model).PresentTense;o!==i&&(e=e.replace(r,i,wh))}return e},"simple-past":kh,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let r=oh(e,t);e.replace(n,r),(e=e.remove("will")).replace("not "+r,r+" not")}else kh(e,t),e=e.remove("will");return e},"present-progressive":rh,"past-progressive":(e,t)=>{let n=oh(e,t);return e.replace("(were|was)",n,wh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(kh(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=nh(e,t).subject;return ah(e,t)||n.has("i")?((e=lh(e,t)).remove("had"),e):(e.replace("had","has",wh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":rh,"past-perfect-progressive":e=>e.replace("had","has",wh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=oh(e,t);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,wh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":rh,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":rh,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(Ph(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=ih(e,t);return e.replace(t.auxiliary,n),e}return Ph(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":rh,"modal-infinitive":rh,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,sh(r)),a&&(e=e.replace(t.root,a,wh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),kh(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return ah(e,t)&&(n="want"),e.replace("(want|wanted|wants)",n,wh),e.remove("will"),e}};var Dh=function(e,t,n){return Ah.hasOwnProperty(n)?((e=Ah[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const jh={tags:!0},xh=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,sh(r)),o&&(e=e.replace(r,o,jh)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Nh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,sh(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,jh),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Ih={infinitive:xh,"simple-present":xh,"simple-past":xh,"simple-future":rh,"present-progressive":Nh,"past-progressive":Nh,"future-progressive":rh,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":rh,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":rh,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":rh,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":rh,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":rh,"modal-past":rh,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),xh(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Th=function(e,t,n){return e.has("will")||e.has("going to")?e:Ih.hasOwnProperty(n)?((e=Ih[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Gh={tags:!0};var Eh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,sh(a));let s=r(i,e.model).Gerund;return s&&(s=`${oh(e,t)} ${s}`,e.replace(a,s,Gh)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const Ch={tags:!0},Oh=function(e,t){let n=ih(e,t);return e.prepend(n+" not"),e},Bh=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Vh=e=>e.has("(is|was|am|are|will|were|be)"),zh={"simple-present":(e,t)=>!0===Vh(e)?Bh(e):(e=lh(e,t),e=Oh(e,t)),"simple-past":(e,t)=>!0===Vh(e)?Bh(e):((e=lh(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Vh(e)?Bh(e):Oh(e,t),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ch),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Oh(e,t)).replace("wants","want",Ch)};var Fh=function(e,t,n){if(e.has("#Negative"))return e;if(zh.hasOwnProperty(n))return e=zh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Vh(e)?Bh(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const $h=(e,t)=>"number"==typeof t?e.eq(t):e;var Sh={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return $h(this,e).map(Mc)}json(e,t){return $h(this,t).reverse().map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=mh(t),n},[]).reverse()}subjects(e){return $h(this,e).map(e=>{let t=Mc(e);return nh(e,t).subject})}adverbs(e){return $h(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return $h(this,e).filter(e=>!0!==nh(e).plural)}isPlural(e){return $h(this,e).filter(e=>!0===nh(e).plural)}isImperative(e){return $h(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return gh(e,t,n.form)})}toPresentTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Dh(e,t,n.form)})}toPastTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return yh(e,t,n.form)})}toFutureTense(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Th(e,t,n.form)})}toGerund(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Eh(e,t,n.form)})}conjugate(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return{Infinitive:gh(e.clone(),t,n.form).text("normal"),PastTense:yh(e.clone(),t,n.form).text("normal"),PresentTense:Dh(e.clone(),t,n.form).text("normal"),FutureTense:Th(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return $h(this,e).map(e=>{let t=Mc(e),n=Xc(e,t);return Fh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Vc(this);return t=$h(t,e),new Verbs(this.document,t.pointer)}}};return p.plugin(Vl),p.plugin(ru),p.plugin(cu),p.plugin(ju),p.plugin(lc),p.plugin(hc),p.plugin(wc),p.plugin(Bc),p.plugin(Sh),p},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); +var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer,n=this._cache||[];if(t||(t=this.docs.map((e,t)=>[t])),t[e]){let r=this.update([t[e]]);return r._cache=n[e],r}return this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);return a.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(r.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):a):a;var o};let d=Object.assign({},e);const p=function(e,t){t&&p.addWords(t);let n=h(e,s,d);return e&&n.compute(d.hooks),n};Object.defineProperty(p,"_world",{value:d,writable:!0}),p.tokenize=function(e,t){const{compute:n}=this._world;t&&p.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(e){return u(e,this._world,s,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},p.version="14.2.0";var m=p;const g={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var f={api:function(e){Object.assign(e.prototype,g)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.alias&&e.alias.forEach(e=>t.add(e));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),v=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},y=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},w=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},k=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?y(n):(y(n),y([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!b(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||b(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^\p{Lu}/u,e=>e.toLowerCase()))}(e,o,n),v(e,o,n)},P=(new Date).getTime(),A=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var j=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-P;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=A((r=r>46655?46655:r).toString(36));a+=A(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const E=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},x=e=>"[object Array]"===Object.prototype.toString.call(e),N=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]:x(e)?x(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.map(e=>(e.id=j(e),e))}(d),n?(E(t.update([u]).firstTerm()),k(h,u,d,r)):(E(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(T,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));r.insertAfter(e),a.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this}};var D=C,O=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const B={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let a=n.fullPointer,o=r.fullPointer.reverse(),i=O(this.document,o);return a=function(e,t){return(e=e.map(e=>{let[n]=e;return t[n]?(t[n].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e})).forEach((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0)).map(e=>(e[3]=null,e[4]=null,e))}(a,t(o)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):(this.ptrs=[],n.none())}};B.delete=B.remove;var V=B;const z={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};z.deHyphenate=z.dehyphenate,z.toQuotation=z.toQuotations;var $=z,F={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const S=new Set(["index","sequence","seq","sequential","chron","chronological"]),H=new Set(["freq","frequency","topk","repeats"]),M=new Set(["alpha","alphabetical"]);var L={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return S.has(e)&&(e="sequential"),M.has(e)&&(e="alpha"),H.has(e)?(a=F.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof F[e]?(a=a.sort(F[e]),this.update(a.map(e=>e.pointer))):this}};const J=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var W={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return v(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=J(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=J(this.document,e);return this.document=t,this.all()}var a;return this}},q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const K=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},G,D,V,$,L,W,q);var U={api:function(e){Object.assign(e.prototype,K)},compute:{id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Z=/'/,_=new Set(["what","how","when","where","why"]),X=new Set(["be","go","start","think","need"]),Y=new Set(["been","gone"]);var ee=function(e,t){let n=e[t].normal.split(Z)[0];if(_.has(n))return[n,"did"];if(e[t+1]){if(Y.has(e[t+1].normal))return[n,"had"];if(X.has(e[t+1].normal))return[n,"would"]}return null},te=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ne=/'/;var re=(e,t)=>["je",e[t].normal.split(ne)[1]],ae=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},oe=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ie=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,se=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var le=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(ie);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(se),null!==r?[r[1],"to",r[4]]:null)};const ue=/'/,ce=/^[0-9][^-–—]*[-–—].*?[0-9]/,he=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},de={t:(e,t)=>te(e,t),d:(e,t)=>ee(e,t)},pe={j:(e,t)=>re(e,t),l:(e,t)=>ae(e,t),d:(e,t)=>oe(e,t)},me=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===ue.test(r[s].normal)&&([l,u]=r[s].normal.split(ue));let c=me(o,r[s],l,u);!c&&de.hasOwnProperty(u)&&(c=de[u](r,s,t)),!c&&pe.hasOwnProperty(l)&&(c=pe[l](r,s)),c?(c=ge(c,e),Q(n,[i,s],c),he(n[i],e,s,c.length)):ce.test(r[s].normal)&&(c=le(r,s),c&&(c=ge(c,e),Q(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),he(n[i],e,s,c.length)))}})}},hooks:["contractions"]},be=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===ve.test(l)){let e=l.replace(ve,"");if(i.hasOwnProperty(e)&&e.length>3&&ye.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},ke={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]},Pe=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;return n.one.tokenize.splitTerms(e,r).map(n.one.tokenize.splitWhitespace).map(e=>e.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Ae=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const xe=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Ne=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=xe(e.goNext,void 0),e.failTo=xe(e.failTo,0),e.endAs=xe(e.endAs,null),e},Ie={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:Pe(e,this.world));var r;let a=Ee(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=Pe(e,this.world());return Ne(t)}}};const Ge=function(e,t){return t?(e.forEach(e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},Te=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ge(n,t),Object.keys(r).forEach(e=>{r[e]=Ge(r[e],t)}),{ptrs:n,byGroup:r}},Ce=e=>"[object Object]"===Object.prototype.toString.call(e),De=e=>e&&Ce(e)&&!0===e.isView,Oe=e=>e&&Ce(e)&&!0===e.isNet;var Be={matchOne:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e).eq(0);if(Oe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e);if(Oe(e))return this.sweep(e,{tagger:!1}).view.settle();"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(De(e))return e.fullPointer.length>0;if(Oe(e))return this.sweep(e,{tagger:!1}).view.found;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(De(e))return this.filter(t=>t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0});let s=this.update(o);return this._cache&&(s._cache=o.map(e=>i[e[0]])),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(De(e))return this.filter(t=>!t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let o=this._cache||[],i=this.filter((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length});return this._cache&&(i._cache=i.ptrs.map(e=>o[e[0]])),i}},Ve={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const ze=function(e,t){return[e[0],e[1],t[2]]},$e=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Fe=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},Se={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(ze(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(ze(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)}};Se.split=Se.splitAfter;var He=Se;const Me=Object.assign({},Be,Ve,He);Me.lookBehind=Me.before,Me.lookBefore=Me.before,Me.lookAhead=Me.after,Me.lookAfter=Me.after,Me.notIf=Me.ifNo;var Le=function(e){Object.assign(e.prototype,Me)};const Je=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,We=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,qe=/ /g,Ke=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Ue=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var Re=function(e){let t=e.split(Je),n=[];t.forEach(e=>{Ke(e)?n.push(e):n=n.concat(e.split(We))}),n=Ue(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||Ke(e)?r.push(e):r=r.concat(e.split(qe))}),r=Ue(r),r};const Qe=/\{([0-9]+)?(, *[0-9]*)?\}/,Ze=/&&/,_e=new RegExp(/^<\s*(\S+)\s*>/),Xe=e=>e.charAt(0).toUpperCase()+e.substring(1),Ye=e=>e.charAt(e.length-1),et=e=>e.charAt(0),tt=e=>e.substring(1),nt=e=>e.substring(0,e.length-1),rt=function(e){return e=tt(e),e=nt(e)},at=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===Ye(e)&&(n.end=!0,e=nt(e)),"^"===et(e)&&(n.start=!0,e=tt(e)),("["===et(e)||"]"===Ye(e))&&(n.group=null,"["===et(e)&&(n.groupStart=!0),"]"===Ye(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===et(e))){const t=_e.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===Ye(e)&&(n.greedy=!0,e=nt(e)),"*"!==e&&"*"===Ye(e)&&"\\*"!==e&&(n.greedy=!0,e=nt(e)),"?"===Ye(e)&&(n.optional=!0,e=nt(e)),"!"===et(e)&&(n.negative=!0,e=tt(e)),"~"===et(e)&&"~"===Ye(e)&&e.length>2&&(e=rt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===et(e)&&")"===Ye(e)){Ze.test(e)?(n.choices=e.split(Ze),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=tt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=nt(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>at(e,t))),e=""}if("/"===et(e)&&"/"===Ye(e))return e=rt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===et(e)&&"}"===Ye(e))return e=rt(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===et(e)&&">"===Ye(e))return e=rt(e),n.chunk=Xe(e),n.greedy=!0,n;if("%"===et(e)&&"%"===Ye(e))return e=rt(e),n.switch=e,n}return!0===Qe.test(e)&&(e=e.replace(Qe,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===et(e)?(n.tag=tt(e),n.tag=Xe(n.tag),n):"@"===et(e)?(n.method=tt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ot=at,it=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let r=0;r{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},st=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=Re(e);return n=n.map(e=>ot(e,t)),n=it(n),n};const lt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var ut=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),ft=(e,t)=>-1!==e.pre.indexOf(t),bt={hasQuote:e=>ht.test(e.pre)||dt.test(e.post),hasComma:e=>gt(e,","),hasPeriod:e=>!0===gt(e,".")&&!1===gt(e,"..."),hasExclamation:e=>gt(e,"!"),hasQuestionMark:e=>gt(e,"?")||gt(e,"¿"),hasEllipses:e=>gt(e,"..")||gt(e,"…")||ft(e,"..")||ft(e,"…"),hasSemicolon:e=>gt(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>pt.test(e.post)||pt.test(e.pre),hasDash:e=>mt.test(e.post)||mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};bt.hasQuotation=bt.hasQuote;var vt=bt;let yt=function(){};yt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(ct(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof vt[t.method]&&!0===vt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?t.fastOr.has(e.implicit)||t.fastOr.has(e.normal)||t.fastOr.has(e.text)||t.fastOr.has(e.machine):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>yt(e,t,n,r)):t.choices.some(t=>yt(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var wt=yt;const kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Pt(e,e.t).length=r-e.t),e.t=r,!0)};const jt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&wt(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Pt(e,e.t).length+=r),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null},Nt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null},It=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},Gt=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null},Tt=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},Ct=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&It(e),r.implicit&&e.terms[e.t+1]&&Tt(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Gt(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Pt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0):null)},Dt=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==kt(e,a)){if(!0!==wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative&&!Nt(a))return null;if(!0!==e.optional)return null}else if(!Ct(a))return null}else if(!Ct(a))return null}else if(!Ct(a))return null}else if(!xt(a))return null}else if(!Et(a))return null}else if(!At(a))return null}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}},Ot=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Bt=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Vt=function(e,t,n){let r=Dt(e,t,0,e.length);return r?(r=Bt(r,n),r):null};var zt={api:Le,methods:{one:{termMethods:vt,parseMatch:st,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Vt(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ot(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t)}}};const $t=/^\../,Ft=/^#./,St=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),$t.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var Ht={html:function(e){let{starts:t,ends:n}=St(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(Lt,""),Wt.test(a)&&(a=" "),a=a.replace(Jt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(Lt,""),a="-"===a?" ":a.replace(Mt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&qt.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},Ut={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};Ut.clean=Ut.normal,Ut.reduced=Ut.root;var Rt=Ut;const Qt={text:!0,terms:!0};let Zt={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _t=function(e,t){return Object.assign({},e,t)},Xt={text:e=>Kt(e,{keepPunct:!0},!1),normal:e=>Kt(e,_t(Rt.normal,{keepPunct:!0}),!1),implicit:e=>Kt(e,_t(Rt.implicit,{keepPunct:!0}),!1),machine:e=>Kt(e,Zt,!1),root:e=>Kt(e,_t(Zt,{form:"root"}),!1),offset:e=>{let t=Xt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};Xt.sentences=Xt.sentence,Xt.clean=Xt.normal,Xt.reduced=Xt.root;const Yt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},Qt,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&Xt[o]&&(a[o]=Xt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};Yt.data=Yt.json;var en=Yt,tn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const nn="";var rn={green:e=>""+e+nn,red:e=>""+e+nn,blue:e=>""+e+nn,magenta:e=>""+e+nn,cyan:e=>""+e+nn,yellow:e=>""+e+nn,black:e=>""+e+nn,dim:e=>""+e+nn,i:e=>""+e+nn},an=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(rn.blue("\n ──────")),t.forEach(e=>{console.log(rn.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=rn.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=rn.blue(" │ ")+rn.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return rn[n](e)})),e.join(", ")}(t,n);console.log(o)})})},on=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(rn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(rn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(rn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(rn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},sn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${rn.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var un=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},hn={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&&Rt.hasOwnProperty(e)?t=Object.assign({},Rt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},gn=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var fn=function(e,t){let n=gn(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r},bn={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n=n.filter(e=>e.length>0),n},pointer:{indexN:gn,splitAll:fn}}},vn=function(e,t){let n=e.concat(t),r=gn(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>mn(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},wn=function(e,t){let n=gn(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>mn(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Pn=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},An={union:function(e){e=kn(e,this);let t=vn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)}};An.and=An.union,An.intersection=function(e){e=kn(e,this);let t=wn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.not=function(e){e=kn(e,this);let t=yn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.difference=An.not,An.complement=function(){let e=this.all(),t=yn(e.fullPointer,this.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=vn(e,[t])}),e=Pn(e,this.document),this.update(e)};var jn={methods:bn,api:function(e){Object.assign(e.prototype,An)}},En=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};function xn(e,t,n){return e.splice(t,1,...n),e}const Nn=function(e){return e.fastOr?Array.from(e.fastOr).map(e=>[{word:e}]):e.choices},In=function(e,t){let n=Object.assign({},e,t);return delete n.choices,delete n.fastOr,delete n.operator,n};var Gn=function(e){let t=[];return e.forEach(e=>{for(let n=0;n{let a=Object.assign({},e);a.regs=a.regs.slice(0),r=r.map(t=>In(e.regs[n],t)),a.regs=xn(a.regs,n,r),t.push(a)})}t.push(e)}),t};const Tn=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var Cn=function(e){return e.forEach(e=>{e.needs=Array.from(function(e){let t=new Set;return e.forEach(e=>{let n=Tn(e);n?t.add(n):"and"===e.operator&&e.choices&&e.choices.forEach(e=>{e.forEach(e=>{let n=Tn(e);n&&t.add(n)})})}),t}(e.regs)),e.minWords=e.regs.filter(e=>!e.optional).length}),e},Dn=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},On=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},Bn=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},Vn=function(e,t,n,r){let a=[];for(let o=0;o0&&(l.ptrs.forEach(e=>{e[0]=o;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),a.push(t)}),!0===r.matchOne))return[a[0]]}return a},zn=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s=e.tag||"";var l;l=e.tag,"[object Array]"===Object.prototype.toString.call(l)&&(s=e.tag.join(" #"));let u=e.reason||e.match;u=u?`|${u}|`:"";let c=(" "+u).padEnd(20)+" - ";const h=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;c+=i>r&&i{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e});let i=o.map(e=>e.pointer);return o=o.map(e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e)),{view:this.update(i),found:o}}},methods:{one:{buildNet:function(e,t){e=En(e,t),e=Gn(e);let n=(e=Cn(e)).filter(e=>0===e.needs.length),r=Dn(e);return delete r["#Noun"],delete r["#Verb"],{index:r,always:n}},bulkMatch:function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=On(a,t.index);return o=Bn(o,a),t.always.length>0&&(o=o.map(e=>e.concat(t.always))),o=function(e,t){return e.map((e,n)=>{let r=t[n].length;return e.filter(e=>r>=e.minWords)})}(o,e),Vn(o,e,n,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag&&!e.chunk)return;let a=e.reason||e.match;l.DEBUG_TAGS&&zn(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===$n(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe,a),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe,"quick-plural")),void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach(t=>t.chunk=e.chunk)})}}}};const Sn=/ /,Hn=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Mn=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Sn.test(t))!function(e,t,n,r){let a=t.split(Sn);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),Mn(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nLn(e,t,n,r))};var Jn=Ln,Wn=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>qn({id:e})),t}return[qn({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Qn=e=>"[object Array]"===Object.prototype.toString.call(e),Zn=e=>(e=e||"").trim(),_n=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Kn.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Un(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=qn({});return e.forEach(e=>{if((e=qn(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Rn(t=e).forEach(qn),t);var t},Xn=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Rn(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},Yn=function(e){let t=Rn(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},er={text:Xn,txt:Xn,array:Yn,flat:Yn},tr=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Xn(e,!0)),null):er.hasOwnProperty(t)?er[t](e):e},nr=e=>{Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},rr=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zn(e),!rr.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||qn({});return new g$1(t)}add(e,t={}){if(Qn(e))return e.forEach(e=>this.add(Zn(e),t)),this;e=Zn(e);let n=qn({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zn(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Rn(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Rn(this.json)}fillDown(){var e;return e=this.json,Rn(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Qn(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){nr(this.json);let e=Rn(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return nr(this.json),tr(this.json,e)}debug(){return nr(this.json),tr(this.json,"debug"),this}}const ar=function(e){let t=_n(e);return new g$1(t)};ar.prototype.plugin=function(e){e(this)};var or={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const ir=function(e){if(or.hasOwnProperty(e.id))return or[e.id];if(or.hasOwnProperty(e.is))return or[e.is];let t=e._cache.parents.find(e=>or[e]);return or[t]};var sr=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:ir(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const lr=function(e){return e?"string"==typeof e?[e]:e:[]};var ur=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=lr(e[t].children),e[t].not=lr(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},cr={one:{setTag:Jn,unTag:Wn,addTags:function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach(t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0}),e}(e)),e=ur(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}});return ar(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sr(n)}}};const hr=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var dr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),hr(e)?e.forEach(e=>a.one.setTag(r,e,i,n,t)):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return hr(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}},pr=function(e){Object.assign(e.prototype,dr)},mr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const gr=new Set(["Auxiliary","Possessive"]);var fr={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(gr.has(e)||!t.hasOwnProperty(n))return 1;if(gr.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:cr,api:pr,lib:mr};const br=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vr=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var yr=function(e){let t=[],n=e.split(vr);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const $r=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Fr=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Sr=/['’]/,Hr=/^[a-z]\.([a-z]\.)+/i,Mr=/^[-+.][0-9]/,Lr=/^'[0-9]{2}/;var Jr=function(e){let t=e,n="",r="";return""===(e=(e=e.replace($r,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Mr.test(e)?"'"===n&&Lr.test(e)?(n="",t):"":(n="",t)))).replace(Fr,a=>(r=a,Sr.test(a)&&/[sn]['’]$/.test(t)&&!1===Sr.test(n)?(r=r.replace(Sr,""),"'"):!0===Hr.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}},Wr=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const qr=/([A-Z]\.)+[A-Z]?,?$/,Kr=/^[A-Z]\.,?$/,Ur=/[A-Z]{2,}('s|,)?$/,Rr=/([a-z]\.)+[a-z]\.?$/;var Qr=function(e){return function(e){return!0===qr.test(e)||!0===Rr.test(e)||!0===Kr.test(e)||!0===Ur.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Zr=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Wr(r),r=n(r,t),r=Qr(r),e.normal=r},_r={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Nr,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Vr);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Dr(n),n=Tr(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Jr(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Zr(e,t)}),n})}}}},Xr={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yr={},ea={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Yr[t]=!0,ea[t]="Abbreviation",void 0!==e[1]&&(ea[t]=[ea[t],e[1]])})});var ta=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let na={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ra={};Object.keys(na).forEach((function(e){na[e].split("").forEach((function(t){ra[t]=e}))}));const aa=/\//,oa=/[a-z]\.[a-z]/i,ia=/[0-9]/;var sa=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),aa.test(n)&&!oa.test(n)&&!ia.test(n)){let t=n.split(aa);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};const la=/^\p{Letter}+-\p{Letter}+$/u;var ua=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),la.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ca=function(e){let t=0,n=0,r=e.document;for(let e=0;eha(e,sa),machine:e=>ha(e,ua),normal:e=>ha(e,Zr),freq:function(e){let t=e.docs,n={};for(let e=0;e{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const ga={safe:!0,min:3};var fa={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=pa},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},ga,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=ma(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};m.extend(U),m.extend(pn),m.extend(zt),m.extend(jn),m.extend(fr),m.plugin(fe),m.extend(da),m.plugin(f),m.extend(Ie),m.extend(fa),m.extend(ke),m.extend(Fn);var ba={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},va={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shiba,y1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7S;1:6L;2:7O;3:7Z;4:7Y;5:82;6:6X;7:7I;8:75;9:6T;a7Kb6Wc5Vd5Ae52f4Eg44h3Wi3Qj3Ok3Ml3Cm33n2Zo2Vp21ques7Mr1Ds07tTuRvMwCyBzA;ip,o6E;awn,e1Wie4U;aHeaGhEiCoAre7M;nd0rA;k,ry;mp,nApe,re,sh,tne84;!d,g;e6IiA;p,st6;r,th0;it,rAs4t2ve,x;ehou1ra83;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l3A;pAsh0;da4gra50;aLeKhrJiIoHrDuBwiAy4O;n,st;nArn;e,n63;aCeBiAu7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5Z;ll,ne,r3Sss,t76u2;ck,e,me,p,re;e1Now,u7;ar,e,st;g,lArg63s4;k,ly;a0Ec09e06h01iZkXlVmUnTou6CpPtFuBwA;ear,it2;b1Yit,m,ppBrAspe5;ge,pri1vey;lAo5C;e59y;aHeGiFoDrBuAy6;dy,ff,mb6;a6CeAi4G;am,ss,t2;cking,p,rA;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Lons6MrAy;ay,e12ink6u3;n,r6Ite;n,rk;ee1Fow;e0Fi6o43;eep,iA;ce,p,t;ateboa5ZiA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i33;pe,re;aBed,nArv16t;se,t1Y;l,r2t;aDhedu6oCrA;at2eA;en,w;re,ut;le,n,r0J;crifi3il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1C;as5EcOdo,el,fMgLje5lKmInHo0VpFque7sCturn,vAwa5C;eAi1J;al,r1;er5JoBt,uA;lt,me;l5Hrt;air,eaAly,o3Z;l,t;dezvo26t;aAedy;ke,rk;ea1i3F;a50ist0r4E;act5Eorm,uA;nd,se;aAo4Xru8;ll;ck,i1ke,l48nAtV;ge,k;a00eXhViSlNoJrBuA;mp,n2rcha1sh;ai1eFiEoAu3L;be,ceCdu3grAje5mi1te7;amAe5E;!me;ed,ss;ce,de;sAy;er4Us;iClAol,p,re,s2Sw0;iAl;ce,sh;nt,s4I;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Um8;!l;cka9iBn,rtAss,t2u1;!y;nt,r;bCff0il,oBrAutli2T;d0ie4S;ze;je5;a3LeCoA;d,tA;e,i3;ed,gle5rd,t;aFeDiCoBuA;rd0;d2Unit44p,ve;lk,n2Yrr43x;asu12n3OrAss;ge,it;il,nBp,rk2ZsAt2;h,k;da4oeuv0Y;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0DvA;el,y;ch,d,p,se;bBcAnd,t2un2;e,k;el,o25;e2DiAno3C;ck,ll,ss;am,o17uA;d9i3;mpEnBr36ssA;ue;cr19dex,fluBha6k,se1VterviAvoi3;ew;en3;a5le1Q;aEeCiBoAu3S;ld,no1Tok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo30m,ne3Hve7;!le;aIeek,lo3FoHrCuA;arAe3Ei0Nn;antee,d;aCiBoAumb6;om,u2B;nd,p;dAsp;e,ua4;of,ssip;in,me,ng,s,te,ze;aWeSiNlJoGrCuA;el,nAzz;c2Fd;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Om;us;aCe0Kip,oAy;at,od,wA;!er;g,re,sh,vo0Z;eDgClBnAre,sh,t,x;an3i0F;e,m,t0;ht,uE;ld;aBeAn3;d,l;r,tuA;re;ce,il,ll,rm,vo21;cho,nGsExAye;cCerci1hib8pAtra5;eriAo0J;en3me2J;el,han9;caAtima4;pe;count0d,gine0vy;aSeMiGoFrBuAye;b,mp,pli24;aCeBiA;ft,nk,ve;am,ss;ft,in;cu05d9ubt;p,sCvA;e,iAor3;de;char9liBpA;at2lay;ke;al,ba4cDfeClBma0Wpos8siAtail;gn,re;ay,ega4;at,ct;liXrA;ea1;ma9n3rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu5glomeDstru5tAveI;a5rA;a7ol;ntArn;ra4;biEfoDmCpA;leAou08romi1;me1C;a06e1Bu4;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t2u1ve;se;d,e;aTeQiPlMoIrDuAypa0N;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan3nCrgaBsA;e,h;in;!d,g,k;c01dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa2;ch;al;chAsw0;or;er;d,m,r;ia4;dEvA;an3oA;ca4;te;ce;i5reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aObrigadiNcGdFexcellency,fiAliCma9officNp5queen,r2s0taoiseach,vice4;e0ultJ;cond liArgeaB;abbi,e0;ar0verend; adK;astGr0;eside6i0ofessF;me ministFnce0;!ss;gistrate,r4yC;eld mar3rst l0;ady,i0;eutena0;nt;shB;oct6utchess;aptain,hance4o0;lonel,mmand5n0unci3;gress0stable;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:56;1:4F;2:55;3:4S;4:4Q;5:4L;6:4P;7:4Z;8:4G;a4Pb44c37d2Ue2Nf2Dg22h1Qin1Njel3k1Ll1Im19n16o12p0Lqu0Kr0BsStJuGvCw9;a9ha39om29;f1i4Tt0Cy9;! arou4C;arn4DeAo9;cabu05l50;gIr9;di6t1H;nc32p2PrAs 9;do3Ps53;bani2in0; rex,aGeFhEiCoBrAu9v show;m2Hn5rntIto15;agedy,ibe,o43;p5rq3D;c,de,er,m9;etE;ere,i8;am,mp38;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n26st4O;ab2O;bAnri19per bowl,r9;f1roga2;st3Ctot0;aCepBipe3PrAudent9;! lo1J;ang1i8;fa1Emo1E;ff1t2Z;loi40me15;elet12i9;er,ll,rm3K;ack,or47;ab0Tcurity gu2C;e4ho9;l2Yol;la31;av0VeChetor5iAo9;de4om;te,v9;erb0M;bCcBf9publ5r0Nspi2;er9orm1;e4r0;it0ord label;a2u40;estion mark,ot27;aMeKhJiHlFort0rAu9yram1B;ddi8ppy,rpo0I;eCie3Go9;bl3Ts9;pe6t9;a2itu2;diction,mi0Droga7ss relea0D;a9ebisci2;q26te,y1;cn5e9g;!r;armaci37otocoH;dest0ncil,r9t0;cen3Fsp3G;nAr2Qte9;!nt;el2Qop3;bj3CcApia2rde0thers,ve9wn1;n,rview;cu9e0E;pi1;aAit23ot9umb1;a24hi8;n28rra7;aFeEiDoAu9é0F;m0Rr0;mAnopo3pPrni8sq1Ot9u12;h1i34;!my;li0Vn08;d5nu,t0;mm0nd11te9yf3;ri0;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,ph9;one;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi1id;a16d9; slam,fa9mo9;th1;d,lf1;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er0;ee market,iAon9;ti1;e16ga2;ame,u2;nan9ref3;ci1;lla,t14;br5mi3n0Uth1;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i1;cAg1Fi3or,ssi1wn9;si0M;to0BumenB;ale6gniAnn1s9vide0O;conte4incen7tri6;ta0A;aBc0fAni0te9;c7rre4;ault 05err0;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi1rr0t11u9yo2;ri1s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli1racter9;ist5;ili8llDr9;e0tifica2;hi1naFpErCshi1t9ucus;erpi9hedr0;ll9;ar;bohyd9ri1;ra2;it0;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i0;!y;ny;eakBiAo9;!th1;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri1;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru0eAqui9;tt0;ta2;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Uncountable:"true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0X;a0Sb0Qc0Cd0Bex0Af07g04he02in0Ljoule0kVlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Dd0Jears old,o1;tt07;att0b;able3e2on1;!ne0;a1r03;spoY;c0Ad09f3i07kilo0Bm1ya06;e0Eil1;e0li09;eet0o05;ascals,e2i1ou0I;c0Fnt0;rcent,tV;hms,uS;an0CewtP;/s,e6i1m²,²,³;/h,cro4l1;e1li03;! pFs 1²;anFpE;g02s07;gMter1;! 2s1;! 1;per second;it2u1;men0x;er0re0;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0S;a0Rb0Mc0Dde0Ce07f00gZhomel09iXjuWlVmPnOoNpMrJsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;b01nt;ndergr1pstairs;adua0Jou1;nd;a3e1oken;en,r1;min0ror0B;boo,n;e6ist00o4qua3ta2u1;bordina0Cper6;bRndard;re,t;cial05l1;e,v0F;cret,n1ri0;ior;e1outiIubbish;ar,laVnt0p1;resentaUublican;ati09eriodic0otenti0rincip0;ffiYpposi01v0;agging,ovel;aFe4in3o1;biEdernUr1;al,t0;iature,or;di1tr03;an,um;attGiber0;stice,veni8;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1ecu7pL;ess;d1iE;er;mographKriva3;hiCo1rude;m3n2opera1;tive;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AK;4:CL;5:C0;6:CG;7:D3;8:BT;9:AS;A:95;B:DB;C:D4;D:BN;aCAbB8cA8d99e8Jf83g7Gh6Ti6Dj5Fk53l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Kkaria,n0C;hFkE;!aC8;ar5VeC7;aMoGuE;sEu2LvBK;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB9ssY;avi3ho4;aNeLiGoEyaBO;jcie88lfgang,odrow,utE;!er;lEnst1;bGey,fredBlE;aB0iE;am,e,s;e98ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Yy;aHiEladimir,ojte7V;cFha0kt68nceErgA6va0;!nt;e3Xt66;lentEn9T;inE;!e;ghBFlyss5Anax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r5A;avAIeEist0oy,um0;ntAAv5Xy;bGd8SmEny;!as,mEoharu;aCCie,y;iAy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8H;!de5;dHrE;en99rE;an98eEy;ll,n97;!dy;dgh,ha,iEnn3req,tsu4S;cAQka;aUcotSeQhMiKoIpenc3tEur1Xylve97zym1;anGeEua86;f0phBDvEwa85;e60ie;!islaw,l8;lom1uE;leyma6ta;dElAm1yabonga;!dhart75n8;aGeE;lErm0;d1t1;h7Lne,qu11un,wn,y6;aEbasti0k2Cl4Qrg4Nth,ymoAF;m5n;!tE;!ie,y;lFmEnti2Gq59ul;!ke5KmDu4;ik,vato7P;aZeVhe9WiRoIuFyE;an,ou;b7EdFf5pe7LssE;!elBJ;ol3Gy;an,bLc63dJel,geIh0landBmHnGry,sFyE;!ce;coe,s;!aA2nD;an,eo;l46r;er79g3n8olfo,riE;go;bDeAR;cEl8;ar6Jc6IhFkEo;!ey,ie,y;a8Wie;gFid,ubCyEza;an1KnZ;g9TiE;na9Ps;ch6Rfa4lImHndGpha4sFul,wi2IyE;an,mo6V;h7Km5;alAXol2Vy;iADon;f,ph;ent2inE;cy,t1;aJeHhilGier6UrE;aka18eE;m,st1;!ip,lip;dA5rcy,tE;ar,e3Fr1Z;b4Idra74tr6KulE;!o19;ctav3Ei3liv3m9Zndrej,rIsFtEum7wC;is,to;aFc7k7m0vE;al5T;ma;i,vM;aMeKiGoEu39;aEel,j5l0ma0r3J;h,m;cFg4i47kE;!au,h7Hola;holAkEolA;!olA;al,d,il,ls1vE;il8K;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Hr1;hamFr6LstaE;fa,p55;ed,mI;di0Xe,hamGis2DntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Vik;house,o0Ct1;ae5Pe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2BlSmadXnRrLs1tGuricFxE;imilianBwe9;e,io;eHhFiAtEus,yA;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Zsha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5H;ou;aXeRiPlo3AoLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7CrenGuEv82we9;!iE;e,s;!zo;am,oE;n4r;a7Vevi,la4BnIonHst3thaGvE;eEi;nte;bo;!a6Eel;!ny;mGnFrEur55wr55;ry,s;ce,d1;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubAnJrHsE;eFhEi7Vue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Fy;!e5OrE;ey,y;cLdCkJmIrGsFvi3yE;dCs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i6ZmaEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dC;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5J;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4X;oGrE;aEry;ld,rdB;ffr8rge;brFlCrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;!ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymCzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estBie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4EsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydAy29;!lA;!a2HnEov0;e9ie,y;go,iFykA;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l35n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1B;aEie;rdB;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndB;!el,ki;ie;ta;aq;as,dIgelBtE;hony,oE;i6nE;!iBy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;an,beQdCeKfIi,lHonGphYt1vE;aOin;on;so,zo;an,en;onUrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtB;ni;dCm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfBri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:98;1:84;2:81;3:8Z;4:8T;5:6H;6:85;7:89;8:8U;9:8G;A:5Z;a7Qb7Ac6Sd6Ae5Sf5Ag52h4Ri3Tjuni46k3Rl3Gm34n2Uo2Fp1Wquart66r1Ls0Rt0JuMvIwBye1J;ast56eFholeEiDoB;man5oBrthwhi6u0F;d7Lzy;despr8Is6H;!sa6;ather13eBll o5Lste2R;!k5;aDeCiBola5F;b98ce versa,gi2R;ng4Xrsa5D;ca0lu56;lt06nHpDrCsBttermo90;ef79u4;b6Age0; Db2BpCsBti37;ca6et,ide dO;er,i4N;f3Vto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4G;e73i2GoDpCuB;pervis1spect2;e0ok71;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6S;mploy1nd2xpect1;eBue;cid1rB;!a6VcovAly2sDwB;aBei2L;tAy;iz1to45;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Ira;aGeDhough5Cip 1QoCrB;anspa72i3;gethAle86rp9;ena6JmpCrB;r3Htia6T;e8o6R;leBst3S;nt1;a03c01eZhYiWkiVmug,nobb41oPpMqueam41tGuBymb73;bDi generis,pBr5;erBre1P;! dupAb,viX;du1sBurb53;eq76tanda7S;atu6DeFi0VrByl3V;aBin4G;ightBy; fBfB;or61;adfa7Kri6;arCeBirit1lend9ot on;c30e36;k5se; caGlub6mbAphisticFrEuCvB;erei5Miet;ndBth0Y;pro6I;d9ry;at1;ll1;g1YnB;ce5Bg6;am32eA;at1co1Jem5lf3CnBre7;so5Z;ath2holBient2M;ar5;cr1me,tisfac5Q;aJeEheumato9iCoB;bu70tt5Cy4;ghtBv4;-w2f58;bZcEdu6RlDnown1sBtard1;is3FoB;lu3na0;e1Duc3D;e0ondi3;b9ciB;al,st;aOeMicayu7laLopuli6QrCuB;bl5Ynjabi;eGiEoB;!b2SfCmi3EpBv4Zxi21;er,ort63;a7u66;maBor,sti7va3;!ry;ci63exist2mBpa9;a1QiB;er,um;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8U;1:8H;2:9C;3:90;4:81;5:7O;6:98;7:83;8:9F;9:91;A:9G;B:8W;C:7V;D:7R;E:7L;F:88;a81b7Ec6Od5Ge4Ef44g40h3Wi3Cj39k36l2Xm2Qnou3Vo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7IlGplug,tie,ve84;ea8o3K;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Fmp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7M;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all70e2EiG;m,ng;bIccumb,ffHggeBmm90p2FrG;mouFvi2;er,i3;li7Zmer9siGveD;de,st;aKe7SiIrG;ang4eGi2;ng20w;fGnW;f5le;gg0rG;t4ve;a3Ri8;awn,eJiIlHoGri6A;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5EoHriGun;nk,v5Q;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3IoGyc4;gni57nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,ni8rGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0truAvG;e,iAo4R;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi41iC;a5Brt4T;er3npoiF;cei2fo3Bi8mea6plex,sGvaA;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Rpo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3uA;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee2ZolG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer9pG;hasi1Xow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi29sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3GsKtG;iGoDu2W;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a17e2WlJoHuG;ss;uGv0;ra9;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta18;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Iin24ribu6;er2iGoli26pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aZeTiSlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l11mbaGrrNth0;rd;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ya=36,wa="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ka=wa.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Pa=function(e){if(void 0!==ka[e])return ka[e];let t=0,n=1,r=ya,a=1;for(;n=0;n--,a*=ya){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t},Aa=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=Ea(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=xa(va[e]);Ta.test(e)?Object.keys(t).forEach(t=>{if(Da[t]=e,"Noun|Verb"===e){let e=Ga(t,Oa);Da[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{Ca[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Ca[e]="Emoticon"),delete Ca[""],delete Ca.null,delete Ca[" "];const Ba="Adjective";var Va={beforeTags:{Determiner:Ba,Possessive:Ba},afterTags:{Adjective:Ba},beforeWords:{seem:Ba,seemed:Ba,seems:Ba,feel:Ba,feels:Ba,felt:Ba,appear:Ba,appears:Ba,appeared:Ba,also:Ba,over:Ba,under:Ba,too:Ba,it:Ba,but:Ba,still:Ba,really:Ba,quite:Ba,well:Ba,very:Ba,deeply:Ba,profoundly:Ba,extremely:Ba,so:Ba,badly:Ba,mostly:Ba,totally:Ba,awfully:Ba,rather:Ba,nothing:Ba,something:Ba,anything:Ba},afterWords:{too:Ba,also:Ba,or:Ba}};const za="Gerund";var $a={beforeTags:{Adverb:za,Preposition:za,Conjunction:za},afterTags:{Adverb:za,Possessive:za,Person:za,Pronoun:za,Determiner:za,Copula:za,Preposition:za,Conjunction:za,Comparative:za},beforeWords:{been:za,keep:za,continue:za,stop:za,am:za,be:za,me:za,began:za,start:za,starts:za,started:za,stops:za,stopped:za,help:za,helps:za,avoid:za,avoids:za,love:za,loves:za,loved:za,hate:za,hates:za,hated:za},afterWords:{you:za,me:za,her:za,him:za,them:za,their:za,it:za,this:za,there:za,on:za,about:za,for:za}},Fa={beforeTags:Object.assign({},Va.beforeTags,$a.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Va.afterTags,$a.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Va.beforeWords,$a.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Va.afterWords,$a.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Sa="Singular";var Ha={beforeTags:{Determiner:Sa,Possessive:Sa,Acronym:Sa,Noun:Sa,Adjective:Sa,PresentTense:Sa,Gerund:Sa,PastTense:Sa,Infinitive:Sa,Date:Sa},afterTags:{Value:Sa,Modal:Sa,Copula:Sa,PresentTense:Sa,PastTense:Sa,Demonym:Sa},beforeWords:{the:Sa,with:Sa,without:Sa,of:Sa,for:Sa,any:Sa,all:Sa,on:Sa,cut:Sa,cuts:Sa,save:Sa,saved:Sa,saves:Sa,make:Sa,makes:Sa,made:Sa,minus:Sa,plus:Sa,than:Sa,another:Sa,versus:Sa,neither:Sa,favorite:Sa,best:Sa,daily:Sa,weekly:Sa,linear:Sa,binary:Sa,mobile:Sa,lexical:Sa,technical:Sa,computer:Sa,scientific:Sa,formal:Sa},afterWords:{of:Sa,system:Sa,aid:Sa,method:Sa,utility:Sa,tool:Sa,reform:Sa,therapy:Sa,philosophy:Sa,room:Sa,authority:Sa,says:Sa,said:Sa,wants:Sa,wanted:Sa}};const Ma={beforeTags:{Determiner:void 0}};var La={beforeTags:Object.assign({},Va.beforeTags,Ha.beforeTags,Ma.beforeTags),afterTags:Object.assign({},Va.afterTags,Ha.afterTags),beforeWords:Object.assign({},Va.beforeWords,Ha.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Va.afterWords,Ha.afterWords)};const Ja={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Wa={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},qa={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Ka={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ua={beforeTags:Object.assign({},Va.beforeTags,Ja),afterTags:Object.assign({},Va.afterTags,Wa),beforeWords:Object.assign({},Va.beforeWords,qa),afterWords:Object.assign({},Va.afterWords,Ka)};const Ra="Infinitive";var Qa={beforeTags:{Modal:Ra,Adverb:Ra,Negative:Ra,Plural:Ra},afterTags:{Determiner:Ra,Adverb:Ra,Possessive:Ra,Preposition:Ra},beforeWords:{i:Ra,we:Ra,you:Ra,they:Ra,to:Ra,please:Ra,will:Ra,have:Ra,had:Ra,would:Ra,could:Ra,should:Ra,do:Ra,did:Ra,does:Ra,can:Ra,must:Ra,us:Ra,me:Ra,he:Ra,she:Ra,it:Ra,being:Ra},afterWords:{the:Ra,me:Ra,you:Ra,him:Ra,her:Ra,them:Ra,it:Ra,a:Ra,an:Ra,up:Ra,down:Ra,by:Ra,out:Ra,off:Ra,when:Ra,all:Ra,to:Ra,because:Ra,although:Ra,before:Ra,how:Ra,otherwise:Ra,though:Ra,yet:Ra}};const Za={afterTags:{Noun:"Adjective",Conjunction:void 0}};var _a={beforeTags:Object.assign({},Va.beforeTags,Qa.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Va.afterTags,Qa.afterTags,Za.afterTags),beforeWords:Object.assign({},Va.beforeWords,Qa.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Va.afterWords,Qa.afterWords,{to:void 0})};const Xa={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Ya={},eo={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},to={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var no={beforeTags:Object.assign({},$a.beforeTags,Ha.beforeTags,Xa),afterTags:Object.assign({},$a.afterTags,Ha.afterTags,Ya),beforeWords:Object.assign({},$a.beforeWords,Ha.beforeWords,eo),afterWords:Object.assign({},$a.afterWords,Ha.afterWords,to)},ro={beforeTags:Object.assign({},Qa.beforeTags,Ha.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Qa.afterTags,Ha.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Qa.beforeWords,Ha.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Qa.afterWords,Ha.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const ao="Person";var oo={beforeTags:{Honorific:ao,Person:ao,Preposition:ao},afterTags:{Person:ao,ProperNoun:ao,Verb:ao},ownTags:{ProperNoun:ao},beforeWords:{hi:ao,hey:ao,yo:ao,dear:ao,hello:ao},afterWords:{said:ao,says:ao,told:ao,tells:ao,feels:ao,felt:ao,seems:ao,thinks:ao,thought:ao,spends:ao,spendt:ao,plays:ao,played:ao,sing:ao,sang:ao,learn:ao,learned:ao,wants:ao,wanted:ao}};const io="Month",so={beforeTags:{Date:io,Value:io},afterTags:{Date:io,Value:io},beforeWords:{by:io,in:io,on:io,during:io,after:io,before:io,between:io,until:io,til:io,sometime:io,of:io,this:io,next:io,last:io,previous:io,following:io},afterWords:{sometime:io,in:io,of:io,until:io,the:io}};var lo={beforeTags:Object.assign({},oo.beforeTags,so.beforeTags),afterTags:Object.assign({},oo.afterTags,so.afterTags),beforeWords:Object.assign({},oo.beforeWords,so.beforeWords),afterWords:Object.assign({},oo.afterWords,so.afterWords)};const uo={Place:"Place"},co={Place:"Place",Abbreviation:"Place"},ho={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},po={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},mo={"Adj|Gerund":Fa,"Adj|Noun":La,"Adj|Past":Ua,"Adj|Present":_a,"Noun|Verb":ro,"Noun|Gerund":no,"Person|Noun":{beforeTags:Object.assign({},Ha.beforeTags,oo.beforeTags),afterTags:Object.assign({},Ha.afterTags,oo.afterTags),beforeWords:Object.assign({},Ha.beforeWords,oo.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Ha.afterWords,oo.afterWords)},"Person|Date":lo,"Person|Verb":{beforeTags:Object.assign({},oo.beforeTags,Qa.beforeTags),afterTags:Object.assign({},oo.afterTags,Qa.afterTags),beforeWords:Object.assign({},oo.beforeWords,Qa.beforeWords),afterWords:Object.assign({},oo.afterWords,Qa.afterWords)},"Person|Place":{beforeTags:Object.assign({},uo,oo.beforeTags),afterTags:Object.assign({},co,oo.afterTags),beforeWords:Object.assign({},ho,oo.beforeWords),afterWords:Object.assign({},po,oo.afterWords)}},go=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};mo["Plural|Verb"]={beforeWords:go(mo["Noun|Verb"].beforeWords,{}),afterWords:go(mo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:go(mo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:go(mo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var fo=mo;const bo="Adjective",vo="Infinitive",yo="PresentTense",wo="Singular",ko="PastTense",Po="Adverb",Ao="Plural",jo="Actor",Eo="Verb",xo="Noun",No="LastName",Io="Modal",Go="Participle";var To=[null,null,{ea:wo,ia:xo,ic:bo,ly:Po,"'n":Eo,"'t":Eo},{oed:ko,ued:ko,xed:ko," so":Po,"'ll":Io,"'re":"Copula",azy:bo,eer:xo,end:Eo,ped:ko,ffy:bo,ify:vo,ing:"Gerund",ize:vo,ibe:vo,lar:bo,mum:bo,nes:yo,nny:bo,ous:bo,que:bo,rol:wo,sis:wo,ogy:wo,oid:wo,ian:wo,zes:yo,eld:ko,ken:Go,ven:Go,ten:Go,ect:vo,ict:vo,ign:vo,ful:bo,bal:bo},{amed:ko,aped:ko,ched:ko,lked:ko,rked:ko,reed:ko,nded:ko,mned:bo,cted:ko,dged:ko,ield:wo,akis:No,cede:vo,chuk:No,czyk:No,ects:yo,ends:Eo,enko:No,ette:wo,wner:wo,fies:yo,fore:Po,gate:vo,gone:bo,ices:Ao,ints:Ao,ruct:vo,ines:Ao,ions:Ao,less:bo,llen:bo,made:bo,nsen:No,oses:yo,ould:Io,some:bo,sson:No,tion:wo,tage:xo,ique:wo,tive:bo,tors:xo,vice:wo,lier:wo,fier:wo,wned:ko,gent:wo,tist:wo,pist:wo,rist:wo,mist:wo,yist:wo,vist:wo,lite:wo,site:wo,rite:wo,mite:wo,bite:wo,mate:wo,date:wo,ndal:wo,vent:wo,uist:wo,gist:wo,note:wo,cide:wo,wide:bo,vide:vo,ract:vo,duce:vo,pose:vo,eive:vo,lyze:vo,lyse:vo,iant:bo,nary:bo},{elist:wo,holic:wo,phite:wo,tized:ko,urned:ko,eased:ko,ances:Ao,bound:bo,ettes:Ao,fully:Po,ishes:yo,ities:Ao,marek:No,nssen:No,ology:xo,osome:wo,tment:wo,ports:Ao,rough:bo,tches:yo,tieth:"Ordinal",tures:Ao,wards:Po,where:Po,archy:xo,pathy:xo,opoly:xo,embly:xo,phate:xo,ndent:wo,scent:wo,onist:wo,anist:wo,alist:wo,olist:wo,icist:wo,ounce:vo,iable:bo,borne:bo,gnant:bo,inant:bo,igent:bo,atory:bo,rient:wo,dient:wo},{auskas:No,parent:wo,cedent:wo,ionary:wo,cklist:wo,keeper:jo,logist:jo,teenth:"Value"},{opoulos:No,borough:"Place",sdottir:No}];const Co="Adjective",Do="Noun",Oo="Verb";var Bo=[null,null,{},{neo:Do,bio:Do,"de-":Oo,"re-":Oo,"un-":Oo},{anti:Do,auto:Do,faux:Co,hexa:Do,kilo:Do,mono:Do,nano:Do,octa:Do,poly:Do,semi:Co,tele:Do,"pro-":Co,"mis-":Oo,"dis-":Oo,"pre-":Co},{anglo:Do,centi:Do,ethno:Do,ferro:Do,grand:Do,hepta:Do,hydro:Do,intro:Do,macro:Do,micro:Do,milli:Do,nitro:Do,penta:Do,quasi:Co,radio:Do,tetra:Do,"omni-":Co,"post-":Co},{pseudo:Co,"extra-":Co,"hyper-":Co,"inter-":Co,"intra-":Co,"deca-":Co},{electro:Do}];const Vo="Adjective",zo="Infinitive",$o="PresentTense",Fo="Singular",So="PastTense",Ho="Adverb",Mo="Expression",Lo="Actor",Jo="Verb",Wo="Noun",qo="LastName";var Ko={a:[[/.[aeiou]na$/,Wo,"tuna"],[/.[oau][wvl]ska$/,qo],[/.[^aeiou]ica$/,Fo,"harmonica"],[/^([hyj]a+)+$/,Mo,"haha"]],c:[[/.[^aeiou]ic$/,Vo]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,So,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,So,"rammed"],[/.[aeiou][sg]hed$/,So,"gushed"],[/.[aeiou]red$/,So,"hired"],[/.[aeiou]r?ried$/,So,"hurried"],[/[^aeiou]ard$/,Fo,"steward"],[/[aeiou][^aeiou]id$/,Vo,""],[/.[vrl]id$/,Vo,"livid"],[/..led$/,So,"hurled"],[/.[iao]sed$/,So,""],[/[aeiou]n?[cs]ed$/,So,""],[/[aeiou][rl]?[mnf]ed$/,So,""],[/[aeiou][ns]?c?ked$/,So,"bunked"],[/[aeiou]gned$/,So],[/[aeiou][nl]?ged$/,So],[/.[tdbwxyz]ed$/,So],[/[^aeiou][aeiou][tvx]ed$/,So],[/.[cdflmnprstv]ied$/,So,"emptied"]],e:[[/.[lnr]ize$/,zo,"antagonize"],[/.[^aeiou]ise$/,zo,"antagonise"],[/.[aeiou]te$/,zo,"bite"],[/.[^aeiou][ai]ble$/,Vo,"fixable"],[/.[^aeiou]eable$/,Vo,"maleable"],[/.[ts]ive$/,Vo,"festive"],[/[a-z]-like$/,Vo,"woman-like"]],h:[[/.[^aeiouf]ish$/,Vo,"cornish"],[/.v[iy]ch$/,qo,"..ovich"],[/^ug?h+$/,Mo,"ughh"],[/^uh[ -]?oh$/,Mo,"uhoh"],[/[a-z]-ish$/,Vo,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,qo,"polish-male"]],k:[[/^(k){2}$/,Mo,"kkkk"]],l:[[/.[gl]ial$/,Vo,"familial"],[/.[^aeiou]ful$/,Vo,"fitful"],[/.[nrtumcd]al$/,Vo,"natal"],[/.[^aeiou][ei]al$/,Vo,"familial"]],m:[[/.[^aeiou]ium$/,Fo,"magnesium"],[/[^aeiou]ism$/,Fo,"schism"],[/^[hu]m+$/,Mo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Vo,"republican"],[/[^aeiou]ician$/,Lo,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Mo,"noooo"],[/^(yo)+$/,Mo,"yoo"],[/^wo{2,}[pt]?$/,Mo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Fo],[/[^i]fer$/,zo],[/.[^aeiou][ao]pher$/,Lo],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Vo],[/[aeiou].*ist$/,Vo],[/^[a-z]et$/,Jo]],s:[[/.[^aeiou]ises$/,$o],[/.[rln]ates$/,$o],[/.[^z]ens$/,Jo],[/.[lstrn]us$/,Fo],[/.[aeiou]sks$/,$o],[/.[aeiou]kes$/,$o],[/[aeiou][^aeiou]is$/,Fo],[/[a-z]'s$/,Wo],[/^yes+$/,Mo]],v:[[/.[^aeiou][ai][kln]ov$/,qo]],y:[[/.[cts]hy$/,Vo],[/.[st]ty$/,Vo],[/.[tnl]ary$/,Vo],[/.[oe]ry$/,Fo],[/[rdntkbhs]ly$/,Ho],[/.(gg|bb|zz)ly$/,Vo],[/...lly$/,Ho],[/.[gk]y$/,Vo],[/[bszmp]{2}y$/,Vo],[/.[ai]my$/,Vo],[/[ea]{2}zy$/,Vo],[/.[^aeiou]ity$/,Fo]]};const Uo="Verb",Ro="Noun";var Qo={leftTags:[["Adjective",Ro],["Possessive",Ro],["Determiner",Ro],["Adverb",Uo],["Pronoun",Uo],["Value",Ro],["Ordinal",Ro],["Modal",Uo],["Superlative",Ro],["Demonym",Ro],["Honorific","Person"]],leftWords:[["i",Uo],["first",Ro],["it",Uo],["there",Uo],["not",Uo],["because",Ro],["if",Ro],["but",Ro],["who",Uo],["this",Ro],["his",Ro],["when",Ro],["you",Uo],["very","Adjective"],["old",Ro],["never",Uo],["before",Ro],["a","Singular"],["the",Ro],["been",Uo]],rightTags:[["Copula",Ro],["PastTense",Ro],["Conjunction",Ro],["Modal",Ro]],rightWords:[["there",Uo],["me",Uo],["man","Adjective"],["only",Uo],["him",Uo],["it",Uo],["were",Ro],["took",Ro],["himself",Uo],["went",Ro],["who",Ro],["jr","Person"]]},Zo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},_o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Xo={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Yo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},ei={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const ti=/^.([0-9]+)/;var ni=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(ti);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(ti,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},ai=/^([0-9]+)/,oi=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(ai);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(ai,"")]}(n[0],n[1])})};var ii=function(e={}){return(e=Object.assign({},e)).rules=oi(e.rules),e.rules=ri(e.rules),e.rev&&(e.rev=oi(e.rev),e.rev=ri(e.rev)),e.exceptions=oi(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},si=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const li=ii({rules:"een|1,egan|2in,on|in,pun|1in,hun|3ned,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,ollide|6d,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,rod|3ded,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,ulfil|5led,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,utgrow|4ew,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im,lam|3med,nearth|6s",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,utgrew|4ow,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,ollided|6,lammed|3,hunned|3,rodded|3,lfilled|4,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,nearths|6,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),ui=ii(Yo),ci=ii(_o),hi=ii(Xo),di=si(li),pi=si(ui),mi=si(ci),gi=si(hi),fi=ii(Zo),bi=ii(ei);var vi={fromPast:li,fromPresent:ui,fromGerund:ci,fromParticiple:hi,toPast:di,toPresent:pi,toGerund:mi,toParticiple:gi,toComparative:fi,toSuperlative:bi,fromComparative:si(fi),fromSuperlative:si(bi)},yi=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),wi=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],ki=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Pi[t].forEach(n=>e[n]=t),e),{});var Ai=Pi,ji=function(e){let t=e.substring(e.length-3);if(!0===Ai.hasOwnProperty(t))return Ai[t];let n=e.substring(e.length-2);return!0===Ai.hasOwnProperty(n)?Ai[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const Ei={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var xi=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=ji(e)),Ei.hasOwnProperty(e))c=Ei[e];else if("Participle"===n)c=ni(l,i);else if("PastTense"===n)c=ni(l,r);else if("PresentTense"===n)c=ni(l,a);else{if("Gerund"!==n)return e;c=ni(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Ni=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:ni(i,n),PresentTense:ni(i,r),Gerund:ni(i,a),FutureTense:"will "+e},u=ni(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},Ii=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a))return e.slice(0,n-r)+t[a.length][a]}return null};const Gi="ically",Ti=new Set(["analyt"+Gi,"chem"+Gi,"class"+Gi,"clin"+Gi,"crit"+Gi,"ecolog"+Gi,"electr"+Gi,"empir"+Gi,"frant"+Gi,"grammat"+Gi,"ident"+Gi,"ideolog"+Gi,"log"+Gi,"mag"+Gi,"mathemat"+Gi,"mechan"+Gi,"med"+Gi,"method"+Gi,"method"+Gi,"mus"+Gi,"phys"+Gi,"phys"+Gi,"polit"+Gi,"pract"+Gi,"rad"+Gi,"satir"+Gi,"statist"+Gi,"techn"+Gi,"technolog"+Gi,"theoret"+Gi,"typ"+Gi,"vert"+Gi,"whims"+Gi]),Ci=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Di=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Oi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var Bi=function(e){return e.endsWith("ly")?Ti.has(e)?e.replace(/ically/,"ical"):Di.has(e)?null:Oi.hasOwnProperty(e)?Oi[e]:Ii(e,Ci)||e:null};const Vi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],zi={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var $i=function(e){if(zi.hasOwnProperty(e))return zi[e];let t=Ii(e,Vi);return t||e+"ly"};const Fi=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Si={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Hi=new Set(["terrible","annoying"]),Mi=function(e,t){const n=t.two.models.toSuperlative;return ni(e,n)},Li=function(e,t){const n=t.two.models.toComparative;return ni(e,n)};var Ji={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Wi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Ji.hasOwnProperty(i)&&Ji[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:Ga,nounToSingular:ki,verbToInfinitive:xi,getTense:ji,verbConjugate:Ni,adjToSuperlative:Mi,adjToComparative:Li,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ni(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return ni(e,n)},advToAdjective:Bi,adjToAdverb:$i,adjToNoun:function(e){if(Si.hasOwnProperty(e))return Si[e];if(Hi.has(e))return null;let t=Ii(e,Fi);return t||e+"ness"}}}},qi=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Ki=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var Ui=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Ki(n,"Infinitive","PastTense"),Object.assign(s,l),l=Ki(r,"Infinitive","Verb"),Object.assign(s,l),l=Ki(a,"Infinitive","Gerund"),Object.assign(s,l),l=Ki(o,"Adjective","Superlative"),Object.assign(s,l),l=Ki(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Ri={two:{models:vi}};const Qi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Zi=function(e,t){const n={model:t,methods:Wi};let{lex:r,_multi:a}=Wi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},_i=function(e,t,n){let r=Ni(e,Ri);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Xi=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=Qi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||_i(a,r,!1),"Adj|Present"===o&&(_i(a,r,!0),function(e,t,n){let r=Mi(e,n);t[r]=t[r]||"Superlative";let a=Li(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=xi(a,Ri,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=xi(a,Ri,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Zi(n,t)};let Yi={one:{_multiCache:{},lexicon:Ca},two:{irregularPlurals:ba,models:vi,suffixPatterns:To,prefixPatterns:Bo,endsWith:Ko,neighbours:Qo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:Da,clues:fo,uncountable:{},orgWords:yi}};Yi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Zi(e.one.lexicon,e)).one.lexicon,e),e=Xi(e.two.switches,e),e=Ui(e),e=qi(e)}(Yi);var es=Yi;const ts=/^(under|over|mis|re|un|dis|semi)-?/;var ns=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(ts.test(a.normal)){let e=a.normal.replace(ts,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}},rs=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const as={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},os=new Set(["formulas","koalas","israelis","menus"]),is=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var ss=function(e){if(!e||e.length<=3)return!1;if(os.has(e))return!0;let t=e[e.length-1];return as.hasOwnProperty(t)?as[t].find(t=>e.endsWith(t)):"s"===t&&!is.find(t=>e.endsWith(t))};const ls=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var us=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(ss(e.normal)?rs(e,"Plural","3-plural-guess"):rs(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=ji(e.normal);t&&rs(e,t,"3-verb-tense-guess")}}(r)};const cs=/^\p{Lu}[\p{Ll}'’]/u,hs=/[0-9]/,ds=["Date","Month","WeekDay","Unit"],ps=/^[IVXLCDM]{2,}$/,ms=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,gs={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var fs=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===cs.test(o)&&!1===hs.test(o)?ds.find(e=>r.tags.has(e))?null:(us(e,t,n),r.tags.has("Noun")||r.tags.clear(),rs(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&ps.test(o)&&ms.test(o)&&!gs[r.normal]?(rs(r,"RomanNumeral","2-xvii"),!0):null};const bs=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null};var vs=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=bs(r.normal,n.two.suffixPatterns);if(null!==e)return rs(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=bs(r.implicit,n.two.suffixPatterns),null!==e))return rs(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const ys=/['‘’‛‵′`´]/,ws=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return rs(r,e,"2-prefix"),r.confidence=.5,!0}return null};const As=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),js=function(e){return!(!e||!As.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},Es=function(e){return!!e&&!!e.tags.has("Ordinal")};var xs=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(js(e[t-1])||js(e[t+1]))return rs(n,"Year","2-tagYear");if(r>1950&&r<2025&&(Es(e[t-1])||Es(e[t+1])))return rs(n,"Year","2-tagYear-close")}}return null};const Ns=/^[A-Z]('s|,)?$/,Is=/^[A-Z-]+$/,Gs=/([A-Z]\.)+[A-Z]?,?$/,Ts=/[A-Z]{2,}('s|,)?$/,Cs=/([a-z]\.)+[a-z]\.?$/,Ds={I:!0,A:!0};var Os=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===Is.test(n)||n.length>5||Ds.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Gs.test(n)&&!0!==Cs.test(n)&&!0!==Ns.test(n)&&!0!==Ts.test(n))}(r,n)?(r.tags.clear(),rs(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!Ds.hasOwnProperty(r.text)&&Ns.test(r.text)?(r.tags.clear(),rs(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(rs(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&Is.test(r.text)&&r.text.length<=6?(rs(r,"Acronym","3-titlecase-acronym"),!0):null};const Bs=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Vs=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var zs=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Bs(e[t-1],a),l=l||Bs(e[t+1],o),l=l||Vs(e[t-1],r),l=l||Vs(e[t+1],i),l)return rs(s,l,"3-[neighbour]"),us(e,t,n),e[t].confidence=.2,!0}return null};const $s=function(e,t){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(n=e.text,!!/^\p{Lu}[\p{Ll}'’]/u.test(n)&&(0!==t||e.tags.has("Singular"))));var n};var Fs=function(e,t,n){const r=n.model.two.orgWords,a=n.methods.one.setTag;let o=e[t];if(!0===r[o.machine||o.normal]&&$s(e[t-1])){a([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&$s(e[r],r);r-=1)a([e[r]],"Organization",n,null,"3-[org-word]")}return null},Ss=function(e,t,n){0===e[t].tags.size&&(rs(e[t],"Noun","3-[fallback]"),us(e,t,n),e[t].confidence=.1)};const Hs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Ms=(e,t,n)=>0!==t||e[1]?null:n;var Ls={"Adj|Gerund":(e,t)=>Hs(e,t),"Adj|Noun":(e,t)=>Hs(e,t),"Adj|Past":(e,t)=>Hs(e,t),"Adj|Present":(e,t)=>Hs(e,t),"Noun|Gerund":(e,t)=>Hs(e,t),"Noun|Verb":(e,t)=>Hs(e,t)||Ms(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Hs(e,t)||Ms(e,t,"PresentTense"),"Person|Noun":(e,t)=>Hs(e,t),"Person|Verb":(e,t)=>0!==t&&Hs(e,t)};const Js="undefined"!=typeof process&&process.env?process.env:self.env||{},Ws=/^(under|over|mis|re|un|dis|semi)-?/,qs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&Js.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Ks=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&Js.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r},Us={tagSwitch:ns,checkSuffix:vs,checkRegex:ks,checkCase:fs,checkPrefix:Ps,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(rs(o,"Verb","3-[prefix]"),rs(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(rs(o,"Adjective","3-[prefix]"),rs(o,"Prefix","3-[prefix]")))},checkYear:xs},Rs={checkAcronym:Os,neighbours:zs,orgWords:Fs,nounFallback:Ss,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(Ws.test(l)&&!o[l]&&(l=l.replace(Ws,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=qs(e[t+1],n.afterWords);return o=o||qs(e[t-1],n.beforeWords),o=o||Ks(e[t-1],n.beforeTags,a),o=o||Ks(e[t+1],n.afterTags,a),o}(e,t,i[o],r);Ls[o]&&(u=Ls[o](e,t)||u),u?(Js.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):Js.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},Qs=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Xs={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ys={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const cl=/'/;var hl=function(e,t){let n=e[t].normal.split(cl)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const dl=/'/;var pl=function(e,t){let n=e[t].normal.split(dl)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},ml=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const gl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},fl={in:!0,by:!0,for:!0};var bl=(e,t)=>{let n=e[t];if(gl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return!("here"===e||"there"===e||"everywhere"===e||r.tags.has("Possessive")||r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===fl[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const vl=/'/,yl=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},wl={d:(e,t)=>pl(e,t),t:(e,t)=>ml(e,t),s:(e,t,n)=>bl(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):hl(e,t)},kl=function(e,t){return t.fromText(e.join(" ")).docs[0]};var Pl={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===vl.test(r[o].normal)&&([,i]=r[o].normal.split(vl));let s=null;wl.hasOwnProperty(i)&&(s=wl[i](r,o,t)),s&&(s=kl(s,e),ul(n,[a,o],s),yl(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=ll.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=sl},hooks:["contractionTwo"]};const Al="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",jl=["i","we","they"];let El=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",tag:"Place",reason:"east-sydney"},{match:Al+" #Person",tag:"Person",reason:"randy-smith"},{match:Al+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${Al}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:jl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:jl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:jl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]),xl=null;var Nl={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach(n=>{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["preTagger","contractionTwo","postTagger"])}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;xl=xl||r.one.buildNet(n.two.matches,r);let a=r.two.quickSplit(e.document).map(e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]}),o=e.update(a);return o.cache(),o.sweep(xl),e.uncache(),e}},model:{two:{matches:El}},hooks:["postTagger"]},Il=function(e,t){let n=t;e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verbConjugate)(t,e.model);return e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)},Gl=function(e,t,n){let r=this.match(`{${e}}`);return n&&(r=r.if(n)),r.has("#Verb")?Il(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.nounToPlural)(t,e.model)),e.replaceWith(n)}(r,t):r.has("#Adverb")?function(e,t){let n=(0,e.methods.two.transform.adjToAdverb)(t);n&&e.replaceWith(n)}(r,t):this},Tl={api:function(e){e.prototype.swap=Gl}};m.plugin(al),m.plugin(Pl),m.plugin(Nl),m.plugin(Tl);var Cl=function(e){let t=this.if("@hasComma").ifNo("@hasComma @hasComma").ifNo("@hasComma (and|or) .").ifNo("(#City && @hasComma) #Country").ifNo("(#WeekDay && @hasComma) #Date").ifNo("(#Date+ && @hasComma) #Value").ifNo("@hasComma (too|also)$").match("@hasComma"),n=this.splitAfter(t),r=n.if("#Copula #Adjective #Conjunction (#Pronoun|#Determiner) #Verb").match("#Conjunction");n=n.splitBefore(r);let a=n.if("if .{2,9} then .").match("then");n=n.splitBefore(a),n=n.splitBefore("as well as ."),n=n.splitBefore("such as ."),n=n.splitBefore("in addition to ."),n=n.splitAfter("@hasSemicolon"),n=n.splitAfter("@hasDash");let o=n.filter(e=>e.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n},Dl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r};const Ol={this:"Noun",then:"Pivot"};var Bl=function(e){for(let t=0;t of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let $l=null;var Fl=function(e,t,n){const{methods:r}=n;$l=$l||r.one.buildNet(zl,r),e.sweep($l)};const Sl=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Hl=function(e){for(let t=0;t{for(let r=0;r{"Verb"===e.chunk&&(e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null))})},Ll={compute:{chunks:function(e){const{document:t,world:n}=e;Bl(t),Vl(t),Fl(e,t,n),Hl(t),Ml(t)}},api:function(e){e.prototype.chunks=Dl,e.prototype.clauses=Cl},hooks:["chunks"]};const Jl=/'s$/;var Wl=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Jl,""),e.normal=e.normal.replace(Jl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const ql=/\(/,Kl=/\)/,Ul=function(e,t){for(;t{e[0].pre=e[0].pre.replace(ql,"");let t=e[e.length-1];t.post=t.post.replace(Kl,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const Ql={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Zl=RegExp("("+Object.keys(Ql).join("|")+")"),_l=RegExp("("+Object.values(Ql).join("|")+")"),Xl=function(e,t){const n=e[t].pre.match(Zl)[0]||"";if(!n||!Ql[n])return null;const r=Ql[n];for(;t{e[0].pre=e[0].pre.replace(Zl,"");let t=e[e.length-1];t.post=t.post.replace(_l,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const eu=/\./g;var tu=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(eu,""),e.normal=e.normal.replace(eu,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(eu,""),e.normal=e.normal.replace(eu,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}},nu=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const ru=(e,t)=>"number"==typeof t?e.eq(t):e,au=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var ou=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=au(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return ru(this,e).map(e=>{let n=au(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=ru(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=ru(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=ru(t,e),new Adjectives(t.document,t.pointer)}};const iu=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},su=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let lu=[["emojis","emoji"],["atmentions","atMentions"]];var uu=function(e){su.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=iu,lu.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},cu={api:function(e){uu(e),Wl(e),Rl(e),Yl(e),ou(e),nu(e),tu(e)}};const hu=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var du={case:e=>{hu(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;hu(e,e=>e.text=n(e.text,t))},whitespace:e=>{hu(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{hu(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const pu=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),mu="unicode|punctuation|whitespace|acronyms",gu="|case|contractions|parentheses|quotations|emoji|honorifics",fu={light:pu(mu),medium:pu(mu+gu),heavy:pu(mu+gu+"|possessives|adverbs|nouns|verbs")};var bu={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=fu[e]),Object.keys(e).forEach(t=>{du.hasOwnProperty(t)&&du[t](this,e[t])}),this}}},vu=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const yu=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var wu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")},Pu=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:ku(e,t),isSubordinate:wu(e),root:t}};const Au=e=>e.text(),ju=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),Eu=function(e){if(!e.found)return null;let t=e.values(0);return t.found?(t.parse()[0]||{}).num:null};var xu=function(e){let t=Pu(e);return{root:Au(t.root),number:Eu(t.number),determiner:Au(t.determiner),adjectives:ju(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const Nu={tags:!0};var Iu=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("^(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)+$")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,Nu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",Nu),e};const Gu={tags:!0};var Tu=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,Gu).tag("Singular","toPlural"),e};const Cu=(e,t)=>"number"==typeof t?e.eq(t):e;var Du={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return Cu(this,e).map(Pu)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=xu(t)),n},[])}isPlural(e){let t=this.filter(e=>Pu(e).isPlural);return Cu(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=Pu(e).adjectives;n.found&&(t=t.concat(n))}),Cu(t,e)}toPlural(e){return Cu(this,e).map(e=>Iu(e,Pu(e)))}toSingular(e){return Cu(this,e).map(e=>{let t=Pu(e);return Tu(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=vu(this);return t=Cu(t,e),new Nouns(this.document,t.pointer)}}},Ou=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n},Bu=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(Vu.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(Vu.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(Vu.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0},$u=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Su=/^([0-9,. ]+)\/([0-9,. ]+)$/,Hu={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Mu=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Lu=function(e){if(!0===Hu.hasOwnProperty(e))return Hu[e];if("a"===e||"an"===e)return 1;const t=Bu(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Wu(n),r=Wu(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Wu(n);let a=r.text("reduced");return Ju.test(a)&&(a=a.replace(Ju,""),r=r.replaceWith(a)),r=qu.hasOwnProperty(a)?qu[a]:Wu(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");return!0!==t.found?null:e.lookAhead("^of .")?{numerator:1,denominator:Wu(t)}:null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t},Uu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Ru=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Qu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Zu=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],_u=function(e){let t=[];if(e>100)return t;for(let n=0;n=Ru[n][1]&&(e-=Ru[n][1],t.push(Ru[n][0]));return Qu[e]&&t.push(Qu[e]),t};var Xu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Uu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Zu.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(_u(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Uu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")},Yu=function(e){return e.numerator&&e.denominator?`${Xu({num:e.numerator})} out of ${Xu({num:e.denominator})}`:""};const ec={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var tc=e=>{let t=Xu(e).split(" "),n=t[t.length-1];return ec.hasOwnProperty(n)?t[t.length-1]=ec[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")},nc=function(e){if(!e.numerator||!e.denominator)return"";let t=Xu({num:e.numerator}),n=tc({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const rc=(e,t)=>"number"==typeof t?e.eq(t):e;var ac=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return rc(this,e).map(Ku)}get(e){return rc(this,e).map(Ku)}json(e){return rc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Ku(t);return n.fraction=r,n},[])}toDecimal(e){return rc(this,e).forEach(e=>{let{decimal:t}=Ku(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return rc(this,e).forEach(e=>{let t=Ku(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return rc(this,e).forEach(e=>{let t=Ku(e),n=nc(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return rc(this,e).forEach(e=>{let t=Ku(e),n=Yu(t);e.replaceWith(n)}),this}toPercentage(e){return rc(this,e).forEach(e=>{let{decimal:t}=Ku(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=Ou(this);return t=rc(t,e),new Fractions(this.document,t.pointer)}};const oc="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var ic=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+oc+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+oc+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+oc+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+oc+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${oc})`),r=e.has("("+oc+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+oc+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+oc+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t},sc=function(e){if("string"==typeof e)return{num:Lu(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Ku(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Lu(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}},lc=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Uu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const uc={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},cc={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var hc=function(e){let t={suffix:"",prefix:e.prefix};return uc.hasOwnProperty(e.prefix)&&(t.suffix+=" "+uc[e.prefix],t.prefix=""),cc.hasOwnProperty(e.suffix)&&(t.suffix+=" "+cc[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t},dc=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=hc(e);return t+tc(e)+n}if("Ordinal"===t)return e.prefix+lc(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=hc(e);return t+Xu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const pc=(e,t)=>"number"==typeof t?e.eq(t):e;var mc=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return pc(this,e).map(sc)}get(e){return pc(this,e).map(sc).map(e=>e.num)}json(e){return pc(this,e).map(t=>{let n=t.toView().json(e)[0],r=sc(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=sc(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=dc(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=sc(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=dc(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=sc(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=dc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>sc(t).num===e)}greaterThan(e){return this.filter(t=>sc(t).num>e)}lessThan(e){return this.filter(t=>sc(t).num{let r=sc(n).num;return r>e&&r{let n=sc(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=dc(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=sc(e).num);let t=this.map(t=>{let n=sc(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=dc(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=ic(this);return t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=ic(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=ic(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=pc(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers},gc={api:function(e){ac(e),mc(e)}};const fc={people:!0,emails:!0,phoneNumbers:!0,places:!0},bc=function(e={}){return!1!==(e=Object.assign({},fc,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var vc={api:function(e){e.prototype.redact=bc}},yc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})},wc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))},kc=function(e){let t=e.clauses(),n=wc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}},Pc=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e},Ac=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e},jc=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!(t.lookBehind("to$").found||!t.has("#Copula #Gerund")&&(t.has("#Gerund")||!t.has("#Copula")&&t.has("#PresentTense")&&e.has("(when|as|how)"))));n.found&&n.toInfinitive()}return e},Ec=function(e){return e.verbs().toInfinitive(),e};const xc=(e,t)=>"number"==typeof t?e.eq(t):e;var Nc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=kc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return xc(this,e).map(e=>(kc(e),Pc(e)))}toPresentTense(e){return xc(this,e).map(e=>(kc(e),Ac(e)))}toFutureTense(e){return xc(this,e).map(e=>(kc(e),e=jc(e)))}toInfinitive(e){return xc(this,e).map(e=>(kc(e),Ec(e)))}toNegative(e){return xc(this,e).map(e=>(kc(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)))}toPositive(e){return xc(this,e).map(e=>(kc(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return xc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return xc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=xc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=yc(this);return xc(t,e)}};Object.assign(e.prototype,t)}},Ic=function(e){return e.match("#Honorific+? #Person+")},Gc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const Tc="male",Cc="female",Dc={mr:Tc,mrs:Cc,miss:Cc,madam:Cc,king:Tc,queen:Cc,duke:Tc,duchess:Cc,baron:Tc,baroness:Cc,count:Tc,countess:Cc,prince:Tc,princess:Cc,sire:Tc,dame:Cc,lady:Cc,ayatullah:Tc,congressman:Tc,congresswoman:Cc,"first lady":Cc,mx:null};var Oc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return Cc;if(n.has("#MaleName"))return Tc;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),Dc.hasOwnProperty(e))return Dc[e];if(/^her /.test(e))return Cc;if(/^his /.test(e))return Tc}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return Tc;if(n&&!t)return Cc}return null};const Bc=(e,t)=>"number"==typeof t?e.eq(t):e;var Vc=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return Bc(this,e).map(Gc)}json(e){return Bc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Gc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:Oc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=Ic(this);return t=Bc(t,e),new People(this.document,t.pointer)}},zc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found),t=t.splitAfter(n),t},$c=function(e){e.prototype.places=function(t){let n=zc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}},Fc=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const Sc=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Hc=function(e){e.prototype.topics=Sc},Mc={api:function(e){Vc(e),$c(e),Fc(e),Hc(e)}},Lc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t},Jc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t},Wc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const qc=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Kc=function(e){return e.match("#Negative")},Uc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Rc=function(e){let t=e.clone();t.contractions().expand();const n=Jc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Wc(t,n),auxiliary:qc(t,n),negative:Kc(t),phrasal:Uc(n)}};const Qc={tense:"PresentTense"},Zc={conditional:!0},_c={tense:"FutureTense"},Xc={progressive:!0},Yc={tense:"PastTense"},eh={complete:!0,progressive:!1},th={passive:!0},nh=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},rh={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Qc]],["^wanted to #Infinitive$",[Yc]],["^will want to #Infinitive$",[_c]]],"gerund-phrase":[["^#PastTense #Gerund$",[Yc]],["^#PresentTense #Gerund$",[Qc]],["^#Infinitive #Gerund$",[Qc]],["^will #Infinitive #Gerund$",[_c]],["^have #PastTense #Gerund$",[Yc]],["^will have #PastTense #Gerund$",[Yc]]],"simple-present":[["^#PresentTense$",[Qc]],["^#Infinitive$",[Qc]]],"simple-past":[["^#PastTense$",[Yc]]],"simple-future":[["^will #Adverb? #Infinitive",[_c]]],"present-progressive":[["^(is|are|am) #Gerund$",[Qc,Xc]]],"past-progressive":[["^(was|were) #Gerund$",[Yc,Xc]]],"future-progressive":[["^will be #Gerund$",[_c,Xc]]],"present-perfect":[["^(has|have) #PastTense$",[Yc,eh]]],"past-perfect":[["^had #PastTense$",[Yc,eh]],["^had #PastTense to #Infinitive",[Yc,eh]]],"future-perfect":[["^will have #PastTense$",[_c,eh]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Yc,Xc]]],"past-perfect-progressive":[["^had been #Gerund$",[Yc,Xc]]],"future-perfect-progressive":[["^will have been #Gerund$",[_c,Xc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Yc,th]],["^(was|were) being (#PastTense|#Participle)",[Yc,th]],["^(had|have) been (#PastTense|#Participle)",[Yc,th]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Qc,th]],["^(is|are|am) being (#PastTense|#Participle)",[Qc,th]],["^has been (#PastTense|#Participle)",[Qc,th]]],"passive-future":[["will have been (#PastTense|#Participle)",[_c,th,Zc]],["will be being? (#PastTense|#Participle)",[_c,th,Zc]]],"present-conditional":[["would be #PastTense",[Qc,Zc]]],"past-conditional":[["would have been #PastTense",[Yc,Zc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[_c]]],"auxiliary-past":[["^did #Infinitive$",[Yc,{plural:!1}]],["^used to #Infinitive$",[Yc,eh]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Qc,eh,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Yc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let ah=[];Object.keys(rh).map(e=>{rh[e].forEach(t=>{ah.push({name:e,match:t[0],data:nh(t[1])})})});var oh=ah,ih=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),sh(r)&&(n.remove(r),r=n.last()),sh(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:lh(t,e)}};const ch=e=>e,hh=(e,t)=>{let n=uh(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},dh=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=uh(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},ph=function(e,t){let n=uh(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},mh=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},gh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,mh(e)),r&&e.replace(t.root,r),e},fh=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),bh=function(e){return e&&e.isView?e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal):[]},vh=function(e){return e&&e.isView?e.text("normal"):""},yh=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,mh(e))};var wh=function(e){let t=Rc(e);e=e.clone().toView();const n=ih(e,t);return{root:t.root.text(),preAdverbs:bh(t.adverbs.pre),postAdverbs:bh(t.adverbs.post),auxiliary:vh(t.auxiliary),negative:t.negative.found,prefix:vh(t.prefix),infinitive:yh(t.root),grammar:n}};const kh={tags:!0};var Ph=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,mh(r)),i&&e.replace(r,i,kh).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=ph(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const Ah={tags:!0},jh={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,mh(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=uh(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,Ah),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=jh.simple(e,t),e=jh.noAux(e,t))},hasHad:e=>(e.replace("has","had",Ah),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),n(o,e.model).Participle}},Eh={infinitive:jh.simple,"simple-present":jh.simple,"simple-past":ch,"simple-future":jh.both,"present-progressive":e=>(e.replace("are","were",Ah),e.replace("(is|are|am)","was",Ah),e),"past-progressive":ch,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":jh.hasHad,"past-perfect":ch,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=fh(e)),e.remove("have"),e),"present-perfect-progressive":jh.hasHad,"past-perfect-progressive":ch,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",Ah),e),"passive-past":e=>(e.replace("have","had",Ah),e),"passive-present":e=>(e.replace("(is|are)","was",Ah),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",Ah),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":ch,"auxiliary-future":e=>(e.replace("(is|are|am)","was",Ah),e),"auxiliary-past":ch,"auxiliary-present":e=>(e.replace("(do|does)","did",Ah),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",Ah):(jh.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":ch,"want-infinitive":e=>(e.replace("(want|wants)","wanted",Ah),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),jh.simple(e,t),fh(e),e)};var xh=function(e,t,n){return Eh.hasOwnProperty(n)?((e=Eh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Nh={tags:!0},Ih=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),!1===hh(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=dh(e)),o&&(e=e.replace(a,o,Nh)).not("#Particle").tag("PresentTense"),e},Gh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,mh(a)),!1===hh(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,Nh)).not("#Particle").tag("Gerund"),e},Th={infinitive:Ih,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(!r.has("#Infinitive"))return Ih(e,t);{let t=uh(e).subject;if(hh(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,Nh)}return e},"simple-past":Ih,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=dh(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else Ih(e,t),e=e.remove("will");return e},"present-progressive":ch,"past-progressive":(e,t)=>{let n=dh(e);return e.replace("(were|was)",n,Nh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(Ih(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=uh(e).subject;return hh(e)||n.has("i")?((e=gh(e,t)).remove("had"),e):(e.replace("had","has",Nh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":ch,"past-perfect-progressive":e=>e.replace("had","has",Nh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=dh(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,Nh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":ch,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":ch,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(Gh(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=ph(e);return e.replace(t.auxiliary,n),e}return Gh(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":ch,"modal-infinitive":ch,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,mh(r)),a&&(e=e.replace(t.root,a,Nh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Ih(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return hh(e)&&(n="want"),e.replace("(want|wanted|wants)",n,Nh),e.remove("will"),e}};var Ch=function(e,t,n){return Th.hasOwnProperty(n)?((e=Th[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Dh={tags:!0},Oh=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,mh(r)),o&&(e=e.replace(r,o,Dh)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Bh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,mh(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,Dh),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},Vh={infinitive:Oh,"simple-present":Oh,"simple-past":Oh,"simple-future":ch,"present-progressive":Bh,"past-progressive":Bh,"future-progressive":ch,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":ch,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":ch,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":ch,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":ch,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":ch,"modal-past":ch,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Oh(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var zh=function(e,t,n){return e.has("will")||e.has("going to")?e:Vh.hasOwnProperty(n)?((e=Vh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const $h={tags:!0};var Fh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,mh(a));let s=r(i,e.model).Gerund;return s&&(s=`${dh(e)} ${s}`,e.replace(a,s,$h)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const Sh={tags:!0},Hh=function(e,t){let n=ph(e);return e.prepend(n+" not"),e},Mh=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Lh=e=>e.has("(is|was|am|are|will|were|be)"),Jh={"simple-present":(e,t)=>!0===Lh(e)?Mh(e):(e=gh(e,t),e=Hh(e)),"simple-past":(e,t)=>!0===Lh(e)?Mh(e):((e=gh(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Lh(e)?Mh(e):Hh(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Sh),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Hh(e)).replace("wants","want",Sh)};var Wh=function(e,t,n){if(e.has("#Negative"))return e;if(Jh.hasOwnProperty(n))return e=Jh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Lh(e)?Mh(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const qh=(e,t)=>"number"==typeof t?e.eq(t):e;var Kh={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return qh(this,e).map(Rc)}json(e,t){return qh(this,t).map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=wh(t),n},[])}subjects(e){return qh(this,e).map(e=>(Rc(e),uh(e).subject))}adverbs(e){return qh(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return qh(this,e).filter(e=>!0!==uh(e).plural)}isPlural(e){return qh(this,e).filter(e=>!0===uh(e).plural)}isImperative(e){return qh(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Ph(e,t,n.form)})}toPresentTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Ch(e,t,n.form)})}toPastTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return xh(e,t,n.form)})}toFutureTense(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return zh(e,t,n.form)})}toGerund(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Fh(e,t,n.form)})}conjugate(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return"imperative"===n.form&&(n.form="simple-present"),{Infinitive:Ph(e.clone(),t,n.form).text("normal"),PastTense:xh(e.clone(),t,n.form).text("normal"),PresentTense:Ch(e.clone(),t,n.form).text("normal"),FutureTense:zh(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return qh(this,e).map(e=>{let t=Rc(e),n=ih(e,t);return Wh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Lc(this);return t=qh(t,e),new Verbs(this.document,t.pointer)}}};return m.plugin(Ll),m.plugin(cu),m.plugin(bu),m.plugin(Du),m.plugin(gc),m.plugin(vc),m.plugin(Nc),m.plugin(Mc),m.plugin(Kh),m},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/three/compromise-three.mjs b/builds/three/compromise-three.mjs index 0fdc393fa..40b315a8f 100644 --- a/builds/three/compromise-three.mjs +++ b/builds/three/compromise-three.mjs @@ -1,2 +1,2 @@ -var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};var t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map((e,t)=>[t])),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e){return new t(r.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(c(e)){if(c(e[0])){return new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set}))))}return new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e))}return a};let d=Object.assign({},e);const m=function(e,t){t&&m.addWords(t);let n=h(e,s,d);return n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(e,t){const{compute:n}=this._world;t&&m.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(e){return u(e,this._world,s,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},m.version="14.1.2";var p=m;const g=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},f=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},v=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},b=function(e){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(e)||/^[A-Z]$/.test(e)},y=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?f(n):(f(n),f([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!b(r.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||b(a.text)&&a.text.length>1&&(a.text=a.text.replace(/^[A-Z]/,e=>e.toLowerCase()))}(e,o,n),g(e,o,n)},w=(new Date).getTime(),k=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var P=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-w;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=k((r=r>46655?46655:r).toString(36));a+=k(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const A=function(e){if(e.has("@hasContraction")){e.grow("@hasContraction").contractions().expand()}},D=e=>"[object Array]"===Object.prototype.toString.call(e),j=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.docs[0]:D(e)?D(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.forEach(e=>{e.id=P(e)}),e}(d),n?(A(t.update([u]).firstTerm()),y(h,u,d,r)):(A(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(I,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));if(r.insertAfter(e),a.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())),i},T.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this};var G=T;const E={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;if(e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let a=n.fullPointer,o=r.fullPointer.reverse(),i=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e}(this.document,o),s=t(o);return a=a.map(e=>{let[t]=e;return s[t]?(s[t].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e}),a=a.filter((e,t)=>{if(e[2]-e[1]<=0){for(let e=t+1;et[0]===e).forEach(e=>{e[0]-=1});return!1}return!0}),a=a.map(e=>(e[3]=null,e[4]=null,e)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):n.none()}};E.delete=E.remove;var C=E;const O={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};O.deHyphenate=O.dehyphenate,O.toQuotation=O.toQuotations;var B=O;var V={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const z=new Set(["index","sequence","seq","sequential","chron","chronological"]),F=new Set(["freq","frequency","topk","repeats"]),$=new Set(["alpha","alphabetical"]);var S={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return z.has(e)&&(e="sequential"),$.has(e)&&(e="alpha"),F.has(e)?(a=V.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof V[e]?(a=a.sort(V[e]),this.update(a.map(e=>e.pointer))):this}};const H=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var M={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return g(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=H(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=H(this.document,e);return this.document=t,this.all()}var a;return this}};var W={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const J=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},x,G,C,B,S,M,W);var L={api:function(e){Object.assign(e.prototype,J)},compute:{id:function(e){let t=e.docs;for(let e=0;e{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},K=function(e,t){let{ptrs:n,byGroup:r}=e;return n=q(n,t),Object.keys(r).forEach(e=>{r[e]=q(r[e],t)}),{ptrs:n,byGroup:r}},U=e=>e&&"object"==typeof e&&!0===e.isView;var R={matchOne:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e).eq(0);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(U(e))return this.intersection(e);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=K(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(U(e)){return e.fullPointer.length>0}"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(U(e))return this.filter(t=>t.intersection(e).found);"string"==typeof e&&(e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer;return o=o.filter(e=>{let t=this.update([e]);return r.match(t.docs,a,this._cache).ptrs.length>0}),this.update(o)},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;return U(e)?this.difference(e):("string"==typeof e&&(e=a.parseMatch(e,n)),this.filter(n=>{let r={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,r,n._cache).ptrs.length}))}};var Z={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Q=function(e,t){return[e[0],e[1],t[2]]},_=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Y=function(e,t){let[n,r]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id),e},X={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Q(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=_(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Q(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Y(e,this)),this.update(o)}};X.split=X.splitAfter;var ee=X;const te=Object.assign({},R,Z,ee);te.lookBehind=te.before,te.lookBefore=te.before,te.lookAhead=te.after,te.lookAfter=te.after,te.notIf=te.ifNo;var ne=function(e){Object.assign(e.prototype,te)};const re=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,ae=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),se=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var le=function(e){let t=e.split(re),n=[];t.forEach(e=>{ie(e)?n.push(e):n=n.concat(e.split(ae))}),n=se(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ie(e)?r.push(e):r=r.concat(e.split(oe))}),r=se(r),r};const ue=/\{([0-9]+)?(, *[0-9]*)?\}/,ce=/&&/,he=new RegExp(/^<\s*(\S+)\s*>/),de=e=>e.charAt(0).toUpperCase()+e.substr(1),me=function(e){return e[e.length-1]},pe=function(e){return e[0]},ge=function(e){return e.substr(1)},fe=function(e){return e.substr(0,e.length-1)},ve=function(e){return e=ge(e),e=fe(e)},be=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===me(e)&&(n.end=!0,e=fe(e)),"^"===pe(e)&&(n.start=!0,e=ge(e)),("["===pe(e)||"]"===me(e))&&(n.group=null,"["===pe(e)&&(n.groupStart=!0),"]"===me(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===pe(e))){const t=he.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===me(e)&&(n.greedy=!0,e=fe(e)),"*"!==e&&"*"===me(e)&&"\\*"!==e&&(n.greedy=!0,e=fe(e)),"?"===me(e)&&(n.optional=!0,e=fe(e)),"!"===pe(e)&&(n.negative=!0,e=ge(e)),"~"===pe(e)&&"~"===me(e)&&e.length>2&&(e=ve(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===pe(e)&&")"===me(e)){ce.test(e)?(n.choices=e.split(ce),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=ge(n.choices[0]);let r=n.choices.length-1;n.choices[r]=fe(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>be(e,t))),e=""}if("/"===pe(e)&&"/"===me(e))return e=ve(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===pe(e)&&"}"===me(e))return e=ve(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===pe(e)&&">"===me(e))return e=ve(e),n.chunk=de(e),n.greedy=!0,n;if("%"===pe(e)&&"%"===me(e))return e=ve(e),n.switch=e,n}return!0===ue.test(e)&&(e=e.replace(ue,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===pe(e)?(n.tag=ge(e),n.tag=de(n.tag),n):"@"===pe(e)?(n.method=ge(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ye=be;var we=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=e.map(e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))};var ke=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=le(e);return n=n.map(e=>ye(e,t)),n=we(n,t),n};const Pe=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ae=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),Ge=(e,t)=>-1!==e.pre.indexOf(t),Ee={hasQuote:e=>je.test(e.pre)||Ne.test(e.post),hasComma:e=>Te(e,","),hasPeriod:e=>!0===Te(e,".")&&!1===Te(e,"..."),hasExclamation:e=>Te(e,"!"),hasQuestionMark:e=>Te(e,"?")||Te(e,"¿"),hasEllipses:e=>Te(e,"..")||Te(e,"…")||Ge(e,"..")||Ge(e,"…"),hasSemicolon:e=>Te(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>xe.test(e.post)||xe.test(e.pre),hasDash:e=>Ie.test(e.post)||Ie.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(e.text),isUpperCase:e=>/^[A-Z]+$/.test(e.text)};Ee.hasQuotation=Ee.hasQuote;var Ce=Ee;let Oe=function(){};Oe=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(De(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ce[t.method]&&!0===Ce[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?!(!e.implicit||!0!==t.fastOr.has(e.implicit))||t.fastOr.has(e.normal)||t.fastOr.has(e.text):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>Oe(e,t,n,r)):t.choices.some(t=>Oe(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var Be=Oe;const Ve=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){ze(e,e.t).length=r-e.t}return e.t=r,!0};const $e=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=Be(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&Be(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup){ze(e,e.t).length+=r}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null};var Me=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==Be(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null};var We=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=Be(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&Be(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var Je=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null};var Le=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var qe=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&We(e),r.implicit&&e.terms[e.t+1]&&Le(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!Je(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=ze(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0};var Ke=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==Ve(e,a))if(!0!==Be(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative){if(!Me(a))return null}if(!0!==e.optional)return null}else{if(!qe(a))return null}else{if(!qe(a))return null}else{if(!qe(a))return null}else{if(!He(a))return null}else{if(!Se(a))return null}else{if(!Fe(a))return null}}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}};var Ue=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Re=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Ze=function(e,t,n){let r=Ke(e,t,0,e.length);return r?(r=Re(r,n),r):null};var Qe={api:ne,methods:{one:{termMethods:Ce,parseMatch:ke,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Ze(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ue(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){return this.world().methods.one.parseMatch(e,t)}}};const _e=/^\../,Ye=/^#./,Xe=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),_e.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var et={html:function(e){let{starts:t,ends:n}=Xe(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(nt,""),at.test(a)&&(a=" "),a=a.replace(rt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(nt,""),a="-"===a?" ":a.replace(tt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&ot.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},st={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};st.clean=st.normal,st.reduced=st.root;var lt=st;const ut={text:!0,terms:!0};let ct={case:"none",unicode:"some",form:"machine",punctuation:"some"};const ht=function(e,t){return Object.assign({},e,t)},dt={text:e=>it(e,{keepPunct:!0},!1),normal:e=>it(e,ht(lt.normal,{keepPunct:!0}),!1),implicit:e=>it(e,ht(lt.implicit,{keepPunct:!0}),!1),machine:e=>it(e,ct,!1),root:e=>it(e,ht(ct,{form:"root"}),!1),offset:e=>{let t=dt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};dt.sentences=dt.sentence,dt.clean=dt.normal,dt.reduced=dt.root;const mt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},ut,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&dt[o]&&(a[o]=dt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};mt.data=mt.json;var pt=mt;var gt=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};var ft={green:e=>""+e+"",red:e=>""+e+"",blue:e=>""+e+"",magenta:e=>""+e+"",cyan:e=>""+e+"",yellow:e=>""+e+"",black:e=>""+e+"",dim:e=>""+e+"",i:e=>""+e+""};var vt=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(ft.blue("\n ──────")),t.forEach(e=>{console.log(ft.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=ft.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=ft.blue(" │ ")+ft.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return ft[n](e)})),e.join(", ")}(t,n);console.log(o)})})};var bt=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(ft.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(ft.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(ft.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(ft.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})};var yt=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${ft.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const wt=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var kt=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e)}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}};var At={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&<.hasOwnProperty(e)?t=Object.assign({},lt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},xt=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var It=function(e,t){let n=xt(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r};var Tt={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n},pointer:{indexN:xt,splitAll:It}}};var Gt=function(e,t){let n=e.concat(t),r=xt(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>Nt(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n};var Ct=function(e,t){let n=xt(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>Nt(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Bt=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},Vt={union:function(e){e=Ot(e,this);let t=Gt(this.fullPointer,e.fullPointer);return t=Bt(t,this.document),this.toView(t)}};Vt.and=Vt.union,Vt.intersection=function(e){e=Ot(e,this);let t=Ct(this.fullPointer,e.fullPointer);return t=Bt(t,this.document),this.toView(t)},Vt.not=function(e){e=Ot(e,this);let t=Et(this.fullPointer,e.fullPointer);return t=Bt(t,this.document),this.toView(t)},Vt.difference=Vt.not,Vt.complement=function(){let e=this.all(),t=Et(e.fullPointer,this.fullPointer);return t=Bt(t,this.document),this.toView(t)},Vt.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=Gt(e,[t])}),e=Bt(e,this.document),this.update(e)};var zt={methods:Tt,api:function(e){Object.assign(e.prototype,Vt)}};const Ft=/ /,$t=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},St=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Ft.test(t))!function(e,t,n,r){let a=t.split(Ft);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),St(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nHt(e,t,n,r))};var Mt=Ht;var Wt=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Jt({id:e})),t}return[Jt({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Ut=e=>"[object Array]"===Object.prototype.toString.call(e),Rt=e=>(e=e||"").trim(),Zt=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Lt.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:qt(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Jt({});return e.forEach(e=>{if((e=Jt(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Kt(t=e).forEach(Jt),t);var t},Qt=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Kt(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},_t=function(e){let t=Kt(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Yt={text:Qt,txt:Qt,array:_t,flat:_t},Xt=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Qt(e,!0)),null):Yt.hasOwnProperty(t)?Yt[t](e):e},en=e=>{Kt(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},tn=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Rt(e),!tn.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||Jt({});return new g$1(t)}add(e,t={}){if(Ut(e))return e.forEach(e=>this.add(Rt(e),t)),this;e=Rt(e);let n=Jt({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Rt(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Kt(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Kt(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Kt(this.json)}fillDown(){var e;return e=this.json,Kt(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Ut(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){en(this.json);let e=Kt(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return en(this.json),Xt(this.json,e)}debug(){return en(this.json),Xt(this.json,"debug"),this}}const nn=function(e){let t=Zt(e);return new g$1(t)};nn.prototype.plugin=function(e){e(this)};var rn={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const an=function(e){if(rn.hasOwnProperty(e.id))return rn[e.id];if(rn.hasOwnProperty(e.is))return rn[e.is];let t=e._cache.parents.find(e=>rn[e]);return rn[t]};var on=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a}=e.props,o=e._cache.parents;r&&(o=o.concat(r)),t[e.id]={is:a,not:n,also:r,parents:o,children:e._cache.children,color:an(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const sn=function(e){return e?"string"==typeof e?[e]:e:[]};var ln=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=sn(e[t].children),e[t].not=sn(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e};var un={one:{setTag:Mt,unTag:Wt,addTags:function(e,t){e=ln(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is};return{id:t,parent:n.is,props:r,children:[]}});return nn(t).cache().fillDown().out("array")}(Object.assign({},t,e));return on(n)}}};const cn=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var hn={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),cn(e)?e.forEach(e=>a.one.setTag(r,e,i,n)):a.one.setTag(r,e,i,n),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return cn(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}};var dn=function(e){Object.assign(e.prototype,hn)};var mn={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const pn=new Set(["Auxiliary","Possessive"]);var gn={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(pn.has(e)||!t.hasOwnProperty(n))return 1;if(pn.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:un,api:dn,lib:mn};const fn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vn=/((?:\r?\n|\r)+)/;var bn=function(e){let t=[],n=e.split(vn);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const zn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Fn=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,$n=/['’]/,Sn=/^[a-z]\.([a-z]\.)+/i,Hn=/^[-+.][0-9]/,Mn=/^'[0-9]{2}/;var Wn=function(e){let t=e,n="",r="";return""===(e=(e=e.replace(zn,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Hn.test(e)?"'"===n&&Mn.test(e)?(n="",t):"":(n="",t)))).replace(Fn,a=>(r=a,$n.test(a)&&/[sn]['’]$/.test(t)&&!1===$n.test(n)?(r=r.replace($n,""),"'"):!0===Sn.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}};var Jn=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Ln=/([A-Z]\.)+[A-Z]?,?$/,qn=/^[A-Z]\.,?$/,Kn=/[A-Z]{2,}('s|,)?$/,Un=/([a-z]\.)+[a-z]\.?$/;var Rn=function(e){return function(e){return!0===Ln.test(e)||!0===Un.test(e)||!0===qn.test(e)||!0===Kn.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Zn=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Jn(r),r=n(r,t),r=Rn(r),e.normal=r};var Qn={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=e.split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Nn,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Bn);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=En(n),n=Tn(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Wn(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Zn(e,t)}),n})}}}};var _n={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yn={},Xn={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Yn[t]=!0,Xn[t]="Abbreviation",void 0!==e[1]&&(Xn[t]=[Xn[t],e[1]])})});var er=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let tr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},nr={};Object.keys(tr).forEach((function(e){tr[e].split("").forEach((function(t){nr[t]=e}))}));const rr=/\//,ar=/[a-z]\.[a-z]/i,or=/[0-9]/;var ir=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),rr.test(n)&&!ar.test(n)&&!or.test(n)){let t=n.split(rr);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};var sr=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(t)&&(t=t.replace("-","")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var lr=function(e){let t=0,n=0,r=e.document;for(let e=0;eur(e,ir),machine:e=>ur(e,sr),normal:e=>ur(e,Zn),freq:function(e){let t=e.docs,n={};for(let e=0;ee.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const dr=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const gr=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var fr=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=gr(e.goNext,void 0),e.failTo=gr(e.failTo,0),e.endAs=gr(e.endAs,null),e};var vr={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:hr(e,this.world));var r;let a=pr(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=hr(e,this.world());return fr(t)}}};const br={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var yr={api:function(e){Object.assign(e.prototype,br)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit);let n=Array.from(e.tags);for(let e=0;e{!0!==e.optional&&!0!==e.negative&&(e.tag&&t.add("#"+e.tag),e.word&&t.add(e.word))}),t}}}};const wr=function(){const e=this.docs;if(0===e.length)return this;let t=e[e.length-1]||[],n=t[t.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var kr=function(e,t,n){let r={},a=[],o=n.prefixes||{};return e.forEach(e=>{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const Pr={safe:!0,min:3};var Ar={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=wr},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},Pr,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=kr(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};var Dr=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e){return o([s],i[e],n,"1-lexicon-alias"),!0}}if(!0===jr.test(l)){let e=l.replace(jr,"");if(i.hasOwnProperty(e)&&e.length>3&&Nr.has(i[e]))return o([s],i[e],n,"1-lexicon-prefix"),!0}return null};var Ir={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]},Tr={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}};var Gr=function(e,t,n){let[r,a]=t;n&&0!==n.length&&((n=n.map(e=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Er=/'/,Cr=new Set(["what","how","when","where","why"]),Or=new Set(["be","go","start","think","need"]),Br=new Set(["been","gone"]);var Vr=function(e,t){let n=e[t].normal.split(Er)[0];if(Cr.has(n))return[n,"did"];if(e[t+1]){if(Br.has(e[t+1].normal))return[n,"had"];if(Or.has(e[t+1].normal))return[n,"would"]}return null};const zr=/'/;var Fr=function(e,t){let n=e[t].normal.split(zr)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};var $r=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const Sr=/'/;var Hr=(e,t)=>["je",e[t].normal.split(Sr)[1]],Mr=(e,t)=>{let n=e[t].normal.split(Sr)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Wr=(e,t)=>{let n=e[t].normal.split(Sr)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Jr=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,Lr=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var qr=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(Jr);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(Lr),null!==r?[r[1],"to",r[4]]:null)};const Kr=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Ur=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Rr=(e,t)=>{let n=e[t];let[r]=n.normal.split(/'s/);if(Kr.has(r))return!0;let a=e[t+1];return!(!a||!Ur.has(a.normal))};const Zr=/'/,Qr=/^[0-9][^-–—]*[-–—].*?[0-9]/,_r=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Yr={t:(e,t)=>$r(e,t),d:(e,t)=>Vr(e,t),s:(e,t)=>!0===Rr(e,t)?Fr(e,t):null},Xr={j:(e,t)=>Hr(e,t),l:(e,t)=>Mr(e,t),d:(e,t)=>Wr(e,t)},ea=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===Zr.test(r[s].normal)&&([l,u]=r[s].normal.split(Zr));let c=ea(o,r[s],l,u);!c&&Yr.hasOwnProperty(u)&&(c=Yr[u](r,s,t)),!c&&Xr.hasOwnProperty(l)&&(c=Xr[l](r,s)),c?(c=ta(c,e),Gr(n,[i,s],c),_r(n[i],e)):Qr.test(r[s].normal)&&(c=qr(r,s),c&&(c=ta(c,e),Gr(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),_r(n[i],e)))}})}},hooks:["contractions"]};p.extend(L),p.extend(jt),p.extend(Qe),p.extend(zt),p.extend(gn),p.plugin(na),p.extend(cr),p.plugin(yr),p.extend(vr),p.extend(Ar),p.extend(Ir);var ra={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},aa={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Uncountable:"true¦0:2O;1:1W;2:24;a2Db24c1Ud1Le1Df17g10h0Ti0Nj0Mk0Ll0Hm06n04o03pXrSsHt8vi7w3;a5i4oo3;d,l;ldlife,ne;rm7t2;neg1Rol0Mtae;eAh9oothpas1Lr4un3yranny;a,gst1T;aff00ea16o4ue nor3;th;oZu3;ble3se1Dt;!shoot1V;ermod29und2;a,nnis;aBcene0Heri1hAil9ki8o7p6t4u3weepstak1;g1Gnshi10;ati28e3;am,el;ace21eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;d0Nfe1Ul3nd,t0B;m1Kt;a6e4ic3;e,ke0V;c3laxa0Ssearch;ogni0Rrea0R;bi1in;aVe7hys0lastDo5re3;amble,mis1s3ten1J;en1Isu0C;l3rk;it0yD;a1Ntr06;bstetr0vercrowd16xyg0Z;a3ews;il polWtional securi1F;aBe9o6u3;m4s3;ic;ps;n3o17;ey,o3;gamy;a3chan0rchandi14tallurgy;sl1t;chine3themat0; learn0Try;aught2e5i4ogi1Au3;ck,g0V;ce,ghtn0Qngui18teraR;ath2isuRss;indergart0Hnowled0T;azz,ewelCusti13;ce,gnor7mp4n3tself;formaYternet;a3ort5;ti3;en0Y;an0X;a6eIisto5o3;ckey,mework,ne3rserad7spitali0Q;s0Py;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0R;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;icFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti03;body,o3thU;ne;joy3tertain3;ment;ici01on0;tiR;e9i6o4raugh3ynasZ;ts;pe,wnstai3;rs;abet1s3;honTrepu3;te;b3miP;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eGw8;us;d,rI;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarDs3;on;g3ss;ga3;ge;cDdviCeroAir9m5ni4ppeal court,spi3thlet0;rin;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4B;a3Eb2Wc2Dd25e21f1Wg1Oh1Ji1Gj1Ek1Cl17m0Vn0Io0Fp08qu07r00sTtGuBv8w3xiaomi,y1;amaha,m12ou1w12;gov,tu2X;a3e1orld trade organizati2Q;lls fargo,st1;fie27inghou2G;l1rner br3G;gree35l street journ28m16;an halOeriz2Lisa,o1;dafo2Ml1;kswagMvo;b4kip,n2ps,s1;a tod2Wps;es38i1;lev31ted natio2Y;er,s; mobi2Oaco bePd bMeAgi frida9h3im horto2Wmz,o1witt2Z;shiba,y1;ota,s r Z;e 1in lizzy;b3carpen35daily ma2Zguess w2holli0rolling st1Qs1w2;mashing pumpki2Ruprem0;ho;ea1lack eyed pe3Jyrds;ch bo1tl0;ys;l2n3Bs1xas instrumen1I;co,la m14;efoni0Bus;a6e4ieme2Jnp,o2pice gir5quare03ta1ubaru;rbucks,to2P;ny,undgard1;en;a2Tx pisto1;ls;few29insbury2PlesforYmsu21;.e.m.,adiohead,b6e3oyal 1yana2Z;b1dutch she4;ank;aders dige1Gd 1max,vl1Q;bu1c1Yhot chili peppe2Mlobst2B;ll;c,s;ant2Zizno2H;a5bs,e3fiz27hilip morrCi2r1;emier29udenti16;nk floyd,zza hut;psi2Atro1uge0A;br2Uchina,n2U;lant2Mn1yp12; 2ason1Zda2H;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Gtflix,w1; 1sweek;kids on the block,york09;a,c;nd1Us2t1;ional aca2Ho,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Lnsanto,ody blu0t1;ley crue,or0N;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt13z1Y;'ore08a3e1g,ittle caesa1J;novo,x1;is,mark; 1bour party;pres0Az boy;atv,fc,kk,m1od1I;art;iffy lu0Loy divisi0Fpmorgan1sa;! cha06;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Qi3o1sbc,yundai;me dep1n1K;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Ku1;cci,ns n ros0;ldman sachs,o1;dye1g0D;ar;axo smith kli02encoU;electr0Jm1;oto0V;a4bi,da,edex,i2leetwood mac,o1rito l0C;rd,xcW;at,nancial1restoX; tim0;cebook,nnie mae;b07sa,u3xxon1; m1m1;ob0G;!rosceptics;aiml0Ae6isney,o4u1;nkin donu2po0Wran dur1;an;ts;j,w j1;on0;a,f lepp0Yll,peche mode,r spiegYstiny's chi1;ld;aHbc,hDiBloudflaAnn,o3r1;aigsli5eedence clearwater reviv1ossra05;al;ca c6inba5l4m1o0Ast05;ca2p1;aq;st;dplOgate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7O;1:6H;2:7U;3:7K;4:7X;5:7T;6:6T;7:7E;8:71;9:6P;a7Gb6Sc5Rd57e4Zf4Bg42h3Ui3Oj3Mk3Kl3Am31n2Xo2Tp21ques7Ir1Ds07tTuRvMwCyBzA;ip,o6A;awn,e1Wie4R;aHeaGhEiCoAre7I;nd0rA;k,ry;mp,nApe,re,sh,tne7Z;!d,g;e6EiA;p,st6;r,th0;it,rAs5t3ve,x;ehou1ra7Y;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l38;pAsh0;da5gra4W;aLeKhrJiIoHrDuBwiAy4L;n,st;nArn;e,n5Z;aCeBiAu7;bu5ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Pss,t72u3;ck,e,me,p,re;e1Low,u7;ar,e,st;g,lArg5Zs5;k,ly;a0Ec09e06h01iZkXlVmUnTou68pPtFuBwA;ear,it3;b1Wit,m,ppBrAspe4;ge,pri1vey;lAo58;e55y;aHeGiFoDrBuAy6;dy,ff,mb6;a68eAi4C;am,ss,t3;p,rA;e,m;ck,t3;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Hons6IrAy;ay,e10ink6u2;n,r6Ete;n,rk;ee1Dow;e0Fi6o3Z;eep,iA;ce,p,t;ateboa5ViA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i30;pe,re;aBed,nArv14t;se,t1W;l,r3t;aDhedu6oCrA;at3eA;en,w;re,ut;le,n,r0H;crifi2il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1A;as5AcOdo,el,fMgLje4lKmInHo0TpFque7sCturn,vAwa58;eAi1H;al,r1;er5FoBt,uA;lt,me;l5Drt;air,eaAly,o3V;l,t;dezvo23t;aAedy;ke,rk;ea1i3B;a4Wist0r4A;act5Aorm,uA;nd,se;aAo4Tru8;ll;ck,i1ke,l44nAtT;ge,k;aYeVhTiQlLoIrBuA;mp,n3rcha1sh;ai1eEi2oAu3H;be,ceCdu2grAje4mi1te7;amAe59;!me;ed,ss;sAy;er4Rs;iBlAol,p,re,s2Pw0;i2l;nt,s4G;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Sm8;!l;cka9iBn,rtAss,t3u1;!y;nt,r;bCff0il,oBrAutli2R;d0ie4P;ze;je4;a3JeCoA;d,tA;e,i2;ed,gle4rd,t;aFeDiCoBuA;rd0;d2Snit42p,ve;lk,n2Wrr41x;asu11n3MrAss;ge,it;il,nBp,rk2XsAt3;h,k;da5oeuv0X;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0CvA;el,y;ch,d,p,se;bBcAnd,t3un3;e,k;el,o23;e2BiAno3A;ck,ll,ss;am,o15uA;d9i2;mpEnBr34ssA;ue;cr17dex,fluBha6k,se1TterviAvoi2;ew;en2;a4le1O;aEeCiBoAu3P;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo2Ym,ne3Eve7;!le;aHeek,lo3CoGrCuA;arAe3Bi0Ln;antee,d;aCiBoAumb6;om,u29;nd,p;de,sp;of,ssip;in,me,ng,s,ze;aWeSiNlJoGrCuA;el,nAzz;c2Ed;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Nm;us;aCe0Jip,oAy;at,od,wA;!er;g,re,sh,vo0Y;eDgClBnAre,sh,t,x;an2i0E;e,m,t0;ht,uE;ld;aBeAn2;d,l;r,tuA;re;ce,il,ll,rm,vo20;cho,nGsExAye;cCerci1hib8pAtra4;eriAo0I;en2me2H;el,han9;caAtima5;pe;count0d,gine0vy;aReLiFoErBuAye;b,mp;aBeam,iA;ft,nk,ve;ft,in;cu05d9ubt;p,sCvA;e,iAor2;de;char9liBpA;at3lay;ke;al,ba5cDfeClBma0Wpos8siAtail;gn,re;ay,ega5;at,ct;liXrA;ea1;ma9n2rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu4glomeDstru4tAveI;a4rA;a7ol;ntArn;ra5;biEfoDmCpA;leAou08romi1;me1B;a06e1Au5;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t3u1ve;se;d,e;aTeQiPlMoIrDuAypa0M;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan2nCrgaBsA;e,h;in;!d,g,k;c00dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa3;ch;al;chAsw0;or;er;d,m,r;ia5;dDvA;an2oca5;te;ce;i4reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aNbrigadiMcGdFexcellency,fiAliCma9officMp5queen,r2s0taoiseach,vice4;e0ultI;cond liArgeaB;abbi,e0;ar0verend; adJ;astFr0;eside6i0ofessE;me ministEnce0;!ss;gistrate,r4yB;eld mar3rst l0;ady,i0;eutena0;nt;shA;oct5utchess;aptain,hance3o0;lonel,mmand4ngress0unci2;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:49;1:4U;2:4V;3:4K;4:4I;5:3I;6:4H;a4Hb3Wc32d2Ne2Ff27g1Wh1Kin1Ijel3k1Gl1Dm15n13o0Zp0Jqu0Ir09sQtHuEvAw7;a7ha34om23;f0i4Jt0Ay7;! arou45;arn45e8o7;cabu03l4Q;gGr7;di6t1C;nc2Xp2Ir8s 7;doll3Is4Q;bani1in2; rex,aEeDhCiAo9r8u7v show;m2An5rntGto10;agedy,ibe,o3S;p5rq37;c,de,er,m7;etC;ere,i3Z;am,mp32;ct5le4x return;aOcMeLhKi1kIoHtCu9y7;ll7n1Zst4B;ab2J;b8nri13per bowl,r7;f0roga1;st35tot2;aAep9ipe3Ir8udent7;! lo1D;ang0i3O;fa18mo18;ff0t2T;loi3Qme0Z;elet0Wi7;er,ll,rm3C;ack,or3X;ab0Ncurity gu27;e4ho7;l2Qol;la2T;av0PeAhetor5i8o7;de4om;te,v7;erb0G;bAc9f7publ5r0Hspi1;er7orm0;e4r2;it2ord label;a1u3N;estion mark,ot21;aJeIhHiFlDr8u7yram13;ddi32ppy,rpo0C;eAie36o7;bl3Gs7;pe6t7;a1itu1;diction,mi07roga1Ess relea07;a7ebisci1;q20te,y0;cn5e7g;!r;armaci2XotocoE;dest2ncil,rcen36t2;n8te7;!nt;el2Jop3;bjec14c8pia1rde2thers,ve7wn0;n,rview;cu7e09;pi0;an23it1Xot7umb0;a1Xhi2I;aCeBili0Vo8u7é0A;m0Mr2;m8nopo3pLrni2Fsq1Kt7u0Z;h0i0W;!my;d5nu;mm2nd0Zte7yf3;ri2;aurea1i8u7;ddi1nch;ght bulb,p07;ey7ittI;!no1;cide4dices,se6te4vert7;eb1H;aHeaDighBo7uman right,ygie0Y;le,me8tb7;ed;! r7;un; scho10ri7;se;d8v7;en; start,ph7;one;m,ndful,ze;aFeDirl1HlaNoCr8u7;l3y;an7enadi0id;a12d7; slam,fa7mo7;th0;d,lf0;lat0Cntlem7;an;df3r7;l5n19;aDella,iBlAol3r7;ee market,i8on7;ti0;e14ga1;ame,u1;nan7ref3;ci0;br5mi3n0Sth0;conoDffCgg,lecto0LnBs1Qth5venAx8yel7;id;ampUe7te4;cuLmpl0F;i13t;er1F;e6i1E;my;adKeEiBo8r7u0M;agonf3i0;c8g1Ai3or,ssi0wn7;si0J;to09umen9;ale6gni8nn0s7vide0M;conte4incenAtri6;ta07;aBc2fAni2te7;c7rre4;ti7;ve;ault 01err2;th;!dy;aWeThLiKlIoBr7;edit c9it5uc7;ib7;le;ard;efficClAmmuniqKn9pi0rr2t0Uu7yo1;ri0s7;in;ne6suG;ic,um7;ni0F;ie4;er7ie4;gy,ic;ty,vil wH;aBeqAoco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli0racter7;ist5;ic;iliXll8r7;e2tifica1;ar;hi0na9pit2r7shi0ucus;bohyd7ri0;ra1;ry;aNeMiKlemJoGrBu7;ddhiUn9r7tterf3;glar7i2;!y;ny;eak9i8o7;!th0;de;faNthro7;ugh;dy,g,wl,y7;!frie7;nd;ish;cyc7oF;liG;an,l3;nki9r7;!ri0;er;ng;cMdJllHnEppeti1rray,sBth9u7;nt,to7;psy;ie7le1;st;ce4pe6;ct;nt;ec8oma3ti8;ly;do1;er7y;gy; homin8van7;tage;em;cru2e8qui7;tt2;ta1;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0W;a0Rb0Pc0Bd0Aex09f06g03he01in0Kjoule0kUlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Cd0Iears old,o1;tt06;att0b;able3e2on1;!ne0;a1r02;spoX;c09d08f3i06kilo0Am1ya05;e0Dil1;e0li08;eet0o04;ascals,e2i1ou0H;c0Ent0;rcent,tU;hms,uR;an0BewtO;/s,e6i1m²,²,³;/h,cro4l1;e1li02;! pEs 1²;anEpD;g01s06;gLter1;! 2s1;! 1;per second;iVu1;men0x;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0P;a0Ob0Jc0Ade09e04fXgWhomel06iUjuveni01lTmOnNoMpLrIsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;bYnt;ndergr1pstairs;adua0Gou1;nd;a3e1oken;en,r1;min0ror08;boo,n;e5istXo3qua2tandard,u1;bordina09per5;re,t;cial03l1;e,v0D;cret,n1ri0;ior;e1outiG;ar,lTnt0p1;resentSublican;ati07eriodic0otenti0rincip0;ffiWpposiZv0;agging,ovel;aDe3in2o1;biCdernS;iature,or;di1tr02;an,um;attFiber0;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1pL;ess;d1iE;er;mographKriv3;hiCo1rude;m3n2oper1;ative;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l1W;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AJ;4:CL;5:C0;6:CG;7:D3;8:BS;9:AR;A:94;B:DB;C:D4;aC8bB6cA6d97e8Hf81g7Eh6Ri6Bj5Dk51l4Dm35n2To2Np2Fqu2Dr1Ls11t0Fu0Ev07wTxSyIzD;aDor0;cDh9Ikaria,n0B;hEkD;!aC6;ar5TeC5;aLoFuD;sDu2KvBI;if,uf;nFsEusD;ouf,sD;ef;aDg;s,tD;an,h0;hli,nB7ssX;avi3ho4;aMeKiFoDyaBM;jcie86lfgang,odrow,utD;!er;lDnst1;bFey,fredBlD;aAYiD;am,e,s;e96ur;i,nde9sD;!l8t1;lEyD;l1ne;lDt3;a9Wy;aGiDladimir,ojte7T;cEha0kt66nceDrgA4va0;!nt;e3Vt64;lentDn9R;inD;!e;ghBElyss58nax,sm0;aWeRhNiLoHrFuEyD;!l3ro6s1;n7r58;avAGeDist0oy,um0;ntA8v5Vy;bFd8QmDny;!as,mDoharu;aCBie,y;iAy;mDt5;!my,othy;adFeoEia0JomD;!as;!do8F;!de5;dGrD;en97rD;an96eDy;ll,n95;!dy;dgh,ha,iDnn3req,tsu4Q;cAPka;aTcotRePhLiJoHpenc3tDur1Vylve95zym1;anFeDua84;f0phBCvDwa83;e5Yie;!islaw,l8;lom1uD;leyma6ta;dDlAm1yabonga;!dhart73n8;aFeD;lDrm0;d1t1;h7Jne,qu10un,wn,y6;aDbasti0k2Al4Org4Lth,ymoAE;m5n;!tD;!ie,y;lEmDnti2Eq57ul;!ke5Im9Ru4;ik,vato7N;aYeUhe9UiQoHuEyD;an,ou;b7CdEf5pe7JssD;!elBI;ol3Ey;an,bKc61dIel,geHh0landBmGnFry,sEyD;!ce;coe,s;!aA1n9H;an,eo;l44r;er77g3n8olfo,riD;go;b9CeAQ;cDl8;ar6Hc6GhEkDo;!ey,ie,y;a8Uie;gEid,ubCyDza;an1InY;g9SiD;na9Os;ch6Pfa4lHmGndFpha4sEul,wi2GyD;an,mo6T;h7Im5;alAWol2Ty;iACon;f,ph;ent2inD;cy,t1;aIeGhilFier6SrD;aka16eD;m,st1;!ip,lip;dA4rcy,tD;ar,e3Dr1X;b4Gdra72tr6IulD;!o17;ctav3Ci3liv3m9Yndrej,rHsEtDum7wC;is,to;aEc7k7m0vD;al5R;ma;i,vL;aLeJiFoDu37;aDel,j5l0ma0r3H;h,m;cEg4i45kD;!au,h7Fola;holAkDolA;!olA;al,d,il,ls1vD;il8I;hom,thD;anDy;!a4i4;aZeWiMoHuEyD;l2Gr1;hamEr6KstaD;fa,p54;ed,mH;di0We,hamFis2CntEsDussa;es,he;e,y;ad,ed,mD;ad,ed;cIgu4hai,kGlFnEtchD;!e9;a7Uik;house,o0Bt1;ae5Oe9NolD;aj;ah,hD;aEeD;al,l;el,l;hElv2rD;le,ri9v2;di,met;ay0hTjd,ks2AlRmadWnQrKs1tFuricExD;imilianBwe9;e,io;eGhEiAtDus,yA;!eo,hew,ia;eDis;us,w;j,o;cHio,kGlFqu6Ysha9tDv2;iDy;!m,n;in,on;el,oPus;!el91oOus;iGu4;achDcolm,ik;ai,y;amEdi,eDmoud;sh;adDm5G;ou;aWeQiOlo39oKuEyD;le,nd1;cGiFkDth3uk;aDe;!s;gi,s,z;as,iaD;no;g0nn7CrenFuDv82we9;!iD;e,s;!zo;am,oD;n4r;a7Vevi,la4AnHonGst3thaFvD;eDi;nte;bo;!a6Del;!ny;mFnErDur54wr54;ry,s;ce,d1;ar,o4X;aLeHhal7GiEristDu4Jy6I;i0o53;er0p,rD;k,ollD;os;en0iFnDrmit,v3T;!dr3WnDt1;e17y;r,th;cp3j5m5Rna6OrEsp7them,uD;ri;im,l;a00eUiSoGuD;an,lDst2;en,iD;an,en,o,us;aNeLhnKkubAnIrGsD;eEhDi7Vue;!ua;!ph;dDge;i,on;!aDny;h,s,th54;!ath53ie,n5L;!l,sDy;ph;o,qu2;an,mD;!m5G;d,ffGrDs5;a5YemEmai6oDry;me,ni0X;i7Fy;!e5NrD;ey,y;cKdCkImHrFsEvi3yD;dCs1;on,p3;ed,od,rDv4U;e5Aod;al,es4Lis1;a,e,oDub;b,v;ob,quD;es;aWbQchiPgNkeMlija,nuLonut,rJsFtDv0;ai,suD;ki;aEha0i6ZmaDsac;el,il;ac,iaD;h,s;a,vinDw2;!g;k,nngu5F;!r;nacDor;io;ka;ai,rahD;im;aPeJoIuDyd7;be2EgGmber4JsD;eyEsD;a2e2;in,n;h,o;m3ra35sse2wa3Z;aHctGitGnrErD;be27m0;iDy;!q0Y;or;th;bLlKmza,nJo,rFsEyD;a46dC;an,s0;lFo4Nry,uDv8;hi43ki,tD;a,o;an,ey;k,s;!im;ib;aVeRiPlenOoLrHuD;ilEsD;!tavo;herme,lerD;mo;aFegDov3;!g,orD;io,y;dy,h5J;nzaErD;an,d1;lo;!n;lbe4Xno,oD;rg36van4X;oFrD;aDry;ld,rdB;ffr8rge;brElCrDv2;la13r3Gth,y;e32ielD;!i5;aReOiMlKorrest,rD;anEedDitz;!d37er10r10;cFkD;!ie,lD;in,yn;esKisD;!co,z2V;etch3oD;yd;d4lDonn;ip;deriEliDng,rnan04;pe,x;co;bi0di,hd;dXfrWit0lRmKnHo2rFsteb0th0uge6vDymCzra;an,eD;ns,re2W;gi,i09nDrol,v2w2;estBie;oEriqDzo;ue;ch;aIerHiEmD;aHe2P;lDrh0;!iD;o,s;s1y;nu4;be0Ad1iFliEm3t1viDwood;n,s;ot1Rs;!as,j4EsD;ha;a2en;!d2Vg7mGoEuEwD;a25in;arD;do;oVuV;a01eQiOoGrag0uFwEylD;an,l0;ay6ight;a6dl8nc0st2;minGnEri0ugDvydAy28;!lA;!a2HnDov0;e9ie,y;go,iEykA;as;cDk;!k;armuDll1on,rk;id;andMj0lbeLmetri5nJon,rHsFvEwDxt3;ay6ey;en,in;hawn,moD;nd;ek,rD;ick;is,nD;is,y;rt;re;an,le,mKnJrFvD;e,iD;!d;en,iFne9rDyl;eDin,yl;l35n;n,o,us;!i4ny;iDon;an,en,on;a07e05hXiar0lNoIrGuEyrD;il,us;rtD;!is;aDistob0R;ig;dy,lGnErD;ey,neli5y;or,rD;ad;by,e,in,l2t1;aHeFiDyJ;fDnt;fo0Dt1;meDt5;nt;rFuEyD;!t1;de;enD;ce;aHeFrisD;!toD;ph3;st3;er;d,rDs;b4leD;s,y;cDdric,s7;il;lGmer1rD;ey,lEro9y;ll;!os,t1;eb,v2;a06eYiUlaToRrEuDyr1;ddy,rtK;aLeGiFuEyD;an,ce,on;ce,no;an,ce;nEtD;!t;dEtD;!on;an,on;dEndD;en,on;!foDl8y;rd;bby,rDyd;is;i6ke;bFlEshD;al;al,lK;ek;nHrDshoi;at,nEtD;!r1B;aDie;rdB;!iEjam2nD;ie,y;to;kaMlazs,nHrD;n8rDt;eDy;tt;ey;dDeE;ar,iD;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHuFveEyDziz;a0kh0;ry;gust5st2;us;hi;aKchJiIjun,maHnFon,tDy0;hDu08;ur;av,oD;ld;an,ndB;!el,ki;ie;ta;aq;as,dHgelBtD;hony,oD;i6nD;!iBy;ne;er,reDy;!as,i,s,w;iFmaDos;nu4r;el;ne,r,t;an,bePdCeJfHi,lGonFphXt1vD;aNin;on;so,zo;an,en;onTrD;ed;c,jaGksandFssaGxD;!andD;er,ru;ar,er;ndD;ro;rtB;ni;dCm7;ar;en;ad,eD;d,t;in;onD;so;aEi,olfBri0vik;!o;mDn;!a;dHeGraEuD;!bakr,lfazl;hDm;am;!l;allIelFoulaye,ulD;!lDrF;ah,o;! rD;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:93;1:81;2:7Y;3:8U;4:8O;5:6F;6:82;7:87;8:8E;9:5X;A:8T;a7Nb77c6Qd68e5Qf58g50h4Pi3Ujuni47k3Sl3Gm34n2Uo2Fp1Wquart64r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Gs6F;!sa6;ather13eBll o5Jste2R;!k5;aDeCiBola5D;b93ce versa,gi2R;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8V;ef75u4;b68ge0; Db2BpCsBti37;ca6et,ide dO;er,i4L;f3Wto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2GoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a8recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6Scov9ly2sDwB;aBei2L;t9y;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i2Hra;aGeDhough5Aip 1QoCrB;anspa6Zi3;geth9le81rp8;ena6GmpCrB;r3Ftia6Q;e7Lo6O;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb71;bDi generis,pBr5;erBre1P;! dup9b,viX;du1sBurb51;eq73tanda7N;atu6AeFi0VrByl3T;aBin4E;ightBy; fBfB;or5Y;adfa7Fri6;arCeBirit1lend8ot on;c2Ye34;k5se; caGlub6mb9phisticFrEuCvB;erei5Iiet;ndBth0Y;pro6G;d8ry;at1;ll1;g20nB;ce58g6;am30e9;at1co1Kem5lf3AnBre7;so5W;ath2holBient2K;ar5;cr1me,tisfac5N;aJeEheumato8iCoB;bu6Vtt58y4;ghtBv4;-w2f54;bZcEdu6MlDsBtard1;is3DoB;lu3na0;e1Euc3B;e0ondi3;b8ciB;al,st;aOeMicayu7laLopuli6LrCuB;bl5Wnjabi;eGiEoB;!b2QfCmi3CpBv4V;er,ort4C;a7u61;maBor,sti7va3;!ry;ci5Yexist2mBpa8;a1RiB;er,um;c8id;ac27rBti3;feAma32ti32v5S;i27rCsB;s41t;allCtB;-ti05i4;el;bMffKkJld InGrFth9utEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Yer,si4K;d2Ug1L; bBbBgo2li7;oa5X;fashion1school;!ay; gua5UbBli7si4E;eat;eCsB;ce7er0Eo0T;dia0se;aJeIiHoBuanc1;nDrthBt1U;!eB;rn;chaCdescri5Iprof28sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d13ltip6;deDl12nBot,st;ochroBth5;me;rn,st;dblTi;nac2re;cDgenta,in,j05keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aLeHiEoCuB;mber2sh;ngBut18;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBss9th4;al,eCitiB;ma3;nda3N;ngu8ps1st;aput,ind5nB;ow2;gno4Sll03mVnDpso 23rB;a3releB;va0; QaPcoMdJe28fIhibi3AiWnHsDtBvalu0S;aAeB;n43rdep1S;a7iColBubordi3O;ub6ve0;de,gB;nifica0;a3er;eriCluenOreq3U;eCiEoB;or;fini3p1Jtermi3G;mpCrB;reA;le3;ccu3Xdeq3Sppr34;fBsitu,vitro;ro0;mFpB;arDeCl0PoBrop9;li3r0M;nd2rfeA;ti4;aCeBi0R;d2Wn3H;tu20;eg4iB;c0Ite3L;aIelHiFoCumB;a7dr3G;me ma2CnCrrBs04ur5;if31;e3Oo2J;ghfalut1LspB;an2Y;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Tiga26lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2I;olErB; keeps,eBge0Gm9tu2Bwa36;go2i1BseeB;ab6;ish;ag35uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Fmiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4reAthere4veHxB;aAem2PplEquisi3traDuB;be2UlB;ta0;!va1H;icB;it;n,ryday; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;g9sB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa1XtB;a0inA;et,te; IadpHceGfiFgene1UliDpCreliAspe1UvoB;id,ut;ende0;ca3ghB;tf09;a0ni3;as1;an;facto;i5ngeroX;ly;arQertaPivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v01z1;erKgniza0loJmHnCr01veB;rt;cEduIgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Wi12;mensu18passB;io0M;ni4ss4;ci0S;in;diac,efM;aMeGizarFliKoDrBuck nak1;and new,isk,oB;kLn1C;gBldface,na fiT;us;re;autifFhiEloDnBst,yoE;eViBt;gn;v1w;nd;ul;ckDnkCrrB;en;ru0V;!wards; priori,b0Nc0Kd0Df0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0U;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCterB;na3;of;li7;ne;olB;ic;ead;ainWed,gressiB;ve;flCra8;id;ue0; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cuCtu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traA;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8T;1:8G;2:9B;3:8Z;4:80;5:7N;6:97;7:82;8:90;9:9F;A:9E;B:8V;C:7U;D:7Q;E:7K;F:87;a80b7Ec6Od5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Pnou3Uo2Kp23qu22r18s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Ary;nGplift;cov0dHear7HlGplug,tie,ve83;eaAo3J;erGo;go,sta9Cval92whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Y;ch,se;ck4ilor,keGmp0r7L;! paD;a0Ec0De0Bh07i05l03m02n01oZpUqua45tNuIwG;all6Ze2DiG;m,ng;bIccumb,ffHggeBmm8Zp2ErG;mouFvi2;er,i3;li7Ymer8siGveD;de,st;aKe7RiIrG;ang4eGi2;ng1Zw;fGnV;f5le;gg0rGte ch5F;t4ve;awn,eJiIlHoGri6B;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;aAugg4;aGi9;m,y;ft,nGt;g,k;aIi5FoHriGun;nk,v5R;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven8ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,reAuG;el,rbiA;an3e;aCu3;ei2k7Ela3IoGyc4;gni58nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;aAen5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,niArGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0tru9vG;e,i9o4S;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi42iC;a5Brt4T;er3npoiF;cei2fo3BiAmea6plex,sGva9;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Spo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na8;aNeJiGo1u35;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Mow;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3u9;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul8;ca6;i6lu9;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;riA;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee30olG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2M;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un8;ct,di6;st,t;lu9;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a8i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar8iB;a8eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer8pG;hasi1Yow0;a0Tody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Nn;a0Ne01iIo,rGwind4;aw,ed8oG;p,wn;agno1e,ff0g,mi29sJvG;eGul8;rGst;ge,t;ab4bTcNlod8mant4pLru3GsKtG;iGoDu2W;lHngG;uiA;!l;ol2ua9;eGla3o1ro2;n1r1;a18e2WlJoHuG;ss;uGv0;ra8;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;liA;an;mEv0;a3i04oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aIrHuG;g,nk;ief;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinci9llVmTnGrro9;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r8;a0Hin23ribu6;er2iGoli25pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGlu9;al,i2;buBe,men3pG;e6ly;eCi9u9;r3xiB;ean1iQ;rcumveFte;eGoo1;riAw;ncGre5t0ulk;el;aYeSi1TlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l10mbaGrrMth0;rd;aHeGow;ed;ze;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;niA;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an8i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e8oGu9;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled8quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,liA;da6;te;pt;andMet,i9oIsG;coIol2;ve;liArt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:24;5:1X;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel5;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri4roun5;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee5;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war5;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19r6un1F;e6o0X;ce5s4vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri5whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s4tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area4;po4;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un5;ebo5th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0;ab2c6du3ga01sQ;han0oura00;barras4erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es4;biliBcAfiKgra5m9pres4ser8v6;asAelo6;pi1;vi1;an5eaG;a0BliF;ta0;maMri1sYun0;aMhJlo4o6ripp2ut0;mCn6rrespon5;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u4;ni1;fAm9p6;e7ro6;mi4;l2ti1;an5;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in5lin5o7rui4u6;d5st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un5;di1;is6;hi1;ri1;res0;li1;a9u4;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦alexand5darwin,h3jordan,k2orlando,s0victo5;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const oa="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ia=oa.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var sa=function(e){if(void 0!==ia[e])return ia[e];let t=0,n=1,r=36,a=1;for(;n=0;n--,a*=36){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t};var la=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=ca(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=ha(aa[e]);ga.test(e)?Object.keys(t).forEach(t=>{if(va[t]=e,"Noun|Verb"===e){let e=pa(t,ba);va[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{fa[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","fa[e]="Emoticon"),delete fa[""],delete fa.null,delete fa[" "];const ya="Adjective";var wa={beforeTags:{Determiner:ya,Possessive:ya},afterTags:{Adjective:ya},beforeWords:{seem:ya,seemed:ya,seems:ya,feel:ya,feels:ya,felt:ya,appear:ya,appears:ya,appeared:ya,also:ya,over:ya,under:ya,too:ya,it:ya,but:ya,still:ya,really:ya,quite:ya,well:ya,very:ya,deeply:ya,profoundly:ya,extremely:ya,so:ya,badly:ya,mostly:ya,totally:ya,awfully:ya,rather:ya,nothing:ya,something:ya,anything:ya},afterWords:{too:ya,also:ya,or:ya}};const ka="Gerund";var Pa={beforeTags:{Adverb:ka,Preposition:ka,Conjunction:ka},afterTags:{Adverb:ka,Possessive:ka,Person:ka,Pronoun:ka,Determiner:ka,Copula:ka,Preposition:ka,Conjunction:ka,Comparative:ka},beforeWords:{been:ka,keep:ka,continue:ka,stop:ka,am:ka,be:ka,me:ka,began:ka,start:ka,starts:ka,started:ka,stops:ka,stopped:ka,help:ka,helps:ka,avoid:ka,avoids:ka,love:ka,loves:ka,loved:ka,hate:ka,hates:ka,hated:ka},afterWords:{you:ka,me:ka,her:ka,him:ka,them:ka,their:ka,it:ka,this:ka,there:ka,on:ka,about:ka,for:ka}};var Aa={beforeTags:Object.assign({},wa.beforeTags,Pa.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},wa.afterTags,Pa.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},wa.beforeWords,Pa.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},wa.afterWords,Pa.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Da="Singular";var ja={beforeTags:{Determiner:Da,Possessive:Da,Acronym:Da,Noun:Da,Adjective:Da,PresentTense:Da,Gerund:Da,PastTense:Da,Infinitive:Da,Date:Da},afterTags:{Value:Da,Modal:Da,Copula:Da,PresentTense:Da,PastTense:Da,Demonym:Da},beforeWords:{the:Da,with:Da,without:Da,of:Da,for:Da,any:Da,all:Da,on:Da,cut:Da,cuts:Da,save:Da,saved:Da,saves:Da,make:Da,makes:Da,made:Da,minus:Da,plus:Da,than:Da,another:Da,versus:Da,neither:Da,favorite:Da,best:Da,daily:Da,weekly:Da},afterWords:{of:Da,system:Da,aid:Da,method:Da,utility:Da,tool:Da,reform:Da,therapy:Da,philosophy:Da,room:Da,authority:Da,says:Da,said:Da,wants:Da,wanted:Da}};const Na={beforeTags:{Determiner:void 0}};var xa={beforeTags:Object.assign({},wa.beforeTags,ja.beforeTags,Na.beforeTags),afterTags:Object.assign({},wa.afterTags,ja.afterTags),beforeWords:Object.assign({},wa.beforeWords,ja.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},wa.afterWords,ja.afterWords)};const Ia={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Ta={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Ga={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Ea={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ca={beforeTags:Object.assign({},wa.beforeTags,Ia),afterTags:Object.assign({},wa.afterTags,Ta),beforeWords:Object.assign({},wa.beforeWords,Ga),afterWords:Object.assign({},wa.afterWords,Ea)};const Oa="Infinitive";var Ba={beforeTags:{Modal:Oa,Adverb:Oa,Negative:Oa,Plural:Oa},afterTags:{Determiner:Oa,Adverb:Oa,Possessive:Oa,Preposition:Oa},beforeWords:{i:Oa,we:Oa,you:Oa,they:Oa,to:Oa,please:Oa,will:Oa,have:Oa,had:Oa,would:Oa,could:Oa,should:Oa,do:Oa,did:Oa,does:Oa,can:Oa,must:Oa,us:Oa,me:Oa,he:Oa,she:Oa,it:Oa,being:Oa},afterWords:{the:Oa,me:Oa,you:Oa,him:Oa,her:Oa,them:Oa,it:Oa,a:Oa,an:Oa,up:Oa,down:Oa,by:Oa,out:Oa,off:Oa,when:Oa,all:Oa,to:Oa,because:Oa,although:Oa,before:Oa,how:Oa,otherwise:Oa,though:Oa,yet:Oa}};const Va={afterTags:{Noun:"Adjective",Conjunction:void 0}};var za={beforeTags:Object.assign({},wa.beforeTags,Ba.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},wa.afterTags,Ba.afterTags,Va.afterTags),beforeWords:Object.assign({},wa.beforeWords,Ba.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},wa.afterWords,Ba.afterWords,{to:void 0})};const Fa={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},$a={},Sa={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Ha={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var Ma={beforeTags:Object.assign({},Pa.beforeTags,ja.beforeTags,Fa),afterTags:Object.assign({},Pa.afterTags,ja.afterTags,$a),beforeWords:Object.assign({},Pa.beforeWords,ja.beforeWords,Sa),afterWords:Object.assign({},Pa.afterWords,ja.afterWords,Ha)};var Wa={beforeTags:Object.assign({},Ba.beforeTags,ja.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Ba.afterTags,ja.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Ba.beforeWords,ja.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Ba.afterWords,ja.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const Ja="Person";var La={beforeTags:{Honorific:Ja,Person:Ja,Preposition:Ja},afterTags:{Person:Ja,ProperNoun:Ja,Verb:Ja},ownTags:{ProperNoun:Ja},beforeWords:{hi:Ja,hey:Ja,yo:Ja,dear:Ja,hello:Ja},afterWords:{said:Ja,says:Ja,told:Ja,tells:Ja,feels:Ja,felt:Ja,seems:Ja,thinks:Ja,thought:Ja,spends:Ja,spendt:Ja,plays:Ja,played:Ja,sing:Ja,sang:Ja,learn:Ja,learned:Ja,wants:Ja,wanted:Ja}};const qa="Month",Ka={beforeTags:{Date:qa,Value:qa},afterTags:{Date:qa,Value:qa},beforeWords:{by:qa,in:qa,on:qa,during:qa,after:qa,before:qa,between:qa,until:qa,til:qa,sometime:qa,of:qa,this:qa,next:qa,last:qa,previous:qa,following:qa},afterWords:{sometime:qa,in:qa,of:qa,until:qa,the:qa}};var Ua={beforeTags:Object.assign({},La.beforeTags,Ka.beforeTags),afterTags:Object.assign({},La.afterTags,Ka.afterTags),beforeWords:Object.assign({},La.beforeWords,Ka.beforeWords),afterWords:Object.assign({},La.afterWords,Ka.afterWords)};const Ra={Place:"Place"},Za={Place:"Place",Abbreviation:"Place"},Qa={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},_a={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"};const Ya={"Adj|Gerund":Aa,"Adj|Noun":xa,"Adj|Past":Ca,"Adj|Present":za,"Noun|Verb":Wa,"Noun|Gerund":Ma,"Person|Noun":{beforeTags:Object.assign({},ja.beforeTags,La.beforeTags),afterTags:Object.assign({},ja.afterTags,La.afterTags),beforeWords:Object.assign({},ja.beforeWords,La.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},ja.afterWords,La.afterWords)},"Person|Date":Ua,"Person|Verb":{beforeTags:Object.assign({},La.beforeTags,Ba.beforeTags),afterTags:Object.assign({},La.afterTags,Ba.afterTags),beforeWords:Object.assign({},La.beforeWords,Ba.beforeWords),afterWords:Object.assign({},La.afterWords,Ba.afterWords)},"Person|Place":{beforeTags:Object.assign({},Ra,La.beforeTags),afterTags:Object.assign({},Za,La.afterTags),beforeWords:Object.assign({},Qa,La.beforeWords),afterWords:Object.assign({},_a,La.afterWords)}},Xa=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};Ya["Plural|Verb"]={beforeWords:Xa(Ya["Noun|Verb"].beforeWords,{}),afterWords:Xa(Ya["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:Xa(Ya["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Xa(Ya["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var eo=Ya;const to="Adjective",no="Infinitive",ro="PresentTense",ao="Singular",oo="PastTense",io="Adverb",so="Plural",lo="Verb",uo="LastName",co="Participle";var ho=[null,null,{ea:ao,ia:"Noun",ic:to,ly:io,"'n":lo,"'t":lo},{oed:oo,ued:oo,xed:oo," so":io,"'ll":"Modal","'re":"Copula",azy:to,eer:"Noun",end:lo,ped:oo,ffy:to,ify:no,ing:"Gerund",ize:no,ibe:no,lar:to,mum:to,nes:ro,nny:to,ous:to,que:to,rol:ao,sis:ao,ogy:ao,oid:ao,ian:ao,zes:ro,eld:oo,ken:co,ven:co,ten:co,ect:no,ict:no,ide:no,ign:no,ful:to,bal:to},{amed:oo,aped:oo,ched:oo,lked:oo,rked:oo,reed:oo,nded:oo,mned:to,cted:oo,dged:oo,ield:ao,akis:uo,cede:no,chuk:uo,czyk:uo,ects:ro,ends:lo,enko:uo,ette:ao,wner:ao,fies:ro,fore:io,gate:no,gone:to,ices:so,ints:so,ruct:no,ines:so,ions:so,less:to,llen:to,made:to,nsen:uo,oses:ro,ould:"Modal",some:to,sson:uo,tion:ao,tage:"Noun",ique:ao,tive:to,tors:"Noun",vice:ao,lier:ao,fier:ao,wned:oo,gent:ao,tist:ao,pist:ao,rist:ao,mist:ao,yist:ao,vist:ao,lite:ao,site:ao,rite:ao,mite:ao,bite:ao,mate:ao,date:ao,ndal:ao,vent:ao,uist:ao,gist:ao,note:ao,ract:no,duce:no,pose:no,eive:no,lyze:no,lyse:no,iant:to,nary:to},{elist:ao,holic:ao,phite:ao,tized:oo,urned:oo,eased:oo,ances:so,bound:to,ettes:so,fully:io,ishes:ro,ities:so,marek:uo,nssen:uo,ology:"Noun",osome:ao,tment:ao,ports:so,rough:to,tches:ro,tieth:"Ordinal",tures:so,wards:io,where:io,archy:"Noun",pathy:"Noun",opoly:"Noun",embly:"Noun",phate:"Noun",ndent:ao,scent:ao,onist:ao,anist:ao,alist:ao,olist:ao,icist:ao,ounce:no,iable:to,borne:to,gnant:to,inant:to,igent:to,atory:to,rient:ao,dient:ao},{auskas:uo,parent:ao,cedent:ao,ionary:ao,cklist:ao,keeper:"Actor",logist:"Actor",teenth:"Value"},{opoulos:uo,borough:"Place",sdottir:uo}];const mo="Adjective";var po=[null,null,{},{neo:"Noun",bio:"Noun","de-":"Verb","re-":"Verb","un-":"Verb"},{anti:"Noun",auto:"Noun",faux:mo,hexa:"Noun",kilo:"Noun",mono:"Noun",nano:"Noun",octa:"Noun",poly:"Noun",semi:mo,tele:"Noun","pro-":mo,"mis-":"Verb","dis-":"Verb","pre-":mo},{anglo:"Noun",centi:"Noun",ethno:"Noun",ferro:"Noun",grand:"Noun",hepta:"Noun",hydro:"Noun",intro:"Noun",macro:"Noun",micro:"Noun",milli:"Noun",nitro:"Noun",penta:"Noun",quasi:mo,radio:"Noun",tetra:"Noun","omni-":mo,"post-":mo},{pseudo:mo,"extra-":mo,"hyper-":mo,"inter-":mo,"intra-":mo,"deca-":mo},{electro:"Noun"}];const go="Adjective",fo="Infinitive",vo="PresentTense",bo="Singular",yo="PastTense",wo="Expression",ko="LastName";var Po={a:[[/.[aeiou]na$/,"Noun","tuna"],[/.[oau][wvl]ska$/,ko],[/.[^aeiou]ica$/,bo,"harmonica"],[/^([hyj]a+)+$/,wo,"haha"]],c:[[/.[^aeiou]ic$/,go]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,yo,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,yo,"rammed"],[/.[aeiou][sg]hed$/,yo,"gushed"],[/.[aeiou]red$/,yo,"hired"],[/.[aeiou]r?ried$/,yo,"hurried"],[/[^aeiou]ard$/,bo,"steward"],[/[aeiou][^aeiou]id$/,go,""],[/.[vrl]id$/,go,"livid"],[/..led$/,yo,"hurled"],[/.[iao]sed$/,yo,""],[/[aeiou]n?[cs]ed$/,yo,""],[/[aeiou][rl]?[mnf]ed$/,yo,""],[/[aeiou][ns]?c?ked$/,yo,"bunked"],[/[aeiou]gned$/,yo],[/[aeiou][nl]?ged$/,yo],[/.[tdbwxyz]ed$/,yo],[/[^aeiou][aeiou][tvx]ed$/,yo],[/.[cdflmnprstv]ied$/,yo,"emptied"]],e:[[/.[lnr]ize$/,fo,"antagonize"],[/.[^aeiou]ise$/,fo,"antagonise"],[/.[aeiou]te$/,fo,"bite"],[/.[^aeiou][ai]ble$/,go,"fixable"],[/.[^aeiou]eable$/,go,"maleable"],[/.[ts]ive$/,go,"festive"],[/[a-z]-like$/,go,"woman-like"]],h:[[/.[^aeiouf]ish$/,go,"cornish"],[/.v[iy]ch$/,ko,"..ovich"],[/^ug?h+$/,wo,"ughh"],[/^uh[ -]?oh$/,wo,"uhoh"],[/[a-z]-ish$/,go,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,ko,"polish-male"]],k:[[/^(k){2}$/,wo,"kkkk"]],l:[[/.[gl]ial$/,go,"familial"],[/.[^aeiou]ful$/,go,"fitful"],[/.[nrtumcd]al$/,go,"natal"],[/.[^aeiou][ei]al$/,go,"familial"]],m:[[/.[^aeiou]ium$/,bo,"magnesium"],[/[^aeiou]ism$/,bo,"schism"],[/^[hu]m+$/,wo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,go,"republican"],[/[^aeiou]ician$/,"Actor","musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,wo,"noooo"],[/^(yo)+$/,wo,"yoo"],[/^wo{2,}[pt]?$/,wo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,bo],[/[^i]fer$/,fo],[/.[^aeiou][ao]pher$/,"Actor"],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,go],[/[aeiou].*ist$/,go],[/^[a-z]et$/,"Verb"]],s:[[/.[^aeiou]ises$/,vo],[/.[rln]ates$/,vo],[/.[^z]ens$/,"Verb"],[/.[lstrn]us$/,bo],[/.[aeiou]sks$/,vo],[/.[aeiou]kes$/,vo],[/[aeiou][^aeiou]is$/,bo],[/[a-z]'s$/,"Noun"],[/^yes+$/,wo]],v:[[/.[^aeiou][ai][kln]ov$/,ko]],y:[[/.[cts]hy$/,go],[/.[st]ty$/,go],[/.[tnl]ary$/,go],[/.[oe]ry$/,bo],[/[rdntkbhs]ly$/,"Adverb"],[/.(gg|bb|zz)ly$/,go],[/...lly$/,"Adverb"],[/.[gk]y$/,go],[/[bszmp]{2}y$/,go],[/.[ai]my$/,go],[/[ea]{2}zy$/,go],[/.[^aeiou]ity$/,bo]]};const Ao="Verb",Do="Noun";var jo={leftTags:[["Adjective",Do],["Possessive",Do],["Determiner",Do],["Adverb",Ao],["Pronoun",Ao],["Value",Do],["Ordinal",Do],["Modal",Ao],["Superlative",Do],["Demonym",Do],["Honorific","Person"]],leftWords:[["i",Ao],["first",Do],["it",Ao],["there",Ao],["not",Ao],["because",Do],["if",Do],["but",Do],["who",Ao],["this",Do],["his",Do],["when",Do],["you",Ao],["very","Adjective"],["old",Do],["never",Ao],["before",Do],["a","Singular"],["the",Do],["been",Ao]],rightTags:[["Copula",Do],["PastTense",Do],["Conjunction",Do],["Modal",Do]],rightWords:[["there",Ao],["me",Ao],["man","Adjective"],["only",Ao],["him",Ao],["it",Ao],["were",Do],["took",Do],["himself",Ao],["went",Do],["who",Do],["jr","Person"]]},No={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},xo={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Io={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},To={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Go={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Eo=/^.([0-9]+)/;var Co=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(Eo);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(Eo,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},Bo=/^([0-9]+)/,Vo=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(Bo);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(Bo,"")]}(n[0],n[1])})};var zo=function(e={}){return(e=Object.assign({},e)).rules=Vo(e.rules),e.rules=Oo(e.rules),e.rev&&(e.rev=Vo(e.rev),e.rev=Oo(e.rev)),e.exceptions=Vo(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e};var Fo=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const $o=zo({rules:"een|1,egan|2in,on|in,pun|1in,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),So=zo(To),Ho=zo(xo),Mo=zo(Io),Wo=Fo($o),Jo=Fo(So),Lo=Fo(Ho),qo=Fo(Mo),Ko=zo(No),Uo=zo(Go);var Ro={fromPast:$o,fromPresent:So,fromGerund:Ho,fromParticiple:Mo,toPast:Wo,toPresent:Jo,toGerund:Lo,toParticiple:qo,toComparative:Ko,toSuperlative:Uo,fromComparative:Fo(Ko),fromSuperlative:Fo(Uo)},Zo=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),Qo=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var _o=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(Yo[t].forEach(n=>e[n]=t),e),{});var Xo=Yo;var ei=function(e){let t=e.substr(e.length-3);if(!0===Xo.hasOwnProperty(t))return Xo[t];let n=e.substr(e.length-2);return!0===Xo.hasOwnProperty(n)?Xo[n]:"s"===e.substr(e.length-1)?"PresentTense":null};const ti={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var ni=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=ei(e)),ti.hasOwnProperty(e))c=ti[e];else if("Participle"===n)c=Co(l,i);else if("PastTense"===n)c=Co(l,r);else if("PresentTense"===n)c=Co(l,a);else{if("Gerund"!==n)return e;c=Co(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var ri=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Co(i,n),PresentTense:Co(i,r),Gerund:Co(i,a),FutureTense:"will "+e},u=Co(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l};var ai=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a)){return e.slice(0,n-r)+t[a.length][a]}}return null};const oi="ically",ii=new Set(["analyt"+oi,"chem"+oi,"class"+oi,"clin"+oi,"crit"+oi,"ecolog"+oi,"electr"+oi,"empir"+oi,"frant"+oi,"grammat"+oi,"ident"+oi,"ideolog"+oi,"log"+oi,"mag"+oi,"mathemat"+oi,"mechan"+oi,"med"+oi,"method"+oi,"method"+oi,"mus"+oi,"phys"+oi,"phys"+oi,"polit"+oi,"pract"+oi,"rad"+oi,"satir"+oi,"statist"+oi,"techn"+oi,"technolog"+oi,"theoret"+oi,"typ"+oi,"vert"+oi,"whims"+oi]),si=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],li=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),ui={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var ci=function(e){return e.endsWith("ly")?ii.has(e)?e.replace(/ically/,"ical"):li.has(e)?null:ui.hasOwnProperty(e)?ui[e]:ai(e,si)||e:null};const hi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],di={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var mi=function(e){if(di.hasOwnProperty(e))return di[e];let t=ai(e,hi);return t||e+"ly"};const pi=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],gi={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},fi=new Set(["terrible","annoying"]);const vi=function(e,t){const n=t.two.models.toSuperlative;return Co(e,n)},bi=function(e,t){const n=t.two.models.toComparative;return Co(e,n)};var yi={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}};var wi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===yi.hasOwnProperty(i)&&yi[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:pa,nounToSingular:_o,verbToInfinitive:ni,getTense:ei,verbConjugate:ri,adjToSuperlative:vi,adjToComparative:bi,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Co(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Co(e,n)},advToAdjective:ci,adjToAdverb:mi,adjToNoun:function(e){if(gi.hasOwnProperty(e))return gi[e];if(fi.has(e))return null;let t=ai(e,pi);return t||e+"ness"}}}};var ki=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Pi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var Ai=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Pi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Pi(r,"Infinitive","Verb"),Object.assign(s,l),l=Pi(a,"Infinitive","Gerund"),Object.assign(s,l),l=Pi(o,"Adjective","Superlative"),Object.assign(s,l),l=Pi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Di={two:{models:Ro}};const ji={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Ni=function(e,t){const n={model:t,methods:wi};let{lex:r,_multi:a}=wi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},xi=function(e,t,n){let r=ri(e,Di);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Ii=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=ji[o],"Noun|Verb"!==o&&"Person|Verb"!==o||xi(a,r,!1),"Adj|Present"===o&&(xi(a,r,!0),function(e,t,n){let r=vi(e,n);t[r]=t[r]||"Superlative";let a=bi(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=ni(a,Di,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=ni(a,Di,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Ni(n,t)};let Ti={one:{_multiCache:{},lexicon:fa},two:{irregularPlurals:ra,models:Ro,suffixPatterns:ho,prefixPatterns:po,endsWith:Po,neighbours:jo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[a-z0-9_\u00C0-\u00FF]{2,}$/i,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^([\u00a9\u00ae\u2319-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,"Emoji","emoji-range"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6][-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]\+?$/,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:va,clues:eo,uncountable:{},orgWords:Zo}};Ti=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Ni(e.one.lexicon,e)).one.lexicon,e),e=Ii(e.two.switches,e),e=Ai(e),e=ki(e)}(Ti);var Gi=Ti;const Ei=/^(under|over|mis|re|un|dis|semi)-?/;var Ci=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(Ei.test(a.normal)){let e=a.normal.replace(Ei,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}};var Oi=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const Bi={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},Vi=new Set(["formulas","koalas","israelis","menus"]),zi=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Fi=function(e){if(!e||e.length<=3)return!1;if(Vi.has(e))return!0;let t=e[e.length-1];return Bi.hasOwnProperty(t)?Bi[t].find(t=>e.endsWith(t)):"s"===t&&!zi.find(t=>e.endsWith(t))};const $i=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Si=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(Fi(e.normal)?Oi(e,"Plural","3-plural-guess"):Oi(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=ei(e.normal);t&&Oi(e,t,"3-verb-tense-guess")}}(r)};const Hi=/^[A-Z][a-z'\u00C0-\u00FF]/,Mi=/[0-9]/,Wi=["Date","Month","WeekDay","Unit"],Ji=/^[IVXLCDM]{2,}$/,Li=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,qi={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var Ki=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===Hi.test(o)&&!1===Mi.test(o)?Wi.find(e=>r.tags.has(e))?null:(Si(e,t,n),r.tags.has("Noun")||r.tags.clear(),Oi(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&Ji.test(o)&&Li.test(o)&&!qi[r.normal]?(Oi(r,"RomanNumeral","2-xvii"),!0):null};const Ui=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substr(n-a,n);if(!0===t[r.length].hasOwnProperty(r)){return t[r.length][r]}}return null};var Ri=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=Ui(r.normal,n.two.suffixPatterns);if(null!==e)return Oi(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=Ui(r.implicit,n.two.suffixPatterns),null!==e))return Oi(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const Zi=/['‘’‛‵′`´]/,Qi=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return Oi(r,e,"2-prefix"),r.confidence=.5,!0}return null};const Xi=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),es=function(e){return!!e&&(!!Xi.has(e.normal)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ts=function(e){return!!e&&!!e.tags.has("Ordinal")};var ns=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(es(e[t-1])||es(e[t+1]))return Oi(n,"Year","2-tagYear");if(r>1950&&r<2025&&(ts(e[t-1])||ts(e[t+1])))return Oi(n,"Year","2-tagYear-close")}}return null};const rs=/^[A-Z]('s|,)?$/,as=/^[A-Z-]+$/,os=/([A-Z]\.)+[A-Z]?,?$/,is=/[A-Z]{2,}('s|,)?$/,ss=/([a-z]\.)+[a-z]\.?$/,ls={I:!0,A:!0};var us=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===as.test(n)||n.length>5||ls.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==os.test(n)&&!0!==ss.test(n)&&!0!==rs.test(n)&&!0!==is.test(n))}(r,n)?(r.tags.clear(),Oi(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!ls.hasOwnProperty(r.text)&&rs.test(r.text)?(r.tags.clear(),Oi(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(Oi(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&as.test(r.text)&&r.text.length<=6?(Oi(r,"Acronym","3-titlecase-acronym"),!0):null};const cs=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},hs=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var ds=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||cs(e[t-1],a),l=l||cs(e[t+1],o),l=l||hs(e[t-1],r),l=l||hs(e[t+1],i),l)return Oi(s,l,"3-[neighbour]"),Si(e,t,n),e[t].confidence=.2,!0}return null};const ms=function(e){return!!e&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(t=e.text,!!/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)));var t};var ps=function(e,t,n){const r=n.two.orgWords;let a=e[t];if(!0===r[a.machine||a.normal]&&ms(e[t-1])){Oi(e[t],"Organization","3-[org-word]");for(let n=t;n>=0&&ms(e[n]);n-=1)Oi(e[n],"Organization","3-[org-word]")}return null};var gs=function(e,t,n){0===e[t].tags.size&&(Oi(e[t],"Noun","3-[fallback]"),Si(e,t,n),e[t].confidence=.1)};const fs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,vs=(e,t,n)=>0!==t||e[1]?null:n;var bs={"Adj|Gerund":(e,t)=>fs(e,t),"Adj|Noun":(e,t)=>fs(e,t),"Adj|Past":(e,t)=>fs(e,t),"Adj|Present":(e,t)=>fs(e,t),"Noun|Gerund":(e,t)=>fs(e,t),"Noun|Verb":(e,t)=>fs(e,t)||vs(e,t,"Infinitive"),"Plural|Verb":(e,t)=>fs(e,t)||vs(e,t,"PresentTense"),"Person|Noun":(e,t)=>fs(e,t),"Person|Verb":(e,t)=>0!==t&&fs(e,t)};const ys="undefined"!=typeof process&&process.env?process.env:self.env||{},ws=/^(under|over|mis|re|un|dis|semi)-?/,ks=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&ys.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Ps=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&ys.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r};const As={tagSwitch:Ci,checkSuffix:Ri,checkRegex:_i,checkCase:Ki,checkPrefix:Yi,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(Oi(o,"Verb","3-[prefix]"),Oi(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(Oi(o,"Adjective","3-[prefix]"),Oi(o,"Prefix","3-[prefix]")))},checkYear:ns},Ds={checkAcronym:us,neighbours:ds,orgWords:ps,nounFallback:gs,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(ws.test(l)&&!o[l]&&(l=l.replace(ws,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=ks(e[t+1],n.afterWords);return o=o||ks(e[t-1],n.beforeWords),o=o||Ps(e[t-1],n.beforeTags,a),o=o||Ps(e[t+1],n.afterTags,a),o}(e,t,i[o],r);bs[o]&&(u=bs[o](e,t)||u),u?(ys.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):ys.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},js=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)};const Is={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ts={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Hs=/'/;var Ms=function(e,t){let n=e[t].normal.split(Hs)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Ws=/'/;var Js=function(e,t){let n=e[t].normal.split(Ws)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]};var Ls=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const qs={that:!0,there:!0,let:!0,here:!0,everywhere:!0},Ks={in:!0,by:!0,for:!0};var Us=(e,t)=>{let n=e[t];if(qs.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e}if(e[t-1]&&!0===Ks[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const Rs=/'/,Zs=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Qs={d:(e,t)=>Js(e,t),t:(e,t)=>Ls(e,t),s:(e,t,n)=>Us(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Ms(e,t)},_s=function(e,t){return t.fromText(e.join(" ")).docs[0]};var Ys={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===Rs.test(r[o].normal)&&([,i]=r[o].normal.split(Rs));let s=null;Qs.hasOwnProperty(i)&&(s=Qs[i](r,o,t)),s&&(s=_s(s,e),Ss(n,[a,o],s),Zs(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=$s.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Fs},hooks:["contractionTwo"]};const Xs="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",el="(drew|pat|wade|ollie|will|rob|buck|bob|mark|jack)";const tl=["i","we","they"];let nl=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"(#Determiner|#Possessive) [#Gerund] #Noun",group:0,tag:"Adjective",reason:"amusing-world"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Determiner|#Value) [(linear|binary|mobile|lexical|technical|computer|scientific|formal)] #Noun",group:0,tag:"Noun",reason:"technical-noun"},{match:"(#Noun && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"(the|those|these|a|an) #Adjective? [#PastTense]",group:0,tag:"Noun",reason:"det-past"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Noun",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Noun] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"},{match:"^[%Noun|Verb%] #Noun",group:0,tag:"Verb",reason:"visit-boards"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"(#Value|a) [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"%Person|Noun% #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:Xs+" #Person",tag:"Person",reason:"randy-smith"},{match:Xs+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${Xs}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:`#Modal [${el}]`,group:0,tag:"Verb",reason:"would-mark"},{match:`#Adverb [${el}]`,group:0,tag:"Verb",reason:"really-mark"},{match:`[${el}] (#Adverb|#Comparative)`,group:0,tag:"Verb",reason:"drew-closer"},{match:el+" #Person",tag:"Person",reason:"rob-smith"},{match:el+" #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:tl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:tl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:tl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);var rl=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};var al=function(e){let t=[];return e.forEach(e=>{let n=e.regs.findIndex(e=>"or"===e.operator&&e.fastOr&&!e.optional&&!e.negative);if(-1===n)if(n=e.regs.findIndex(e=>"or"===e.operator&&e.choices&&!e.optional&&!e.negative),-1===n)t.push(e);else{(function(e,t){let n=e.regs[t];return n.choices.map(e=>1===e.length?e[0]:{choices:e,operator:n.operator})})(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,//!fixme [mo]? -a._expanded=!0,t.push(a)})}else{(function(e,t){let n=e.regs[t];return Array.from(n.fastOr).map(e=>{let t=Object.assign({},n);return delete t.fastOr,delete t.operator,t.word=e,t})})(e,n).forEach(r=>{let a=Object.assign({},e);a.regs=e.regs.slice(0),a.regs[n]=r,a._expanded=!0,t.push(a)})}}),t};var ol=function(e,t){const n=t.one.cacheMatch;return e.forEach(e=>{e.needs=Array.from(n(e.regs))}),e};var il=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t};var sl=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})};var ll=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e};var ul=function(e,t,n){let r=[];return e.forEach((e,a)=>{e.forEach(e=>{let o=n.match([t[a]],e);o.ptrs.length>0&&o.ptrs.forEach(t=>{t[0]=a;let n=Object.assign({},e,{pointer:t});void 0!==e.unTag&&(n.unTag=e.unTag),r.push(n)})})}),r};var cl=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s="string"!=typeof e.tag?e.tag.join(" #"):e.tag,l=` [${e.reason}]`.padEnd(20)+" - ";const u=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;l+=i>r&&i{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;let a=r.two.compile(n.two.matches,r),o=r.two.quickSplit(e.document),i=r.two.bulkMatch(o,a,r);return r.two.bulkTagger(i,o,t),e.uncache(),o}},methods:{two:{compile:function(e,t){e=rl(e,t),e=al(e),e=al(e),e=ol(e,t);let n=il(e,t);return delete n["#Noun"],delete n["#Verb"],n},bulkMatch:function(e,t,n){const r=n.one;let a=r.cacheDoc(e),o=sl(a,t);return o=ll(o,a),ul(o,e,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag)return;l.DEBUG_TAGS&&cl(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===a.two.canBe(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe)),void 0!==e.unTag&&s(u,e.unTag,n,e.safe)})},canBe:function(e,t,n){let r=n.one.tagSet;if(!r.hasOwnProperty(t))return!0;let a=r[t].not||[];for(let t=0;te.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n};var fl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r};var vl=function(e){for(let t=0;t",chunk:"Noun"},{match:"#Adjective+ ",chunk:"Noun"},{match:" of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let yl=null;var wl=function(e,t){const{methods:n}=t;yl=yl||n.two.compile(bl,n),n.two.bulkMatch(e,yl,n).forEach(t=>{!function(e,t,n){const{getDoc:r}=n.one;let a=r([e.pointer],t)[0];const o="undefined"!=typeof process&&process.env?process.env:self.env||{};a.forEach(t=>{if(t.chunk!==e.chunk){if(o.DEBUG_CHUNKS){let n=(t.normal+"'").padEnd(8);console.log(` | '${n} → ${e.chunk.padEnd(6)} -  ${e.match} `)}t.chunk=e.chunk}})}(t,e,n)})};const kl=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Pl=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null)}if("Noun"===e.chunk){e.terms.find(e=>e.tags.has("Noun"))||e.terms.forEach(e=>e.chunk=null)}})};var Dl={compute:{chunks:function(e){const{document:t,world:n}=e;vl(t),wl(t,n),wl(t,n),Pl(t,n),Al(t,n)}},api:function(e){e.prototype.chunks=fl,e.prototype.clauses=gl},hooks:["chunks"]};const jl=/'s$/;var Nl=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(jl,""),e.normal=e.normal.replace(jl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const xl=/\(/,Il=/\)/,Tl=function(e,t){for(;t{e[0].pre=e[0].pre.replace(xl,"");let t=e[e.length-1];t.post=t.post.replace(Il,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const El={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Cl=RegExp("("+Object.keys(El).join("|")+")"),Ol=RegExp("("+Object.values(El).join("|")+")"),Bl=function(e,t){const n=e[t].pre.match(Cl)[0]||"";if(!n||!El[n])return null;const r=El[n];for(;t{e[0].pre=e[0].pre.replace(Cl,"");let t=e[e.length-1];t.post=t.post.replace(Ol,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const zl=/\./g;var Fl=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(zl,""),e.normal=e.normal.replace(zl,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(zl,""),e.normal=e.normal.replace(zl,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}};var $l=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const Sl=(e,t)=>"number"==typeof t?e.eq(t):e,Hl=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var Ml=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=Hl(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return Sl(this,e).map(e=>{let n=Hl(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return Sl(this,e).map(e=>{let n=Hl(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return Sl(this,e).map(e=>{let n=Hl(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return Sl(this,e).map(e=>{let n=Hl(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=Sl(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=Sl(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=Sl(t,e),new Adjectives(t.document,t.pointer)}};const Wl=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},Jl=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let Ll=[["emojis","emoji"],["atmentions","atMentions"]];var ql=function(e){Jl.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=Wl,Ll.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},Kl={api:function(e){ql(e),Nl(e),Gl(e),Vl(e),Ml(e),$l(e),Fl(e)}};const Ul=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var Rl={case:e=>{Ul(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;Ul(e,e=>e.text=n(e.text,t))},whitespace:e=>{Ul(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{Ul(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const Zl=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),Ql="unicode|punctuation|whitespace|acronyms",_l="|case|contractions|parentheses|quotations|emoji|honorifics",Yl={light:Zl(Ql),medium:Zl(Ql+_l),heavy:Zl(Ql+_l+"|possessives|adverbs|nouns|verbs")};var Xl={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=Yl[e]),Object.keys(e).forEach(t=>{Rl.hasOwnProperty(t)&&Rl[t](this,e[t])}),this}}};var eu=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const tu=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var nu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")};var au=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:ru(e,t),isSubordinate:nu(e),root:t}};const ou=e=>e.text(),iu=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),su=function(e){if(!e.found)return null;let t=e.values(0);if(t.found){return(t.parse()[0]||{}).num}return null};var lu=function(e){let t=au(e);return{root:ou(t.root),number:su(t.number),determiner:ou(t.determiner),adjectives:iu(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const uu={tags:!0};var cu=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,uu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",uu),e};const hu={tags:!0};var du=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,hu).tag("Singular","toPlural"),e};const mu=(e,t)=>"number"==typeof t?e.eq(t):e;var pu={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return mu(this,e).map(au)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=lu(t)),n},[])}isPlural(e){let t=this.filter(e=>au(e).isPlural);return mu(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=au(e).adjectives;n.found&&(t=t.concat(n))}),mu(t,e)}toPlural(e){return mu(this,e).map(e=>cu(e,au(e)))}toSingular(e){return mu(this,e).map(e=>{let t=au(e);return du(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=eu(this);return t=mu(t,e),new Nouns(this.document,t.pointer)}}};var gu=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n};var fu=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(vu.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(vu.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(vu.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0};var yu=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const ku=/^([0-9,. ]+)\/([0-9,. ]+)$/,Pu={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Au=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Du=function(e){if(!0===Pu.hasOwnProperty(e))return Pu[e];if("a"===e||"an"===e)return 1;const t=fu(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Nu(n),r=Nu(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Nu(n);let a=r.text("reduced");return ju.test(a)&&(a=a.replace(ju,""),r=r.replaceWith(a)),r=xu.hasOwnProperty(a)?xu[a]:Nu(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");if(!0!==t.found)return null;if(e.lookAhead("^of ."))return{numerator:1,denominator:Nu(t)};return null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t};var Tu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const Gu=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Eu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Cu=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Ou=function(e){let t=[];if(e>100)return t;for(let n=0;n=Gu[n][1]&&(e-=Gu[n][1],t.push(Gu[n][0]));return Eu[e]&&t.push(Eu[e]),t};var Bu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=Tu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Cu.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Ou(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=Tu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")};var Vu=function(e){if(!e.numerator||!e.denominator)return"";return`${Bu({num:e.numerator})} out of ${Bu({num:e.denominator})}`};const zu={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Fu=e=>{let t=Bu(e).split(" "),n=t[t.length-1];return zu.hasOwnProperty(n)?t[t.length-1]=zu[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")};var $u=function(e){if(!e.numerator||!e.denominator)return"";let t=Bu({num:e.numerator}),n=Fu({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const Su=(e,t)=>"number"==typeof t?e.eq(t):e;var Hu=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return Su(this,e).map(Iu)}get(e){return Su(this,e).map(Iu)}json(e){return Su(this,e).map(t=>{let n=t.toView().json(e)[0],r=Iu(t);return n.fraction=r,n},[])}toDecimal(e){return Su(this,e).forEach(e=>{let{decimal:t}=Iu(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return Su(this,e).forEach(e=>{let t=Iu(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return Su(this,e).forEach(e=>{let t=Iu(e),n=$u(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return Su(this,e).forEach(e=>{let t=Iu(e),n=Vu(t);e.replaceWith(n)}),this}toPercentage(e){return Su(this,e).forEach(e=>{let{decimal:t}=Iu(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=gu(this);return t=Su(t,e),new Fractions(this.document,t.pointer)}};const Mu="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Wu=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Mu+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Mu+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Mu+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Mu+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Mu})`),r=e.has("("+Mu+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Mu+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Mu+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t};var Ju=function(e){if("string"==typeof e)return{num:Du(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Iu(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Du(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}};var Lu=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=Tu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const qu={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Ku={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var Uu=function(e){let t={suffix:"",prefix:e.prefix};return qu.hasOwnProperty(e.prefix)&&(t.suffix+=" "+qu[e.prefix],t.prefix=""),Ku.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Ku[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t};var Ru=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=Uu(e);return t+Fu(e)+n}if("Ordinal"===t)return e.prefix+Lu(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=Uu(e);return t+Bu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const Zu=(e,t)=>"number"==typeof t?e.eq(t):e;var Qu=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return Zu(this,e).map(Ju)}get(e){return Zu(this,e).map(Ju).map(e=>e.num)}json(e){return Zu(this,e).map(t=>{let n=t.toView().json(e)[0],r=Ju(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=Ju(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=Ru(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=Ju(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=Ru(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=Ju(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=Ru(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=Ju(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=Ru(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=Ju(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=Ru(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>Ju(t).num===e)}greaterThan(e){return this.filter(t=>Ju(t).num>e)}lessThan(e){return this.filter(t=>Ju(t).num{let r=Ju(n).num;return r>e&&r{let n=Ju(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Ru(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=Ju(e).num);let t=this.map(t=>{let n=Ju(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=Ru(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Wu(this);return t=Zu(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Wu(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=Zu(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Wu(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=Zu(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers};var _u={api:function(e){Hu(e),Qu(e)}};const Yu={people:!0,emails:!0,phoneNumbers:!0,places:!0},Xu=function(e={}){return!1!==(e=Object.assign({},Yu,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var ec={api:function(e){e.prototype.redact=Xu}};var tc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0],a=r[r.length-1];return n[a.index[0]].length===r.length&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})};var nc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};var rc=function(e){let t=e.clauses(),n=nc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}};var ac=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e};var oc=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e};var ic=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!t.lookBehind("to$").found&&(!!t.has("#Copula #Gerund")||!t.has("#Gerund")&&(!!t.has("#Copula")||(!t.has("#PresentTense")||!e.has("(when|as|how)")))));n.found&&n.toInfinitive()}return e};var sc=function(e){return e.verbs().toInfinitive(),e};const lc=(e,t)=>"number"==typeof t?e.eq(t):e;var uc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=rc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return lc(this,e).map(e=>{let t=rc(e);return ac(e,t)})}toPresentTense(e){return lc(this,e).map(e=>{let t=rc(e);return oc(e,t)})}toFutureTense(e){return lc(this,e).map(e=>{let t=rc(e);return e=ic(e,t)})}toInfinitive(e){return lc(this,e).map(e=>{let t=rc(e);return sc(e,t)})}toNegative(e){return lc(this,e).map(e=>{rc(e);return function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)})}toPositive(e){return lc(this,e).map(e=>{rc(e);return function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)})}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return lc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return lc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=lc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=tc(this);return lc(t,e)}};Object.assign(e.prototype,t)}};var cc=function(e){return e.match("#Honorific+? #Person+")};var hc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const dc="male",mc="female",pc={mr:dc,mrs:mc,miss:mc,madam:mc,king:dc,queen:mc,duke:dc,duchess:mc,baron:dc,baroness:mc,count:dc,countess:mc,prince:dc,princess:mc,sire:dc,dame:mc,lady:mc,ayatullah:dc,congressman:dc,congresswoman:mc,"first lady":mc,mx:null};var gc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return mc;if(n.has("#MaleName"))return dc;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),pc.hasOwnProperty(e))return pc[e];if(/^her /.test(e))return mc;if(/^his /.test(e))return dc}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return dc;if(n&&!t)return mc}return null};const fc=(e,t)=>"number"==typeof t?e.eq(t):e;var vc=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return fc(this,e).map(hc)}json(e){return fc(this,e).map(t=>{let n=t.toView().json(e)[0],r=hc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:gc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=cc(this);return t=fc(t,e),new People(this.document,t.pointer)}};var bc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||(!e.has("(#City|#Region)$")||!e.after("^#Country").found)),t=t.splitAfter(n),t};var yc=function(e){e.prototype.places=function(t){let n=bc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}};var wc=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const kc=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Pc=function(e){e.prototype.topics=kc};var Ac={api:function(e){vc(e),yc(e),wc(e),Pc(e)}};var Dc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t};var jc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t};var Nc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const xc=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Ic=function(e){return e.match("#Negative")},Tc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var Gc=function(e){let t=e.clone();t.contractions().expand();const n=jc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Nc(t,n),auxiliary:xc(t,n),negative:Ic(t),phrasal:Tc(n)}};const Ec={tense:"PresentTense"},Cc={conditional:!0},Oc={tense:"FutureTense"},Bc={progressive:!0},Vc={tense:"PastTense"},zc={complete:!0,progressive:!1},Fc={passive:!0},$c=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},Sc={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Ec]],["^wanted to #Infinitive$",[Vc]],["^will want to #Infinitive$",[Oc]]],"gerund-phrase":[["^#PastTense #Gerund$",[Vc]],["^#PresentTense #Gerund$",[Ec]],["^#Infinitive #Gerund$",[Ec]],["^will #Infinitive #Gerund$",[Oc]],["^have #PastTense #Gerund$",[Vc]],["^will have #PastTense #Gerund$",[Vc]]],"simple-present":[["^#PresentTense$",[Ec]],["^#Infinitive$",[Ec]]],"simple-past":[["^#PastTense$",[Vc]]],"simple-future":[["^will #Adverb? #Infinitive",[Oc]]],"present-progressive":[["^(is|are|am) #Gerund$",[Ec,Bc]]],"past-progressive":[["^(was|were) #Gerund$",[Vc,Bc]]],"future-progressive":[["^will be #Gerund$",[Oc,Bc]]],"present-perfect":[["^(has|have) #PastTense$",[Vc,zc]]],"past-perfect":[["^had #PastTense$",[Vc,zc]],["^had #PastTense to #Infinitive",[Vc,zc]]],"future-perfect":[["^will have #PastTense$",[Oc,zc]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Vc,Bc]]],"past-perfect-progressive":[["^had been #Gerund$",[Vc,Bc]]],"future-perfect-progressive":[["^will have been #Gerund$",[Oc,Bc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Vc,Fc]],["^(was|were) being (#PastTense|#Participle)",[Vc,Fc]],["^(had|have) been (#PastTense|#Participle)",[Vc,Fc]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Ec,Fc]],["^(is|are|am) being (#PastTense|#Participle)",[Ec,Fc]],["^has been (#PastTense|#Participle)",[Ec,Fc]]],"passive-future":[["will have been (#PastTense|#Participle)",[Oc,Fc,Cc]],["will be being? (#PastTense|#Participle)",[Oc,Fc,Cc]]],"present-conditional":[["would be #PastTense",[Ec,Cc]]],"past-conditional":[["would have been #PastTense",[Vc,Cc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Oc]]],"auxiliary-past":[["^did #Infinitive$",[Vc,{plural:!1}]],["^used to #Infinitive$",[Vc,zc]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Ec,zc,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Vc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Hc=[];Object.keys(Sc).map(e=>{Sc[e].forEach(t=>{Hc.push({name:e,match:t[0],data:$c(t[1])})})});var Mc=Hc;var Wc=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),Jc(r)&&(n.remove(r),r=n.last()),Jc(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:Lc(t,e)}};const Kc=e=>e,Uc=(e,t)=>{let n=qc(e,t),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},Rc=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=qc(e,t);return n.has("i")?"am":n.has("we")||r?"are":"is"},Zc=function(e,t){let n=qc(e,t),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},Qc=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},_c=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,Qc(e)),r&&e.replace(t.root,r),e},Yc=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),Xc=function(e){if(!e||!e.isView)return[];return e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal)},eh=function(e){return e&&e.isView?e.text("normal"):""},th=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,Qc(e))};var nh=function(e){e=e.clone().toView();let t=Gc(e);const n=Wc(e,t);return{root:t.root.text(),preAdverbs:Xc(t.adverbs.pre),postAdverbs:Xc(t.adverbs.post),auxiliary:eh(t.auxiliary),negative:t.negative.found,prefix:eh(t.prefix),infinitive:th(t.root),grammar:n}};const rh={tags:!0};var ah=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,Qc(r)),i&&e.replace(r,i,rh).tag("Verb").firstTerm().tag("Infinitive"),o.found&&o.reverse().forEach(t=>{e.remove(t)}),t.negative.found){e.has("not")||e.prepend("not");let n=Zc(e,t);e.prepend(n)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const oh={tags:!0},ih={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,Qc(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=qc(e,t);return r||n.has("we")?"were":"was"})(e,t)),o&&e.replace(a,o,oh),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ih.simple(e,t),e=ih.noAux(e,t))},hasHad:e=>(e.replace("has","had",oh),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,Qc(a)),n(o,e.model).Participle}},sh={infinitive:ih.simple,"simple-present":ih.simple,"simple-past":Kc,"simple-future":ih.both,"present-progressive":e=>(e.replace("are","were",oh),e.replace("(is|are|am)","was",oh),e),"past-progressive":Kc,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ih.hasHad,"past-perfect":Kc,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=Yc(e)),e.remove("have"),e),"present-perfect-progressive":ih.hasHad,"past-perfect-progressive":Kc,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",oh),e),"passive-past":e=>(e.replace("have","had",oh),e),"passive-present":e=>(e.replace("(is|are)","was",oh),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",oh),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Kc,"auxiliary-future":e=>(e.replace("(is|are|am)","was",oh),e),"auxiliary-past":Kc,"auxiliary-present":e=>(e.replace("(do|does)","did",oh),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",oh):(ih.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Kc,"want-infinitive":e=>(e.replace("(want|wants)","wanted",oh),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ih.simple(e,t),Yc(e),e)};var lh=function(e,t,n){return sh.hasOwnProperty(n)?((e=sh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const uh={tags:!0},ch=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,Qc(a)),!1===Uc(e,t)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=Rc(e,t)),o&&(e=e.replace(a,o,uh)).not("#Particle").tag("PresentTense"),e},hh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,Qc(a)),!1===Uc(e,t)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,uh)).not("#Particle").tag("Gerund"),e},dh={infinitive:ch,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(r.has("#Infinitive")){let a=qc(e,t).subject;if(Uc(e,t)||a.has("i"))return e;let o=r.text("normal"),i=n(o,e.model).PresentTense;o!==i&&(e=e.replace(r,i,uh))}return e},"simple-past":ch,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let r=Rc(e,t);e.replace(n,r),(e=e.remove("will")).replace("not "+r,r+" not")}else ch(e,t),e=e.remove("will");return e},"present-progressive":Kc,"past-progressive":(e,t)=>{let n=Rc(e,t);return e.replace("(were|was)",n,uh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(ch(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=qc(e,t).subject;return Uc(e,t)||n.has("i")?((e=_c(e,t)).remove("had"),e):(e.replace("had","has",uh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Kc,"past-perfect-progressive":e=>e.replace("had","has",uh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=Rc(e,t);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,uh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Kc,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Kc,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(hh(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=Zc(e,t);return e.replace(t.auxiliary,n),e}return hh(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Kc,"modal-infinitive":Kc,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,Qc(r)),a&&(e=e.replace(t.root,a,uh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ch(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return Uc(e,t)&&(n="want"),e.replace("(want|wanted|wants)",n,uh),e.remove("will"),e}};var mh=function(e,t,n){return dh.hasOwnProperty(n)?((e=dh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const ph={tags:!0},gh=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,Qc(r)),o&&(e=e.replace(r,o,ph)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},fh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,Qc(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,ph),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},vh={infinitive:gh,"simple-present":gh,"simple-past":gh,"simple-future":Kc,"present-progressive":fh,"past-progressive":fh,"future-progressive":Kc,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Kc,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Kc,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Kc,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Kc,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Kc,"modal-past":Kc,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),gh(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var bh=function(e,t,n){return e.has("will")||e.has("going to")?e:vh.hasOwnProperty(n)?((e=vh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const yh={tags:!0};var wh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,Qc(a));let s=r(i,e.model).Gerund;return s&&(s=`${Rc(e,t)} ${s}`,e.replace(a,s,yh)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const kh={tags:!0},Ph=function(e,t){let n=Zc(e,t);return e.prepend(n+" not"),e},Ah=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Dh=e=>e.has("(is|was|am|are|will|were|be)"),jh={"simple-present":(e,t)=>!0===Dh(e)?Ah(e):(e=_c(e,t),e=Ph(e,t)),"simple-past":(e,t)=>!0===Dh(e)?Ah(e):((e=_c(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Dh(e)?Ah(e):Ph(e,t),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",kh),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Ph(e,t)).replace("wants","want",kh)};var Nh=function(e,t,n){if(e.has("#Negative"))return e;if(jh.hasOwnProperty(n))return e=jh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Dh(e)?Ah(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const xh=(e,t)=>"number"==typeof t?e.eq(t):e;var Ih={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return xh(this,e).map(Gc)}json(e,t){return xh(this,t).reverse().map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=nh(t),n},[]).reverse()}subjects(e){return xh(this,e).map(e=>{let t=Gc(e);return qc(e,t).subject})}adverbs(e){return xh(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return xh(this,e).filter(e=>!0!==qc(e).plural)}isPlural(e){return xh(this,e).filter(e=>!0===qc(e).plural)}isImperative(e){return xh(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return ah(e,t,n.form)})}toPresentTense(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return mh(e,t,n.form)})}toPastTense(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return lh(e,t,n.form)})}toFutureTense(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return bh(e,t,n.form)})}toGerund(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return wh(e,t,n.form)})}conjugate(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return{Infinitive:ah(e.clone(),t,n.form).text("normal"),PastTense:lh(e.clone(),t,n.form).text("normal"),PresentTense:mh(e.clone(),t,n.form).text("normal"),FutureTense:bh(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return xh(this,e).map(e=>{let t=Gc(e),n=Wc(e,t);return Nh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Dc(this);return t=xh(t,e),new Verbs(this.document,t.pointer)}}};p.plugin(Dl),p.plugin(Kl),p.plugin(Xl),p.plugin(pu),p.plugin(_u),p.plugin(ec),p.plugin(uc),p.plugin(Ac),p.plugin(Ih);export{p as default}; +var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};var t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let r=this.update([t]);e(r,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let r=this.update([t]);return e(r,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach(e=>{r=r.concat(e.fullPointer)}),this.toView(r)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let r=this.update([t]);return e(r,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let r=this.update([t]);return e(r,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let r=this.update([t]);return e(r,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,r]=e.index||[];t.push([n,r,r+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer,n=this._cache||[];if(t||(t=this.docs.map((e,t)=>[t])),t[e]){let r=this.update([t[e]]);return r._cache=n[e],r}return this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;var a=r;const o=Object.assign({},a,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,r={}){[["document",t],["world",e],["_groups",r],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,r,a,o,i]=e;return r=r||0,a=a||(n[t]||[]).length,n[t]&&n[t][r]&&(o=o||n[t][r].id,n[t][a-1]&&(i=i||n[t][a-1].id)),[t,r,a,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon","preTagger"]),r}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,r){const{methods:a,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(a,e.methods),e.model&&function e(t,n){if(l(n))for(const r in n)l(n[r])?(t[r]||Object.assign(t,{[r]:{}}),e(t[r],n[r])):Object.assign(t,{[r]:n[r]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>r[t]=e.lib[t]),e.tags&&r.addTags(e.tags),e.words&&r.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h=function(e,t,n){const{methods:r}=n;let a=new t([]);if(a.world=n,"number"==typeof e&&(e=String(e)),!e)return a;if("string"==typeof e){return new t(r.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(c(e)){if(c(e[0])){return new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set}))))}return new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e))}return a};let d=Object.assign({},e);const p=function(e,t){t&&p.addWords(t);let n=h(e,s,d);return e&&n.compute(d.hooks),n};Object.defineProperty(p,"_world",{value:d,writable:!0}),p.tokenize=function(e,t){const{compute:n}=this._world;t&&p.addWords(t);let r=h(e,s,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},p.plugin=function(e){return u(e,this._world,s,this),this},p.extend=p.plugin,p.world=function(){return this._world},p.model=function(){return this._world.model},p.methods=function(){return this._world.methods},p.hooks=function(){return this._world.hooks},p.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},p.version="14.2.0";var m=p;const g={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var f={api:function(e){Object.assign(e.prototype,g)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.alias&&e.alias.forEach(e=>t.add(e));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),b=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let r=[t,0].concat(n);Array.prototype.splice.apply(e,r)}return e},y=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},w=(e,t,n)=>{const r=/[-.?!,;:)–—'"]/g;let a=e[t-1];if(!a)return;let o=a.post;if(r.test(o)){let e=o.match(r).join(""),t=n[n.length-1];t.post=e+t.post,a.post=a.post.replace(r,"")}},k=function(e,t,n,r){let[a,o,i]=t;0===o||i===r[a].length?y(n):(y(n),y([e[t[1]]])),function(e,t,n){let r=e[t];if(0!==t||!v(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,e=>e.toUpperCase());let a=e[t];a.tags.has("ProperNoun")||a.tags.has("Acronym")||v(a.text)&&a.text.length>1&&(a.text=(o=a.text,o.replace(/^\p{Lu}/u,e=>e.toLowerCase())));var o}(e,o,n),b(e,o,n)},P=(new Date).getTime(),A=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var j=function(e){let[t,n]=e.index||[0,0];var r=(new Date).getTime()-P;r=parseInt(r,10),t=t>46655?46655:t,n=n>1294?1294:n;let a=A((r=r>46655?46655:r).toString(36));a+=A(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,a+=o,a+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+a.toUpperCase()};const N=function(e){if(e.has("@hasContraction")){e.grow("@hasContraction").contractions().expand()}},E=e=>"[object Array]"===Object.prototype.toString.call(e),x=function(e,t,n){const{document:r,world:a}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,h=r[c],d=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]:E(e)?E(e[0])?e[0]:e:[]}(e,a);d=function(e){return e.map(e=>(e.id=j(e),e))}(d),n?(N(t.update([u]).firstTerm()),k(h,u,d,r)):(N(t.update([u]).lastTerm()),function(e,t,n,r){let[a,,o]=t,i=(r[a]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(r,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(T,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,r);let a=this.update(n);n=n.map(e=>e.slice(0,3));let o=(a.docs[0]||[]).map(e=>Array.from(e.tags));if(r.insertAfter(e),a.has("@hasContraction")&&r.contractions){r.grow("@hasContraction+").contractions().expand()}r.delete(a);let i=r.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())),i},C.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let r=this.match(e);return r.found?r.replaceWith(t,n):this};var D=C;var O=function(e,t){t.forEach(t=>{let[n,r,a]=t,o=a-r;e[n]&&(a===e[n].length&&a>1&&function(e,t){let n=e.length-1,r=e[n],a=e[n-t];a&&r&&(a.post+=r.post,a.post=a.post.replace(/ +([.?!,;:])/,"$1"),a.post=a.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(r,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return e};const B={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),r=this;if(e&&(n=this,r=this.match(e)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let a=n.fullPointer,o=r.fullPointer.reverse(),i=O(this.document,o);return a=function(e,t){return(e=e.map(e=>{let[n]=e;return t[n]?(t[n].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e})).forEach((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0)).map(e=>(e[3]=null,e[4]=null,e))}(a,t(o)),n.ptrs=a,n.document=i,n.compute("index"),e?n.toView(a):(this.ptrs=[],n.none())}};B.delete=B.remove;var V=B;const z={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let r=n[0];!0===t?r.pre+=e:r.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let r=n[n.length-1];!0===t?r.post+=e:r.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let r=n[n.length-1];r.post=t+r.post}),this}};z.deHyphenate=z.dehyphenate,z.toQuotation=z.toQuotations;var $=z;var F={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,r=t.normal.trim().length;return nr?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let r=t[e.normal],a=t[n.normal];return ra?-1:0}),e}};const S=new Set(["index","sequence","seq","sequential","chron","chronological"]),H=new Set(["freq","frequency","topk","repeats"]),M=new Set(["alpha","alphabetical"]);var L={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,r)=>(n=e.update([n]),r=e.update([r]),t(n,r))),e.ptrs=n,e}(this,e);e=e||"alpha";let r=n||t.map((e,t)=>[t]),a=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:r[t]}));return S.has(e)&&(e="sequential"),M.has(e)&&(e="alpha"),H.has(e)?(a=F.byFreq(a),this.update(a.map(e=>e.pointer))):"function"==typeof F[e]?(a=a.sort(F[e]),this.update(a.map(e=>e.pointer))):this}};const J=function(e,t){let n=e[e.length-1],r=n[n.length-1];return!1===/ /.test(r.post)&&(r.post+=" "),e=e.concat(t)};var W={concat:function(e){const{methods:t,document:n,world:r}=this;if("string"==typeof e){let a=t.one.tokenize.fromString(e,r),o=this.fullPointer,i=o[o.length-1][0];return b(n,i+1,a),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=J(e.document,t.document),e.all()}(this,e);if(a=e,"[object Array]"===Object.prototype.toString.call(a)){let t=J(this.document,e);return this.document=t,this.all()}var a;return this}};var q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const K=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},G,D,V,$,L,W,q);var U={api:function(e){Object.assign(e.prototype,K)},compute:{id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Z=/'/,_=new Set(["what","how","when","where","why"]),X=new Set(["be","go","start","think","need"]),Y=new Set(["been","gone"]);var ee=function(e,t){let n=e[t].normal.split(Z)[0];if(_.has(n))return[n,"did"];if(e[t+1]){if(Y.has(e[t+1].normal))return[n,"had"];if(X.has(e[t+1].normal))return[n,"would"]}return null};var te=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ne=/'/;var re=(e,t)=>["je",e[t].normal.split(ne)[1]],ae=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},oe=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ie=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,se=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var le=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let r=n.text.match(ie);return null!==r?[r[1],"to",r[2]]:(r=n.text.match(se),null!==r?[r[1],"to",r[4]]:null)};const ue=/'/,ce=/^[0-9][^-–—]*[-–—].*?[0-9]/,he=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},de={t:(e,t)=>te(e,t),d:(e,t)=>ee(e,t)},pe={j:(e,t)=>re(e,t),l:(e,t)=>ae(e,t),d:(e,t)=>oe(e,t)},me=function(e,t,n,r){for(let a=0;a{let{world:t,document:n}=e;const{model:r,methods:a}=t;let o=r.one.contractions||[];n.forEach((r,i)=>{for(let s=r.length-1;s>=0;s-=1){let l=null,u=null;!0===ue.test(r[s].normal)&&([l,u]=r[s].normal.split(ue));let c=me(o,r[s],l,u);!c&&de.hasOwnProperty(u)&&(c=de[u](r,s,t)),!c&&pe.hasOwnProperty(l)&&(c=pe[l](r,s)),c?(c=ge(c,e),Q(n,[i,s],c),he(n[i],e,s,c.length)):ce.test(r[s].normal)&&(c=le(r,s),c&&(c=ge(c,e),Q(n,[i,s],c),a.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&a.one.setTag([c[0]],"Time",t),he(n[i],e,s,c.length)))}})}},hooks:["contractions"]};var ve=function(e,t,n){const{model:r,methods:a}=n,o=a.one.setTag,i=r.one._multiCache||{},s=r.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,r,a){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===be.test(l)){let e=l.replace(be,"");if(i.hasOwnProperty(e)&&e.length>3&&ye.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var ke={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(r=>{let a=e[r],o=(r=r.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[r]=t[r]||a}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:a,_multi:o}=n.two.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:a,_multi:o}=n.one.expandLexicon(e,t);Object.assign(r.one.lexicon,a),Object.assign(r.one._multiCache,o)}else Object.assign(r.one.lexicon,e)}},hooks:["lexicon"]};var Pe=function(e,t){let n=[{}],r=[null],a=[0],o=[],i=0;e.forEach((function(e){let a=0,o=function(e,t){const{methods:n,model:r}=t;return n.one.tokenize.splitTerms(e,r).map(n.one.tokenize.splitWhitespace).map(e=>e.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=a[i];if(n.hasOwnProperty(i)){let e=n[i][l];a[u]=e,r[e]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[e]))}else a[u]=0}}return{goNext:n,endAs:r,failTo:a}};const Ae=function(e,t,n){let r=0,a=[];for(let o=0;o0&&(void 0===t.goNext[r]||!t.goNext[r].hasOwnProperty(i));)r=t.failTo[r]||0;if(t.goNext[r].hasOwnProperty(i)&&(r=t.goNext[r][i],t.endAs[r])){let n=t.endAs[r];for(let t=0;t0&&(r=r.concat(l))}return e.update(r)};const Ee=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var xe=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=Ee(e.goNext,void 0),e.failTo=Ee(e.failTo,0),e.endAs=Ee(e.endAs,null),e};var Ie={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(r=e,"[object Object]"===Object.prototype.toString.call(r)?e:Pe(e,this.world));var r;let a=Ne(this,n,t);return a=a.settle(),a}},lib:{compile:function(e){const t=Pe(e,this.world());return xe(t)}}};const Ge=function(e,t){return t?(e.forEach(e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},Te=function(e,t){let{ptrs:n,byGroup:r}=e;return n=Ge(n,t),Object.keys(r).forEach(e=>{r[e]=Ge(r[e],t)}),{ptrs:n,byGroup:r}},Ce=e=>"[object Object]"===Object.prototype.toString.call(e),De=e=>e&&Ce(e)&&!0===e.isView,Oe=e=>e&&Ce(e)&&!0===e.isNet;var Be={matchOne:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e).eq(0);if(Oe(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const r=this.methods.one;if(De(e))return this.intersection(e);if(Oe(e))return this.sweep(e,{tagger:!1}).view.settle();"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t},o=r.match(this.docs,a,this._cache),{ptrs:i,byGroup:s}=Te(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const r=this.methods.one;if(De(e)){return e.fullPointer.length>0}if(Oe(e))return this.sweep(e,{tagger:!1}).view.found;"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0};return r.match(this.docs,a,this._cache).ptrs.length>0},if:function(e,t,n){const r=this.methods.one;if(De(e))return this.filter(t=>t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let a={regs:e,group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter((e,t)=>{let n=this.update([e]);return r.match(n.docs,a,i[t]).ptrs.length>0});let s=this.update(o);return this._cache&&(s._cache=o.map(e=>i[e[0]])),s},ifNo:function(e,t,n){const{methods:r}=this,a=r.one;if(De(e))return this.filter(t=>!t.intersection(e).found);if(Oe(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let o=this._cache||[],i=this.filter((n,r)=>{let i={regs:e,group:t,justOne:!0};return 0===a.match(n.docs,i,o[r]).ptrs.length});return this._cache&&(i._cache=i.ptrs.map(e=>o[e[0]])),i}};var Ve={before:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&a.push([t[0],0,t[1]])});let i=this.toView(a);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:r}=this.methods.one.pointer;let a=[],o=r(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,r]=t;r{let o=n.before(e,t);if(o.found){let e=o.terms();r[a][1]-=e.length,r[a][3]=e.docs[0][0].id}}),this.update(r)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let r=this.fullPointer;return this.forEach((n,a)=>{let o=n.after(e,t);if(o.found){let e=o.terms();r[a][2]+=e.length,r[a][4]=null}}),this.update(r)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const ze=function(e,t){return[e[0],e[1],t[2]]},$e=(e,t,n)=>{return"string"==typeof e||(r=e,"[object Array]"===Object.prototype.toString.call(r))?t.match(e,n):e||t.none();var r},Fe=function(e,t){let[n,r,a]=e;return t.document[n]&&t.document[n][r]&&(e[3]=e[3]||t.document[n][r].id,t.document[n][a-1]&&(e[4]=e[4]||t.document[n][a-1].id)),e},Se={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(ze(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let r=$e(e,this,t).fullPointer,a=n(this.fullPointer,r),o=[];return a.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(ze(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>Fe(e,this)),this.update(o)}};Se.split=Se.splitAfter;var He=Se;const Me=Object.assign({},Be,Ve,He);Me.lookBehind=Me.before,Me.lookBefore=Me.before,Me.lookAhead=Me.after,Me.lookAfter=Me.after,Me.notIf=Me.ifNo;var Le=function(e){Object.assign(e.prototype,Me)};const Je=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,We=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,qe=/ /g,Ke=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Ue=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var Re=function(e){let t=e.split(Je),n=[];t.forEach(e=>{Ke(e)?n.push(e):n=n.concat(e.split(We))}),n=Ue(n);let r=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||Ke(e)?r.push(e):r=r.concat(e.split(qe))}),r=Ue(r),r};const Qe=/\{([0-9]+)?(, *[0-9]*)?\}/,Ze=/&&/,_e=new RegExp(/^<\s*(\S+)\s*>/),Xe=e=>e.charAt(0).toUpperCase()+e.substring(1),Ye=e=>e.charAt(e.length-1),et=e=>e.charAt(0),tt=e=>e.substring(1),nt=e=>e.substring(0,e.length-1),rt=function(e){return e=tt(e),e=nt(e)},at=function(e,t){let n={};for(let r=0;r<2;r+=1){if("$"===Ye(e)&&(n.end=!0,e=nt(e)),"^"===et(e)&&(n.start=!0,e=tt(e)),("["===et(e)||"]"===Ye(e))&&(n.group=null,"["===et(e)&&(n.groupStart=!0),"]"===Ye(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===et(e))){const t=_e.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===Ye(e)&&(n.greedy=!0,e=nt(e)),"*"!==e&&"*"===Ye(e)&&"\\*"!==e&&(n.greedy=!0,e=nt(e)),"?"===Ye(e)&&(n.optional=!0,e=nt(e)),"!"===et(e)&&(n.negative=!0,e=tt(e)),"~"===et(e)&&"~"===Ye(e)&&e.length>2&&(e=rt(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===et(e)&&")"===Ye(e)){Ze.test(e)?(n.choices=e.split(Ze),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=tt(n.choices[0]);let r=n.choices.length-1;n.choices[r]=nt(n.choices[r]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>at(e,t))),e=""}if("/"===et(e)&&"/"===Ye(e))return e=rt(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===et(e)&&"}"===Ye(e))return e=rt(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===et(e)&&">"===Ye(e))return e=rt(e),n.chunk=Xe(e),n.greedy=!0,n;if("%"===et(e)&&"%"===Ye(e))return e=rt(e),n.switch=e,n}return!0===Qe.test(e)&&(e=e.replace(Qe,(e,t,r)=>(void 0===r?(n.min=Number(t),n.max=Number(t)):(r=r.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(r)):(n.min=Number(t),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===et(e)?(n.tag=tt(e),n.tag=Xe(n.tag),n):"@"===et(e)?(n.method=tt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ot=at;var it=function(e){return e=function(e){let t=0,n=null;for(let r=0;r(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=e.map(e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))};var st=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=Re(e);return n=n.map(e=>ot(e,t)),n=it(n),n};const lt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var ut=function(e,t){for(let n=0;nn?r:n)+1;if(Math.abs(n-r)>(a||100))return a||100;let o,i,s,l,u,c,h=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=h[a-1][o]+1,(c=h[a][o-1]+1)1&&o>1&&i===t[o-2]&&e[a-2]===s&&(c=h[a-2][o-2]+l)-1!==e.post.indexOf(t),ft=(e,t)=>-1!==e.pre.indexOf(t),vt={hasQuote:e=>ht.test(e.pre)||dt.test(e.post),hasComma:e=>gt(e,","),hasPeriod:e=>!0===gt(e,".")&&!1===gt(e,"..."),hasExclamation:e=>gt(e,"!"),hasQuestionMark:e=>gt(e,"?")||gt(e,"¿"),hasEllipses:e=>gt(e,"..")||gt(e,"…")||ft(e,"..")||ft(e,"…"),hasSemicolon:e=>gt(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>pt.test(e.post)||pt.test(e.pre),hasDash:e=>mt.test(e.post)||mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};vt.hasQuotation=vt.hasQuote;var bt=vt;let yt=function(){};yt=function(e,t,n,r){let a=function(e,t,n,r){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==r-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(ct(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof bt[t.method]&&!0===bt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?t.fastOr.has(e.implicit)||t.fastOr.has(e.normal)||t.fastOr.has(e.text)||t.fastOr.has(e.machine):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>yt(e,t,n,r)):t.choices.some(t=>yt(e,t,n,r)))}(e,t,n,r);return!0===t.negative?!a:a};var wt=yt;const kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){Pt(e,e.t).length=r-e.t}return e.t=r,!0};const jt=function(e,t=0){let n=e.regs[e.r],r=!1;for(let o=0;o{let a=0,o=e.t+r+t+a;if(void 0===e.terms[o])return!1;let i=wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let r=n.every((t,n)=>{let r=e.t+n;return void 0!==e.terms[r]&&wt(e.terms[r],t,r,e.phrase_length)});return!0===r&&n.length>t&&(t=n.length),r})&&t}(e);if(r){if(!0===n.negative)return null;if(!0===e.hasGroup){Pt(e,e.t).length+=r}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=r,!0}return!!n.optional||null};var xt=function(e){const{regs:t}=e;let n=t[e.r],r=Object.assign({},n);return r.negative=!1,!0!==wt(e.terms[e.t],r,e.start_i+e.t,e.phrase_length)||null};var It=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=wt(r,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||a){let n=e.terms[e.t+1];n&&wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var Gt=function(e){const{regs:t,phrase_length:n}=e;let r=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),r=e.t;for(;e.te.t?null:!0!==r.end||e.start_i+e.t===n||null};var Tt=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var Ct=function(e){const{regs:t}=e;let n=t[e.r],r=e.terms[e.t],a=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&It(e),r.implicit&&e.terms[e.t+1]&&Tt(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!Gt(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const r=Pt(e,t);e.t>1&&n.greedy?r.length+=e.t-t:r.length++}(e,a),!0};var Dt=function(e,t,n,r){if(0===e.length||0===t.length)return null;let a={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;a.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==kt(e,a))if(!0!==wt(a.terms[a.t],e,a.start_i+a.t,a.phrase_length)){if(e.negative){if(!xt(a))return null}if(!0!==e.optional)return null}else{if(!Ct(a))return null}else{if(!Ct(a))return null}else{if(!Ct(a))return null}else{if(!Et(a))return null}else{if(!Nt(a))return null}else{if(!At(a))return null}}let o=[null,n,a.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(a.groups).forEach(e=>{let t=a.groups[e],r=n+t.start;i[e]=[null,r,r+t.length]}),{pointer:o,groups:i}};var Ot=function(e,t){let n=[],r={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{r[t]=r[t]||[],r[t].push(e.groups[t])})})),{ptrs:n,byGroup:r}};const Bt=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Vt=function(e,t,n){let r=Dt(e,t,0,e.length);return r?(r=Bt(r,n),r):null};var zt={api:Le,methods:{one:{termMethods:bt,parseMatch:st,match:function(e,t,n){n=n||[];let{regs:r,group:a,justOne:o}=t,i=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const s=r.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Vt(a,r,t);e&&i.push(e)}}return!0===r[r.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ot(i,a),i.ptrs.forEach(t=>{let[n,r,a]=t;t[3]=e[n][r].id,t[4]=e[n][a-1].id}),i}}},lib:{parseMatch:function(e,t){const n=this.world();let r=n.methods.one.killUnicode;return r&&(e=r(e,n)),n.methods.one.parseMatch(e,t)}}};const $t=/^\../,Ft=/^#./,St=function(e,t){let n={},r={};return Object.keys(t).forEach(a=>{let o=t[a],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),$t.test(e)?t=``),t+=">",{start:t,end:n}}(a);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let a=e[e.length-1].id;r[a]=r[a]||[],r[a].push(i.end)})}),{starts:n,ends:r}};var Ht={html:function(e){let{starts:t,ends:n}=St(this,e),r="";return this.docs.forEach(e=>{for(let a=0;a{let n=e.pre||"",a=e.post||"";"some"===t.punctuation&&(n=n.replace(Lt,""),Wt.test(a)&&(a=" "),a=a.replace(Jt,""),a=a.replace(/\?!+/,"?"),a=a.replace(/!+/,"!"),a=a.replace(/\?+/,"?"),a=a.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(a=a.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),a=a.replace(/\s+/," ")),t.keepPunct||(n=n.replace(Lt,""),a="-"===a?" ":a.replace(Mt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||a&&qt.test(a)||(a+=" "),r+=n+o+a}),!1===n&&(r=r.trim()),!0===t.lowerCase&&(r=r.toLowerCase()),r},Ut={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};Ut.clean=Ut.normal,Ut.reduced=Ut.root;var Rt=Ut;const Qt={text:!0,terms:!0};let Zt={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _t=function(e,t){return Object.assign({},e,t)},Xt={text:e=>Kt(e,{keepPunct:!0},!1),normal:e=>Kt(e,_t(Rt.normal,{keepPunct:!0}),!1),implicit:e=>Kt(e,_t(Rt.implicit,{keepPunct:!0}),!1),machine:e=>Kt(e,Zt,!1),root:e=>Kt(e,_t(Zt,{form:"root"}),!1),offset:e=>{let t=Xt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};Xt.sentences=Xt.sentence,Xt.clean=Xt.normal,Xt.reduced=Xt.root;const Yt={json:function(e){let t=(n=this,"string"==typeof(r=(r=e)||{})&&(r={}),(r=Object.assign({},Qt,r)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let a={};return Object.keys(r).forEach(o=>{r[o]&&Xt[o]&&(a[o]=Xt[o](e,n,t))}),a}));var n,r;return"number"==typeof e?t[e]:t}};Yt.data=Yt.json;var en=Yt;var tn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};var nn={green:e=>""+e+"",red:e=>""+e+"",blue:e=>""+e+"",magenta:e=>""+e+"",cyan:e=>""+e+"",yellow:e=>""+e+"",black:e=>""+e+"",dim:e=>""+e+"",i:e=>""+e+""};var rn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(nn.blue("\n ──────")),t.forEach(e=>{console.log(nn.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],r=e.text||"-";e.sense&&(r="{"+e.sense+"}"),e.implicit&&(r="["+e.implicit+"]"),r=nn.yellow(r);let a="'"+r+"'";a=a.padEnd(18);let o=nn.blue(" │ ")+nn.i(a)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return nn[n](e)})),e.join(", ")}(t,n);console.log(o)})})};var an=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(nn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(nn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(nn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(nn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})};var on=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let r=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{r=function(e,t,n){let r=((e,t,n)=>{let r=9*n,a=t.start+r,o=a+t.length;return[e.substring(0,a),e.substring(a,o),e.substring(o,e.length)]})(e,t,n);return`${r[0]}${nn.blue(r[1])}${r[2]}`}(r,e.offset,t)}),console.log(r)})};const sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var ln=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(r=>{e.match(r).fullPointer.forEach(e=>{n[e[3]]={fn:t[r],end:e[2]}})}),n}(e,t),r="";return e.docs.forEach((t,a)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e)}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}};var cn={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&&Rt.hasOwnProperty(e)?t=Object.assign({},Rt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let r=0;ra||a<=n&&o>n},mn=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var gn=function(e,t){let n=mn(t),r=[];return e.forEach(e=>{let[t]=e,a=n[t]||[];if(a=a.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===a.length)return void r.push({passthrough:e});a=a.sort((e,t)=>e[1]-t[1]);let o=e;a.forEach((e,t)=>{let n=function(e,t){let[n,r]=e,a=t[1],o=t[2],i={};if(ro&&(i.after=[n,o,e[2]]),i}(o,e);a[t+1]?(r.push({before:n.before,match:n.match}),n.after&&(o=n.after)):r.push(n)})}),r};var fn={one:{termList:function(e){let t=[];for(let n=0;n{if(!r)return;let[o,i,s,l,u]=r,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let r=0;r<4;r+=1){if(t[n-r]){let a=t[n-r].findIndex(t=>t.id===e);if(-1!==a)return[n-r,a]}if(t[n+r]){let a=t[n+r].findIndex(t=>t.id===e);if(-1!==a)return[n+r,a]}}return null}(l,t,o);if(null!==n){let r=s-i;c=t[n[0]].slice(n[1],n[1]+r);let o=c[0]?c[0].id:null;e[a]=[n[0],n[1],n[1]+r,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,r,,,a]=e,o=t[n],i=o.findIndex(e=>e.id===a);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(r,e[2]+1)}(r,t)),n.push(c))}),n=n.filter(e=>e.length>0),n},pointer:{indexN:mn,splitAll:gn}}};var vn=function(e,t){let n=e.concat(t),r=mn(n),a=[];return n.forEach(e=>{let[t]=e;if(1===r[t].length)return void a.push(e);let n=r[t].filter(t=>pn(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);a.push(o)}),a=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n};var yn=function(e,t){let n=mn(t),r=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>pn(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},kn=function(e,t){return e.map(e=>{let[n,r]=e;return t[n]&&t[n][r]&&(e[3]=t[n][r].id),e})},Pn={union:function(e){e=wn(e,this);let t=vn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)}};Pn.and=Pn.union,Pn.intersection=function(e){e=wn(e,this);let t=yn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.not=function(e){e=wn(e,this);let t=bn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.difference=Pn.not,Pn.complement=function(){let e=this.all(),t=bn(e.fullPointer,this.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=vn(e,[t])}),e=kn(e,this.document),this.update(e)};var An={methods:fn,api:function(e){Object.assign(e.prototype,Pn)}};var jn=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};function Nn(e,t,n){return e.splice(t,1,...n),e}const En=function(e){return e.fastOr?Array.from(e.fastOr).map(e=>[{word:e}]):e.choices},xn=function(e,t){let n=Object.assign({},e,t);return delete n.choices,delete n.fastOr,delete n.operator,n};var In=function(e){let t=[];return e.forEach(e=>{for(let n=0;n{let a=Object.assign({},e);a.regs=a.regs.slice(0),r=r.map(t=>xn(e.regs[n],t)),a.regs=Nn(a.regs,n,r),t.push(a)})}}t.push(e)}),t};const Gn=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var Tn=function(e){return e.forEach(e=>{e.needs=Array.from(function(e){let t=new Set;return e.forEach(e=>{let n=Gn(e);n?t.add(n):"and"===e.operator&&e.choices&&e.choices.forEach(e=>{e.forEach(e=>{let n=Gn(e);n&&t.add(n)})})}),t}(e.regs)),e.minWords=e.regs.filter(e=>!e.optional).length}),e};var Cn=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t};var Dn=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})};var On=function(e,t){for(let n=0;ne.needs.every(e=>r.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e};var Bn=function(e,t,n,r){let a=[];for(let o=0;o0&&(l.ptrs.forEach(e=>{e[0]=o;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),a.push(t)}),!0===r.matchOne))return[a[0]]}return a};var Vn=function(e,t){let[n,r,a]=e.pointer,o=t[n],i=r>4?r-2:0,s=e.tag||"";var l;l=e.tag,"[object Array]"===Object.prototype.toString.call(l)&&(s=e.tag.join(" #"));let u=e.reason||e.match;u=u?`|${u}|`:"";let c=(" "+u).padEnd(20)+" - ";const h=e=>""+e+"";for(;ia+2);i+=1){let e=o[i].machine||o[i].normal;c+=i>r&&i{let t=e.pointer,n=r[t[0]][t[1]],a=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+a]),e});let i=o.map(e=>e.pointer);return o=o.map(e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e)),{view:this.update(i),found:o}}},methods:{one:{buildNet:function(e,t){e=jn(e,t),e=In(e);let n=(e=Tn(e)).filter(e=>0===e.needs.length),r=Cn(e);return delete r["#Noun"],delete r["#Verb"],{index:r,always:n}},bulkMatch:function(e,t,n,r={}){let a=n.one.cacheDoc(e),o=Dn(a,t.index);return o=On(o,a),t.always.length>0&&(o=o.map(e=>e.concat(t.always))),o=function(e,t){return e.map((e,n)=>{let r=t[n].length;return e.filter(e=>r>=e.minWords)})}(o,e),Bn(o,e,n,r)},bulkTagger:function(e,t,n){const{model:r,methods:a}=n,{getDoc:o,setTag:i,unTag:s}=a.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag&&!e.chunk)return;let a=e.reason||e.match;l.DEBUG_TAGS&&Vn(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===zn(u,e.tag,r))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe,a),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe,"quick-plural")),void 0!==e.unTag&&s(u,e.unTag,n,e.safe,a),e.chunk&&u.forEach(t=>t.chunk=e.chunk)})}}}};const Fn=/ /,Sn=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Hn=function(e,t,n,r){if(!0===e.tags.has(t))return null;if("."===t)return null;let a=n[t];if(a){if(a.not&&a.not.length>0)for(let t=0;t0)for(let t=0;t{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,a),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Fn.test(t))!function(e,t,n,r){let a=t.split(Fn);e.forEach((e,t)=>{let o=a[t];o&&(o=o.replace(/^#/,""),Hn(e,o,n,r))})}(e,t,o,r);else{t=t.replace(/^#/,"");for(let n=0;nMn(e,t,n,r))};var Ln=Mn;var Jn=function(e,t,n){t=t.trim().replace(/^#/,"");for(let r=0;r0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Wn({id:e})),t}return[Wn({id:e})]}(e))}),n=n.filter(e=>e);let r=n[0];for(let e=1;e{let n=[],r=[e];for(;r.length>0;){let e=r.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),r.push(n)})}return n},Rn=e=>"[object Array]"===Object.prototype.toString.call(e),Qn=e=>(e=e||"").trim(),Zn=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||qn.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Kn(e)})});let r=function(e){let t={children:[]};return e.forEach((n,r)=>{0===n.indent?t.children=t.children.concat(n.node):e[r-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Wn({});return e.forEach(e=>{if((e=Wn(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Un(t=e).forEach(Wn),t);var t},_n=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let r="";return Un(e).forEach((e,a)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===a&&!e.id)return;let i=e._cache.parents.length;r+=" ".repeat(i)+n+o+"\n"}),r},Xn=function(e){let t=Un(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Yn={text:_n,txt:_n,array:Xn,flat:Xn},er=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(_n(e,!0)),null):Yn.hasOwnProperty(t)?Yn[t](e):e},tr=e=>{Un(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},nr=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Qn(e),!nr.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!r)return null;e=r}return e})(this.json,e)||Wn({});return new g$1(t)}add(e,t={}){if(Rn(e))return e.forEach(e=>this.add(Qn(e),t)),this;e=Qn(e);let n=Wn({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Qn(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Un(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Un(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Un(this.json)}fillDown(){var e;return e=this.json,Un(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let r=e[n]||new Set;e[n]=new Set([...r,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let r=e[n]||{};e[n]=Object.assign({},t[n],r)}else Rn(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){tr(this.json);let e=Un(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return tr(this.json),er(this.json,e)}debug(){return tr(this.json),er(this.json,"debug"),this}}const rr=function(e){let t=Zn(e);return new g$1(t)};rr.prototype.plugin=function(e){e(this)};var ar={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const or=function(e){if(ar.hasOwnProperty(e.id))return ar[e.id];if(ar.hasOwnProperty(e.is))return ar[e.is];let t=e._cache.parents.find(e=>ar[e]);return ar[t]};var ir=function(e){const t={};return e.forEach(e=>{let{not:n,also:r,is:a,novel:o}=e.props,i=e._cache.parents;r&&(i=i.concat(r)),t[e.id]={is:a,not:n,novel:o,also:r,parents:i,children:e._cache.children,color:or(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const sr=function(e){return e?"string"==typeof e?[e]:e:[]};var lr=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=sr(e[t].children),e[t].not=sr(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e};var ur={one:{setTag:Ln,unTag:Jn,addTags:function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach(t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0}),e}(e)),e=lr(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:r,children:[]}});return rr(t).cache().fillDown().out("array")}(Object.assign({},t,e));return ir(n)}}};const cr=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var hr={tag:function(e,t="",n){if(!this.found||!e)return this;let r=this.termList();if(0===r.length)return this;const{methods:a,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),cr(e)?e.forEach(e=>a.one.setTag(r,e,i,n,t)):a.one.setTag(r,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:a,model:o}=this;!0===a&&console.log(" - ",e,t||"");let i=o.one.tagSet;return cr(e)?e.forEach(e=>r.one.unTag(n,e,i)):r.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],r=[];this.document.forEach((e,t)=>{e.forEach((e,a)=>{n.find(t=>e.tags.has(t))&&r.push([t,a,a+1])})});let a=this.update(r);return this.difference(a)}};var dr=function(e){Object.assign(e.prototype,hr)};var pr={addTags:function(e){const{model:t,methods:n}=this.world(),r=t.one.tagSet;let a=(0,n.one.addTags)(e,r);return t.one.tagSet=a,this}};const mr=new Set(["Auxiliary","Possessive"]);var gr={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,r=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(mr.has(e)||!t.hasOwnProperty(n))return 1;if(mr.has(n)||!t.hasOwnProperty(e))return-1;let r=t[e].children||[],a=r.length;return r=t[n].children||[],a-r.length})}(t,r)})})}},methods:ur,api:dr,lib:pr};const fr=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,vr=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var br=function(e){let t=[],n=e.split(vr);for(let e=0;e0&&(r.push(t),a[e]="")}if(0===r.length)return[e];for(let e=1;e(e[t]=!0,e),{});const zr=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,$r=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Fr=/['’]/,Sr=/^[a-z]\.([a-z]\.)+/i,Hr=/^[-+.][0-9]/,Mr=/^'[0-9]{2}/;var Lr=function(e){let t=e,n="",r="";return""===(e=(e=e.replace(zr,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Hr.test(e)?"'"===n&&Mr.test(e)?(n="",t):"":(n="",t)))).replace($r,a=>(r=a,Fr.test(a)&&/[sn]['’]$/.test(t)&&!1===Fr.test(n)?(r=r.replace(Fr,""),"'"):!0===Sr.test(e)?(r=r.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(r=e||"","")),e=t,n=""),{str:e,pre:n,post:r}};var Jr=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Wr=/([A-Z]\.)+[A-Z]?,?$/,qr=/^[A-Z]\.,?$/,Kr=/[A-Z]{2,}('s|,)?$/,Ur=/([a-z]\.)+[a-z]\.?$/;var Rr=function(e){return function(e){return!0===Wr.test(e)||!0===Ur.test(e)||!0===qr.test(e)||!0===Kr.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Qr=function(e,t){const n=t.methods.one.killUnicode;let r=e.text||"";r=Jr(r),r=n(r,t),r=Rr(r),e.normal=r};var Zr={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let r=(e=e||"").split("");return r.forEach((e,t)=>{n[e]&&(r[t]=n[e])}),r.join("")},tokenize:{splitSentences:Er,splitTerms:function(e,t){let n=[],r=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const a=e.split(Br);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Cr(n),n=Gr(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:r}=Lr(e);return{text:t,pre:n,post:r,tags:new Set}},fromString:function(e,t){const{methods:n,model:r}=t,{splitSentences:a,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=a(e=e||"",r).map(e=>{let n=o(e,r);return n=n.map(i),n.forEach(e=>{Qr(e,t)}),n})}}}};var _r={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xr={},Yr={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Xr[t]=!0,Yr[t]="Abbreviation",void 0!==e[1]&&(Yr[t]=[Yr[t],e[1]])})});var ea=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let ta={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},na={};Object.keys(ta).forEach((function(e){ta[e].split("").forEach((function(t){na[t]=e}))}));const ra=/\//,aa=/[a-z]\.[a-z]/i,oa=/[0-9]/;var ia=function(e,t){let n=e.normal||e.text;const r=t.model.one.aliases;if(r.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(r[n])),ra.test(n)&&!aa.test(n)&&!oa.test(n)){let t=n.split(ra);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};const sa=/^\p{Letter}+-\p{Letter}+$/u;var la=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),sa.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var ua=function(e){let t=0,n=0,r=e.document;for(let e=0;eca(e,ia),machine:e=>ca(e,la),normal:e=>ca(e,Qr),freq:function(e){let t=e.docs,n={};for(let e=0;e{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete r[e]}),r};const ma={safe:!0,min:3};var ga={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=da},lib:{typeahead:function(e=[],t={}){let n=this.model();var r;t=Object.assign({},ma,t),r=e,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let a=pa(e,t,this.world());return Object.keys(a).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=a[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let r=n[n.length-1]||[],a=r[r.length-1];if(!a.post&&t.hasOwnProperty(a.normal)){let n=t[a.normal];a.implicit=n,a.machine=n,a.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};m.extend(U),m.extend(dn),m.extend(zt),m.extend(An),m.extend(gr),m.plugin(fe),m.extend(ha),m.plugin(f),m.extend(Ie),m.extend(ga),m.extend(ke),m.extend($n);var fa={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},va={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shiba,y1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7S;1:6L;2:7O;3:7Z;4:7Y;5:82;6:6X;7:7I;8:75;9:6T;a7Kb6Wc5Vd5Ae52f4Eg44h3Wi3Qj3Ok3Ml3Cm33n2Zo2Vp21ques7Mr1Ds07tTuRvMwCyBzA;ip,o6E;awn,e1Wie4U;aHeaGhEiCoAre7M;nd0rA;k,ry;mp,nApe,re,sh,tne84;!d,g;e6IiA;p,st6;r,th0;it,rAs4t2ve,x;ehou1ra83;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l3A;pAsh0;da4gra50;aLeKhrJiIoHrDuBwiAy4O;n,st;nArn;e,n63;aCeBiAu7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5Z;ll,ne,r3Sss,t76u2;ck,e,me,p,re;e1Now,u7;ar,e,st;g,lArg63s4;k,ly;a0Ec09e06h01iZkXlVmUnTou6CpPtFuBwA;ear,it2;b1Yit,m,ppBrAspe5;ge,pri1vey;lAo5C;e59y;aHeGiFoDrBuAy6;dy,ff,mb6;a6CeAi4G;am,ss,t2;cking,p,rA;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Lons6MrAy;ay,e12ink6u3;n,r6Ite;n,rk;ee1Fow;e0Fi6o43;eep,iA;ce,p,t;ateboa5ZiA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i33;pe,re;aBed,nArv16t;se,t1Y;l,r2t;aDhedu6oCrA;at2eA;en,w;re,ut;le,n,r0J;crifi3il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1C;as5EcOdo,el,fMgLje5lKmInHo0VpFque7sCturn,vAwa5C;eAi1J;al,r1;er5JoBt,uA;lt,me;l5Hrt;air,eaAly,o3Z;l,t;dezvo26t;aAedy;ke,rk;ea1i3F;a50ist0r4E;act5Eorm,uA;nd,se;aAo4Xru8;ll;ck,i1ke,l48nAtV;ge,k;a00eXhViSlNoJrBuA;mp,n2rcha1sh;ai1eFiEoAu3L;be,ceCdu3grAje5mi1te7;amAe5E;!me;ed,ss;ce,de;sAy;er4Us;iClAol,p,re,s2Sw0;iAl;ce,sh;nt,s4I;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Um8;!l;cka9iBn,rtAss,t2u1;!y;nt,r;bCff0il,oBrAutli2T;d0ie4S;ze;je5;a3LeCoA;d,tA;e,i3;ed,gle5rd,t;aFeDiCoBuA;rd0;d2Unit44p,ve;lk,n2Yrr43x;asu12n3OrAss;ge,it;il,nBp,rk2ZsAt2;h,k;da4oeuv0Y;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0DvA;el,y;ch,d,p,se;bBcAnd,t2un2;e,k;el,o25;e2DiAno3C;ck,ll,ss;am,o17uA;d9i3;mpEnBr36ssA;ue;cr19dex,fluBha6k,se1VterviAvoi3;ew;en3;a5le1Q;aEeCiBoAu3S;ld,no1Tok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo30m,ne3Hve7;!le;aIeek,lo3FoHrCuA;arAe3Ei0Nn;antee,d;aCiBoAumb6;om,u2B;nd,p;dAsp;e,ua4;of,ssip;in,me,ng,s,te,ze;aWeSiNlJoGrCuA;el,nAzz;c2Fd;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Om;us;aCe0Kip,oAy;at,od,wA;!er;g,re,sh,vo0Z;eDgClBnAre,sh,t,x;an3i0F;e,m,t0;ht,uE;ld;aBeAn3;d,l;r,tuA;re;ce,il,ll,rm,vo21;cho,nGsExAye;cCerci1hib8pAtra5;eriAo0J;en3me2J;el,han9;caAtima4;pe;count0d,gine0vy;aSeMiGoFrBuAye;b,mp,pli24;aCeBiA;ft,nk,ve;am,ss;ft,in;cu05d9ubt;p,sCvA;e,iAor3;de;char9liBpA;at2lay;ke;al,ba4cDfeClBma0Wpos8siAtail;gn,re;ay,ega4;at,ct;liXrA;ea1;ma9n3rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu5glomeDstru5tAveI;a5rA;a7ol;ntArn;ra4;biEfoDmCpA;leAou08romi1;me1C;a06e1Bu4;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t2u1ve;se;d,e;aTeQiPlMoIrDuAypa0N;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan3nCrgaBsA;e,h;in;!d,g,k;c01dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa2;ch;al;chAsw0;or;er;d,m,r;ia4;dEvA;an3oA;ca4;te;ce;i5reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aObrigadiNcGdFexcellency,fiAliCma9officNp5queen,r2s0taoiseach,vice4;e0ultJ;cond liArgeaB;abbi,e0;ar0verend; adK;astGr0;eside6i0ofessF;me ministFnce0;!ss;gistrate,r4yC;eld mar3rst l0;ady,i0;eutena0;nt;shB;oct6utchess;aptain,hance4o0;lonel,mmand5n0unci3;gress0stable;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:56;1:4F;2:55;3:4S;4:4Q;5:4L;6:4P;7:4Z;8:4G;a4Pb44c37d2Ue2Nf2Dg22h1Qin1Njel3k1Ll1Im19n16o12p0Lqu0Kr0BsStJuGvCw9;a9ha39om29;f1i4Tt0Cy9;! arou4C;arn4DeAo9;cabu05l50;gIr9;di6t1H;nc32p2PrAs 9;do3Ps53;bani2in0; rex,aGeFhEiCoBrAu9v show;m2Hn5rntIto15;agedy,ibe,o43;p5rq3D;c,de,er,m9;etE;ere,i8;am,mp38;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n26st4O;ab2O;bAnri19per bowl,r9;f1roga2;st3Ctot0;aCepBipe3PrAudent9;! lo1J;ang1i8;fa1Emo1E;ff1t2Z;loi40me15;elet12i9;er,ll,rm3K;ack,or47;ab0Tcurity gu2C;e4ho9;l2Yol;la31;av0VeChetor5iAo9;de4om;te,v9;erb0M;bCcBf9publ5r0Nspi2;er9orm1;e4r0;it0ord label;a2u40;estion mark,ot27;aMeKhJiHlFort0rAu9yram1B;ddi8ppy,rpo0I;eCie3Go9;bl3Ts9;pe6t9;a2itu2;diction,mi0Droga7ss relea0D;a9ebisci2;q26te,y1;cn5e9g;!r;armaci37otocoH;dest0ncil,r9t0;cen3Fsp3G;nAr2Qte9;!nt;el2Qop3;bj3CcApia2rde0thers,ve9wn1;n,rview;cu9e0E;pi1;aAit23ot9umb1;a24hi8;n28rra7;aFeEiDoAu9é0F;m0Rr0;mAnopo3pPrni8sq1Ot9u12;h1i34;!my;li0Vn08;d5nu,t0;mm0nd11te9yf3;ri0;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,ph9;one;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi1id;a16d9; slam,fa9mo9;th1;d,lf1;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er0;ee market,iAon9;ti1;e16ga2;ame,u2;nan9ref3;ci1;lla,t14;br5mi3n0Uth1;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i1;cAg1Fi3or,ssi1wn9;si0M;to0BumenB;ale6gniAnn1s9vide0O;conte4incen7tri6;ta0A;aBc0fAni0te9;c7rre4;ault 05err0;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi1rr0t11u9yo2;ri1s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli1racter9;ist5;ili8llDr9;e0tifica2;hi1naFpErCshi1t9ucus;erpi9hedr0;ll9;ar;bohyd9ri1;ra2;it0;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i0;!y;ny;eakBiAo9;!th1;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri1;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru0eAqui9;tt0;ta2;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Uncountable:"true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0X;a0Sb0Qc0Cd0Bex0Af07g04he02in0Ljoule0kVlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Dd0Jears old,o1;tt07;att0b;able3e2on1;!ne0;a1r03;spoY;c0Ad09f3i07kilo0Bm1ya06;e0Eil1;e0li09;eet0o05;ascals,e2i1ou0I;c0Fnt0;rcent,tV;hms,uS;an0CewtP;/s,e6i1m²,²,³;/h,cro4l1;e1li03;! pFs 1²;anFpE;g02s07;gMter1;! 2s1;! 1;per second;it2u1;men0x;er0re0;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0S;a0Rb0Mc0Dde0Ce07f00gZhomel09iXjuWlVmPnOoNpMrJsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;b01nt;ndergr1pstairs;adua0Jou1;nd;a3e1oken;en,r1;min0ror0B;boo,n;e6ist00o4qua3ta2u1;bordina0Cper6;bRndard;re,t;cial05l1;e,v0F;cret,n1ri0;ior;e1outiIubbish;ar,laVnt0p1;resentaUublican;ati09eriodic0otenti0rincip0;ffiYpposi01v0;agging,ovel;aFe4in3o1;biEdernUr1;al,t0;iature,or;di1tr03;an,um;attGiber0;stice,veni8;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1ecu7pL;ess;d1iE;er;mographKriva3;hiCo1rude;m3n2opera1;tive;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AK;4:CL;5:C0;6:CG;7:D3;8:BT;9:AS;A:95;B:DB;C:D4;D:BN;aCAbB8cA8d99e8Jf83g7Gh6Ti6Dj5Fk53l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Kkaria,n0C;hFkE;!aC8;ar5VeC7;aMoGuE;sEu2LvBK;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB9ssY;avi3ho4;aNeLiGoEyaBO;jcie88lfgang,odrow,utE;!er;lEnst1;bGey,fredBlE;aB0iE;am,e,s;e98ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Yy;aHiEladimir,ojte7V;cFha0kt68nceErgA6va0;!nt;e3Xt66;lentEn9T;inE;!e;ghBFlyss5Anax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r5A;avAIeEist0oy,um0;ntAAv5Xy;bGd8SmEny;!as,mEoharu;aCCie,y;iAy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8H;!de5;dHrE;en99rE;an98eEy;ll,n97;!dy;dgh,ha,iEnn3req,tsu4S;cAQka;aUcotSeQhMiKoIpenc3tEur1Xylve97zym1;anGeEua86;f0phBDvEwa85;e60ie;!islaw,l8;lom1uE;leyma6ta;dElAm1yabonga;!dhart75n8;aGeE;lErm0;d1t1;h7Lne,qu11un,wn,y6;aEbasti0k2Cl4Qrg4Nth,ymoAF;m5n;!tE;!ie,y;lFmEnti2Gq59ul;!ke5KmDu4;ik,vato7P;aZeVhe9WiRoIuFyE;an,ou;b7EdFf5pe7LssE;!elBJ;ol3Gy;an,bLc63dJel,geIh0landBmHnGry,sFyE;!ce;coe,s;!aA2nD;an,eo;l46r;er79g3n8olfo,riE;go;bDeAR;cEl8;ar6Jc6IhFkEo;!ey,ie,y;a8Wie;gFid,ubCyEza;an1KnZ;g9TiE;na9Ps;ch6Rfa4lImHndGpha4sFul,wi2IyE;an,mo6V;h7Km5;alAXol2Vy;iADon;f,ph;ent2inE;cy,t1;aJeHhilGier6UrE;aka18eE;m,st1;!ip,lip;dA5rcy,tE;ar,e3Fr1Z;b4Idra74tr6KulE;!o19;ctav3Ei3liv3m9Zndrej,rIsFtEum7wC;is,to;aFc7k7m0vE;al5T;ma;i,vM;aMeKiGoEu39;aEel,j5l0ma0r3J;h,m;cFg4i47kE;!au,h7Hola;holAkEolA;!olA;al,d,il,ls1vE;il8K;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Hr1;hamFr6LstaE;fa,p55;ed,mI;di0Xe,hamGis2DntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Vik;house,o0Ct1;ae5Pe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2BlSmadXnRrLs1tGuricFxE;imilianBwe9;e,io;eHhFiAtEus,yA;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Zsha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5H;ou;aXeRiPlo3AoLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7CrenGuEv82we9;!iE;e,s;!zo;am,oE;n4r;a7Vevi,la4BnIonHst3thaGvE;eEi;nte;bo;!a6Eel;!ny;mGnFrEur55wr55;ry,s;ce,d1;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubAnJrHsE;eFhEi7Vue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Fy;!e5OrE;ey,y;cLdCkJmIrGsFvi3yE;dCs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i6ZmaEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dC;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5J;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4X;oGrE;aEry;ld,rdB;ffr8rge;brFlCrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;!ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymCzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estBie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4EsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydAy29;!lA;!a2HnEov0;e9ie,y;go,iFykA;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l35n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1B;aEie;rdB;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndB;!el,ki;ie;ta;aq;as,dIgelBtE;hony,oE;i6nE;!iBy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;an,beQdCeKfIi,lHonGphYt1vE;aOin;on;so,zo;an,en;onUrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtB;ni;dCm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfBri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:98;1:84;2:81;3:8Z;4:8T;5:6H;6:85;7:89;8:8U;9:8G;A:5Z;a7Qb7Ac6Sd6Ae5Sf5Ag52h4Ri3Tjuni46k3Rl3Gm34n2Uo2Fp1Wquart66r1Ls0Rt0JuMvIwBye1J;ast56eFholeEiDoB;man5oBrthwhi6u0F;d7Lzy;despr8Is6H;!sa6;ather13eBll o5Lste2R;!k5;aDeCiBola5F;b98ce versa,gi2R;ng4Xrsa5D;ca0lu56;lt06nHpDrCsBttermo90;ef79u4;b6Age0; Db2BpCsBti37;ca6et,ide dO;er,i4N;f3Vto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4G;e73i2GoDpCuB;pervis1spect2;e0ok71;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6S;mploy1nd2xpect1;eBue;cid1rB;!a6VcovAly2sDwB;aBei2L;tAy;iz1to45;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Ira;aGeDhough5Cip 1QoCrB;anspa72i3;gethAle86rp9;ena6JmpCrB;r3Htia6T;e8o6R;leBst3S;nt1;a03c01eZhYiWkiVmug,nobb41oPpMqueam41tGuBymb73;bDi generis,pBr5;erBre1P;! dupAb,viX;du1sBurb53;eq76tanda7S;atu6DeFi0VrByl3V;aBin4G;ightBy; fBfB;or61;adfa7Kri6;arCeBirit1lend9ot on;c30e36;k5se; caGlub6mbAphisticFrEuCvB;erei5Miet;ndBth0Y;pro6I;d9ry;at1;ll1;g1YnB;ce5Bg6;am32eA;at1co1Jem5lf3CnBre7;so5Z;ath2holBient2M;ar5;cr1me,tisfac5Q;aJeEheumato9iCoB;bu70tt5Cy4;ghtBv4;-w2f58;bZcEdu6RlDnown1sBtard1;is3FoB;lu3na0;e1Duc3D;e0ondi3;b9ciB;al,st;aOeMicayu7laLopuli6QrCuB;bl5Ynjabi;eGiEoB;!b2SfCmi3EpBv4Zxi21;er,ort63;a7u66;maBor,sti7va3;!ry;ci63exist2mBpa9;a1QiB;er,um;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8U;1:8H;2:9C;3:90;4:81;5:7O;6:98;7:83;8:9F;9:91;A:9G;B:8W;C:7V;D:7R;E:7L;F:88;a81b7Ec6Od5Ge4Ef44g40h3Wi3Cj39k36l2Xm2Qnou3Vo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7IlGplug,tie,ve84;ea8o3K;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Fmp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7M;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all70e2EiG;m,ng;bIccumb,ffHggeBmm90p2FrG;mouFvi2;er,i3;li7Zmer9siGveD;de,st;aKe7SiIrG;ang4eGi2;ng20w;fGnW;f5le;gg0rG;t4ve;a3Ri8;awn,eJiIlHoGri6A;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5EoHriGun;nk,v5Q;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3IoGyc4;gni57nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,ni8rGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0truAvG;e,iAo4R;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi41iC;a5Brt4T;er3npoiF;cei2fo3Bi8mea6plex,sGvaA;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Rpo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3uA;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee2ZolG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer9pG;hasi1Xow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi29sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3GsKtG;iGoDu2W;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a17e2WlJoHuG;ss;uGv0;ra9;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta18;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Iin24ribu6;er2iGoli26pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aZeTiSlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l11mbaGrrNth0;rd;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ba="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ya=ba.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var wa=function(e){if(void 0!==ya[e])return ya[e];let t=0,n=1,r=36,a=1;for(;n=0;n--,a*=36){let r=e.charCodeAt(n)-48;r>10&&(r-=7),t+=r*a}return t};var ka=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[r];"!"===o[0]&&(t.push(a),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const r=Aa(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=ja(va[e]);Ia.test(e)?Object.keys(t).forEach(t=>{if(Ta[t]=e,"Noun|Verb"===e){let e=xa(t,Ca);Ta[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{Ga[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Ga[e]="Emoticon"),delete Ga[""],delete Ga.null,delete Ga[" "];const Da="Adjective";var Oa={beforeTags:{Determiner:Da,Possessive:Da},afterTags:{Adjective:Da},beforeWords:{seem:Da,seemed:Da,seems:Da,feel:Da,feels:Da,felt:Da,appear:Da,appears:Da,appeared:Da,also:Da,over:Da,under:Da,too:Da,it:Da,but:Da,still:Da,really:Da,quite:Da,well:Da,very:Da,deeply:Da,profoundly:Da,extremely:Da,so:Da,badly:Da,mostly:Da,totally:Da,awfully:Da,rather:Da,nothing:Da,something:Da,anything:Da},afterWords:{too:Da,also:Da,or:Da}};const Ba="Gerund";var Va={beforeTags:{Adverb:Ba,Preposition:Ba,Conjunction:Ba},afterTags:{Adverb:Ba,Possessive:Ba,Person:Ba,Pronoun:Ba,Determiner:Ba,Copula:Ba,Preposition:Ba,Conjunction:Ba,Comparative:Ba},beforeWords:{been:Ba,keep:Ba,continue:Ba,stop:Ba,am:Ba,be:Ba,me:Ba,began:Ba,start:Ba,starts:Ba,started:Ba,stops:Ba,stopped:Ba,help:Ba,helps:Ba,avoid:Ba,avoids:Ba,love:Ba,loves:Ba,loved:Ba,hate:Ba,hates:Ba,hated:Ba},afterWords:{you:Ba,me:Ba,her:Ba,him:Ba,them:Ba,their:Ba,it:Ba,this:Ba,there:Ba,on:Ba,about:Ba,for:Ba}};var za={beforeTags:Object.assign({},Oa.beforeTags,Va.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Oa.afterTags,Va.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Oa.beforeWords,Va.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Oa.afterWords,Va.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const $a="Singular";var Fa={beforeTags:{Determiner:$a,Possessive:$a,Acronym:$a,Noun:$a,Adjective:$a,PresentTense:$a,Gerund:$a,PastTense:$a,Infinitive:$a,Date:$a},afterTags:{Value:$a,Modal:$a,Copula:$a,PresentTense:$a,PastTense:$a,Demonym:$a},beforeWords:{the:$a,with:$a,without:$a,of:$a,for:$a,any:$a,all:$a,on:$a,cut:$a,cuts:$a,save:$a,saved:$a,saves:$a,make:$a,makes:$a,made:$a,minus:$a,plus:$a,than:$a,another:$a,versus:$a,neither:$a,favorite:$a,best:$a,daily:$a,weekly:$a,linear:$a,binary:$a,mobile:$a,lexical:$a,technical:$a,computer:$a,scientific:$a,formal:$a},afterWords:{of:$a,system:$a,aid:$a,method:$a,utility:$a,tool:$a,reform:$a,therapy:$a,philosophy:$a,room:$a,authority:$a,says:$a,said:$a,wants:$a,wanted:$a}};const Sa={beforeTags:{Determiner:void 0}};var Ha={beforeTags:Object.assign({},Oa.beforeTags,Fa.beforeTags,Sa.beforeTags),afterTags:Object.assign({},Oa.afterTags,Fa.afterTags),beforeWords:Object.assign({},Oa.beforeWords,Fa.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Oa.afterWords,Fa.afterWords)};const Ma={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},La={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Ja={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Wa={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var qa={beforeTags:Object.assign({},Oa.beforeTags,Ma),afterTags:Object.assign({},Oa.afterTags,La),beforeWords:Object.assign({},Oa.beforeWords,Ja),afterWords:Object.assign({},Oa.afterWords,Wa)};const Ka="Infinitive";var Ua={beforeTags:{Modal:Ka,Adverb:Ka,Negative:Ka,Plural:Ka},afterTags:{Determiner:Ka,Adverb:Ka,Possessive:Ka,Preposition:Ka},beforeWords:{i:Ka,we:Ka,you:Ka,they:Ka,to:Ka,please:Ka,will:Ka,have:Ka,had:Ka,would:Ka,could:Ka,should:Ka,do:Ka,did:Ka,does:Ka,can:Ka,must:Ka,us:Ka,me:Ka,he:Ka,she:Ka,it:Ka,being:Ka},afterWords:{the:Ka,me:Ka,you:Ka,him:Ka,her:Ka,them:Ka,it:Ka,a:Ka,an:Ka,up:Ka,down:Ka,by:Ka,out:Ka,off:Ka,when:Ka,all:Ka,to:Ka,because:Ka,although:Ka,before:Ka,how:Ka,otherwise:Ka,though:Ka,yet:Ka}};const Ra={afterTags:{Noun:"Adjective",Conjunction:void 0}};var Qa={beforeTags:Object.assign({},Oa.beforeTags,Ua.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Oa.afterTags,Ua.afterTags,Ra.afterTags),beforeWords:Object.assign({},Oa.beforeWords,Ua.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Oa.afterWords,Ua.afterWords,{to:void 0})};const Za={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},_a={},Xa={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Ya={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var eo={beforeTags:Object.assign({},Va.beforeTags,Fa.beforeTags,Za),afterTags:Object.assign({},Va.afterTags,Fa.afterTags,_a),beforeWords:Object.assign({},Va.beforeWords,Fa.beforeWords,Xa),afterWords:Object.assign({},Va.afterWords,Fa.afterWords,Ya)};var to={beforeTags:Object.assign({},Ua.beforeTags,Fa.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Ua.afterTags,Fa.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Ua.beforeWords,Fa.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Ua.afterWords,Fa.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const no="Person";var ro={beforeTags:{Honorific:no,Person:no,Preposition:no},afterTags:{Person:no,ProperNoun:no,Verb:no},ownTags:{ProperNoun:no},beforeWords:{hi:no,hey:no,yo:no,dear:no,hello:no},afterWords:{said:no,says:no,told:no,tells:no,feels:no,felt:no,seems:no,thinks:no,thought:no,spends:no,spendt:no,plays:no,played:no,sing:no,sang:no,learn:no,learned:no,wants:no,wanted:no}};const ao="Month",oo={beforeTags:{Date:ao,Value:ao},afterTags:{Date:ao,Value:ao},beforeWords:{by:ao,in:ao,on:ao,during:ao,after:ao,before:ao,between:ao,until:ao,til:ao,sometime:ao,of:ao,this:ao,next:ao,last:ao,previous:ao,following:ao},afterWords:{sometime:ao,in:ao,of:ao,until:ao,the:ao}};var io={beforeTags:Object.assign({},ro.beforeTags,oo.beforeTags),afterTags:Object.assign({},ro.afterTags,oo.afterTags),beforeWords:Object.assign({},ro.beforeWords,oo.beforeWords),afterWords:Object.assign({},ro.afterWords,oo.afterWords)};const so={Place:"Place"},lo={Place:"Place",Abbreviation:"Place"},uo={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},co={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"};const ho={"Adj|Gerund":za,"Adj|Noun":Ha,"Adj|Past":qa,"Adj|Present":Qa,"Noun|Verb":to,"Noun|Gerund":eo,"Person|Noun":{beforeTags:Object.assign({},Fa.beforeTags,ro.beforeTags),afterTags:Object.assign({},Fa.afterTags,ro.afterTags),beforeWords:Object.assign({},Fa.beforeWords,ro.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Fa.afterWords,ro.afterWords)},"Person|Date":io,"Person|Verb":{beforeTags:Object.assign({},ro.beforeTags,Ua.beforeTags),afterTags:Object.assign({},ro.afterTags,Ua.afterTags),beforeWords:Object.assign({},ro.beforeWords,Ua.beforeWords),afterWords:Object.assign({},ro.afterWords,Ua.afterWords)},"Person|Place":{beforeTags:Object.assign({},so,ro.beforeTags),afterTags:Object.assign({},lo,ro.afterTags),beforeWords:Object.assign({},uo,ro.beforeWords),afterWords:Object.assign({},co,ro.afterWords)}},po=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};ho["Plural|Verb"]={beforeWords:po(ho["Noun|Verb"].beforeWords,{}),afterWords:po(ho["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:po(ho["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:po(ho["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var mo=ho;const go="Adjective",fo="Infinitive",vo="PresentTense",bo="Singular",yo="PastTense",wo="Adverb",ko="Plural",Po="Verb",Ao="LastName",jo="Participle";var No=[null,null,{ea:bo,ia:"Noun",ic:go,ly:wo,"'n":Po,"'t":Po},{oed:yo,ued:yo,xed:yo," so":wo,"'ll":"Modal","'re":"Copula",azy:go,eer:"Noun",end:Po,ped:yo,ffy:go,ify:fo,ing:"Gerund",ize:fo,ibe:fo,lar:go,mum:go,nes:vo,nny:go,ous:go,que:go,rol:bo,sis:bo,ogy:bo,oid:bo,ian:bo,zes:vo,eld:yo,ken:jo,ven:jo,ten:jo,ect:fo,ict:fo,ign:fo,ful:go,bal:go},{amed:yo,aped:yo,ched:yo,lked:yo,rked:yo,reed:yo,nded:yo,mned:go,cted:yo,dged:yo,ield:bo,akis:Ao,cede:fo,chuk:Ao,czyk:Ao,ects:vo,ends:Po,enko:Ao,ette:bo,wner:bo,fies:vo,fore:wo,gate:fo,gone:go,ices:ko,ints:ko,ruct:fo,ines:ko,ions:ko,less:go,llen:go,made:go,nsen:Ao,oses:vo,ould:"Modal",some:go,sson:Ao,tion:bo,tage:"Noun",ique:bo,tive:go,tors:"Noun",vice:bo,lier:bo,fier:bo,wned:yo,gent:bo,tist:bo,pist:bo,rist:bo,mist:bo,yist:bo,vist:bo,lite:bo,site:bo,rite:bo,mite:bo,bite:bo,mate:bo,date:bo,ndal:bo,vent:bo,uist:bo,gist:bo,note:bo,cide:bo,wide:go,vide:fo,ract:fo,duce:fo,pose:fo,eive:fo,lyze:fo,lyse:fo,iant:go,nary:go},{elist:bo,holic:bo,phite:bo,tized:yo,urned:yo,eased:yo,ances:ko,bound:go,ettes:ko,fully:wo,ishes:vo,ities:ko,marek:Ao,nssen:Ao,ology:"Noun",osome:bo,tment:bo,ports:ko,rough:go,tches:vo,tieth:"Ordinal",tures:ko,wards:wo,where:wo,archy:"Noun",pathy:"Noun",opoly:"Noun",embly:"Noun",phate:"Noun",ndent:bo,scent:bo,onist:bo,anist:bo,alist:bo,olist:bo,icist:bo,ounce:fo,iable:go,borne:go,gnant:go,inant:go,igent:go,atory:go,rient:bo,dient:bo},{auskas:Ao,parent:bo,cedent:bo,ionary:bo,cklist:bo,keeper:"Actor",logist:"Actor",teenth:"Value"},{opoulos:Ao,borough:"Place",sdottir:Ao}];const Eo="Adjective";var xo=[null,null,{},{neo:"Noun",bio:"Noun","de-":"Verb","re-":"Verb","un-":"Verb"},{anti:"Noun",auto:"Noun",faux:Eo,hexa:"Noun",kilo:"Noun",mono:"Noun",nano:"Noun",octa:"Noun",poly:"Noun",semi:Eo,tele:"Noun","pro-":Eo,"mis-":"Verb","dis-":"Verb","pre-":Eo},{anglo:"Noun",centi:"Noun",ethno:"Noun",ferro:"Noun",grand:"Noun",hepta:"Noun",hydro:"Noun",intro:"Noun",macro:"Noun",micro:"Noun",milli:"Noun",nitro:"Noun",penta:"Noun",quasi:Eo,radio:"Noun",tetra:"Noun","omni-":Eo,"post-":Eo},{pseudo:Eo,"extra-":Eo,"hyper-":Eo,"inter-":Eo,"intra-":Eo,"deca-":Eo},{electro:"Noun"}];const Io="Adjective",Go="Infinitive",To="PresentTense",Co="Singular",Do="PastTense",Oo="Expression",Bo="LastName";var Vo={a:[[/.[aeiou]na$/,"Noun","tuna"],[/.[oau][wvl]ska$/,Bo],[/.[^aeiou]ica$/,Co,"harmonica"],[/^([hyj]a+)+$/,Oo,"haha"]],c:[[/.[^aeiou]ic$/,Io]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Do,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Do,"rammed"],[/.[aeiou][sg]hed$/,Do,"gushed"],[/.[aeiou]red$/,Do,"hired"],[/.[aeiou]r?ried$/,Do,"hurried"],[/[^aeiou]ard$/,Co,"steward"],[/[aeiou][^aeiou]id$/,Io,""],[/.[vrl]id$/,Io,"livid"],[/..led$/,Do,"hurled"],[/.[iao]sed$/,Do,""],[/[aeiou]n?[cs]ed$/,Do,""],[/[aeiou][rl]?[mnf]ed$/,Do,""],[/[aeiou][ns]?c?ked$/,Do,"bunked"],[/[aeiou]gned$/,Do],[/[aeiou][nl]?ged$/,Do],[/.[tdbwxyz]ed$/,Do],[/[^aeiou][aeiou][tvx]ed$/,Do],[/.[cdflmnprstv]ied$/,Do,"emptied"]],e:[[/.[lnr]ize$/,Go,"antagonize"],[/.[^aeiou]ise$/,Go,"antagonise"],[/.[aeiou]te$/,Go,"bite"],[/.[^aeiou][ai]ble$/,Io,"fixable"],[/.[^aeiou]eable$/,Io,"maleable"],[/.[ts]ive$/,Io,"festive"],[/[a-z]-like$/,Io,"woman-like"]],h:[[/.[^aeiouf]ish$/,Io,"cornish"],[/.v[iy]ch$/,Bo,"..ovich"],[/^ug?h+$/,Oo,"ughh"],[/^uh[ -]?oh$/,Oo,"uhoh"],[/[a-z]-ish$/,Io,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Bo,"polish-male"]],k:[[/^(k){2}$/,Oo,"kkkk"]],l:[[/.[gl]ial$/,Io,"familial"],[/.[^aeiou]ful$/,Io,"fitful"],[/.[nrtumcd]al$/,Io,"natal"],[/.[^aeiou][ei]al$/,Io,"familial"]],m:[[/.[^aeiou]ium$/,Co,"magnesium"],[/[^aeiou]ism$/,Co,"schism"],[/^[hu]m+$/,Oo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Io,"republican"],[/[^aeiou]ician$/,"Actor","musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Oo,"noooo"],[/^(yo)+$/,Oo,"yoo"],[/^wo{2,}[pt]?$/,Oo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Co],[/[^i]fer$/,Go],[/.[^aeiou][ao]pher$/,"Actor"],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Io],[/[aeiou].*ist$/,Io],[/^[a-z]et$/,"Verb"]],s:[[/.[^aeiou]ises$/,To],[/.[rln]ates$/,To],[/.[^z]ens$/,"Verb"],[/.[lstrn]us$/,Co],[/.[aeiou]sks$/,To],[/.[aeiou]kes$/,To],[/[aeiou][^aeiou]is$/,Co],[/[a-z]'s$/,"Noun"],[/^yes+$/,Oo]],v:[[/.[^aeiou][ai][kln]ov$/,Bo]],y:[[/.[cts]hy$/,Io],[/.[st]ty$/,Io],[/.[tnl]ary$/,Io],[/.[oe]ry$/,Co],[/[rdntkbhs]ly$/,"Adverb"],[/.(gg|bb|zz)ly$/,Io],[/...lly$/,"Adverb"],[/.[gk]y$/,Io],[/[bszmp]{2}y$/,Io],[/.[ai]my$/,Io],[/[ea]{2}zy$/,Io],[/.[^aeiou]ity$/,Co]]};const zo="Verb",$o="Noun";var Fo={leftTags:[["Adjective",$o],["Possessive",$o],["Determiner",$o],["Adverb",zo],["Pronoun",zo],["Value",$o],["Ordinal",$o],["Modal",zo],["Superlative",$o],["Demonym",$o],["Honorific","Person"]],leftWords:[["i",zo],["first",$o],["it",zo],["there",zo],["not",zo],["because",$o],["if",$o],["but",$o],["who",zo],["this",$o],["his",$o],["when",$o],["you",zo],["very","Adjective"],["old",$o],["never",zo],["before",$o],["a","Singular"],["the",$o],["been",zo]],rightTags:[["Copula",$o],["PastTense",$o],["Conjunction",$o],["Modal",$o]],rightWords:[["there",zo],["me",zo],["man","Adjective"],["only",zo],["him",zo],["it",zo],["were",$o],["took",$o],["himself",zo],["went",$o],["who",$o],["jr","Person"]]},So={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},Ho={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Mo={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Lo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Jo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Wo=/^.([0-9]+)/;var qo=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],r=n.match(Wo);if(null===r)return t.exceptions[e];let a=Number(r[1])||0;return e.substr(0,a)+n.replace(Wo,"")}(e,t);let r=t.rules;t.reversed&&(r=t.rev),r=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,r);for(let t=0;t{let n=e[0]||"",r=n[n.length-1]||"";t[r]=t[r]||[],t[r].push(e)}),t},Uo=/^([0-9]+)/,Ro=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(Uo);if(null===n)return[e,t];let r=Number(n[1])||0,a=e.substring(0,r);return[e,a+t.replace(Uo,"")]}(n[0],n[1])})};var Qo=function(e={}){return(e=Object.assign({},e)).rules=Ro(e.rules),e.rules=Ko(e.rules),e.rev&&(e.rev=Ro(e.rev),e.rev=Ko(e.rev)),e.exceptions=Ro(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e};var Zo=function(e){let{rules:t,exceptions:n,rev:r}=e;var a;return a=n,n=Object.entries(a).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:r}};const _o=Qo({rules:"een|1,egan|2in,on|in,pun|1in,hun|3ned,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,ollide|6d,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,rod|3ded,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,ulfil|5led,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,utgrow|4ew,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im,lam|3med,nearth|6s",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,utgrew|4ow,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,ollided|6,lammed|3,hunned|3,rodded|3,lfilled|4,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,nearths|6,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Xo=Qo(Lo),Yo=Qo(Ho),ei=Qo(Mo),ti=Zo(_o),ni=Zo(Xo),ri=Zo(Yo),ai=Zo(ei),oi=Qo(So),ii=Qo(Jo);var si={fromPast:_o,fromPresent:Xo,fromGerund:Yo,fromParticiple:ei,toPast:ti,toPresent:ni,toGerund:ri,toParticiple:ai,toComparative:oi,toSuperlative:ii,fromComparative:Zo(oi),fromSuperlative:Zo(ii)},li=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),ui=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var ci=function(e,t){const{irregularPlurals:n}=t.two;let r=(a=n,Object.keys(a).reduce((e,t)=>(e[a[t]]=t,e),{}));var a;if(r.hasOwnProperty(e))return r[e];for(let t=0;t(hi[t].forEach(n=>e[n]=t),e),{});var di=hi;var pi=function(e){let t=e.substring(e.length-3);if(!0===di.hasOwnProperty(t))return di[t];let n=e.substring(e.length-2);return!0===di.hasOwnProperty(n)?di[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const mi={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var gi=function(e,t,n){const{fromPast:r,fromPresent:a,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",r={};t.one&&t.one.prefixes&&(r=t.one.prefixes);let[a,o]=e.split(/ /);return o&&!0===r[a]&&(n=a,a=o,o=""),{prefix:n,verb:a,particle:o}}(e,t),c="";if(n||(n=pi(e)),mi.hasOwnProperty(e))c=mi[e];else if("Participle"===n)c=qo(l,i);else if("PastTense"===n)c=qo(l,r);else if("PresentTense"===n)c=qo(l,a);else{if("Gerund"!==n)return e;c=qo(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var fi=function(e,t){const{toPast:n,toPresent:r,toGerund:a,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:qo(i,n),PresentTense:qo(i,r),Gerund:qo(i,a),FutureTense:"will "+e},u=qo(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l};var vi=function(e="",t=[]){const n=e.length;for(let r=n<=6?n-1:6;r>=1;r-=1){let a=e.substring(n-r,e.length);if(!0===t[a.length].hasOwnProperty(a)){return e.slice(0,n-r)+t[a.length][a]}}return null};const bi="ically",yi=new Set(["analyt"+bi,"chem"+bi,"class"+bi,"clin"+bi,"crit"+bi,"ecolog"+bi,"electr"+bi,"empir"+bi,"frant"+bi,"grammat"+bi,"ident"+bi,"ideolog"+bi,"log"+bi,"mag"+bi,"mathemat"+bi,"mechan"+bi,"med"+bi,"method"+bi,"method"+bi,"mus"+bi,"phys"+bi,"phys"+bi,"polit"+bi,"pract"+bi,"rad"+bi,"satir"+bi,"statist"+bi,"techn"+bi,"technolog"+bi,"theoret"+bi,"typ"+bi,"vert"+bi,"whims"+bi]),wi=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],ki=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Pi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var Ai=function(e){return e.endsWith("ly")?yi.has(e)?e.replace(/ically/,"ical"):ki.has(e)?null:Pi.hasOwnProperty(e)?Pi[e]:vi(e,wi)||e:null};const ji=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ni={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ei=function(e){if(Ni.hasOwnProperty(e))return Ni[e];let t=vi(e,ji);return t||e+"ly"};const xi=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Ii={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Gi=new Set(["terrible","annoying"]);const Ti=function(e,t){const n=t.two.models.toSuperlative;return qo(e,n)},Ci=function(e,t){const n=t.two.models.toComparative;return qo(e,n)};var Di={Singular:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.nounToPlural(e,r);a[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.adjToSuperlative(e,r);a[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,r);a[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,r)=>{let a=n.two.transform.nounToPlural(e,r);t[a]=t[a]||["Demonym","Plural"]},Infinitive:(e,t,n,r)=>{let a=r.one.lexicon,o=n.two.transform.verbConjugate(e,r);Object.entries(o).forEach(e=>{a[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,r)=>{let a=r.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=r.one._multiCache,[i,s]=e.split(" ");a[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,r);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||a[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}};var Oi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let r=0;e.forEach((a,o)=>{t.test(a.post)&&function(e,t){let n=e[t];const r=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||r.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||r.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(r,o+1)),r=o+1)}),r{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Di.hasOwnProperty(i)&&Di[i](t,a,n,r),a[t]=a[t]||i}),delete a[""],delete a.null,delete a[" "],{lex:a,_multi:o}},transform:{nounToPlural:xa,nounToSingular:ci,verbToInfinitive:gi,getTense:pi,verbConjugate:fi,adjToSuperlative:Ti,adjToComparative:Ci,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return qo(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return qo(e,n)},advToAdjective:Ai,adjToAdverb:Ei,adjToNoun:function(e){if(Ii.hasOwnProperty(e))return Ii[e];if(Gi.has(e))return null;let t=vi(e,xi);return t||e+"ness"}}}};var Bi=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Vi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,r)=>(t&&(e[r[0]]=t),e[r[1]]=n,e),{})};var zi=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:r,toGerund:a,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Vi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Vi(r,"Infinitive","Verb"),Object.assign(s,l),l=Vi(a,"Infinitive","Gerund"),Object.assign(s,l),l=Vi(o,"Adjective","Superlative"),Object.assign(s,l),l=Vi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let $i={two:{models:si}};const Fi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Si=function(e,t){const n={model:t,methods:Oi};let{lex:r,_multi:a}=Oi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,r),Object.assign(t.one._multiCache,a),t},Hi=function(e,t,n){let r=fi(e,$i);t[r.PastTense]=t[r.PastTense]||"PastTense",t[r.Gerund]=t[r.Gerund]||"Gerund",!0===n&&(t[r.PresentTense]=t[r.PresentTense]||"PresentTense")},Mi=function(e,t){let n={};const r=t.one.lexicon;return Object.keys(e).forEach(a=>{const o=e[a];if(n[a]=Fi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||Hi(a,r,!1),"Adj|Present"===o&&(Hi(a,r,!0),function(e,t,n){let r=Ti(e,n);t[r]=t[r]||"Superlative";let a=Ci(e,n);t[a]=t[a]||"Comparative"}(a,r,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=gi(a,$i,"Gerund");r[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=gi(a,$i,"PastTense");r[e]||(n[e]="Infinitive")}}),t=Si(n,t)};let Li={one:{_multiCache:{},lexicon:Ga},two:{irregularPlurals:fa,models:si,suffixPatterns:No,prefixPatterns:xo,endsWith:Vo,neighbours:Fo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:Ta,clues:mo,uncountable:{},orgWords:li}};Li=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Si(e.one.lexicon,e)).one.lexicon,e),e=Mi(e.two.switches,e),e=zi(e),e=Bi(e)}(Li);var Ji=Li;const Wi=/^(under|over|mis|re|un|dis|semi)-?/;var qi=function(e,t,n){const r=n.two.switches;let a=e[t];if(r.hasOwnProperty(a.normal))a.switch=r[a.normal];else if(Wi.test(a.normal)){let e=a.normal.replace(Wi,"");e.length>3&&r.hasOwnProperty(e)&&(a.switch=r[e])}};var Ki=function(e,t,n){if(!t||0===t.length)return;const r="undefined"!=typeof process&&process.env?process.env:self.env||{};r&&r.DEBUG_TAGS&&((e,t,n="")=>{let r=e.text||"["+e.implicit+"]";var a;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(a=r,""+a+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const Ui={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},Ri=new Set(["formulas","koalas","israelis","menus"]),Qi=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Zi=function(e){if(!e||e.length<=3)return!1;if(Ri.has(e))return!0;let t=e[e.length-1];return Ui.hasOwnProperty(t)?Ui[t].find(t=>e.endsWith(t)):"s"===t&&!Qi.find(t=>e.endsWith(t))};const _i=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Xi=function(e,t,n){let r=e[t],a=Array.from(r.tags);for(let e=0;ee.tags.has(t))||(Zi(e.normal)?Ki(e,"Plural","3-plural-guess"):Ki(e,"Singular","3-singular-guess"))}(r),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=pi(e.normal);t&&Ki(e,t,"3-verb-tense-guess")}}(r)};const Yi=/^\p{Lu}[\p{Ll}'’]/u,es=/[0-9]/,ts=["Date","Month","WeekDay","Unit"],ns=/^[IVXLCDM]{2,}$/,rs=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,as={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var os=function(e,t,n){let r=e[t];r.index=r.index||[0,0];let a=r.index[1],o=r.text||"";return 0!==a&&!0===Yi.test(o)&&!1===es.test(o)?ts.find(e=>r.tags.has(e))?null:(Xi(e,t,n),r.tags.has("Noun")||r.tags.clear(),Ki(r,"ProperNoun","2-titlecase"),!0):o.length>=2&&ns.test(o)&&rs.test(o)&&!as[r.normal]?(Ki(r,"RomanNumeral","2-xvii"),!0):null};const is=function(e="",t=[]){const n=e.length;let r=7;n<=r&&(r=n-1);for(let a=r;a>1;a-=1){let r=e.substring(n-a,n);if(!0===t[r.length].hasOwnProperty(r)){return t[r.length][r]}}return null};var ss=function(e,t,n){let r=e[t];if(0===r.tags.size){let e=is(r.normal,n.two.suffixPatterns);if(null!==e)return Ki(r,e,"2-suffix"),r.confidence=.7,!0;if(r.implicit&&(e=is(r.implicit,n.two.suffixPatterns),null!==e))return Ki(r,e,"2-implicit-suffix"),r.confidence=.7,!0}return null};const ls=/['‘’‛‵′`´]/,us=function(e,t){for(let n=0;nn-3&&(r=n-3);for(let n=r;n>2;n-=1){let r=e.substring(0,n);if(!0===t[r.length].hasOwnProperty(r))return t[r.length][r]}return null}(r.normal,n.two.prefixPatterns);if(null!==e)return Ki(r,e,"2-prefix"),r.confidence=.5,!0}return null};const ds=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),ps=function(e){return!!e&&(!!ds.has(e.normal)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ms=function(e){return!!e&&!!e.tags.has("Ordinal")};var gs=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let r=Number(n.normal);if(r&&!isNaN(r)&&r>1400&&r<2100){if(ps(e[t-1])||ps(e[t+1]))return Ki(n,"Year","2-tagYear");if(r>1950&&r<2025&&(ms(e[t-1])||ms(e[t+1])))return Ki(n,"Year","2-tagYear-close")}}return null};const fs=/^[A-Z]('s|,)?$/,vs=/^[A-Z-]+$/,bs=/([A-Z]\.)+[A-Z]?,?$/,ys=/[A-Z]{2,}('s|,)?$/,ws=/([a-z]\.)+[a-z]\.?$/,ks={I:!0,A:!0};var Ps=function(e,t,n){let r=e[t];return r.tags.has("RomanNumeral")||r.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===vs.test(n)||n.length>5||ks.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==bs.test(n)&&!0!==ws.test(n)&&!0!==fs.test(n)&&!0!==ys.test(n))}(r,n)?(r.tags.clear(),Ki(r,["Acronym","Noun"],"3-no-period-acronym"),!0):!ks.hasOwnProperty(r.text)&&fs.test(r.text)?(r.tags.clear(),Ki(r,["Acronym","Noun"],"3-one-letter-acronym"),!0):r.tags.has("Organization")&&r.text.length<=3?(Ki(r,"Acronym","3-org-acronym"),!0):r.tags.has("Organization")&&vs.test(r.text)&&r.text.length<=6?(Ki(r,"Acronym","3-titlecase-acronym"),!0):null};const As=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},js=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var Ns=function(e,t,n){const{leftTags:r,leftWords:a,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||As(e[t-1],a),l=l||As(e[t+1],o),l=l||js(e[t-1],r),l=l||js(e[t+1],i),l)return Ki(s,l,"3-[neighbour]"),Xi(e,t,n),e[t].confidence=.2,!0}return null};const Es=function(e,t){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(n=e.text,!!/^\p{Lu}[\p{Ll}'’]/u.test(n)&&(0!==t||e.tags.has("Singular")))));var n};var xs=function(e,t,n){const r=n.model.two.orgWords,a=n.methods.one.setTag;let o=e[t];if(!0===r[o.machine||o.normal]&&Es(e[t-1])){a([e[t]],"Organization",n,null,"3-[org-word]");for(let r=t;r>=0&&Es(e[r],r);r-=1)a([e[r]],"Organization",n,null,"3-[org-word]")}return null};var Is=function(e,t,n){0===e[t].tags.size&&(Ki(e[t],"Noun","3-[fallback]"),Xi(e,t,n),e[t].confidence=.1)};const Gs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Ts=(e,t,n)=>0!==t||e[1]?null:n;var Cs={"Adj|Gerund":(e,t)=>Gs(e,t),"Adj|Noun":(e,t)=>Gs(e,t),"Adj|Past":(e,t)=>Gs(e,t),"Adj|Present":(e,t)=>Gs(e,t),"Noun|Gerund":(e,t)=>Gs(e,t),"Noun|Verb":(e,t)=>Gs(e,t)||Ts(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Gs(e,t)||Ts(e,t,"PresentTense"),"Person|Noun":(e,t)=>Gs(e,t),"Person|Verb":(e,t)=>0!==t&&Gs(e,t)};const Ds="undefined"!=typeof process&&process.env?process.env:self.env||{},Os=/^(under|over|mis|re|un|dis|semi)-?/,Bs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const r=t[n];return r&&Ds.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),r},Vs=(e,t={},n)=>{if(!e||!t)return null;let r=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return r&&Ds.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${r}) `),r=t[r],r};const zs={tagSwitch:qi,checkSuffix:ss,checkRegex:cs,checkCase:os,checkPrefix:hs,checkHyphen:function(e,t,n){let r=e[t+1];if(!r)return;let{prefixes:a}=n.one,o=e[t];!0===a[o.normal]&&(r.tags.has("Verb")&&(Ki(o,"Verb","3-[prefix]"),Ki(o,"Prefix","3-[prefix]")),r.tags.has("Adjective")&&(Ki(o,"Adjective","3-[prefix]"),Ki(o,"Prefix","3-[prefix]")))},checkYear:gs},$s={checkAcronym:Ps,neighbours:Ns,orgWords:xs,nounFallback:Is,variables:function(e,t,n){const r=n.model,a=n.methods.one.setTag,{switches:o,clues:i}=r.two,s=e[t];let l=s.normal||s.implicit||"";if(Os.test(l)&&!o[l]&&(l=l.replace(Os,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,r){if(!n)return null;const a=r.one.tagSet;let o=Bs(e[t+1],n.afterWords);return o=o||Bs(e[t-1],n.beforeWords),o=o||Vs(e[t-1],n.beforeTags,a),o=o||Vs(e[t+1],n.afterTags,a),o}(e,t,i[o],r);Cs[o]&&(u=Cs[o](e,t)||u),u?(Ds.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),a([s],u,n,null,"3-[variable]")):Ds.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},Fs=function(e,t,n){for(let r=0;r{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)};const Ms={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ls={preTagger:function(e){const{methods:t,model:n,world:r}=e;let a=t.two.quickSplit(e.docs);for(let e=0;e{for(let r=0;r{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[r][a].pre,n[n.length-1].post=e[r][a].post,n[0].text=e[r][a].text,n[0].normal=e[r][a].normal),e[r].splice(a,1,...n))};const Ys=/'/;var el=function(e,t){let n=e[t].normal.split(Ys)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let r=e[t+1];if(r&&r.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const tl=/'/;var nl=function(e,t){let n=e[t].normal.split(tl)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]};var rl=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const al={that:!0,there:!0,let:!0,here:!0,everywhere:!0},ol={in:!0,by:!0,for:!0};var il=(e,t)=>{let n=e[t];if(al.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let r=e[t+1];if(!r)return!0;if(r.tags.has("Verb"))return!!r.tags.has("Infinitive")||!!r.tags.has("PresentTense");if(r.tags.has("Noun")){let e=r.machine||r.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!r.tags.has("Possessive")&&!(r.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===ol[e[t-1].normal])return!0;let a=e[t+2];return!(!a||!a.tags.has("Noun")||a.tags.has("Pronoun"))||(r.tags.has("Adjective")||r.tags.has("Adverb")||r.tags.has("Verb"),!1)};const sl=/'/,ll=function(e,t,n,r){let a=t.update();a.document=[e];let o=n+r;n>0&&(n-=1),e[o]&&(o+=1),a.ptrs=[[0,n,o]],a.compute(["lexicon","preTagger","index"])},ul={d:(e,t)=>nl(e,t),t:(e,t)=>rl(e,t),s:(e,t,n)=>il(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):el(e,t)},cl=function(e,t){return t.fromText(e.join(" ")).docs[0]};var hl={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((r,a)=>{for(let o=r.length-1;o>=0;o-=1){if(r[o].implicit)return;let i=null;!0===sl.test(r[o].normal)&&([,i]=r[o].normal.split(sl));let s=null;ul.hasOwnProperty(i)&&(s=ul[i](r,o,t)),s&&(s=cl(s,e),Xs(n,[a,o],s),ll(n[a],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=_s.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Zs},hooks:["contractionTwo"]};const dl="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)";const pl=["i","we","they"];let ml=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",tag:"Place",reason:"east-sydney"},{match:dl+" #Person",tag:"Person",reason:"randy-smith"},{match:dl+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${dl}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:pl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:pl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:pl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);let gl=null;var fl={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach(n=>{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["preTagger","contractionTwo","postTagger"])}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:r}=t;gl=gl||r.one.buildNet(n.two.matches,r);let a=r.two.quickSplit(e.document).map(e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]}),o=e.update(a);return o.cache(),o.sweep(gl),e.uncache(),e}},model:{two:{matches:ml}},hooks:["postTagger"]};var vl=function(e,t){let n=t;e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verbConjugate)(t,e.model);return e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)};var bl=function(e,t,n){let r=this.match(`{${e}}`);return n&&(r=r.if(n)),r.has("#Verb")?vl(r,t):r.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.nounToPlural)(t,e.model));e.replaceWith(n)}(r,t):r.has("#Adverb")?function(e,t){let n=(0,e.methods.two.transform.adjToAdverb)(t);n&&e.replaceWith(n)}(r,t):this};var yl={api:function(e){e.prototype.swap=bl}};m.plugin(Us),m.plugin(hl),m.plugin(fl),m.plugin(yl);var wl=function(e){let t=this.if("@hasComma").ifNo("@hasComma @hasComma").ifNo("@hasComma (and|or) .").ifNo("(#City && @hasComma) #Country").ifNo("(#WeekDay && @hasComma) #Date").ifNo("(#Date+ && @hasComma) #Value").ifNo("@hasComma (too|also)$").match("@hasComma"),n=this.splitAfter(t),r=n.if("#Copula #Adjective #Conjunction (#Pronoun|#Determiner) #Verb").match("#Conjunction");n=n.splitBefore(r);let a=n.if("if .{2,9} then .").match("then");n=n.splitBefore(a),n=n.splitBefore("as well as ."),n=n.splitBefore("such as ."),n=n.splitBefore("in addition to ."),n=n.splitAfter("@hasSemicolon"),n=n.splitAfter("@hasDash");let o=n.filter(e=>e.wordCount()>5&&e.match("#Verb+").length>=2);if(o.found){let e=o.splitAfter("#Noun .* #Verb .* #Noun+");n=n.splitOn(e.eq(0))}return"number"==typeof e&&(n=n.get(e)),n};var kl=function(){let e=[],t=null,n=null;this.docs.forEach(r=>{r.forEach(r=>{r.chunk!==n&&(t&&(t[2]=r.index[1],e.push(t)),n=r.chunk,t=[r.index[0],r.index[1]])})}),t&&e.push(t);let r=this.update(e);return r=r.map(e=>e.has("")?e.nouns():e),r};const Pl={this:"Noun",then:"Pivot"};var Al=function(e){for(let t=0;t of #Determiner? #Noun",chunk:"Noun"},{match:"#Noun in #Determiner? #Noun",chunk:"Noun"},{match:"#Singular and #Determiner? #Singular",chunk:"Noun"}];let El=null;var xl=function(e,t,n){const{methods:r}=n;El=El||r.one.buildNet(Nl,r),e.sweep(El)};const Il=function(e,t){if(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_CHUNKS){let n=(e.normal+"'").padEnd(8);console.log(` | '${n} → ${t.padEnd(12)}  -fallback- `)}e.chunk=t};var Gl=function(e){for(let t=0;t{for(let r=0;r{if("Verb"===e.chunk){e.terms.find(e=>e.tags.has("Verb"))||e.terms.forEach(e=>e.chunk=null)}})};var Cl={compute:{chunks:function(e){const{document:t,world:n}=e;Al(t),jl(t),xl(e,t,n),Gl(t),Tl(t)}},api:function(e){e.prototype.chunks=kl,e.prototype.clauses=wl},hooks:["chunks"]};const Dl=/'s$/;var Ol=function(e){class Possessives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Possessives"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Dl,""),e.normal=e.normal.replace(Dl,"")})}),this}}e.prototype.possessives=function(e){let t=function(e){let t=e.match("#Possessive+");return t.has("#Person")&&(t=t.growLeft("#Person+")),t.has("#Place")&&(t=t.growLeft("#Place+")),t.has("#Organization")&&(t=t.growLeft("#Organization+")),t}(this);return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Possessives(t.document,t.pointer)}};const Bl=/\(/,Vl=/\)/,zl=function(e,t){for(;t{e[0].pre=e[0].pre.replace(Bl,"");let t=e[e.length-1];t.post=t.post.replace(Vl,"")}),e}(this)}}e.prototype.parentheses=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Parentheses(t.document,t.pointer)}};const Fl={'"':'"',""":""","'":"'","“":"”","‘":"’","‟":"”","‛":"’","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","`":"´","〟":"〞"},Sl=RegExp("("+Object.keys(Fl).join("|")+")"),Hl=RegExp("("+Object.values(Fl).join("|")+")"),Ml=function(e,t){const n=e[t].pre.match(Sl)[0]||"";if(!n||!Fl[n])return null;const r=Fl[n];for(;t{e[0].pre=e[0].pre.replace(Sl,"");let t=e[e.length-1];t.post=t.post.replace(Hl,"")})}(this)}}e.prototype.quotations=function(e){let t=function(e){let t=[];return e.docs.forEach(e=>{for(let n=0;n"number"==typeof t?e.eq(t):e)(t,e),new Quotations(t.document,t.pointer)}};const Jl=/\./g;var Wl=function(e){class Acronyms extends e{constructor(e,t,n){super(e,t,n),this.viewType="Acronyms"}strip(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Jl,""),e.normal=e.normal.replace(Jl,"")})}),this}addPeriods(){return this.docs.forEach(e=>{e.forEach(e=>{e.text=e.text.replace(Jl,""),e.normal=e.normal.replace(Jl,""),e.text=e.text.split("").join(".")+".",e.normal=e.normal.split("").join(".")+"."})}),this}}e.prototype.acronyms=function(e){let t=this.match("#Acronym");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Acronyms(t.document,t.pointer)}};var ql=function(e){class Adverbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adverbs"}json(e={}){const t=this.methods.two.transform.advToAdjective;return e.normal=!0,this.map(n=>{let r=n.toView().json(e)[0]||{};return r.adverb={adjective:t(r.normal)},r},[])}}e.prototype.adverbs=function(e){let t=this.match("#Adverb");return t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),new Adverbs(t.document,t.pointer)}};const Kl=(e,t)=>"number"==typeof t?e.eq(t):e,Ul=function(e){const{adjFromComparative:t,adjFromSuperlative:n}=e.methods.two.transform;let r=e.text("normal");return e.has("#Comparative")?t(r,e.model):e.has("#Superlative")?n(r,e.model):r};var Rl=function(e){class Adjectives extends e{constructor(e,t,n){super(e,t,n),this.viewType="Adjectives"}json(e={}){const{adjToAdverb:t,adjToNoun:n,adjToSuperlative:r,adjToComparative:a}=this.methods.two.transform;return e.normal=!0,this.map(o=>{let i=o.toView().json(e)[0]||{},s=Ul(o);return i.adjective={adverb:t(s),noun:n(s),superlative:r(s,this.model),comparative:a(s,this.model)},i},[])}adverbs(){return this.before("#Adverb+$").concat(this.after("^#Adverb+"))}toComparative(e){const{adjToComparative:t}=this.methods.two.transform;return Kl(this,e).map(e=>{let n=Ul(e),r=t(n,this.model);return e.replaceWith(r)})}toSuperlative(e){const{adjToSuperlative:t}=this.methods.two.transform;return Kl(this,e).map(e=>{let n=Ul(e),r=t(n,this.model);return e.replaceWith(r)})}toAdverb(e){const{adjToAdverb:t}=this.methods.two.transform;return Kl(this,e).map(e=>{let n=Ul(e),r=t(n,this.model);return e.replaceWith(r)})}toNoun(e){const{adjToNoun:t}=this.methods.two.transform;return Kl(this,e).map(e=>{let n=Ul(e),r=t(n,this.model);return e.replaceWith(r)})}}e.prototype.adjectives=function(e){let t=this.match("#Adjective");return t=Kl(t,e),new Adjectives(t.document,t.pointer)},e.prototype.superlatives=function(e){let t=this.match("#Superlative");return t=Kl(t,e),new Adjectives(t.document,t.pointer)},e.prototype.comparatives=function(e){let t=this.match("#Comparative");return t=Kl(t,e),new Adjectives(t.document,t.pointer)}};const Ql=function(e){let t=this.splitAfter("@hasComma");return t=t.match("#PhoneNumber+"),t=((e,t)=>"number"==typeof t?e.eq(t):e)(t,e),t},Zl=[["hyphenated","@hasHyphen ."],["hashTags","#HashTag"],["emails","#Email"],["emoji","#Emoji"],["emoticons","#Emoticon"],["atMentions","#AtMention"],["urls","#Url"],["pronouns","#Pronoun"],["conjunctions","#Conjunction"],["prepositions","#Preposition"],["abbreviations","#Abbreviation"],["honorifics","#Honorific"]];let _l=[["emojis","emoji"],["atmentions","atMentions"]];var Xl=function(e){Zl.forEach(t=>{e.prototype[t[0]]=function(e){let n=this.match(t[1]);return"number"==typeof e?n.get(e):n}}),e.prototype.phoneNumbers=Ql,_l.forEach(t=>{e.prototype[t[0]]=e.prototype[t[1]]})},Yl={api:function(e){Xl(e),Ol(e),$l(e),Ll(e),Rl(e),ql(e),Wl(e)}};const eu=function(e,t){e.docs.forEach(e=>{e.forEach(t)})};var tu={case:e=>{eu(e,e=>{e.text=e.text.toLowerCase()})},unicode:e=>{const t=e.world,n=t.methods.one.killUnicode;eu(e,e=>e.text=n(e.text,t))},whitespace:e=>{eu(e,e=>{e.post=e.post.replace(/\s+/g," "),e.post=e.post.replace(/\s([.,?!:;])/g,"$1"),e.pre=e.pre.replace(/\s+/g,"")})},punctuation:e=>{eu(e,e=>{e.post=e.post.replace(/[–—-]/g," "),e.post=e.post.replace(/[,:;]/g,""),e.post=e.post.replace(/\.{2,}/g,""),e.post=e.post.replace(/\?{2,}/g,"?"),e.post=e.post.replace(/!{2,}/g,"!"),e.post=e.post.replace(/\?!+/g,"?")});let t=e.docs,n=t[t.length-1];if(n&&n.length>0){let e=n[n.length-1];e.post=e.post.replace(/ /g,"")}},contractions:e=>{e.contractions().expand()},acronyms:e=>{e.acronyms().strip()},parentheses:e=>{e.parentheses().strip()},possessives:e=>{e.possessives().strip()},quotations:e=>{e.quotations().strip()},emoji:e=>{e.emojis().remove()},honorifics:e=>{e.match("#Honorific+ #Person").honorifics().remove()},adverbs:e=>{e.adverbs().remove()},nouns:e=>{e.nouns().toSingular()},verbs:e=>{e.verbs().toInfinitive()},numbers:e=>{e.numbers().toNumber()}};const nu=e=>e.split("|").reduce((e,t)=>(e[t]=!0,e),{}),ru="unicode|punctuation|whitespace|acronyms",au="|case|contractions|parentheses|quotations|emoji|honorifics",ou={light:nu(ru),medium:nu(ru+au),heavy:nu(ru+au+"|possessives|adverbs|nouns|verbs")};var iu={api:function(e){e.prototype.normalize=function(e="light"){return"string"==typeof e&&(e=ou[e]),Object.keys(e).forEach(t=>{tu.hasOwnProperty(t)&&tu[t](this,e[t])}),this}}};var su=function(e){let t=e.match(""),n=t.match("@hasComma");return n=n.not("#Place"),n.found&&(t=t.splitAfter(n)),t=t.splitOn("#Expression"),t=t.splitOn("(he|she|we|you|they)"),t=t.splitOn("(#Noun|#Adjective) [#Pronoun]",0),t=t.splitOn("[#Pronoun] (#Determiner|#Value)",0),t=t.splitBefore("#Noun [(the|a|an)] #Adjective? #Noun",0),t=t.splitOn("[(here|there)] #Noun",0),t=t.splitOn("[#Noun] (here|there)",0),t=t.if("#Noun"),t};const lu=["after","although","as if","as long as","as","because","before","even if","even though","ever since","if","in order that","provided that","since","so that","than","that","though","unless","until","what","whatever","when","whenever","where","whereas","wherever","whether","which","whichever","who","whoever","whom","whomever","whose"];var uu=function(e){if(e.before("#Preposition$").found)return!0;if(!e.before().found)return!1;for(let t=0;t3&&n.endsWith("s")&&!n.endsWith("ss")};var hu=function(e){let t=function(e){let t=e.clone();return t=t.match("#Noun+"),t=t.remove("(#Adjective|#Preposition|#Determiner|#Value)"),t=t.not("#Possessive"),t.first()}(e);return{determiner:e.match("#Determiner").eq(0),adjectives:e.match("#Adjective"),number:e.values(),isPlural:cu(e,t),isSubordinate:uu(e),root:t}};const du=e=>e.text(),pu=e=>e.json({terms:!1,normal:!0}).map(e=>e.normal),mu=function(e){if(!e.found)return null;let t=e.values(0);if(t.found){return(t.parse()[0]||{}).num}return null};var gu=function(e){let t=hu(e);return{root:du(t.root),number:mu(t.number),determiner:du(t.determiner),adjectives:pu(t.adjectives),isPlural:t.isPlural,isSubordinate:t.isSubordinate}};const fu={tags:!0};var vu=function(e,t){if(!0===t.isPlural)return e;if(!function(e){let{root:t}=e;return!t.has("^(#Uncountable|#Possessive|#ProperNoun|#Place|#Pronoun)+$")}(t))return e;const{methods:n,model:r}=e.world,{nounToPlural:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.match(t.root).replaceWith(o,fu).tag("Plural","toPlural"),t.determiner.has("(a|an)")&&e.replace(t.determiner,"the",fu),e};const bu={tags:!0};var yu=function(e,t){if(!1===t.isPlural)return e;const{methods:n,model:r}=e.world,{nounToSingular:a}=n.two.transform;let o=a(t.root.text("normal"),r);return e.replace(t.root,o,bu).tag("Singular","toPlural"),e};const wu=(e,t)=>"number"==typeof t?e.eq(t):e;var ku={api:function(e){class Nouns extends e{constructor(e,t,n){super(e,t,n),this.viewType="Nouns"}parse(e){return wu(this,e).map(hu)}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{};return e&&!0!==e.noun&&(n.noun=gu(t)),n},[])}isPlural(e){let t=this.filter(e=>hu(e).isPlural);return wu(t,e)}adjectives(e){let t=this.update([]);return this.forEach(e=>{let n=hu(e).adjectives;n.found&&(t=t.concat(n))}),wu(t,e)}toPlural(e){return wu(this,e).map(e=>vu(e,hu(e)))}toSingular(e){return wu(this,e).map(e=>{let t=hu(e);return yu(e,t)})}update(e){let t=new Nouns(this.document,e);return t._cache=this._cache,t}}e.prototype.nouns=function(e){let t=su(this);return t=wu(t,e),new Nouns(this.document,t.pointer)}}};var Pu=function(e,t){let n=e.match("#Fraction+");return n=n.filter(e=>!e.lookBehind("#Value and$").found),n=n.notIf("#Value seconds"),"number"==typeof t&&(n=n.eq(t)),n};var Au=e=>{const t=[{reg:/^(minus|negative)[\s-]/i,mult:-1},{reg:/^(a\s)?half[\s-](of\s)?/i,mult:.5}];for(let n=0;n{if(ju.ones.hasOwnProperty(e)){if(t.ones||t.teens)return!1}else if(ju.teens.hasOwnProperty(e)){if(t.ones||t.teens||t.tens)return!1}else if(ju.tens.hasOwnProperty(e)&&(t.ones||t.teens||t.tens))return!1;return!0};var Eu=function(e){let t="0.";for(let n=0;ne=(e=(e=(e=(e=(e=(e=(e=e.replace(/1st$/,"1")).replace(/2nd$/,"2")).replace(/3rd$/,"3")).replace(/([4567890])r?th$/,"$1")).replace(/^[$€¥£¢]/,"")).replace(/[%$€¥£¢]$/,"")).replace(/,/g,"")).replace(/([0-9])([a-z\u00C0-\u00FF]{1,2})$/,"$1");const Iu=/^([0-9,. ]+)\/([0-9,. ]+)$/,Gu={"a few":3,"a couple":2,"a dozen":12,"two dozen":24,zero:0},Tu=e=>Object.keys(e).reduce((t,n)=>t+=e[n],0);var Cu=function(e){if(!0===Gu.hasOwnProperty(e))return Gu[e];if("a"===e||"an"===e)return 1;const t=Au(e);let n=null,r={},a=0,o=!1;const i=(e=t.str).split(/[ -]/);for(let e=0;e#Value+] out of every? [#Value+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();return n&&r?(n=Ou(n),r=Ou(r),n&&r&&"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null):null}(e)||function(e){let t=e.match("[(#Cardinal|a)+] [#Fraction+]");if(!0!==t.found)return null;let{num:n,den:r}=t.groups();n=n.has("a")?1:Ou(n);let a=r.text("reduced");return Du.test(a)&&(a=a.replace(Du,""),r=r.replaceWith(a)),r=Bu.hasOwnProperty(a)?Bu[a]:Ou(r),"number"==typeof n&&"number"==typeof r?{numerator:n,denominator:r}:null}(e)||function(e){let t=e.match("^#Ordinal$");if(!0!==t.found)return null;if(e.lookAhead("^of ."))return{numerator:1,denominator:Ou(t)};return null}(e)||null;return null!==t&&t.numerator&&t.denominator&&(t.decimal=t.numerator/t.denominator,t.decimal=(e=>{let t=Math.round(1e3*e)/1e3;return 0===t&&0!==e?e:t})(t.decimal)),t};var zu=function(e){if(e<1e6)return String(e);let t;return t="number"==typeof e?e.toFixed(0):e,-1===t.indexOf("e+")?t:t.replace(".","").split("e+").reduce((function(e,t){return e+Array(t-e.length+2).join(0)}))};const $u=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],Fu=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],Su=[[1e24,"septillion"],[1e20,"hundred sextillion"],[1e21,"sextillion"],[1e20,"hundred quintillion"],[1e18,"quintillion"],[1e17,"hundred quadrillion"],[1e15,"quadrillion"],[1e14,"hundred trillion"],[1e12,"trillion"],[1e11,"hundred billion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],Hu=function(e){let t=[];if(e>100)return t;for(let n=0;n<$u.length;n++)e>=$u[n][1]&&(e-=$u[n][1],t.push($u[n][0]));return Fu[e]&&t.push(Fu[e]),t};var Mu=function(e){let t=e.num;if(0===t||"0"===t)return"zero";t>1e21&&(t=zu(t));let n=[];t<0&&(n.push("minus"),t=Math.abs(t));let r=function(e){let t=e,n=[];return Su.forEach(r=>{if(e>=r[0]){let e=Math.floor(t/r[0]);t-=e*r[0],e&&n.push({unit:r[1],count:e})}}),n}(t);for(let e=0;e1&&n.push("and")),n=n.concat(Hu(r[e].count)),n.push(t)}return n=n.concat((e=>{const t=["zero","one","two","three","four","five","six","seven","eight","nine"];let n=[],r=zu(e).match(/\.([0-9]+)/);if(!r||!r[0])return n;n.push("point");let a=r[0].split("");for(let e=0;ee),0===n.length&&(n[0]=""),n.join(" ")};var Lu=function(e){if(!e.numerator||!e.denominator)return"";return`${Mu({num:e.numerator})} out of ${Mu({num:e.denominator})}`};const Ju={one:"first",two:"second",three:"third",five:"fifth",eight:"eighth",nine:"ninth",twelve:"twelfth",twenty:"twentieth",thirty:"thirtieth",forty:"fortieth",fourty:"fourtieth",fifty:"fiftieth",sixty:"sixtieth",seventy:"seventieth",eighty:"eightieth",ninety:"ninetieth"};var Wu=e=>{let t=Mu(e).split(" "),n=t[t.length-1];return Ju.hasOwnProperty(n)?t[t.length-1]=Ju[n]:t[t.length-1]=n.replace(/y$/,"i")+"th",t.join(" ")};var qu=function(e){if(!e.numerator||!e.denominator)return"";let t=Mu({num:e.numerator}),n=Wu({num:e.denominator});return 2===e.denominator&&(n="half"),t&&n?(1!==e.numerator&&(n+="s"),`${t} ${n}`):""};const Ku=(e,t)=>"number"==typeof t?e.eq(t):e;var Uu=function(e){class Fractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Fractions"}parse(e){return Ku(this,e).map(Vu)}get(e){return Ku(this,e).map(Vu)}json(e){return Ku(this,e).map(t=>{let n=t.toView().json(e)[0],r=Vu(t);return n.fraction=r,n},[])}toDecimal(e){return Ku(this,e).forEach(e=>{let{decimal:t}=Vu(e);(e=e.replaceWith(String(t),!0)).tag("NumericValue"),e.unTag("Fraction")}),this}toFraction(e){return Ku(this,e).forEach(e=>{let t=Vu(e);if(t&&"number"==typeof t.numerator&&"number"==typeof t.denominator){let n=`${t.numerator}/${t.denominator}`;this.replace(e,n)}}),this}toOrdinal(e){return Ku(this,e).forEach(e=>{let t=Vu(e),n=qu(t);e.after("^#Noun").found&&(n+=" of"),e.replaceWith(n)}),this}toCardinal(e){return Ku(this,e).forEach(e=>{let t=Vu(e),n=Lu(t);e.replaceWith(n)}),this}toPercentage(e){return Ku(this,e).forEach(e=>{let{decimal:t}=Vu(e),n=100*t;n=Math.round(100*n)/100,e.replaceWith(n+"%")}),this}}e.prototype.fractions=function(e){let t=Pu(this);return t=Ku(t,e),new Fractions(this.document,t.pointer)}};const Ru="twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|fourty";var Qu=function(e){let t=e.match("#Value+");if(t.has("#NumericValue #NumericValue")&&(t.has("#Value @hasComma #Value")?t.splitAfter("@hasComma"):t.has("#NumericValue #Fraction")?t.splitAfter("#NumericValue #Fraction"):t=t.splitAfter("#NumericValue")),t.has("#Value #Value #Value")&&!t.has("#Multiple")&&t.has("("+Ru+") #Cardinal #Cardinal")&&(t=t.splitAfter("("+Ru+") #Cardinal")),t.has("#Value #Value")){t.has("#NumericValue #NumericValue")&&(t=t.splitOn("#Year")),t.has("("+Ru+") (eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)")&&(t=t.splitAfter("("+Ru+")"));let e=t.match("#Cardinal #Cardinal");if(e.found&&!t.has("(point|decimal|#Fraction)")&&!e.has("#Cardinal (#Multiple|point|decimal)")){let n=t.has(`(one|two|three|four|five|six|seven|eight|nine) (${Ru})`),r=e.has("("+Ru+") #Cardinal"),a=e.has("#Multiple #Value");n||r||a||e.terms().forEach(e=>{t=t.splitOn(e)})}t.match("#Ordinal #Ordinal").match("#TextValue").found&&!t.has("#Multiple")&&(t.has("("+Ru+") #Ordinal")||(t=t.splitAfter("#Ordinal"))),t=t.splitBefore("#Ordinal [#Cardinal]",0),t.has("#TextValue #NumericValue")&&!t.has("("+Ru+"|#Multiple)")&&(t=t.splitBefore("#TextValue #NumericValue"))}return t=t.splitAfter("#NumberRange"),t=t.splitBefore("#Year"),t};var Zu=function(e){if("string"==typeof e)return{num:Cu(e)};let t=e.text("reduced"),n=/[0-9],[0-9]/.test(e.text("text"));if(1===e.terms().length&&!e.has("#Multiple")){let r=function(e,t){let n=(e=e.replace(/,/g,"")).split(/([0-9.,]*)/),[r,a]=n,o=n.slice(2).join("");return""!==a&&t.length<2?(a=Number(a||e),"number"!=typeof a&&(a=null),o=o||"","st"!==o&&"nd"!==o&&"rd"!==o&&"th"!==o||(o=""),{prefix:r||"",num:a,suffix:o}):null}(t,e);if(null!==r)return r.hasComma=n,r}let r=e.match("#Fraction{2,}$");r=!1===r.found?e.match("^#Fraction$"):r;let a=null;r.found&&(r.has("#Value and #Value #Fraction")&&(r=r.match("and #Value #Fraction")),a=Vu(r),t=(e=(e=e.not(r)).not("and$")).text("reduced"));let o=0;return t&&(o=Cu(t)||0),a&&a.decimal&&(o+=a.decimal),{hasComma:n,prefix:"",num:o,suffix:"",isOrdinal:e.has("#Ordinal"),isText:e.has("#TextValue"),isFraction:e.has("#Fraction"),isMoney:e.has("#Money")}};var _u=function(e){let t=e.num;if(!t&&0!==t)return null;let n=t%100;if(n>10&&n<20)return String(t)+"th";const r={0:"th",1:"st",2:"nd",3:"rd"};let a=zu(t),o=a.slice(a.length-1,a.length);return a+=r[o]?r[o]:"th",a};const Xu={"¢":"cents",$:"dollars","£":"pounds","¥":"yen","€":"euros","₡":"colón","฿":"baht","₭":"kip","₩":"won","₹":"rupees","₽":"ruble","₺":"liras"},Yu={"%":"percent",cm:"centimetres",km:"kilometres",ft:"feet","°":"degrees"};var ec=function(e){let t={suffix:"",prefix:e.prefix};return Xu.hasOwnProperty(e.prefix)&&(t.suffix+=" "+Xu[e.prefix],t.prefix=""),Yu.hasOwnProperty(e.suffix)&&(t.suffix+=" "+Yu[e.suffix]),t.suffix&&1===e.num&&(t.suffix=t.suffix.replace(/s$/,"")),!t.suffix&&e.suffix&&(t.suffix+=" "+e.suffix),t};var tc=function(e,t){if("TextOrdinal"===t){let{prefix:t,suffix:n}=ec(e);return t+Wu(e)+n}if("Ordinal"===t)return e.prefix+_u(e)+e.suffix;if("TextCardinal"===t){let{prefix:t,suffix:n}=ec(e);return t+Mu(e)+n}let n=e.num;return e.hasComma&&(n=n.toLocaleString()),e.prefix+String(n)+e.suffix};const nc=(e,t)=>"number"==typeof t?e.eq(t):e;var rc=function(e){class Numbers extends e{constructor(e,t,n){super(e,t,n),this.viewType="Numbers"}parse(e){return nc(this,e).map(Zu)}get(e){return nc(this,e).map(Zu).map(e=>e.num)}json(e){return nc(this,e).map(t=>{let n=t.toView().json(e)[0],r=Zu(t);return n.number={prefix:r.prefix,num:r.num,suffix:r.suffix,hasComma:r.hasComma},n},[])}units(){return this.growRight("#Unit").match("#Unit$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.if("#TextValue").forEach(e=>{let t=Zu(e);if(null===t.num)return;let n=e.has("#Ordinal")?"Ordinal":"Cardinal",r=tc(t,n);e.replaceWith(r,{tags:!0}),e.tag("NumericValue")}),this}toLocaleString(){return this.forEach(e=>{let t=Zu(e);if(null===t.num)return;let n=t.num.toLocaleString();if(e.has("#Ordinal")){let e=tc(t,"Ordinal").match(/[a-z]+$/);e&&(n+=e[0]||"")}e.replaceWith(n,{tags:!0})}),this}toText(){let e=this.map(e=>{if(e.has("#TextValue"))return e;let t=Zu(e);if(null===t.num)return e;let n=e.has("#Ordinal")?"TextOrdinal":"TextCardinal",r=tc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("TextValue"),e});return new Numbers(e.document,e.pointer)}toCardinal(){let e=this.map(e=>{if(!e.has("#Ordinal"))return e;let t=Zu(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextCardinal":"Cardinal",r=tc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Cardinal"),e});return new Numbers(e.document,e.pointer)}toOrdinal(){let e=this.map(e=>{if(e.has("#Ordinal"))return e;let t=Zu(e);if(null===t.num)return e;let n=e.has("#TextValue")?"TextOrdinal":"Ordinal",r=tc(t,n);return e.replaceWith(r,{tags:!0}),e.tag("Ordinal"),e});return new Numbers(e.document,e.pointer)}isEqual(e){return this.filter(t=>Zu(t).num===e)}greaterThan(e){return this.filter(t=>Zu(t).num>e)}lessThan(e){return this.filter(t=>Zu(t).num{let r=Zu(n).num;return r>e&&r{let n=Zu(t);if(n.num=e,null===n.num)return t;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";t.has("#TextValue")&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=tc(n,r);return n.hasComma&&"Cardinal"===r&&(a=Number(a).toLocaleString()),(t=t.not("#Currency")).replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}add(e){if(!e)return this;"string"==typeof e&&(e=Zu(e).num);let t=this.map(t=>{let n=Zu(t);if(null===n.num)return t;n.num+=e;let r=t.has("#Ordinal")?"Ordinal":"Cardinal";n.isText&&(r=t.has("#Ordinal")?"TextOrdinal":"TextCardinal");let a=tc(n,r);return t.replaceWith(a,{tags:!0}),t});return new Numbers(t.document,t.pointer)}subtract(e,t){return this.add(-1*e,t)}increment(e){return this.add(1,e)}decrement(e){return this.add(-1,e)}update(e){let t=new Numbers(this.document,e);return t._cache=this._cache,t}}Numbers.prototype.toNice=Numbers.prototype.toLocaleString,Numbers.prototype.isBetween=Numbers.prototype.between,Numbers.prototype.minus=Numbers.prototype.subtract,Numbers.prototype.plus=Numbers.prototype.add,Numbers.prototype.equals=Numbers.prototype.isEqual,e.prototype.numbers=function(e){let t=Qu(this);return t=nc(t,e),new Numbers(this.document,t.pointer)},e.prototype.percentages=function(e){let t=Qu(this);return t=t.filter(e=>e.has("#Percent")||e.after("^percent")),t=nc(t,e),new Numbers(this.document,t.pointer)},e.prototype.money=function(e){let t=Qu(this);return t=t.filter(e=>e.has("#Money")||e.after("^#Currency")),t=nc(t,e),new Numbers(this.document,t.pointer)},e.prototype.values=e.prototype.numbers};var ac={api:function(e){Uu(e),rc(e)}};const oc={people:!0,emails:!0,phoneNumbers:!0,places:!0},ic=function(e={}){return!1!==(e=Object.assign({},oc,e)).people&&this.people().replaceWith("██████████"),!1!==e.emails&&this.emails().replaceWith("██████████"),!1!==e.places&&this.places().replaceWith("██████████"),!1!==e.phoneNumbers&&this.phoneNumbers().replaceWith("███████"),this};var sc={api:function(e){e.prototype.redact=ic}};var lc=function(e){const t=/\?/,{document:n}=e;return e.filter(e=>{let r=e.docs[0]||[],a=r[r.length-1];return!(!a||n[a.index[0]].length!==r.length)&&(!!t.test(a.post)||function(e){let t=e.clauses();return!(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("@hasComma")||!e.has("or not$")&&!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!t.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$"))}(e))})};var uc=function(e){let t=e;return 1===t.length?t:(t=t.if("#Verb"),1===t.length?t:(t=t.ifNo("(after|although|as|because|before|if|since|than|that|though|when|whenever|where|whereas|wherever|whether|while|why|unless|until|once)"),t=t.ifNo("^even (if|though)"),t=t.ifNo("^so that"),t=t.ifNo("^rather than"),t=t.ifNo("^provided that"),1===t.length?t:(t=t.ifNo("(that|which|whichever|who|whoever|whom|whose|whomever)"),1===t.length?t:(t=t.ifNo("(despite|during|before|through|throughout)"),1===t.length?t:(0===t.length&&(t=e),t.eq(0))))))};var cc=function(e){let t=e.clauses(),n=uc(t).chunks(),r=e.none(),a=e.none(),o=e.none();return n.forEach((e,t)=>{0!==t||e.has("")?a.found||!e.has("")?a.found&&(o=o.concat(e)):a=e:r=e}),a.found&&!r.found&&(r=a.before("+").first()),{subj:r,verb:a,pred:o}};var hc=function(e){let t=e.verbs(),n=t.eq(0);if(n.has("#PastTense"))return e;if(n.toPastTense(),t.length>1){t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.if("#PresentTense"),t=t.notIf("#Gerund");let n=e.match("to #Verb+ #Conjunction #Verb").terms();t=t.not(n),t.found&&t.verbs().toPastTense()}return e};var dc=function(e){let t=e.verbs();return t.eq(0).toPresentTense(),t.length>1&&(t=t.slice(1),t=t.filter(e=>!e.lookBehind("to$").found),t=t.notIf("#Gerund"),t.found&&t.verbs().toPresentTense()),e};var pc=function(e){let t=e.verbs();if(t.eq(0).toFutureTense(),t=(e=e.fullSentence()).verbs(),t.length>1){t=t.slice(1);let n=t.filter(t=>!t.lookBehind("to$").found&&(!!t.has("#Copula #Gerund")||!t.has("#Gerund")&&(!!t.has("#Copula")||(!t.has("#PresentTense")||!e.has("(when|as|how)")))));n.found&&n.toInfinitive()}return e};var mc=function(e){return e.verbs().toInfinitive(),e};const gc=(e,t)=>"number"==typeof t?e.eq(t):e;var fc={api:function(e){class Sentences extends e{constructor(e,t,n){super(e,t,n),this.viewType="Sentences"}json(e={}){return this.map(t=>{let n=t.toView().json(e)[0]||{},{subj:r,verb:a,pred:o}=cc(t);return n.sentence={subject:r.text("normal"),verb:a.text("normal"),predicate:o.text("normal")},n},[])}toPastTense(e){return gc(this,e).map(e=>(cc(e),hc(e)))}toPresentTense(e){return gc(this,e).map(e=>(cc(e),dc(e)))}toFutureTense(e){return gc(this,e).map(e=>(cc(e),e=pc(e)))}toInfinitive(e){return gc(this,e).map(e=>(cc(e),mc(e)))}toNegative(e){return gc(this,e).map(e=>(cc(e),function(e){return e.verbs().first().toNegative().compute("chunks"),e}(e)))}toPositive(e){return gc(this,e).map(e=>(cc(e),function(e){return e.verbs().first().toPositive().compute("chunks"),e}(e)))}isQuestion(e){return this.questions(e)}isExclamation(e){let t=this.filter(e=>e.lastTerm().has("@hasExclamation"));return gc(t,e)}isStatement(e){let t=this.filter(e=>!e.isExclamation().found&&!e.isQuestion().found);return gc(t,e)}update(e){let t=new Sentences(this.document,e);return t._cache=this._cache,t}}Sentences.prototype.toPresent=Sentences.prototype.toPresentTense,Sentences.prototype.toPast=Sentences.prototype.toPastTense,Sentences.prototype.toFuture=Sentences.prototype.toFutureTense;const t={sentences:function(e){let t=this.map(e=>e.fullSentence());return t=gc(t,e),new Sentences(this.document,t.pointer)},questions:function(e){let t=lc(this);return gc(t,e)}};Object.assign(e.prototype,t)}};var vc=function(e){return e.match("#Honorific+? #Person+")};var bc=function(e){let t={};t.firstName=e.match("#FirstName+"),t.lastName=e.match("#LastName+"),t.honorific=e.match("#Honorific+");let n=t.lastName,r=t.firstName;return r.found&&n.found||r.found||n.found||!e.has("^#Honorific .$")||(t.lastName=e.match(".$")),t};const yc="male",wc="female",kc={mr:yc,mrs:wc,miss:wc,madam:wc,king:yc,queen:wc,duke:yc,duchess:wc,baron:yc,baroness:wc,count:yc,countess:wc,prince:yc,princess:wc,sire:yc,dame:wc,lady:wc,ayatullah:yc,congressman:yc,congresswoman:wc,"first lady":wc,mx:null};var Pc=function(e,t){let{firstName:n,honorific:r}=e;if(n.has("#FemaleName"))return wc;if(n.has("#MaleName"))return yc;if(r.found){let e=r.text("normal");if(e=e.replace(/\./g,""),kc.hasOwnProperty(e))return kc[e];if(/^her /.test(e))return wc;if(/^his /.test(e))return yc}let a=t.after();if(!a.has("#Person")&&a.has("#Pronoun")){let e=a.match("#Pronoun");if(e.has("(they|their)"))return null;let t=e.has("(he|his)"),n=e.has("(she|her|hers)");if(t&&!n)return yc;if(n&&!t)return wc}return null};const Ac=(e,t)=>"number"==typeof t?e.eq(t):e;var jc=function(e){class People extends e{constructor(e,t,n){super(e,t,n),this.viewType="People"}parse(e){return Ac(this,e).map(bc)}json(e){return Ac(this,e).map(t=>{let n=t.toView().json(e)[0],r=bc(t);return n.person={firstName:r.firstName.text("normal"),lastName:r.lastName.text("normal"),honorific:r.honorific.text("normal"),presumed_gender:Pc(r,t)},n},[])}update(e){let t=new People(this.document,e);return t._cache=this._cache,t}}e.prototype.people=function(e){let t=vc(this);return t=Ac(t,e),new People(this.document,t.pointer)}};var Nc=function(e){let t=e.match("(#Place|#Address)+"),n=t.match("@hasComma");return n=n.filter(e=>!!e.has("(asia|africa|europe|america)$")||(!e.has("(#City|#Region|#ProperNoun)$")||!e.after("^(#Country|#Region)").found)),t=t.splitAfter(n),t};var Ec=function(e){e.prototype.places=function(t){let n=Nc(this);return n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,t),new e(this.document,n.pointer)}};var xc=function(e){e.prototype.organizations=function(e){return((e,t)=>"number"==typeof t?e.eq(t):e)(this.match("#Organization+"),e)}};const Ic=function(e){let t=this.clauses(),n=t.people();return n=n.concat(t.places()),n=n.concat(t.organizations()),n=n.not("(someone|man|woman|mother|brother|sister|father)"),n=n.sort("seq"),n=((e,t)=>"number"==typeof t?e.eq(t):e)(n,e),n};var Gc=function(e){e.prototype.topics=Ic};var Tc={api:function(e){jc(e),Ec(e),xc(e),Gc(e)}};var Cc=function(e){let t=e.match("");t=t.splitAfter("@hasComma"),t=t.splitAfter("[(do|did|am|was|is|will)] (is|was)",0),t=t.splitBefore("(#Verb && !#Copula) [being] #Verb",0),t=t.splitBefore("#Verb [to be] #Verb",0),t=t.splitAfter("[help] #PresentTense",0),t=t.splitBefore("(#PresentTense|#PastTense) [#Copula]$",0),t=t.splitBefore("(#PresentTense|#PastTense) [will be]$",0);let n=t.match("(#PresentTense|#PastTense) #Infinitive");return n.found&&!n.has("^go")&&(t=t.splitBefore("(#PresentTense|#PastTense) [#Infinitive]",0)),t=t.not("#Reflexive$"),t=t.if("#Verb"),t};var Dc=function(e){let t=e;return e.wordCount()>1&&(t=e.not("(#Negative|#Auxiliary|#Modal|#Adverb|#Prefix)")),t.length>1&&!t.has("#Phrasal #Particle")&&(t=t.last()),t=t.not("(want|wants|wanted) to"),t.found||(t=e.not("#Negative")),t};var Oc=function(e,t){let n={pre:e.none(),post:e.none()};if(!e.has("#Adverb"))return n;let r=e.splitOn(t);return 3===r.length?{pre:r.eq(0).adverbs(),post:r.eq(2).adverbs()}:r.eq(0).isDoc(t)?(n.post=r.eq(1).adverbs(),n):(n.pre=r.eq(0).adverbs(),n)};const Bc=function(e,t){let n=e.splitBefore(t);if(n.length<=1)return e.none();let r=n.eq(0);return r=r.not("(#Adverb|#Negative|#Prefix)"),r},Vc=function(e){return e.match("#Negative")},zc=function(e){let t=e.match("#Particle$");return{verb:e.not(t),particle:t}};var $c=function(e){let t=e.clone();t.contractions().expand();const n=Dc(t);return{root:n,prefix:t.match("#Prefix"),adverbs:Oc(t,n),auxiliary:Bc(t,n),negative:Vc(t),phrasal:zc(n)}};const Fc={tense:"PresentTense"},Sc={conditional:!0},Hc={tense:"FutureTense"},Mc={progressive:!0},Lc={tense:"PastTense"},Jc={complete:!0,progressive:!1},Wc={passive:!0},qc=function(e){let t={};return e.forEach(e=>{Object.assign(t,e)}),t},Kc={imperative:[["#Imperative",[]]],"want-infinitive":[["^(want|wants|wanted) to #Infinitive$",[Fc]],["^wanted to #Infinitive$",[Lc]],["^will want to #Infinitive$",[Hc]]],"gerund-phrase":[["^#PastTense #Gerund$",[Lc]],["^#PresentTense #Gerund$",[Fc]],["^#Infinitive #Gerund$",[Fc]],["^will #Infinitive #Gerund$",[Hc]],["^have #PastTense #Gerund$",[Lc]],["^will have #PastTense #Gerund$",[Lc]]],"simple-present":[["^#PresentTense$",[Fc]],["^#Infinitive$",[Fc]]],"simple-past":[["^#PastTense$",[Lc]]],"simple-future":[["^will #Adverb? #Infinitive",[Hc]]],"present-progressive":[["^(is|are|am) #Gerund$",[Fc,Mc]]],"past-progressive":[["^(was|were) #Gerund$",[Lc,Mc]]],"future-progressive":[["^will be #Gerund$",[Hc,Mc]]],"present-perfect":[["^(has|have) #PastTense$",[Lc,Jc]]],"past-perfect":[["^had #PastTense$",[Lc,Jc]],["^had #PastTense to #Infinitive",[Lc,Jc]]],"future-perfect":[["^will have #PastTense$",[Hc,Jc]]],"present-perfect-progressive":[["^(has|have) been #Gerund$",[Lc,Mc]]],"past-perfect-progressive":[["^had been #Gerund$",[Lc,Mc]]],"future-perfect-progressive":[["^will have been #Gerund$",[Hc,Mc]]],"passive-past":[["(got|were|was) (#PastTense|#Participle)",[Lc,Wc]],["^(was|were) being (#PastTense|#Participle)",[Lc,Wc]],["^(had|have) been (#PastTense|#Participle)",[Lc,Wc]]],"passive-present":[["^(is|are|am) (#PastTense|#Participle)",[Fc,Wc]],["^(is|are|am) being (#PastTense|#Participle)",[Fc,Wc]],["^has been (#PastTense|#Participle)",[Fc,Wc]]],"passive-future":[["will have been (#PastTense|#Participle)",[Hc,Wc,Sc]],["will be being? (#PastTense|#Participle)",[Hc,Wc,Sc]]],"present-conditional":[["would be #PastTense",[Fc,Sc]]],"past-conditional":[["would have been #PastTense",[Lc,Sc]]],"auxiliary-future":[["(is|are|am|was) going to (#Infinitive|#PresentTense)",[Hc]]],"auxiliary-past":[["^did #Infinitive$",[Lc,{plural:!1}]],["^used to #Infinitive$",[Lc,Jc]]],"auxiliary-present":[["^(does|do) #Infinitive$",[Fc,Jc,{plural:!0}]]],"modal-past":[["^(could|must|should|shall) have #PastTense$",[Lc]]],"modal-infinitive":[["^#Modal #Infinitive$",[]]],infinitive:[["^#Infinitive$",[]]]};let Uc=[];Object.keys(Kc).map(e=>{Kc[e].forEach(t=>{Uc.push({name:e,match:t[0],data:qc(t[1])})})});var Rc=Uc;var Qc=function(e,t){let n={};e=function(e,t){return e=e.clone(),t.adverbs.post&&t.adverbs.post.found&&e.remove(t.adverbs.post),t.adverbs.pre&&t.adverbs.pre.found&&e.remove(t.adverbs.pre),e.has("#Negative")&&(e=e.remove("#Negative")),e.has("#Prefix")&&(e=e.remove("#Prefix")),t.root.has("#PhrasalVerb #Particle")&&e.remove("#Particle$"),e.not("#Adverb")}(e,t);for(let t=0;t!(e.has("^(if|unless|while|but|for|per|at|by|that|which|who|from)")||t>0&&e.has("^#Verb . #Noun+$")||t>0&&e.has("^#Adverb"))),0===t.length?e:t}(t);let n=t.nouns(),r=n.last(),a=r.match("(i|he|she|we|you|they)");if(a.found)return a.nouns();let o=n.if("^(that|this|those)");return o.found||!1===n.found&&(o=t.match("^(that|this|those)"),o.found)?o:(r=n.last(),Zc(r)&&(n.remove(r),r=n.last()),Zc(r)&&(n.remove(r),r=n.last()),r)}(e);return{subject:t,plural:_c(t,e)}};const Yc=e=>e,eh=(e,t)=>{let n=Xc(e),r=n.subject;return!(!r.has("i")&&!r.has("we"))||n.plural},th=function(e,t){if(e.has("were"))return"are";let{subject:n,plural:r}=Xc(e);return n.has("i")?"am":n.has("we")||r?"are":"is"},nh=function(e,t){let n=Xc(e),r=n.subject;return r.has("i")||r.has("we")||n.plural?"do":"does"},rh=function(e){return e.has("#Infinitive")?"Infinitive":e.has("#Participle")?"Participle":e.has("#PastTense")?"PastTense":e.has("#Gerund")?"Gerund":e.has("#PresentTense")?"PresentTense":void 0},ah=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform;let r=t.root.text({keepPunct:!1});return r=n(r,e.model,rh(e)),r&&e.replace(t.root,r),e},oh=e=>e.has("will not")?e.replace("will not","have not"):e.remove("will"),ih=function(e){if(!e||!e.isView)return[];return e.json({normal:!0,terms:!1,text:!1}).map(e=>e.normal)},sh=function(e){return e&&e.isView?e.text("normal"):""},lh=function(e){const{verbToInfinitive:t}=e.methods.two.transform;return t(e.text("normal"),e.model,rh(e))};var uh=function(e){let t=$c(e);e=e.clone().toView();const n=Qc(e,t);return{root:t.root.text(),preAdverbs:ih(t.adverbs.pre),postAdverbs:ih(t.adverbs.post),auxiliary:sh(t.auxiliary),negative:t.negative.found,prefix:sh(t.prefix),infinitive:lh(t.root),grammar:n}};const ch={tags:!0};var hh=function(e,t){const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;let o=a.terms().harden(),i=r.text("normal");if(i=n(i,e.model,rh(r)),i&&e.replace(r,i,ch).tag("Verb").firstTerm().tag("Infinitive"),o.found&&e.remove(o),t.negative.found){e.has("not")||e.prepend("not");let t=nh(e);e.prepend(t)}return e.fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e};const dh={tags:!0},ph={noAux:(e,t)=>(t.auxiliary.found&&(e=e.remove(t.auxiliary)),e),simple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;if(a.has("#Modal"))return e;let o=a.text({keepPunct:!1});return o=r(o,e.model,rh(a)),o=n(o,e.model).PastTense,o="been"===o?"was":o,"was"===o&&(o=((e,t)=>{let{subject:n,plural:r}=Xc(e);return r||n.has("we")?"were":"was"})(e)),o&&e.replace(a,o,dh),e},both:function(e,t){return t.negative.found?(e.replace("will","did"),e):(e=ph.simple(e,t),e=ph.noAux(e,t))},hasHad:e=>(e.replace("has","had",dh),e),hasParticiple:(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,rh(a)),n(o,e.model).Participle}},mh={infinitive:ph.simple,"simple-present":ph.simple,"simple-past":Yc,"simple-future":ph.both,"present-progressive":e=>(e.replace("are","were",dh),e.replace("(is|are|am)","was",dh),e),"past-progressive":Yc,"future-progressive":(e,t)=>(e.match(t.root).insertBefore("was"),e.remove("(will|be)"),e),"present-perfect":ph.hasHad,"past-perfect":Yc,"future-perfect":(e,t)=>(e.match(t.root).insertBefore("had"),e.has("will")&&(e=oh(e)),e.remove("have"),e),"present-perfect-progressive":ph.hasHad,"past-perfect-progressive":Yc,"future-perfect-progressive":e=>(e.remove("will"),e.replace("have","had",dh),e),"passive-past":e=>(e.replace("have","had",dh),e),"passive-present":e=>(e.replace("(is|are)","was",dh),e),"passive-future":(e,t)=>(t.auxiliary.has("will be")&&(e.match(t.root).insertBefore("had been"),e.remove("(will|be)")),t.auxiliary.has("will have been")&&(e.replace("have","had",dh),e.remove("will")),e),"present-conditional":e=>(e.replace("be","have been"),e),"past-conditional":Yc,"auxiliary-future":e=>(e.replace("(is|are|am)","was",dh),e),"auxiliary-past":Yc,"auxiliary-present":e=>(e.replace("(do|does)","did",dh),e),"modal-infinitive":(e,t)=>(e.has("can")?e.replace("can","could",dh):(ph.simple(e,t),e.match("#Modal").insertAfter("have").tag("Auxiliary")),e),"modal-past":Yc,"want-infinitive":e=>(e.replace("(want|wants)","wanted",dh),e.remove("will"),e),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),ph.simple(e,t),oh(e),e)};var gh=function(e,t,n){return mh.hasOwnProperty(n)?((e=mh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const fh={tags:!0},vh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,rh(a)),!1===eh(e)&&(o=n(o,e.model).PresentTense),a.has("#Copula")&&(o=th(e)),o&&(e=e.replace(a,o,fh)).not("#Particle").tag("PresentTense"),e},bh=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,a=t.root;let o=a.text("normal");return o=r(o,e.model,rh(a)),!1===eh(e)&&(o=n(o,e.model).Gerund),o&&(e=e.replace(a,o,fh)).not("#Particle").tag("Gerund"),e},yh={infinitive:vh,"simple-present":(e,t)=>{const{verbConjugate:n}=e.methods.two.transform;let{root:r}=t;if(!r.has("#Infinitive"))return vh(e,t);{let t=Xc(e).subject;if(eh(e)||t.has("i"))return e;let a=r.text("normal"),o=n(a,e.model).PresentTense;a!==o&&e.replace(r,o,fh)}return e},"simple-past":vh,"simple-future":(e,t)=>{const{root:n,auxiliary:r}=t;if(r.has("will")&&n.has("be")){let t=th(e);e.replace(n,t),(e=e.remove("will")).replace("not "+t,t+" not")}else vh(e,t),e=e.remove("will");return e},"present-progressive":Yc,"past-progressive":(e,t)=>{let n=th(e);return e.replace("(were|was)",n,fh)},"future-progressive":e=>(e.match("will").insertBefore("is"),e.remove("be"),e.remove("will")),"present-perfect":(e,t)=>(vh(e,t),e=e.remove("(have|had|has)")),"past-perfect":(e,t)=>{let n=Xc(e).subject;return eh(e)||n.has("i")?((e=ah(e,t)).remove("had"),e):(e.replace("had","has",fh),e)},"future-perfect":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"present-perfect-progressive":Yc,"past-perfect-progressive":e=>e.replace("had","has",fh),"future-perfect-progressive":e=>(e.match("will").insertBefore("has"),e.remove("have").remove("will")),"passive-past":(e,t)=>{let n=th(e);return e.has("(had|have|has)")&&e.has("been")?(e.replace("(had|have|has)",n,fh),e.replace("been","being"),e):e.replace("(got|was|were)",n)},"passive-present":Yc,"passive-future":e=>(e.replace("will","is"),e.replace("be","being")),"present-conditional":Yc,"past-conditional":e=>(e.replace("been","be"),e.remove("have")),"auxiliary-future":(e,t)=>(bh(e,t),e.remove("(going|to)"),e),"auxiliary-past":(e,t)=>{if(t.auxiliary.has("did")){let n=nh(e);return e.replace(t.auxiliary,n),e}return bh(e,t),e.replace(t.auxiliary,"is"),e},"auxiliary-present":Yc,"modal-infinitive":Yc,"modal-past":(e,t)=>(((e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,r=t.root;let a=t.root.text("normal");a=n(a,e.model,rh(r)),a&&(e=e.replace(t.root,a,fh))})(e,t),e.remove("have")),"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),vh(e,t),e.remove("(will|have)")),"want-infinitive":(e,t)=>{let n="wants";return eh(e)&&(n="want"),e.replace("(want|wanted|wants)",n,fh),e.remove("will"),e}};var wh=function(e,t,n){return yh.hasOwnProperty(n)?((e=yh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const kh={tags:!0},Ph=(e,t)=>{const{verbToInfinitive:n}=e.methods.two.transform,{root:r,auxiliary:a}=t;if(r.has("#Modal"))return e;let o=r.text("normal");return o=n(o,e.model,rh(r)),o&&(e=e.replace(r,o,kh)).not("#Particle").tag("Verb"),e.prepend("will").match("will").tag("Auxiliary"),e.remove(a),e},Ah=(e,t)=>{const{verbConjugate:n,verbToInfinitive:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;let i=a.text("normal");return i=r(i,e.model,rh(a)),i&&(i=n(i,e.model).Gerund,e.replace(a,i,kh),e.not("#Particle").tag("PresentTense")),e.remove(o),e.prepend("will be").match("will be").tag("Auxiliary"),e},jh={infinitive:Ph,"simple-present":Ph,"simple-past":Ph,"simple-future":Yc,"present-progressive":Ah,"past-progressive":Ah,"future-progressive":Yc,"present-perfect":e=>(e.match("(have|has)").replaceWith("will have"),e),"past-perfect":e=>e.replace("(had|has)","will have"),"future-perfect":Yc,"present-perfect-progressive":e=>e.replace("has","will have"),"past-perfect-progressive":e=>e.replace("had","will have"),"future-perfect-progressive":Yc,"passive-past":e=>e.has("got")?e.replace("got","will get"):e.has("(was|were)")?(e.replace("(was|were)","will be"),e.remove("being")):e.has("(have|has|had) been")?e.replace("(have|has|had) been","will be"):e,"passive-present":e=>(e.replace("being","will be"),e.remove("(is|are|am)"),e),"passive-future":Yc,"present-conditional":e=>e.replace("would","will"),"past-conditional":e=>e.replace("would","will"),"auxiliary-future":Yc,"auxiliary-past":e=>e.has("used")&&e.has("to")?(e.replace("used","will"),e.remove("to")):(e.replace("did","will"),e),"auxiliary-present":e=>e.replace("(do|does)","will"),"modal-infinitive":Yc,"modal-past":Yc,"gerund-phrase":(e,t)=>(t.root=t.root.not("#Gerund$"),Ph(e,t),e.remove("(had|have)")),"want-infinitive":e=>(e.replace("(want|wants|wanted)","will want"),e)};var Nh=function(e,t,n){return e.has("will")||e.has("going to")?e:jh.hasOwnProperty(n)?((e=jh[n](e,t)).fullSentence().compute(["lexicon","preTagger","postTagger","chunks"]),e):e};const Eh={tags:!0};var xh=function(e,t){const{verbToInfinitive:n,verbConjugate:r}=e.methods.two.transform,{root:a,auxiliary:o}=t;if(e.has("#Gerund"))return e;let i=a.text("normal");i=n(i,e.model,rh(a));let s=r(i,e.model).Gerund;return s&&(s=`${th(e)} ${s}`,e.replace(a,s,Eh)),o.found&&e.remove(o),e.replace("not is","is not"),e.replace("not are","are not"),e.fullSentence().compute(["preTagger","postTagger","chunks"]),e};const Ih={tags:!0},Gh=function(e,t){let n=nh(e);return e.prepend(n+" not"),e},Th=function(e){let t=e.match("be");return t.found?(t.prepend("not"),e):(t=e.match("(is|was|am|are|will|were)"),t.found?(t.append("not"),e):e)},Ch=e=>e.has("(is|was|am|are|will|were|be)"),Dh={"simple-present":(e,t)=>!0===Ch(e)?Th(e):(e=ah(e,t),e=Gh(e)),"simple-past":(e,t)=>!0===Ch(e)?Th(e):((e=ah(e,t)).prepend("did not"),e),imperative:e=>(e.prepend("do not"),e),infinitive:(e,t)=>!0===Ch(e)?Th(e):Gh(e),"passive-past":e=>{if(e.has("got"))return e.replace("got","get",Ih),e.prepend("did not"),e;let t=e.match("(was|were|had|have)");return t.found&&t.append("not"),e},"auxiliary-past":e=>{if(e.has("used"))return e.prepend("did not"),e;let t=e.match("(did|does|do)");return t.found&&t.append("not"),e},"want-infinitive":(e,t)=>e=(e=Gh(e)).replace("wants","want",Ih)};var Oh=function(e,t,n){if(e.has("#Negative"))return e;if(Dh.hasOwnProperty(n))return e=Dh[n](e,t);let r=e.matchOne("be");return r.found?(r.prepend("not"),e):!0===Ch(e)?Th(e):(r=e.matchOne("(will|had|have|has|did|does|do|#Modal)"),r.found?(r.append("not"),e):e)};const Bh=(e,t)=>"number"==typeof t?e.eq(t):e;var Vh={api:function(e){class Verbs extends e{constructor(e,t,n){super(e,t,n),this.viewType="Verbs"}parse(e){return Bh(this,e).map($c)}json(e,t){return Bh(this,t).map(t=>{let n=t.toView().json(e)[0]||{};return n.verb=uh(t),n},[])}subjects(e){return Bh(this,e).map(e=>($c(e),Xc(e).subject))}adverbs(e){return Bh(this,e).map(e=>e.match("#Adverb"))}isSingular(e){return Bh(this,e).filter(e=>!0!==Xc(e).plural)}isPlural(e){return Bh(this,e).filter(e=>!0===Xc(e).plural)}isImperative(e){return Bh(this,e).filter(e=>e.has("#Imperative"))}toInfinitive(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return hh(e,t,n.form)})}toPresentTense(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return wh(e,t,n.form)})}toPastTense(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return gh(e,t,n.form)})}toFutureTense(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return Nh(e,t,n.form)})}toGerund(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return xh(e,t,n.form)})}conjugate(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return"imperative"===n.form&&(n.form="simple-present"),{Infinitive:hh(e.clone(),t,n.form).text("normal"),PastTense:gh(e.clone(),t,n.form).text("normal"),PresentTense:wh(e.clone(),t,n.form).text("normal"),FutureTense:Nh(e.clone(),t,n.form).text("normal")}},[])}isNegative(){return this.if("#Negative")}isPositive(){return this.ifNo("#Negative")}toPositive(){let e=this.match("do not #Verb");return e.found&&e.remove("do not"),this.remove("#Negative")}toNegative(e){return Bh(this,e).map(e=>{let t=$c(e),n=Qc(e,t);return Oh(e,t,n.form)})}update(e){let t=new Verbs(this.document,e);return t._cache=this._cache,t}}Verbs.prototype.toPast=Verbs.prototype.toPastTense,Verbs.prototype.toPresent=Verbs.prototype.toPresentTense,Verbs.prototype.toFuture=Verbs.prototype.toFutureTense,e.prototype.verbs=function(e){let t=Cc(this);return t=Bh(t,e),new Verbs(this.document,t.pointer)}}};m.plugin(Cl),m.plugin(Yl),m.plugin(iu),m.plugin(ku),m.plugin(ac),m.plugin(sc),m.plugin(fc),m.plugin(Tc),m.plugin(Vh);export{m as default}; diff --git a/builds/two/compromise-two.cjs b/builds/two/compromise-two.cjs index 583b750ea..d3ebfa67f 100644 --- a/builds/two/compromise-two.cjs +++ b/builds/two/compromise-two.cjs @@ -1,2 +1,2 @@ -var e,t;e=this,t=function(){var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]},t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let a=this.update([t]);e(a,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let a=this.update([t]);return e(a,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach(e=>{a=a.concat(e.fullPointer)}),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let a=this.update([t]);return e(a,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let a=this.update([t]);return e(a,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let a=this.update([t]);return e(a,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,a]=e.index||[];t.push([n,a,a+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map((e,t)=>[t])),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var r=a;const o=Object.assign({},r,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon","preTagger"]),a}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&function e(t,n){if(l(n))for(const a in n)l(n[a])?(t[a]||Object.assign(t,{[a]:{}}),e(t[a],n[a])):Object.assign(t,{[a]:n[a]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>a[t]=e.lib[t]),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var d=function(e,t,n){const{methods:a}=n;let r=new t([]);return r.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(a.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):r):r;var o};let h=Object.assign({},e);const g=function(e,t){t&&g.addWords(t);let n=d(e,s,h);return n.compute(h.hooks),n};Object.defineProperty(g,"_world",{value:h,writable:!0}),g.tokenize=function(e,t){const{compute:n}=this._world;t&&g.addWords(t);let a=d(e,s,h);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},g.plugin=function(e){return u(e,this._world,s,this),this},g.extend=g.plugin,g.world=function(){return this._world},g.model=function(){return this._world.model},g.methods=function(){return this._world.methods},g.hooks=function(){return this._world.hooks},g.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},g.version="14.1.2";var m=g;const p=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},f=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},b=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},y=function(e){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(e)||/^[A-Z]$/.test(e)},v=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?f(n):(f(n),f([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!y(a.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,e=>e.toUpperCase());let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||y(r.text)&&r.text.length>1&&(r.text=r.text.replace(/^[A-Z]/,e=>e.toLowerCase()))}(e,o,n),p(e,o,n)},w=(new Date).getTime(),k=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var P=function(e){let[t,n]=e.index||[0,0];var a=(new Date).getTime()-w;a=parseInt(a,10),t=t>46655?46655:t,n=n>1294?1294:n;let r=k((a=a>46655?46655:a).toString(36));r+=k(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const A=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},D=e=>"[object Array]"===Object.prototype.toString.call(e),j=function(e,t,n){const{document:a,world:r}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.docs[0]:D(e)?D(e[0])?e[0]:e:[]}(e,r);h=function(e){return e.forEach(e=>{e.id=P(e)}),e}(h),n?(A(t.update([u]).firstTerm()),v(d,u,h,a)):(A(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(a,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(N,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,a);let r=this.update(n);n=n.map(e=>e.slice(0,3));let o=(r.docs[0]||[]).map(e=>Array.from(e.tags));a.insertAfter(e),r.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction+").contractions().expand(),a.delete(r);let i=a.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?a.replaceWith(t,n):this}};var x=E;const T={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),a=this;e&&(n=this,a=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let r=n.fullPointer,o=a.fullPointer.reverse(),i=function(e,t){t.forEach(t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e}(this.document,o),s=t(o);return r=r.map(e=>{let[t]=e;return s[t]?(s[t].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e}),r=r.filter((e,t)=>{if(e[2]-e[1]<=0){for(let e=t+1;et[0]===e).forEach(e=>{e[0]-=1});return!1}return!0}),r=r.map(e=>(e[3]=null,e[4]=null,e)),n.ptrs=r,n.document=i,n.compute("index"),e?n.toView(r):n.none()}};T.delete=T.remove;var C=T;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var O=B,z={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0}),e}};const F=new Set(["index","sequence","seq","sequential","chron","chronological"]),V=new Set(["freq","frequency","topk","repeats"]),$=new Set(["alpha","alphabetical"]);var H={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map((e,t)=>[t]),r=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:a[t]}));return F.has(e)&&(e="sequential"),$.has(e)&&(e="alpha"),V.has(e)?(r=z.byFreq(r),this.update(r.map(e=>e.pointer))):"function"==typeof z[e]?(r=r.sort(z[e]),this.update(r.map(e=>e.pointer))):this}};const S=function(e,t){let n=e[e.length-1],a=n[n.length-1];return!1===/ /.test(a.post)&&(a.post+=" "),e=e.concat(t)};var J={concat:function(e){const{methods:t,document:n,world:a}=this;if("string"==typeof e){let r=t.one.tokenize.fromString(e,a),o=this.fullPointer,i=o[o.length-1][0];return p(n,i+1,r),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=S(e.document,t.document),e.all()}(this,e);if(r=e,"[object Array]"===Object.prototype.toString.call(r)){let t=S(this.document,e);return this.document=t,this.all()}var r;return this}},M={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const W=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},G,x,C,O,H,J,M);var L={api:function(e){Object.assign(e.prototype,W)},compute:{id:function(e){let t=e.docs;for(let e=0;e{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},q=function(e,t){let{ptrs:n,byGroup:a}=e;return n=K(n,t),Object.keys(a).forEach(e=>{a[e]=K(a[e],t)}),{ptrs:n,byGroup:a}},U=e=>e&&"object"==typeof e&&!0===e.isView;var R={matchOne:function(e,t,n){const a=this.methods.one;if(U(e))return this.intersection(e).eq(0);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=q(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(U(e))return this.intersection(e);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=q(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(U(e))return e.fullPointer.length>0;"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(U(e))return this.filter(t=>t.intersection(e).found);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=this.fullPointer;return o=o.filter(e=>{let t=this.update([e]);return a.match(t.docs,r,this._cache).ptrs.length>0}),this.update(o)},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;return U(e)?this.difference(e):("string"==typeof e&&(e=r.parseMatch(e,n)),this.filter(n=>{let a={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,a,n._cache).ptrs.length}))}},Z={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&r.push([t[0],0,t[1]])});let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}}),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let a=this.fullPointer;return this.forEach((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}}),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Q=function(e,t){return[e[0],e[1],t[2]]},_=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},X=function(e,t){let[n,a]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id),e},Y={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Q(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Q(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)}};Y.split=Y.splitAfter;var ee=Y;const te=Object.assign({},R,Z,ee);te.lookBehind=te.before,te.lookBefore=te.before,te.lookAhead=te.after,te.lookAfter=te.after,te.notIf=te.ifNo;var ne=function(e){Object.assign(e.prototype,te)};const ae=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,re=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),se=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var le=function(e){let t=e.split(ae),n=[];t.forEach(e=>{ie(e)?n.push(e):n=n.concat(e.split(re))}),n=se(n);let a=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ie(e)?a.push(e):a=a.concat(e.split(oe))}),a=se(a),a};const ue=/\{([0-9]+)?(, *[0-9]*)?\}/,ce=/&&/,de=new RegExp(/^<\s*(\S+)\s*>/),he=e=>e.charAt(0).toUpperCase()+e.substr(1),ge=function(e){return e[e.length-1]},me=function(e){return e[0]},pe=function(e){return e.substr(1)},fe=function(e){return e.substr(0,e.length-1)},be=function(e){return e=pe(e),e=fe(e)},ye=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===ge(e)&&(n.end=!0,e=fe(e)),"^"===me(e)&&(n.start=!0,e=pe(e)),("["===me(e)||"]"===ge(e))&&(n.group=null,"["===me(e)&&(n.groupStart=!0),"]"===ge(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===me(e))){const t=de.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===ge(e)&&(n.greedy=!0,e=fe(e)),"*"!==e&&"*"===ge(e)&&"\\*"!==e&&(n.greedy=!0,e=fe(e)),"?"===ge(e)&&(n.optional=!0,e=fe(e)),"!"===me(e)&&(n.negative=!0,e=pe(e)),"~"===me(e)&&"~"===ge(e)&&e.length>2&&(e=be(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===me(e)&&")"===ge(e)){ce.test(e)?(n.choices=e.split(ce),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=pe(n.choices[0]);let a=n.choices.length-1;n.choices[a]=fe(n.choices[a]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>ye(e,t))),e=""}if("/"===me(e)&&"/"===ge(e))return e=be(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===me(e)&&"}"===ge(e))return e=be(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===me(e)&&">"===ge(e))return e=be(e),n.chunk=he(e),n.greedy=!0,n;if("%"===me(e)&&"%"===ge(e))return e=be(e),n.switch=e,n}return!0===ue.test(e)&&(e=e.replace(ue,(e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===me(e)?(n.tag=pe(e),n.tag=he(n.tag),n):"@"===me(e)?(n.method=pe(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ve=ye,we=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let a=0;a{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},ke=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=le(e);return n=n.map(e=>ve(e,t)),n=we(n,t),n};const Pe=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ae=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),xe=(e,t)=>-1!==e.pre.indexOf(t),Te={hasQuote:e=>je.test(e.pre)||Ie.test(e.post),hasComma:e=>Ee(e,","),hasPeriod:e=>!0===Ee(e,".")&&!1===Ee(e,"..."),hasExclamation:e=>Ee(e,"!"),hasQuestionMark:e=>Ee(e,"?")||Ee(e,"¿"),hasEllipses:e=>Ee(e,"..")||Ee(e,"…")||xe(e,"..")||xe(e,"…"),hasSemicolon:e=>Ee(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Ge.test(e.post)||Ge.test(e.pre),hasDash:e=>Ne.test(e.post)||Ne.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(e.text),isUpperCase:e=>/^[A-Z]+$/.test(e.text)};Te.hasQuotation=Te.hasQuote;var Ce=Te;let Be=function(){};Be=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(De(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ce[t.method]&&!0===Ce[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?!(!e.implicit||!0!==t.fastOr.has(e.implicit))||t.fastOr.has(e.normal)||t.fastOr.has(e.text):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>Be(e,t,n,a)):t.choices.some(t=>Be(e,t,n,a)))}(e,t,n,a);return!0===t.negative?!r:r};var Oe=Be;const ze=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Fe(e,e.t).length=a-e.t),e.t=a,!0)};const $e=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Oe(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Oe(e.terms[a],t,a,e.phrase_length)});return!0===a&&n.length>t&&(t=n.length),a})&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Fe(e,e.t).length+=a),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null},Je=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);return a.negative=!1,!0!==Oe(e.terms[e.t],a,e.start_i+e.t,e.phrase_length)||null},Me=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Oe(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Oe(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},We=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null},Le=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},Ke=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Me(e),a.implicit&&e.terms[e.t+1]&&Le(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||We(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=Fe(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0):null)},qe=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==ze(e,r)){if(!0!==Oe(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(e.negative&&!Je(r))return null;if(!0!==e.optional)return null}else if(!Ke(r))return null}else if(!Ke(r))return null}else if(!Ke(r))return null}else if(!Se(r))return null}else if(!He(r))return null}else if(!Ve(r))return null}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach(e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]}),{pointer:o,groups:i}},Ue=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{a[t]=a[t]||[],a[t].push(e.groups[t])})})),{ptrs:n,byGroup:a}};const Re=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Ze=function(e,t,n){let a=qe(e,t,0,e.length);return a?(a=Re(a,n),a):null};var Qe={api:ne,methods:{one:{termMethods:Ce,parseMatch:ke,match:function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Ze(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ue(i,r),i.ptrs.forEach(t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id}),i}}},lib:{parseMatch:function(e,t){return this.world().methods.one.parseMatch(e,t)}}};const _e=/^\../,Xe=/^#./,Ye=function(e,t){let n={},a={};return Object.keys(t).forEach(r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),_e.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)})}),{starts:n,ends:a}};var et={html:function(e){let{starts:t,ends:n}=Ye(this,e),a="";return this.docs.forEach(e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(nt,""),rt.test(r)&&(r=" "),r=r.replace(at,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(nt,""),r="-"===r?" ":r.replace(tt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&ot.test(r)||(r+=" "),a+=n+o+r}),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},st={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};st.clean=st.normal,st.reduced=st.root;var lt=st;const ut={text:!0,terms:!0};let ct={case:"none",unicode:"some",form:"machine",punctuation:"some"};const dt=function(e,t){return Object.assign({},e,t)},ht={text:e=>it(e,{keepPunct:!0},!1),normal:e=>it(e,dt(lt.normal,{keepPunct:!0}),!1),implicit:e=>it(e,dt(lt.implicit,{keepPunct:!0}),!1),machine:e=>it(e,ct,!1),root:e=>it(e,dt(ct,{form:"root"}),!1),offset:e=>{let t=ht.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};ht.sentences=ht.sentence,ht.clean=ht.normal,ht.reduced=ht.root;const gt={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},ut,a)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let r={};return Object.keys(a).forEach(o=>{a[o]&&ht[o]&&(r[o]=ht[o](e,n,t))}),r}));var n,a;return"number"==typeof e?t[e]:t}};gt.data=gt.json;var mt=gt,pt=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const ft="";var bt={green:e=>""+e+ft,red:e=>""+e+ft,blue:e=>""+e+ft,magenta:e=>""+e+ft,cyan:e=>""+e+ft,yellow:e=>""+e+ft,black:e=>""+e+ft,dim:e=>""+e+ft,i:e=>""+e+ft},yt=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(bt.blue("\n ──────")),t.forEach(e=>{console.log(bt.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],a=e.text||"-";e.sense&&(a="{"+e.sense+"}"),e.implicit&&(a="["+e.implicit+"]"),a=bt.yellow(a);let r="'"+a+"'";r=r.padEnd(18);let o=bt.blue(" │ ")+bt.i(r)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return bt[n](e)})),e.join(", ")}(t,n);console.log(o)})})},vt=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(bt.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(bt.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(bt.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(bt.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},wt=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${bt.blue(a[1])}${a[2]}`}(a,e.offset,t)}),console.log(a)})};const kt=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var Pt=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(a=>{e.match(a).fullPointer.forEach(e=>{n[e[3]]={fn:t[a],end:e[2]}})}),n}(e,t),a="";return e.docs.forEach((t,r)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},Dt={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&<.hasOwnProperty(e)?t=Object.assign({},lt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Nt=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var Et=function(e,t){let n=Nt(t),a=[];return e.forEach(e=>{let[t]=e,r=n[t]||[];if(r=r.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===r.length)return void a.push({passthrough:e});r=r.sort((e,t)=>e[1]-t[1]);let o=e;r.forEach((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)})}),a},xt={one:{termList:function(e){let t=[];for(let n=0;n{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<4;a+=1){if(t[n-a]){let r=t[n-a].findIndex(t=>t.id===e);if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex(t=>t.id===e);if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex(e=>e.id===r);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))}),n},pointer:{indexN:Nt,splitAll:Et}}},Tt=function(e,t){let n=e.concat(t),a=Nt(n),r=[];return n.forEach(e=>{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter(t=>Gt(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);r.push(o)}),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},Bt=function(e,t){let n=Nt(t),a=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>Gt(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},zt=function(e,t){return e.map(e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e})},Ft={union:function(e){e=Ot(e,this);let t=Tt(this.fullPointer,e.fullPointer);return t=zt(t,this.document),this.toView(t)}};Ft.and=Ft.union,Ft.intersection=function(e){e=Ot(e,this);let t=Bt(this.fullPointer,e.fullPointer);return t=zt(t,this.document),this.toView(t)},Ft.not=function(e){e=Ot(e,this);let t=Ct(this.fullPointer,e.fullPointer);return t=zt(t,this.document),this.toView(t)},Ft.difference=Ft.not,Ft.complement=function(){let e=this.all(),t=Ct(e.fullPointer,this.fullPointer);return t=zt(t,this.document),this.toView(t)},Ft.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=Tt(e,[t])}),e=zt(e,this.document),this.update(e)};var Vt={methods:xt,api:function(e){Object.assign(e.prototype,Ft)}};const $t=/ /,Ht=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},St=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,r),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),$t.test(t))!function(e,t,n,a){let r=t.split($t);e.forEach((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),St(e,o,n,a))})}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nJt(e,t,n,a))};var Mt=Jt,Wt=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Lt({id:e})),t}return[Lt({id:e})]}(e))}),n=n.filter(e=>e);let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),a.push(n)})}return n},Rt=e=>"[object Array]"===Object.prototype.toString.call(e),Zt=e=>(e=e||"").trim(),Qt=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Kt.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:qt(e)})});let a=function(e){let t={children:[]};return e.forEach((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Lt({});return e.forEach(e=>{if((e=Lt(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Ut(t=e).forEach(Lt),t);var t},_t=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Ut(e).forEach((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"}),a},Xt=function(e){let t=Ut(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Yt={text:_t,txt:_t,array:Xt,flat:Xt},en=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(_t(e,!0)),null):Yt.hasOwnProperty(t)?Yt[t](e):e},tn=e=>{Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},nn=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zt(e),!nn.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!a)return null;e=a}return e})(this.json,e)||Lt({});return new g$1(t)}add(e,t={}){if(Rt(e))return e.forEach(e=>this.add(Zt(e),t)),this;e=Zt(e);let n=Lt({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zt(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Ut(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Ut(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Ut(this.json)}fillDown(){var e;return e=this.json,Ut(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Rt(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){tn(this.json);let e=Ut(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return tn(this.json),en(this.json,e)}debug(){return tn(this.json),en(this.json,"debug"),this}}const an=function(e){let t=Qt(e);return new g$1(t)};an.prototype.plugin=function(e){e(this)};var rn={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const on=function(e){if(rn.hasOwnProperty(e.id))return rn[e.id];if(rn.hasOwnProperty(e.is))return rn[e.is];let t=e._cache.parents.find(e=>rn[e]);return rn[t]};var sn=function(e){const t={};return e.forEach(e=>{let{not:n,also:a,is:r}=e.props,o=e._cache.parents;a&&(o=o.concat(a)),t[e.id]={is:r,not:n,also:a,parents:o,children:e._cache.children,color:on(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const ln=function(e){return e?"string"==typeof e?[e]:e:[]};var un=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=ln(e[t].children),e[t].not=ln(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},cn={one:{setTag:Mt,unTag:Wt,addTags:function(e,t){e=un(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is};return{id:t,parent:n.is,props:a,children:[]}});return an(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sn(n)}}};const dn=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var hn={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),dn(e)?e.forEach(e=>r.one.setTag(a,e,i,n)):r.one.setTag(a,e,i,n),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return dn(e)?e.forEach(e=>a.one.unTag(n,e,i)):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach((e,t)=>{e.forEach((e,r)=>{n.find(t=>e.tags.has(t))&&a.push([t,r,r+1])})});let r=this.update(a);return this.difference(r)}},gn=function(e){Object.assign(e.prototype,hn)},mn={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const pn=new Set(["Auxiliary","Possessive"]);var fn={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(pn.has(e)||!t.hasOwnProperty(n))return 1;if(pn.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})}(t,a)})})}},methods:cn,api:gn,lib:mn};const bn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,yn=/((?:\r?\n|\r)+)/;var vn=function(e){let t=[],n=e.split(yn);for(let e=0;e0&&(a.push(t),r[e]="")}if(0===a.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Vn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,$n=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Hn=/['’]/,Sn=/^[a-z]\.([a-z]\.)+/i,Jn=/^[-+.][0-9]/,Mn=/^'[0-9]{2}/;var Wn=function(e){let t=e,n="",a="";return""===(e=(e=e.replace(Vn,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Jn.test(e)?"'"===n&&Mn.test(e)?(n="",t):"":(n="",t)))).replace($n,r=>(a=r,Hn.test(r)&&/[sn]['’]$/.test(t)&&!1===Hn.test(n)?(a=a.replace(Hn,""),"'"):!0===Sn.test(e)?(a=a.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(a=e||"","")),e=t,n=""),{str:e,pre:n,post:a}},Ln=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Kn=/([A-Z]\.)+[A-Z]?,?$/,qn=/^[A-Z]\.,?$/,Un=/[A-Z]{2,}('s|,)?$/,Rn=/([a-z]\.)+[a-z]\.?$/;var Zn=function(e){return function(e){return!0===Kn.test(e)||!0===Rn.test(e)||!0===qn.test(e)||!0===Un.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Qn=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Ln(a),a=n(a,t),a=Zn(a),e.normal=a},_n={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let a=e.split("");return a.forEach((e,t)=>{n[e]&&(a[t]=n[e])}),a.join("")},tokenize:{splitSentences:Gn,splitTerms:function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(zn);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Cn(n),n=xn(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:a}=Wn(e);return{text:t,pre:n,post:a,tags:new Set}},fromString:function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",a).map(e=>{let n=o(e,a);return n=n.map(i),n.forEach(e=>{Qn(e,t)}),n})}}}},Xn={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Yn={},ea={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Yn[t]=!0,ea[t]="Abbreviation",void 0!==e[1]&&(ea[t]=[ea[t],e[1]])})});var ta=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let na={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},aa={};Object.keys(na).forEach((function(e){na[e].split("").forEach((function(t){aa[t]=e}))}));const ra=/\//,oa=/[a-z]\.[a-z]/i,ia=/[0-9]/;var sa=function(e,t){let n=e.normal||e.text;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),ra.test(n)&&!oa.test(n)&&!ia.test(n)){let t=n.split(ra);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e},la=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(t)&&(t=t.replace("-","")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},ua=function(e){let t=0,n=0,a=e.document;for(let e=0;eca(e,sa),machine:e=>ca(e,la),normal:e=>ca(e,Qn),freq:function(e){let t=e.docs,n={};for(let e=0;ee.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const ga=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const fa=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var ba=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=fa(e.goNext,void 0),e.failTo=fa(e.failTo,0),e.endAs=fa(e.endAs,null),e},ya={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:ha(e,this.world));var a;let r=pa(this,n,t);return r=r.settle(),r}},lib:{compile:function(e){const t=ha(e,this.world());return ba(t)}}};const va={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var wa={api:function(e){Object.assign(e.prototype,va)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit);let n=Array.from(e.tags);for(let e=0;e{!0!==e.optional&&!0!==e.negative&&(e.tag&&t.add("#"+e.tag),e.word&&t.add(e.word))}),t}}}};const ka=function(){const e=this.docs;if(0===e.length)return this;let t=e[e.length-1]||[],n=t[t.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var Pa=function(e,t,n){let a={},r=[],o=n.prefixes||{};return e.forEach(e=>{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]}),a};const Aa={safe:!0,min:3};var Da={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=ka},lib:{typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},Aa,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=Pa(e,t,this.world());return Object.keys(r).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let a=n[n.length-1]||[],r=a[a.length-1];if(!r.post&&t.hasOwnProperty(r.normal)){let n=t[r.normal];r.implicit=n,r.machine=n,r.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]},ja=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,"1-lexicon-alias"),!0}if(!0===Ia.test(l)){let e=l.replace(Ia,"");if(i.hasOwnProperty(e)&&e.length>3&&Ga.has(i[e]))return o([s],i[e],n,"1-lexicon-prefix"),!0}return null},Ea={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=e[a],o=(a=a.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},hooks:["lexicon"]},xa={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}},Ta=function(e,t,n){let[a,r]=t;n&&0!==n.length&&((n=n.map(e=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Ca=/'/,Ba=new Set(["what","how","when","where","why"]),Oa=new Set(["be","go","start","think","need"]),za=new Set(["been","gone"]);var Fa=function(e,t){let n=e[t].normal.split(Ca)[0];if(Ba.has(n))return[n,"did"];if(e[t+1]){if(za.has(e[t+1].normal))return[n,"had"];if(Oa.has(e[t+1].normal))return[n,"would"]}return null};const Va=/'/;var $a=function(e,t){let n=e[t].normal.split(Va)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]},Ha=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const Sa=/'/;var Ja=(e,t)=>["je",e[t].normal.split(Sa)[1]],Ma=(e,t)=>{let n=e[t].normal.split(Sa)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Wa=(e,t)=>{let n=e[t].normal.split(Sa)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const La=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,Ka=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var qa=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let a=n.text.match(La);return null!==a?[a[1],"to",a[2]]:(a=n.text.match(Ka),null!==a?[a[1],"to",a[4]]:null)};const Ua=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Ra=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Za=(e,t)=>{let n=e[t],[a]=n.normal.split(/'s/);if(Ua.has(a))return!0;let r=e[t+1];return!(!r||!Ra.has(r.normal))};const Qa=/'/,_a=/^[0-9][^-–—]*[-–—].*?[0-9]/,Xa=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Ya={t:(e,t)=>Ha(e,t),d:(e,t)=>Fa(e,t),s:(e,t)=>!0===Za(e,t)?$a(e,t):null},er={j:(e,t)=>Ja(e,t),l:(e,t)=>Ma(e,t),d:(e,t)=>Wa(e,t)},tr=function(e,t,n,a){for(let r=0;r{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===Qa.test(a[s].normal)&&([l,u]=a[s].normal.split(Qa));let c=tr(o,a[s],l,u);!c&&Ya.hasOwnProperty(u)&&(c=Ya[u](a,s,t)),!c&&er.hasOwnProperty(l)&&(c=er[l](a,s)),c?(c=nr(c,e),Ta(n,[i,s],c),Xa(n[i],e)):_a.test(a[s].normal)&&(c=qa(a,s),c&&(c=nr(c,e),Ta(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t),Xa(n[i],e)))}})}},hooks:["contractions"]};m.extend(L),m.extend(It),m.extend(Qe),m.extend(Vt),m.extend(fn),m.plugin(ar),m.extend(da),m.plugin(wa),m.extend(ya),m.extend(Da),m.extend(Ea);var rr={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},or={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Uncountable:"true¦0:2O;1:1W;2:24;a2Db24c1Ud1Le1Df17g10h0Ti0Nj0Mk0Ll0Hm06n04o03pXrSsHt8vi7w3;a5i4oo3;d,l;ldlife,ne;rm7t2;neg1Rol0Mtae;eAh9oothpas1Lr4un3yranny;a,gst1T;aff00ea16o4ue nor3;th;oZu3;ble3se1Dt;!shoot1V;ermod29und2;a,nnis;aBcene0Heri1hAil9ki8o7p6t4u3weepstak1;g1Gnshi10;ati28e3;am,el;ace21eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;d0Nfe1Ul3nd,t0B;m1Kt;a6e4ic3;e,ke0V;c3laxa0Ssearch;ogni0Rrea0R;bi1in;aVe7hys0lastDo5re3;amble,mis1s3ten1J;en1Isu0C;l3rk;it0yD;a1Ntr06;bstetr0vercrowd16xyg0Z;a3ews;il polWtional securi1F;aBe9o6u3;m4s3;ic;ps;n3o17;ey,o3;gamy;a3chan0rchandi14tallurgy;sl1t;chine3themat0; learn0Try;aught2e5i4ogi1Au3;ck,g0V;ce,ghtn0Qngui18teraR;ath2isuRss;indergart0Hnowled0T;azz,ewelCusti13;ce,gnor7mp4n3tself;formaYternet;a3ort5;ti3;en0Y;an0X;a6eIisto5o3;ckey,mework,ne3rserad7spitali0Q;s0Py;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0R;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;icFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti03;body,o3thU;ne;joy3tertain3;ment;ici01on0;tiR;e9i6o4raugh3ynasZ;ts;pe,wnstai3;rs;abet1s3;honTrepu3;te;b3miP;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eGw8;us;d,rI;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarDs3;on;g3ss;ga3;ge;cDdviCeroAir9m5ni4ppeal court,spi3thlet0;rin;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4B;a3Eb2Wc2Dd25e21f1Wg1Oh1Ji1Gj1Ek1Cl17m0Vn0Io0Fp08qu07r00sTtGuBv8w3xiaomi,y1;amaha,m12ou1w12;gov,tu2X;a3e1orld trade organizati2Q;lls fargo,st1;fie27inghou2G;l1rner br3G;gree35l street journ28m16;an halOeriz2Lisa,o1;dafo2Ml1;kswagMvo;b4kip,n2ps,s1;a tod2Wps;es38i1;lev31ted natio2Y;er,s; mobi2Oaco bePd bMeAgi frida9h3im horto2Wmz,o1witt2Z;shiba,y1;ota,s r Z;e 1in lizzy;b3carpen35daily ma2Zguess w2holli0rolling st1Qs1w2;mashing pumpki2Ruprem0;ho;ea1lack eyed pe3Jyrds;ch bo1tl0;ys;l2n3Bs1xas instrumen1I;co,la m14;efoni0Bus;a6e4ieme2Jnp,o2pice gir5quare03ta1ubaru;rbucks,to2P;ny,undgard1;en;a2Tx pisto1;ls;few29insbury2PlesforYmsu21;.e.m.,adiohead,b6e3oyal 1yana2Z;b1dutch she4;ank;aders dige1Gd 1max,vl1Q;bu1c1Yhot chili peppe2Mlobst2B;ll;c,s;ant2Zizno2H;a5bs,e3fiz27hilip morrCi2r1;emier29udenti16;nk floyd,zza hut;psi2Atro1uge0A;br2Uchina,n2U;lant2Mn1yp12; 2ason1Zda2H;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Gtflix,w1; 1sweek;kids on the block,york09;a,c;nd1Us2t1;ional aca2Ho,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Lnsanto,ody blu0t1;ley crue,or0N;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt13z1Y;'ore08a3e1g,ittle caesa1J;novo,x1;is,mark; 1bour party;pres0Az boy;atv,fc,kk,m1od1I;art;iffy lu0Loy divisi0Fpmorgan1sa;! cha06;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Qi3o1sbc,yundai;me dep1n1K;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Ku1;cci,ns n ros0;ldman sachs,o1;dye1g0D;ar;axo smith kli02encoU;electr0Jm1;oto0V;a4bi,da,edex,i2leetwood mac,o1rito l0C;rd,xcW;at,nancial1restoX; tim0;cebook,nnie mae;b07sa,u3xxon1; m1m1;ob0G;!rosceptics;aiml0Ae6isney,o4u1;nkin donu2po0Wran dur1;an;ts;j,w j1;on0;a,f lepp0Yll,peche mode,r spiegYstiny's chi1;ld;aHbc,hDiBloudflaAnn,o3r1;aigsli5eedence clearwater reviv1ossra05;al;ca c6inba5l4m1o0Ast05;ca2p1;aq;st;dplOgate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7O;1:6H;2:7U;3:7K;4:7X;5:7T;6:6T;7:7E;8:71;9:6P;a7Gb6Sc5Rd57e4Zf4Bg42h3Ui3Oj3Mk3Kl3Am31n2Xo2Tp21ques7Ir1Ds07tTuRvMwCyBzA;ip,o6A;awn,e1Wie4R;aHeaGhEiCoAre7I;nd0rA;k,ry;mp,nApe,re,sh,tne7Z;!d,g;e6EiA;p,st6;r,th0;it,rAs5t3ve,x;ehou1ra7Y;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l38;pAsh0;da5gra4W;aLeKhrJiIoHrDuBwiAy4L;n,st;nArn;e,n5Z;aCeBiAu7;bu5ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Pss,t72u3;ck,e,me,p,re;e1Low,u7;ar,e,st;g,lArg5Zs5;k,ly;a0Ec09e06h01iZkXlVmUnTou68pPtFuBwA;ear,it3;b1Wit,m,ppBrAspe4;ge,pri1vey;lAo58;e55y;aHeGiFoDrBuAy6;dy,ff,mb6;a68eAi4C;am,ss,t3;p,rA;e,m;ck,t3;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Hons6IrAy;ay,e10ink6u2;n,r6Ete;n,rk;ee1Dow;e0Fi6o3Z;eep,iA;ce,p,t;ateboa5ViA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i30;pe,re;aBed,nArv14t;se,t1W;l,r3t;aDhedu6oCrA;at3eA;en,w;re,ut;le,n,r0H;crifi2il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1A;as5AcOdo,el,fMgLje4lKmInHo0TpFque7sCturn,vAwa58;eAi1H;al,r1;er5FoBt,uA;lt,me;l5Drt;air,eaAly,o3V;l,t;dezvo23t;aAedy;ke,rk;ea1i3B;a4Wist0r4A;act5Aorm,uA;nd,se;aAo4Tru8;ll;ck,i1ke,l44nAtT;ge,k;aYeVhTiQlLoIrBuA;mp,n3rcha1sh;ai1eEi2oAu3H;be,ceCdu2grAje4mi1te7;amAe59;!me;ed,ss;sAy;er4Rs;iBlAol,p,re,s2Pw0;i2l;nt,s4G;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Sm8;!l;cka9iBn,rtAss,t3u1;!y;nt,r;bCff0il,oBrAutli2R;d0ie4P;ze;je4;a3JeCoA;d,tA;e,i2;ed,gle4rd,t;aFeDiCoBuA;rd0;d2Snit42p,ve;lk,n2Wrr41x;asu11n3MrAss;ge,it;il,nBp,rk2XsAt3;h,k;da5oeuv0X;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0CvA;el,y;ch,d,p,se;bBcAnd,t3un3;e,k;el,o23;e2BiAno3A;ck,ll,ss;am,o15uA;d9i2;mpEnBr34ssA;ue;cr17dex,fluBha6k,se1TterviAvoi2;ew;en2;a4le1O;aEeCiBoAu3P;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo2Ym,ne3Eve7;!le;aHeek,lo3CoGrCuA;arAe3Bi0Ln;antee,d;aCiBoAumb6;om,u29;nd,p;de,sp;of,ssip;in,me,ng,s,ze;aWeSiNlJoGrCuA;el,nAzz;c2Ed;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Nm;us;aCe0Jip,oAy;at,od,wA;!er;g,re,sh,vo0Y;eDgClBnAre,sh,t,x;an2i0E;e,m,t0;ht,uE;ld;aBeAn2;d,l;r,tuA;re;ce,il,ll,rm,vo20;cho,nGsExAye;cCerci1hib8pAtra4;eriAo0I;en2me2H;el,han9;caAtima5;pe;count0d,gine0vy;aReLiFoErBuAye;b,mp;aBeam,iA;ft,nk,ve;ft,in;cu05d9ubt;p,sCvA;e,iAor2;de;char9liBpA;at3lay;ke;al,ba5cDfeClBma0Wpos8siAtail;gn,re;ay,ega5;at,ct;liXrA;ea1;ma9n2rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu4glomeDstru4tAveI;a4rA;a7ol;ntArn;ra5;biEfoDmCpA;leAou08romi1;me1B;a06e1Au5;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t3u1ve;se;d,e;aTeQiPlMoIrDuAypa0M;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan2nCrgaBsA;e,h;in;!d,g,k;c00dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa3;ch;al;chAsw0;or;er;d,m,r;ia5;dDvA;an2oca5;te;ce;i4reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aNbrigadiMcGdFexcellency,fiAliCma9officMp5queen,r2s0taoiseach,vice4;e0ultI;cond liArgeaB;abbi,e0;ar0verend; adJ;astFr0;eside6i0ofessE;me ministEnce0;!ss;gistrate,r4yB;eld mar3rst l0;ady,i0;eutena0;nt;shA;oct5utchess;aptain,hance3o0;lonel,mmand4ngress0unci2;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:49;1:4U;2:4V;3:4K;4:4I;5:3I;6:4H;a4Hb3Wc32d2Ne2Ff27g1Wh1Kin1Ijel3k1Gl1Dm15n13o0Zp0Jqu0Ir09sQtHuEvAw7;a7ha34om23;f0i4Jt0Ay7;! arou45;arn45e8o7;cabu03l4Q;gGr7;di6t1C;nc2Xp2Ir8s 7;doll3Is4Q;bani1in2; rex,aEeDhCiAo9r8u7v show;m2An5rntGto10;agedy,ibe,o3S;p5rq37;c,de,er,m7;etC;ere,i3Z;am,mp32;ct5le4x return;aOcMeLhKi1kIoHtCu9y7;ll7n1Zst4B;ab2J;b8nri13per bowl,r7;f0roga1;st35tot2;aAep9ipe3Ir8udent7;! lo1D;ang0i3O;fa18mo18;ff0t2T;loi3Qme0Z;elet0Wi7;er,ll,rm3C;ack,or3X;ab0Ncurity gu27;e4ho7;l2Qol;la2T;av0PeAhetor5i8o7;de4om;te,v7;erb0G;bAc9f7publ5r0Hspi1;er7orm0;e4r2;it2ord label;a1u3N;estion mark,ot21;aJeIhHiFlDr8u7yram13;ddi32ppy,rpo0C;eAie36o7;bl3Gs7;pe6t7;a1itu1;diction,mi07roga1Ess relea07;a7ebisci1;q20te,y0;cn5e7g;!r;armaci2XotocoE;dest2ncil,rcen36t2;n8te7;!nt;el2Jop3;bjec14c8pia1rde2thers,ve7wn0;n,rview;cu7e09;pi0;an23it1Xot7umb0;a1Xhi2I;aCeBili0Vo8u7é0A;m0Mr2;m8nopo3pLrni2Fsq1Kt7u0Z;h0i0W;!my;d5nu;mm2nd0Zte7yf3;ri2;aurea1i8u7;ddi1nch;ght bulb,p07;ey7ittI;!no1;cide4dices,se6te4vert7;eb1H;aHeaDighBo7uman right,ygie0Y;le,me8tb7;ed;! r7;un; scho10ri7;se;d8v7;en; start,ph7;one;m,ndful,ze;aFeDirl1HlaNoCr8u7;l3y;an7enadi0id;a12d7; slam,fa7mo7;th0;d,lf0;lat0Cntlem7;an;df3r7;l5n19;aDella,iBlAol3r7;ee market,i8on7;ti0;e14ga1;ame,u1;nan7ref3;ci0;br5mi3n0Sth0;conoDffCgg,lecto0LnBs1Qth5venAx8yel7;id;ampUe7te4;cuLmpl0F;i13t;er1F;e6i1E;my;adKeEiBo8r7u0M;agonf3i0;c8g1Ai3or,ssi0wn7;si0J;to09umen9;ale6gni8nn0s7vide0M;conte4incenAtri6;ta07;aBc2fAni2te7;c7rre4;ti7;ve;ault 01err2;th;!dy;aWeThLiKlIoBr7;edit c9it5uc7;ib7;le;ard;efficClAmmuniqKn9pi0rr2t0Uu7yo1;ri0s7;in;ne6suG;ic,um7;ni0F;ie4;er7ie4;gy,ic;ty,vil wH;aBeqAoco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli0racter7;ist5;ic;iliXll8r7;e2tifica1;ar;hi0na9pit2r7shi0ucus;bohyd7ri0;ra1;ry;aNeMiKlemJoGrBu7;ddhiUn9r7tterf3;glar7i2;!y;ny;eak9i8o7;!th0;de;faNthro7;ugh;dy,g,wl,y7;!frie7;nd;ish;cyc7oF;liG;an,l3;nki9r7;!ri0;er;ng;cMdJllHnEppeti1rray,sBth9u7;nt,to7;psy;ie7le1;st;ce4pe6;ct;nt;ec8oma3ti8;ly;do1;er7y;gy; homin8van7;tage;em;cru2e8qui7;tt2;ta1;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0W;a0Rb0Pc0Bd0Aex09f06g03he01in0Kjoule0kUlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Cd0Iears old,o1;tt06;att0b;able3e2on1;!ne0;a1r02;spoX;c09d08f3i06kilo0Am1ya05;e0Dil1;e0li08;eet0o04;ascals,e2i1ou0H;c0Ent0;rcent,tU;hms,uR;an0BewtO;/s,e6i1m²,²,³;/h,cro4l1;e1li02;! pEs 1²;anEpD;g01s06;gLter1;! 2s1;! 1;per second;iVu1;men0x;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0P;a0Ob0Jc0Ade09e04fXgWhomel06iUjuveni01lTmOnNoMpLrIsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;bYnt;ndergr1pstairs;adua0Gou1;nd;a3e1oken;en,r1;min0ror08;boo,n;e5istXo3qua2tandard,u1;bordina09per5;re,t;cial03l1;e,v0D;cret,n1ri0;ior;e1outiG;ar,lTnt0p1;resentSublican;ati07eriodic0otenti0rincip0;ffiWpposiZv0;agging,ovel;aDe3in2o1;biCdernS;iature,or;di1tr02;an,um;attFiber0;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1pL;ess;d1iE;er;mographKriv3;hiCo1rude;m3n2oper1;ative;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l1W;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AJ;4:CL;5:C0;6:CG;7:D3;8:BS;9:AR;A:94;B:DB;C:D4;aC8bB6cA6d97e8Hf81g7Eh6Ri6Bj5Dk51l4Dm35n2To2Np2Fqu2Dr1Ls11t0Fu0Ev07wTxSyIzD;aDor0;cDh9Ikaria,n0B;hEkD;!aC6;ar5TeC5;aLoFuD;sDu2KvBI;if,uf;nFsEusD;ouf,sD;ef;aDg;s,tD;an,h0;hli,nB7ssX;avi3ho4;aMeKiFoDyaBM;jcie86lfgang,odrow,utD;!er;lDnst1;bFey,fredBlD;aAYiD;am,e,s;e96ur;i,nde9sD;!l8t1;lEyD;l1ne;lDt3;a9Wy;aGiDladimir,ojte7T;cEha0kt66nceDrgA4va0;!nt;e3Vt64;lentDn9R;inD;!e;ghBElyss58nax,sm0;aWeRhNiLoHrFuEyD;!l3ro6s1;n7r58;avAGeDist0oy,um0;ntA8v5Vy;bFd8QmDny;!as,mDoharu;aCBie,y;iAy;mDt5;!my,othy;adFeoEia0JomD;!as;!do8F;!de5;dGrD;en97rD;an96eDy;ll,n95;!dy;dgh,ha,iDnn3req,tsu4Q;cAPka;aTcotRePhLiJoHpenc3tDur1Vylve95zym1;anFeDua84;f0phBCvDwa83;e5Yie;!islaw,l8;lom1uD;leyma6ta;dDlAm1yabonga;!dhart73n8;aFeD;lDrm0;d1t1;h7Jne,qu10un,wn,y6;aDbasti0k2Al4Org4Lth,ymoAE;m5n;!tD;!ie,y;lEmDnti2Eq57ul;!ke5Im9Ru4;ik,vato7N;aYeUhe9UiQoHuEyD;an,ou;b7CdEf5pe7JssD;!elBI;ol3Ey;an,bKc61dIel,geHh0landBmGnFry,sEyD;!ce;coe,s;!aA1n9H;an,eo;l44r;er77g3n8olfo,riD;go;b9CeAQ;cDl8;ar6Hc6GhEkDo;!ey,ie,y;a8Uie;gEid,ubCyDza;an1InY;g9SiD;na9Os;ch6Pfa4lHmGndFpha4sEul,wi2GyD;an,mo6T;h7Im5;alAWol2Ty;iACon;f,ph;ent2inD;cy,t1;aIeGhilFier6SrD;aka16eD;m,st1;!ip,lip;dA4rcy,tD;ar,e3Dr1X;b4Gdra72tr6IulD;!o17;ctav3Ci3liv3m9Yndrej,rHsEtDum7wC;is,to;aEc7k7m0vD;al5R;ma;i,vL;aLeJiFoDu37;aDel,j5l0ma0r3H;h,m;cEg4i45kD;!au,h7Fola;holAkDolA;!olA;al,d,il,ls1vD;il8I;hom,thD;anDy;!a4i4;aZeWiMoHuEyD;l2Gr1;hamEr6KstaD;fa,p54;ed,mH;di0We,hamFis2CntEsDussa;es,he;e,y;ad,ed,mD;ad,ed;cIgu4hai,kGlFnEtchD;!e9;a7Uik;house,o0Bt1;ae5Oe9NolD;aj;ah,hD;aEeD;al,l;el,l;hElv2rD;le,ri9v2;di,met;ay0hTjd,ks2AlRmadWnQrKs1tFuricExD;imilianBwe9;e,io;eGhEiAtDus,yA;!eo,hew,ia;eDis;us,w;j,o;cHio,kGlFqu6Ysha9tDv2;iDy;!m,n;in,on;el,oPus;!el91oOus;iGu4;achDcolm,ik;ai,y;amEdi,eDmoud;sh;adDm5G;ou;aWeQiOlo39oKuEyD;le,nd1;cGiFkDth3uk;aDe;!s;gi,s,z;as,iaD;no;g0nn7CrenFuDv82we9;!iD;e,s;!zo;am,oD;n4r;a7Vevi,la4AnHonGst3thaFvD;eDi;nte;bo;!a6Del;!ny;mFnErDur54wr54;ry,s;ce,d1;ar,o4X;aLeHhal7GiEristDu4Jy6I;i0o53;er0p,rD;k,ollD;os;en0iFnDrmit,v3T;!dr3WnDt1;e17y;r,th;cp3j5m5Rna6OrEsp7them,uD;ri;im,l;a00eUiSoGuD;an,lDst2;en,iD;an,en,o,us;aNeLhnKkubAnIrGsD;eEhDi7Vue;!ua;!ph;dDge;i,on;!aDny;h,s,th54;!ath53ie,n5L;!l,sDy;ph;o,qu2;an,mD;!m5G;d,ffGrDs5;a5YemEmai6oDry;me,ni0X;i7Fy;!e5NrD;ey,y;cKdCkImHrFsEvi3yD;dCs1;on,p3;ed,od,rDv4U;e5Aod;al,es4Lis1;a,e,oDub;b,v;ob,quD;es;aWbQchiPgNkeMlija,nuLonut,rJsFtDv0;ai,suD;ki;aEha0i6ZmaDsac;el,il;ac,iaD;h,s;a,vinDw2;!g;k,nngu5F;!r;nacDor;io;ka;ai,rahD;im;aPeJoIuDyd7;be2EgGmber4JsD;eyEsD;a2e2;in,n;h,o;m3ra35sse2wa3Z;aHctGitGnrErD;be27m0;iDy;!q0Y;or;th;bLlKmza,nJo,rFsEyD;a46dC;an,s0;lFo4Nry,uDv8;hi43ki,tD;a,o;an,ey;k,s;!im;ib;aVeRiPlenOoLrHuD;ilEsD;!tavo;herme,lerD;mo;aFegDov3;!g,orD;io,y;dy,h5J;nzaErD;an,d1;lo;!n;lbe4Xno,oD;rg36van4X;oFrD;aDry;ld,rdB;ffr8rge;brElCrDv2;la13r3Gth,y;e32ielD;!i5;aReOiMlKorrest,rD;anEedDitz;!d37er10r10;cFkD;!ie,lD;in,yn;esKisD;!co,z2V;etch3oD;yd;d4lDonn;ip;deriEliDng,rnan04;pe,x;co;bi0di,hd;dXfrWit0lRmKnHo2rFsteb0th0uge6vDymCzra;an,eD;ns,re2W;gi,i09nDrol,v2w2;estBie;oEriqDzo;ue;ch;aIerHiEmD;aHe2P;lDrh0;!iD;o,s;s1y;nu4;be0Ad1iFliEm3t1viDwood;n,s;ot1Rs;!as,j4EsD;ha;a2en;!d2Vg7mGoEuEwD;a25in;arD;do;oVuV;a01eQiOoGrag0uFwEylD;an,l0;ay6ight;a6dl8nc0st2;minGnEri0ugDvydAy28;!lA;!a2HnDov0;e9ie,y;go,iEykA;as;cDk;!k;armuDll1on,rk;id;andMj0lbeLmetri5nJon,rHsFvEwDxt3;ay6ey;en,in;hawn,moD;nd;ek,rD;ick;is,nD;is,y;rt;re;an,le,mKnJrFvD;e,iD;!d;en,iFne9rDyl;eDin,yl;l35n;n,o,us;!i4ny;iDon;an,en,on;a07e05hXiar0lNoIrGuEyrD;il,us;rtD;!is;aDistob0R;ig;dy,lGnErD;ey,neli5y;or,rD;ad;by,e,in,l2t1;aHeFiDyJ;fDnt;fo0Dt1;meDt5;nt;rFuEyD;!t1;de;enD;ce;aHeFrisD;!toD;ph3;st3;er;d,rDs;b4leD;s,y;cDdric,s7;il;lGmer1rD;ey,lEro9y;ll;!os,t1;eb,v2;a06eYiUlaToRrEuDyr1;ddy,rtK;aLeGiFuEyD;an,ce,on;ce,no;an,ce;nEtD;!t;dEtD;!on;an,on;dEndD;en,on;!foDl8y;rd;bby,rDyd;is;i6ke;bFlEshD;al;al,lK;ek;nHrDshoi;at,nEtD;!r1B;aDie;rdB;!iEjam2nD;ie,y;to;kaMlazs,nHrD;n8rDt;eDy;tt;ey;dDeE;ar,iD;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHuFveEyDziz;a0kh0;ry;gust5st2;us;hi;aKchJiIjun,maHnFon,tDy0;hDu08;ur;av,oD;ld;an,ndB;!el,ki;ie;ta;aq;as,dHgelBtD;hony,oD;i6nD;!iBy;ne;er,reDy;!as,i,s,w;iFmaDos;nu4r;el;ne,r,t;an,bePdCeJfHi,lGonFphXt1vD;aNin;on;so,zo;an,en;onTrD;ed;c,jaGksandFssaGxD;!andD;er,ru;ar,er;ndD;ro;rtB;ni;dCm7;ar;en;ad,eD;d,t;in;onD;so;aEi,olfBri0vik;!o;mDn;!a;dHeGraEuD;!bakr,lfazl;hDm;am;!l;allIelFoulaye,ulD;!lDrF;ah,o;! rD;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:93;1:81;2:7Y;3:8U;4:8O;5:6F;6:82;7:87;8:8E;9:5X;A:8T;a7Nb77c6Qd68e5Qf58g50h4Pi3Ujuni47k3Sl3Gm34n2Uo2Fp1Wquart64r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Gs6F;!sa6;ather13eBll o5Jste2R;!k5;aDeCiBola5D;b93ce versa,gi2R;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8V;ef75u4;b68ge0; Db2BpCsBti37;ca6et,ide dO;er,i4L;f3Wto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2GoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a8recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6Scov9ly2sDwB;aBei2L;t9y;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i2Hra;aGeDhough5Aip 1QoCrB;anspa6Zi3;geth9le81rp8;ena6GmpCrB;r3Ftia6Q;e7Lo6O;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb71;bDi generis,pBr5;erBre1P;! dup9b,viX;du1sBurb51;eq73tanda7N;atu6AeFi0VrByl3T;aBin4E;ightBy; fBfB;or5Y;adfa7Fri6;arCeBirit1lend8ot on;c2Ye34;k5se; caGlub6mb9phisticFrEuCvB;erei5Iiet;ndBth0Y;pro6G;d8ry;at1;ll1;g20nB;ce58g6;am30e9;at1co1Kem5lf3AnBre7;so5W;ath2holBient2K;ar5;cr1me,tisfac5N;aJeEheumato8iCoB;bu6Vtt58y4;ghtBv4;-w2f54;bZcEdu6MlDsBtard1;is3DoB;lu3na0;e1Euc3B;e0ondi3;b8ciB;al,st;aOeMicayu7laLopuli6LrCuB;bl5Wnjabi;eGiEoB;!b2QfCmi3CpBv4V;er,ort4C;a7u61;maBor,sti7va3;!ry;ci5Yexist2mBpa8;a1RiB;er,um;c8id;ac27rBti3;feAma32ti32v5S;i27rCsB;s41t;allCtB;-ti05i4;el;bMffKkJld InGrFth9utEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Yer,si4K;d2Ug1L; bBbBgo2li7;oa5X;fashion1school;!ay; gua5UbBli7si4E;eat;eCsB;ce7er0Eo0T;dia0se;aJeIiHoBuanc1;nDrthBt1U;!eB;rn;chaCdescri5Iprof28sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d13ltip6;deDl12nBot,st;ochroBth5;me;rn,st;dblTi;nac2re;cDgenta,in,j05keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aLeHiEoCuB;mber2sh;ngBut18;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBss9th4;al,eCitiB;ma3;nda3N;ngu8ps1st;aput,ind5nB;ow2;gno4Sll03mVnDpso 23rB;a3releB;va0; QaPcoMdJe28fIhibi3AiWnHsDtBvalu0S;aAeB;n43rdep1S;a7iColBubordi3O;ub6ve0;de,gB;nifica0;a3er;eriCluenOreq3U;eCiEoB;or;fini3p1Jtermi3G;mpCrB;reA;le3;ccu3Xdeq3Sppr34;fBsitu,vitro;ro0;mFpB;arDeCl0PoBrop9;li3r0M;nd2rfeA;ti4;aCeBi0R;d2Wn3H;tu20;eg4iB;c0Ite3L;aIelHiFoCumB;a7dr3G;me ma2CnCrrBs04ur5;if31;e3Oo2J;ghfalut1LspB;an2Y;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Tiga26lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2I;olErB; keeps,eBge0Gm9tu2Bwa36;go2i1BseeB;ab6;ish;ag35uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Fmiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4reAthere4veHxB;aAem2PplEquisi3traDuB;be2UlB;ta0;!va1H;icB;it;n,ryday; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;g9sB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa1XtB;a0inA;et,te; IadpHceGfiFgene1UliDpCreliAspe1UvoB;id,ut;ende0;ca3ghB;tf09;a0ni3;as1;an;facto;i5ngeroX;ly;arQertaPivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v01z1;erKgniza0loJmHnCr01veB;rt;cEduIgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Wi12;mensu18passB;io0M;ni4ss4;ci0S;in;diac,efM;aMeGizarFliKoDrBuck nak1;and new,isk,oB;kLn1C;gBldface,na fiT;us;re;autifFhiEloDnBst,yoE;eViBt;gn;v1w;nd;ul;ckDnkCrrB;en;ru0V;!wards; priori,b0Nc0Kd0Df0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0U;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCterB;na3;of;li7;ne;olB;ic;ead;ainWed,gressiB;ve;flCra8;id;ue0; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cuCtu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traA;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8T;1:8G;2:9B;3:8Z;4:80;5:7N;6:97;7:82;8:90;9:9F;A:9E;B:8V;C:7U;D:7Q;E:7K;F:87;a80b7Ec6Od5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Pnou3Uo2Kp23qu22r18s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Ary;nGplift;cov0dHear7HlGplug,tie,ve83;eaAo3J;erGo;go,sta9Cval92whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Y;ch,se;ck4ilor,keGmp0r7L;! paD;a0Ec0De0Bh07i05l03m02n01oZpUqua45tNuIwG;all6Ze2DiG;m,ng;bIccumb,ffHggeBmm8Zp2ErG;mouFvi2;er,i3;li7Ymer8siGveD;de,st;aKe7RiIrG;ang4eGi2;ng1Zw;fGnV;f5le;gg0rGte ch5F;t4ve;awn,eJiIlHoGri6B;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;aAugg4;aGi9;m,y;ft,nGt;g,k;aIi5FoHriGun;nk,v5R;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven8ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,reAuG;el,rbiA;an3e;aCu3;ei2k7Ela3IoGyc4;gni58nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;aAen5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,niArGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0tru9vG;e,i9o4S;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi42iC;a5Brt4T;er3npoiF;cei2fo3BiAmea6plex,sGva9;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Spo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na8;aNeJiGo1u35;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Mow;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3u9;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul8;ca6;i6lu9;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;riA;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee30olG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2M;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un8;ct,di6;st,t;lu9;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a8i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar8iB;a8eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer8pG;hasi1Yow0;a0Tody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Nn;a0Ne01iIo,rGwind4;aw,ed8oG;p,wn;agno1e,ff0g,mi29sJvG;eGul8;rGst;ge,t;ab4bTcNlod8mant4pLru3GsKtG;iGoDu2W;lHngG;uiA;!l;ol2ua9;eGla3o1ro2;n1r1;a18e2WlJoHuG;ss;uGv0;ra8;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;liA;an;mEv0;a3i04oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aIrHuG;g,nk;ief;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinci9llVmTnGrro9;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r8;a0Hin23ribu6;er2iGoli25pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGlu9;al,i2;buBe,men3pG;e6ly;eCi9u9;r3xiB;ean1iQ;rcumveFte;eGoo1;riAw;ncGre5t0ulk;el;aYeSi1TlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l10mbaGrrMth0;rd;aHeGow;ed;ze;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;niA;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an8i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e8oGu9;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled8quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,liA;da6;te;pt;andMet,i9oIsG;coIol2;ve;liArt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:24;5:1X;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel5;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri4roun5;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee5;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war5;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19r6un1F;e6o0X;ce5s4vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri5whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s4tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area4;po4;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un5;ebo5th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0;ab2c6du3ga01sQ;han0oura00;barras4erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es4;biliBcAfiKgra5m9pres4ser8v6;asAelo6;pi1;vi1;an5eaG;a0BliF;ta0;maMri1sYun0;aMhJlo4o6ripp2ut0;mCn6rrespon5;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u4;ni1;fAm9p6;e7ro6;mi4;l2ti1;an5;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in5lin5o7rui4u6;d5st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un5;di1;is6;hi1;ri1;res0;li1;a9u4;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦alexand5darwin,h3jordan,k2orlando,s0victo5;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const ir=36,sr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",lr=sr.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var ur=function(e){if(void 0!==lr[e])return lr[e];let t=0,n=1,a=ir,r=1;for(;n=0;n--,r*=ir){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t},cr=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const a=hr(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=gr(or[e]);br.test(e)?Object.keys(t).forEach(t=>{if(vr[t]=e,"Noun|Verb"===e){let e=fr(t,wr);vr[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{yr[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","yr[e]="Emoticon"),delete yr[""],delete yr.null,delete yr[" "];const kr="Adjective";var Pr={beforeTags:{Determiner:kr,Possessive:kr},afterTags:{Adjective:kr},beforeWords:{seem:kr,seemed:kr,seems:kr,feel:kr,feels:kr,felt:kr,appear:kr,appears:kr,appeared:kr,also:kr,over:kr,under:kr,too:kr,it:kr,but:kr,still:kr,really:kr,quite:kr,well:kr,very:kr,deeply:kr,profoundly:kr,extremely:kr,so:kr,badly:kr,mostly:kr,totally:kr,awfully:kr,rather:kr,nothing:kr,something:kr,anything:kr},afterWords:{too:kr,also:kr,or:kr}};const Ar="Gerund";var Dr={beforeTags:{Adverb:Ar,Preposition:Ar,Conjunction:Ar},afterTags:{Adverb:Ar,Possessive:Ar,Person:Ar,Pronoun:Ar,Determiner:Ar,Copula:Ar,Preposition:Ar,Conjunction:Ar,Comparative:Ar},beforeWords:{been:Ar,keep:Ar,continue:Ar,stop:Ar,am:Ar,be:Ar,me:Ar,began:Ar,start:Ar,starts:Ar,started:Ar,stops:Ar,stopped:Ar,help:Ar,helps:Ar,avoid:Ar,avoids:Ar,love:Ar,loves:Ar,loved:Ar,hate:Ar,hates:Ar,hated:Ar},afterWords:{you:Ar,me:Ar,her:Ar,him:Ar,them:Ar,their:Ar,it:Ar,this:Ar,there:Ar,on:Ar,about:Ar,for:Ar}},jr={beforeTags:Object.assign({},Pr.beforeTags,Dr.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Pr.afterTags,Dr.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Pr.beforeWords,Dr.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Pr.afterWords,Dr.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Ir="Singular";var Gr={beforeTags:{Determiner:Ir,Possessive:Ir,Acronym:Ir,Noun:Ir,Adjective:Ir,PresentTense:Ir,Gerund:Ir,PastTense:Ir,Infinitive:Ir,Date:Ir},afterTags:{Value:Ir,Modal:Ir,Copula:Ir,PresentTense:Ir,PastTense:Ir,Demonym:Ir},beforeWords:{the:Ir,with:Ir,without:Ir,of:Ir,for:Ir,any:Ir,all:Ir,on:Ir,cut:Ir,cuts:Ir,save:Ir,saved:Ir,saves:Ir,make:Ir,makes:Ir,made:Ir,minus:Ir,plus:Ir,than:Ir,another:Ir,versus:Ir,neither:Ir,favorite:Ir,best:Ir,daily:Ir,weekly:Ir},afterWords:{of:Ir,system:Ir,aid:Ir,method:Ir,utility:Ir,tool:Ir,reform:Ir,therapy:Ir,philosophy:Ir,room:Ir,authority:Ir,says:Ir,said:Ir,wants:Ir,wanted:Ir}};const Nr={beforeTags:{Determiner:void 0}};var Er={beforeTags:Object.assign({},Pr.beforeTags,Gr.beforeTags,Nr.beforeTags),afterTags:Object.assign({},Pr.afterTags,Gr.afterTags),beforeWords:Object.assign({},Pr.beforeWords,Gr.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pr.afterWords,Gr.afterWords)};const xr={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Tr={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Cr={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Br={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Or={beforeTags:Object.assign({},Pr.beforeTags,xr),afterTags:Object.assign({},Pr.afterTags,Tr),beforeWords:Object.assign({},Pr.beforeWords,Cr),afterWords:Object.assign({},Pr.afterWords,Br)};const zr="Infinitive";var Fr={beforeTags:{Modal:zr,Adverb:zr,Negative:zr,Plural:zr},afterTags:{Determiner:zr,Adverb:zr,Possessive:zr,Preposition:zr},beforeWords:{i:zr,we:zr,you:zr,they:zr,to:zr,please:zr,will:zr,have:zr,had:zr,would:zr,could:zr,should:zr,do:zr,did:zr,does:zr,can:zr,must:zr,us:zr,me:zr,he:zr,she:zr,it:zr,being:zr},afterWords:{the:zr,me:zr,you:zr,him:zr,her:zr,them:zr,it:zr,a:zr,an:zr,up:zr,down:zr,by:zr,out:zr,off:zr,when:zr,all:zr,to:zr,because:zr,although:zr,before:zr,how:zr,otherwise:zr,though:zr,yet:zr}};const Vr={afterTags:{Noun:"Adjective",Conjunction:void 0}};var $r={beforeTags:Object.assign({},Pr.beforeTags,Fr.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Pr.afterTags,Fr.afterTags,Vr.afterTags),beforeWords:Object.assign({},Pr.beforeWords,Fr.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Pr.afterWords,Fr.afterWords,{to:void 0})};const Hr={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Sr={},Jr={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Mr={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var Wr={beforeTags:Object.assign({},Dr.beforeTags,Gr.beforeTags,Hr),afterTags:Object.assign({},Dr.afterTags,Gr.afterTags,Sr),beforeWords:Object.assign({},Dr.beforeWords,Gr.beforeWords,Jr),afterWords:Object.assign({},Dr.afterWords,Gr.afterWords,Mr)},Lr={beforeTags:Object.assign({},Fr.beforeTags,Gr.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Fr.afterTags,Gr.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Fr.beforeWords,Gr.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Fr.afterWords,Gr.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const Kr="Person";var qr={beforeTags:{Honorific:Kr,Person:Kr,Preposition:Kr},afterTags:{Person:Kr,ProperNoun:Kr,Verb:Kr},ownTags:{ProperNoun:Kr},beforeWords:{hi:Kr,hey:Kr,yo:Kr,dear:Kr,hello:Kr},afterWords:{said:Kr,says:Kr,told:Kr,tells:Kr,feels:Kr,felt:Kr,seems:Kr,thinks:Kr,thought:Kr,spends:Kr,spendt:Kr,plays:Kr,played:Kr,sing:Kr,sang:Kr,learn:Kr,learned:Kr,wants:Kr,wanted:Kr}};const Ur="Month",Rr={beforeTags:{Date:Ur,Value:Ur},afterTags:{Date:Ur,Value:Ur},beforeWords:{by:Ur,in:Ur,on:Ur,during:Ur,after:Ur,before:Ur,between:Ur,until:Ur,til:Ur,sometime:Ur,of:Ur,this:Ur,next:Ur,last:Ur,previous:Ur,following:Ur},afterWords:{sometime:Ur,in:Ur,of:Ur,until:Ur,the:Ur}};var Zr={beforeTags:Object.assign({},qr.beforeTags,Rr.beforeTags),afterTags:Object.assign({},qr.afterTags,Rr.afterTags),beforeWords:Object.assign({},qr.beforeWords,Rr.beforeWords),afterWords:Object.assign({},qr.afterWords,Rr.afterWords)};const Qr={Place:"Place"},_r={Place:"Place",Abbreviation:"Place"},Xr={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},Yr={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},eo={"Adj|Gerund":jr,"Adj|Noun":Er,"Adj|Past":Or,"Adj|Present":$r,"Noun|Verb":Lr,"Noun|Gerund":Wr,"Person|Noun":{beforeTags:Object.assign({},Gr.beforeTags,qr.beforeTags),afterTags:Object.assign({},Gr.afterTags,qr.afterTags),beforeWords:Object.assign({},Gr.beforeWords,qr.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Gr.afterWords,qr.afterWords)},"Person|Date":Zr,"Person|Verb":{beforeTags:Object.assign({},qr.beforeTags,Fr.beforeTags),afterTags:Object.assign({},qr.afterTags,Fr.afterTags),beforeWords:Object.assign({},qr.beforeWords,Fr.beforeWords),afterWords:Object.assign({},qr.afterWords,Fr.afterWords)},"Person|Place":{beforeTags:Object.assign({},Qr,qr.beforeTags),afterTags:Object.assign({},_r,qr.afterTags),beforeWords:Object.assign({},Xr,qr.beforeWords),afterWords:Object.assign({},Yr,qr.afterWords)}},to=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};eo["Plural|Verb"]={beforeWords:to(eo["Noun|Verb"].beforeWords,{}),afterWords:to(eo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:to(eo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:to(eo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var no=eo;const ao="Adjective",ro="Infinitive",oo="PresentTense",io="Singular",so="PastTense",lo="Adverb",uo="Plural",co="Actor",ho="Verb",go="Noun",mo="LastName",po="Modal",fo="Participle";var bo=[null,null,{ea:io,ia:go,ic:ao,ly:lo,"'n":ho,"'t":ho},{oed:so,ued:so,xed:so," so":lo,"'ll":po,"'re":"Copula",azy:ao,eer:go,end:ho,ped:so,ffy:ao,ify:ro,ing:"Gerund",ize:ro,ibe:ro,lar:ao,mum:ao,nes:oo,nny:ao,ous:ao,que:ao,rol:io,sis:io,ogy:io,oid:io,ian:io,zes:oo,eld:so,ken:fo,ven:fo,ten:fo,ect:ro,ict:ro,ide:ro,ign:ro,ful:ao,bal:ao},{amed:so,aped:so,ched:so,lked:so,rked:so,reed:so,nded:so,mned:ao,cted:so,dged:so,ield:io,akis:mo,cede:ro,chuk:mo,czyk:mo,ects:oo,ends:ho,enko:mo,ette:io,wner:io,fies:oo,fore:lo,gate:ro,gone:ao,ices:uo,ints:uo,ruct:ro,ines:uo,ions:uo,less:ao,llen:ao,made:ao,nsen:mo,oses:oo,ould:po,some:ao,sson:mo,tion:io,tage:go,ique:io,tive:ao,tors:go,vice:io,lier:io,fier:io,wned:so,gent:io,tist:io,pist:io,rist:io,mist:io,yist:io,vist:io,lite:io,site:io,rite:io,mite:io,bite:io,mate:io,date:io,ndal:io,vent:io,uist:io,gist:io,note:io,ract:ro,duce:ro,pose:ro,eive:ro,lyze:ro,lyse:ro,iant:ao,nary:ao},{elist:io,holic:io,phite:io,tized:so,urned:so,eased:so,ances:uo,bound:ao,ettes:uo,fully:lo,ishes:oo,ities:uo,marek:mo,nssen:mo,ology:go,osome:io,tment:io,ports:uo,rough:ao,tches:oo,tieth:"Ordinal",tures:uo,wards:lo,where:lo,archy:go,pathy:go,opoly:go,embly:go,phate:go,ndent:io,scent:io,onist:io,anist:io,alist:io,olist:io,icist:io,ounce:ro,iable:ao,borne:ao,gnant:ao,inant:ao,igent:ao,atory:ao,rient:io,dient:io},{auskas:mo,parent:io,cedent:io,ionary:io,cklist:io,keeper:co,logist:co,teenth:"Value"},{opoulos:mo,borough:"Place",sdottir:mo}];const yo="Adjective",vo="Noun",wo="Verb";var ko=[null,null,{},{neo:vo,bio:vo,"de-":wo,"re-":wo,"un-":wo},{anti:vo,auto:vo,faux:yo,hexa:vo,kilo:vo,mono:vo,nano:vo,octa:vo,poly:vo,semi:yo,tele:vo,"pro-":yo,"mis-":wo,"dis-":wo,"pre-":yo},{anglo:vo,centi:vo,ethno:vo,ferro:vo,grand:vo,hepta:vo,hydro:vo,intro:vo,macro:vo,micro:vo,milli:vo,nitro:vo,penta:vo,quasi:yo,radio:vo,tetra:vo,"omni-":yo,"post-":yo},{pseudo:yo,"extra-":yo,"hyper-":yo,"inter-":yo,"intra-":yo,"deca-":yo},{electro:vo}];const Po="Adjective",Ao="Infinitive",Do="PresentTense",jo="Singular",Io="PastTense",Go="Adverb",No="Expression",Eo="Actor",xo="Verb",To="Noun",Co="LastName";var Bo={a:[[/.[aeiou]na$/,To,"tuna"],[/.[oau][wvl]ska$/,Co],[/.[^aeiou]ica$/,jo,"harmonica"],[/^([hyj]a+)+$/,No,"haha"]],c:[[/.[^aeiou]ic$/,Po]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,Io,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,Io,"rammed"],[/.[aeiou][sg]hed$/,Io,"gushed"],[/.[aeiou]red$/,Io,"hired"],[/.[aeiou]r?ried$/,Io,"hurried"],[/[^aeiou]ard$/,jo,"steward"],[/[aeiou][^aeiou]id$/,Po,""],[/.[vrl]id$/,Po,"livid"],[/..led$/,Io,"hurled"],[/.[iao]sed$/,Io,""],[/[aeiou]n?[cs]ed$/,Io,""],[/[aeiou][rl]?[mnf]ed$/,Io,""],[/[aeiou][ns]?c?ked$/,Io,"bunked"],[/[aeiou]gned$/,Io],[/[aeiou][nl]?ged$/,Io],[/.[tdbwxyz]ed$/,Io],[/[^aeiou][aeiou][tvx]ed$/,Io],[/.[cdflmnprstv]ied$/,Io,"emptied"]],e:[[/.[lnr]ize$/,Ao,"antagonize"],[/.[^aeiou]ise$/,Ao,"antagonise"],[/.[aeiou]te$/,Ao,"bite"],[/.[^aeiou][ai]ble$/,Po,"fixable"],[/.[^aeiou]eable$/,Po,"maleable"],[/.[ts]ive$/,Po,"festive"],[/[a-z]-like$/,Po,"woman-like"]],h:[[/.[^aeiouf]ish$/,Po,"cornish"],[/.v[iy]ch$/,Co,"..ovich"],[/^ug?h+$/,No,"ughh"],[/^uh[ -]?oh$/,No,"uhoh"],[/[a-z]-ish$/,Po,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Co,"polish-male"]],k:[[/^(k){2}$/,No,"kkkk"]],l:[[/.[gl]ial$/,Po,"familial"],[/.[^aeiou]ful$/,Po,"fitful"],[/.[nrtumcd]al$/,Po,"natal"],[/.[^aeiou][ei]al$/,Po,"familial"]],m:[[/.[^aeiou]ium$/,jo,"magnesium"],[/[^aeiou]ism$/,jo,"schism"],[/^[hu]m+$/,No,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Po,"republican"],[/[^aeiou]ician$/,Eo,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,No,"noooo"],[/^(yo)+$/,No,"yoo"],[/^wo{2,}[pt]?$/,No,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,jo],[/[^i]fer$/,Ao],[/.[^aeiou][ao]pher$/,Eo],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Po],[/[aeiou].*ist$/,Po],[/^[a-z]et$/,xo]],s:[[/.[^aeiou]ises$/,Do],[/.[rln]ates$/,Do],[/.[^z]ens$/,xo],[/.[lstrn]us$/,jo],[/.[aeiou]sks$/,Do],[/.[aeiou]kes$/,Do],[/[aeiou][^aeiou]is$/,jo],[/[a-z]'s$/,To],[/^yes+$/,No]],v:[[/.[^aeiou][ai][kln]ov$/,Co]],y:[[/.[cts]hy$/,Po],[/.[st]ty$/,Po],[/.[tnl]ary$/,Po],[/.[oe]ry$/,jo],[/[rdntkbhs]ly$/,Go],[/.(gg|bb|zz)ly$/,Po],[/...lly$/,Go],[/.[gk]y$/,Po],[/[bszmp]{2}y$/,Po],[/.[ai]my$/,Po],[/[ea]{2}zy$/,Po],[/.[^aeiou]ity$/,jo]]};const Oo="Verb",zo="Noun";var Fo={leftTags:[["Adjective",zo],["Possessive",zo],["Determiner",zo],["Adverb",Oo],["Pronoun",Oo],["Value",zo],["Ordinal",zo],["Modal",Oo],["Superlative",zo],["Demonym",zo],["Honorific","Person"]],leftWords:[["i",Oo],["first",zo],["it",Oo],["there",Oo],["not",Oo],["because",zo],["if",zo],["but",zo],["who",Oo],["this",zo],["his",zo],["when",zo],["you",Oo],["very","Adjective"],["old",zo],["never",Oo],["before",zo],["a","Singular"],["the",zo],["been",Oo]],rightTags:[["Copula",zo],["PastTense",zo],["Conjunction",zo],["Modal",zo]],rightWords:[["there",Oo],["me",Oo],["man","Adjective"],["only",Oo],["him",Oo],["it",Oo],["were",zo],["took",zo],["himself",Oo],["went",zo],["who",zo],["jr","Person"]]},Vo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},$o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Ho={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},So={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Jo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Mo=/^.([0-9]+)/;var Wo=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],a=n.match(Mo);if(null===a)return t.exceptions[e];let r=Number(a[1])||0;return e.substr(0,r)+n.replace(Mo,"")}(e,t);let a=t.rules;t.reversed&&(a=t.rev),a=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,a);for(let t=0;t{let n=e[0]||"",a=n[n.length-1]||"";t[a]=t[a]||[],t[a].push(e)}),t},Ko=/^([0-9]+)/,qo=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(Ko);if(null===n)return[e,t];let a=Number(n[1])||0,r=e.substring(0,a);return[e,r+t.replace(Ko,"")]}(n[0],n[1])})};var Uo=function(e={}){return(e=Object.assign({},e)).rules=qo(e.rules),e.rules=Lo(e.rules),e.rev&&(e.rev=qo(e.rev),e.rev=Lo(e.rev)),e.exceptions=qo(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},Ro=function(e){let{rules:t,exceptions:n,rev:a}=e;var r;return r=n,n=Object.entries(r).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:a}};const Zo=Uo({rules:"een|1,egan|2in,on|in,pun|1in,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Qo=Uo(So),_o=Uo($o),Xo=Uo(Ho),Yo=Ro(Zo),ei=Ro(Qo),ti=Ro(_o),ni=Ro(Xo),ai=Uo(Vo),ri=Uo(Jo);var oi={fromPast:Zo,fromPresent:Qo,fromGerund:_o,fromParticiple:Xo,toPast:Yo,toPresent:ei,toGerund:ti,toParticiple:ni,toComparative:ai,toSuperlative:ri,fromComparative:Ro(ai),fromSuperlative:Ro(ri)},ii=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),si=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],li=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce((e,t)=>(e[r[t]]=t,e),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(ui[t].forEach(n=>e[n]=t),e),{});var ci=ui,di=function(e){let t=e.substr(e.length-3);if(!0===ci.hasOwnProperty(t))return ci[t];let n=e.substr(e.length-2);return!0===ci.hasOwnProperty(n)?ci[n]:"s"===e.substr(e.length-1)?"PresentTense":null};const hi={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var gi=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=di(e)),hi.hasOwnProperty(e))c=hi[e];else if("Participle"===n)c=Wo(l,i);else if("PastTense"===n)c=Wo(l,a);else if("PresentTense"===n)c=Wo(l,r);else{if("Gerund"!==n)return e;c=Wo(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},mi=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Wo(i,n),PresentTense:Wo(i,a),Gerund:Wo(i,r),FutureTense:"will "+e},u=Wo(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},pi=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r))return e.slice(0,n-a)+t[r.length][r]}return null};const fi="ically",bi=new Set(["analyt"+fi,"chem"+fi,"class"+fi,"clin"+fi,"crit"+fi,"ecolog"+fi,"electr"+fi,"empir"+fi,"frant"+fi,"grammat"+fi,"ident"+fi,"ideolog"+fi,"log"+fi,"mag"+fi,"mathemat"+fi,"mechan"+fi,"med"+fi,"method"+fi,"method"+fi,"mus"+fi,"phys"+fi,"phys"+fi,"polit"+fi,"pract"+fi,"rad"+fi,"satir"+fi,"statist"+fi,"techn"+fi,"technolog"+fi,"theoret"+fi,"typ"+fi,"vert"+fi,"whims"+fi]),yi=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],vi=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),wi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var ki=function(e){return e.endsWith("ly")?bi.has(e)?e.replace(/ically/,"ical"):vi.has(e)?null:wi.hasOwnProperty(e)?wi[e]:pi(e,yi)||e:null};const Pi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Ai={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Di=function(e){if(Ai.hasOwnProperty(e))return Ai[e];let t=pi(e,Pi);return t||e+"ly"};const ji=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Ii={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Gi=new Set(["terrible","annoying"]),Ni=function(e,t){const n=t.two.models.toSuperlative;return Wo(e,n)},Ei=function(e,t){const n=t.two.models.toComparative;return Wo(e,n)};var xi={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.nounToPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.adjToSuperlative(e,a);r[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,a);r[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.nounToPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verbConjugate(e,a);Object.entries(o).forEach(e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,a);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Ti={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let a=0;e.forEach((r,o)=>{t.test(r.post)&&function(e,t){let n=e[t];const a=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||a.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||a.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)}),a{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===xi.hasOwnProperty(i)&&xi[i](t,r,n,a),r[t]=r[t]||i}),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},transform:{nounToPlural:fr,nounToSingular:li,verbToInfinitive:gi,getTense:di,verbConjugate:mi,adjToSuperlative:Ni,adjToComparative:Ei,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Wo(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Wo(e,n)},advToAdjective:ki,adjToAdverb:Di,adjToNoun:function(e){if(Ii.hasOwnProperty(e))return Ii[e];if(Gi.has(e))return null;let t=pi(e,ji);return t||e+"ness"}}}},Ci=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Bi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,a)=>(t&&(e[a[0]]=t),e[a[1]]=n,e),{})};var Oi=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:a,toGerund:r,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Bi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Bi(a,"Infinitive","Verb"),Object.assign(s,l),l=Bi(r,"Infinitive","Gerund"),Object.assign(s,l),l=Bi(o,"Adjective","Superlative"),Object.assign(s,l),l=Bi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let zi={two:{models:oi}};const Fi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Vi=function(e,t){const n={model:t,methods:Ti};let{lex:a,_multi:r}=Ti.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},$i=function(e,t,n){let a=mi(e,zi);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},Hi=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach(r=>{const o=e[r];if(n[r]=Fi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||$i(r,a,!1),"Adj|Present"===o&&($i(r,a,!0),function(e,t,n){let a=Ni(e,n);t[a]=t[a]||"Superlative";let r=Ei(e,n);t[r]=t[r]||"Comparative"}(r,a,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=gi(r,zi,"Gerund");a[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=gi(r,zi,"PastTense");a[e]||(n[e]="Infinitive")}}),t=Vi(n,t)};let Si={one:{_multiCache:{},lexicon:yr},two:{irregularPlurals:rr,models:oi,suffixPatterns:bo,prefixPatterns:ko,endsWith:Bo,neighbours:Fo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[a-z0-9_\u00C0-\u00FF]{2,}$/i,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^([\u00a9\u00ae\u2319-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,"Emoji","emoji-range"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6][-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]\+?$/,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:vr,clues:no,uncountable:{},orgWords:ii}};Si=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Vi(e.one.lexicon,e)).one.lexicon,e),e=Hi(e.two.switches,e),e=Oi(e),e=Ci(e)}(Si);var Ji=Si;const Mi=/^(under|over|mis|re|un|dis|semi)-?/;var Wi=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(Mi.test(r.normal)){let e=r.normal.replace(Mi,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}},Li=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const Ki={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},qi=new Set(["formulas","koalas","israelis","menus"]),Ui=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Ri=function(e){if(!e||e.length<=3)return!1;if(qi.has(e))return!0;let t=e[e.length-1];return Ki.hasOwnProperty(t)?Ki[t].find(t=>e.endsWith(t)):"s"===t&&!Ui.find(t=>e.endsWith(t))};const Zi=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Qi=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t))||(Ri(e.normal)?Li(e,"Plural","3-plural-guess"):Li(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=di(e.normal);t&&Li(e,t,"3-verb-tense-guess")}}(a)};const _i=/^[A-Z][a-z'\u00C0-\u00FF]/,Xi=/[0-9]/,Yi=["Date","Month","WeekDay","Unit"],es=/^[IVXLCDM]{2,}$/,ts=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,ns={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var as=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===_i.test(o)&&!1===Xi.test(o)?Yi.find(e=>a.tags.has(e))?null:(Qi(e,t,n),a.tags.has("Noun")||a.tags.clear(),Li(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&es.test(o)&&ts.test(o)&&!ns[a.normal]?(Li(a,"RomanNumeral","2-xvii"),!0):null};const rs=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substr(n-r,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null};var os=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=rs(a.normal,n.two.suffixPatterns);if(null!==e)return Li(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=rs(a.implicit,n.two.suffixPatterns),null!==e))return Li(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const is=/['‘’‛‵′`´]/,ss=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return Li(a,e,"2-prefix"),a.confidence=.5,!0}return null};const cs=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),ds=function(e){return!(!e||!cs.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},hs=function(e){return!!e&&!!e.tags.has("Ordinal")};var gs=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){if(ds(e[t-1])||ds(e[t+1]))return Li(n,"Year","2-tagYear");if(a>1950&&a<2025&&(hs(e[t-1])||hs(e[t+1])))return Li(n,"Year","2-tagYear-close")}}return null};const ms=/^[A-Z]('s|,)?$/,ps=/^[A-Z-]+$/,fs=/([A-Z]\.)+[A-Z]?,?$/,bs=/[A-Z]{2,}('s|,)?$/,ys=/([a-z]\.)+[a-z]\.?$/,vs={I:!0,A:!0};var ws=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===ps.test(n)||n.length>5||vs.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==fs.test(n)&&!0!==ys.test(n)&&!0!==ms.test(n)&&!0!==bs.test(n))}(a,n)?(a.tags.clear(),Li(a,["Acronym","Noun"],"3-no-period-acronym"),!0):!vs.hasOwnProperty(a.text)&&ms.test(a.text)?(a.tags.clear(),Li(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(Li(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&ps.test(a.text)&&a.text.length<=6?(Li(a,"Acronym","3-titlecase-acronym"),!0):null};const ks=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Ps=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var As=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||ks(e[t-1],r),l=l||ks(e[t+1],o),l=l||Ps(e[t-1],a),l=l||Ps(e[t+1],i),l)return Li(s,l,"3-[neighbour]"),Qi(e,t,n),e[t].confidence=.2,!0}return null};const Ds=function(e){return!(!e||!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))&&(t=e.text,!/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)));var t};var js=function(e,t,n){const a=n.two.orgWords;let r=e[t];if(!0===a[r.machine||r.normal]&&Ds(e[t-1])){Li(e[t],"Organization","3-[org-word]");for(let n=t;n>=0&&Ds(e[n]);n-=1)Li(e[n],"Organization","3-[org-word]")}return null},Is=function(e,t,n){0===e[t].tags.size&&(Li(e[t],"Noun","3-[fallback]"),Qi(e,t,n),e[t].confidence=.1)};const Gs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Ns=(e,t,n)=>0!==t||e[1]?null:n;var Es={"Adj|Gerund":(e,t)=>Gs(e,t),"Adj|Noun":(e,t)=>Gs(e,t),"Adj|Past":(e,t)=>Gs(e,t),"Adj|Present":(e,t)=>Gs(e,t),"Noun|Gerund":(e,t)=>Gs(e,t),"Noun|Verb":(e,t)=>Gs(e,t)||Ns(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Gs(e,t)||Ns(e,t,"PresentTense"),"Person|Noun":(e,t)=>Gs(e,t),"Person|Verb":(e,t)=>0!==t&&Gs(e,t)};const xs="undefined"!=typeof process&&process.env?process.env:self.env||{},Ts=/^(under|over|mis|re|un|dis|semi)-?/,Cs=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const a=t[n];return a&&xs.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},Bs=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return a&&xs.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${a}) `),a=t[a],a},Os={tagSwitch:Wi,checkSuffix:os,checkRegex:ls,checkCase:as,checkPrefix:us,checkHyphen:function(e,t,n){let a=e[t+1];if(!a)return;let{prefixes:r}=n.one,o=e[t];!0===r[o.normal]&&(a.tags.has("Verb")&&(Li(o,"Verb","3-[prefix]"),Li(o,"Prefix","3-[prefix]")),a.tags.has("Adjective")&&(Li(o,"Adjective","3-[prefix]"),Li(o,"Prefix","3-[prefix]")))},checkYear:gs},zs={checkAcronym:ws,neighbours:As,orgWords:js,nounFallback:Is,variables:function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(Ts.test(l)&&!o[l]&&(l=l.replace(Ts,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=Cs(e[t+1],n.afterWords);return o=o||Cs(e[t-1],n.beforeWords),o=o||Bs(e[t-1],n.beforeTags,r),o=o||Bs(e[t+1],n.afterTags,r),o}(e,t,i[o],a);Es[o]&&(u=Es[o](e,t)||u),u?(xs.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),r([s],u,n,null,"3-[variable]")):xs.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},Fs=function(e,t,n){for(let a=0;a{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Hs={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ss={preTagger:function(e){const{methods:t,model:n,world:a}=e;let r=t.two.quickSplit(e.docs);for(let e=0;e{for(let a=0;a{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const _s=/'/;var Xs=function(e,t){let n=e[t].normal.split(_s)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Ys=/'/;var el=function(e,t){let n=e[t].normal.split(Ys)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},tl=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const nl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},al={in:!0,by:!0,for:!0};var rl=(e,t)=>{let n=e[t];if(nl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let a=e[t+1];if(!a)return!0;if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e}if(e[t-1]&&!0===al[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const ol=/'/,il=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},sl={d:(e,t)=>el(e,t),t:(e,t)=>tl(e,t),s:(e,t,n)=>rl(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Xs(e,t)},ll=function(e,t){return t.fromText(e.join(" ")).docs[0]};var ul={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===ol.test(a[o].normal)&&([,i]=a[o].normal.split(ol));let s=null;sl.hasOwnProperty(i)&&(s=sl[i](a,o,t)),s&&(s=ll(s,e),Qs(n,[r,o],s),il(n[r],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=Zs.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Rs},hooks:["contractionTwo"]};const cl="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",dl="(drew|pat|wade|ollie|will|rob|buck|bob|mark|jack)",hl=["i","we","they"];let gl=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"(#Determiner|#Possessive) [#Gerund] #Noun",group:0,tag:"Adjective",reason:"amusing-world"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Determiner|#Value) [(linear|binary|mobile|lexical|technical|computer|scientific|formal)] #Noun",group:0,tag:"Noun",reason:"technical-noun"},{match:"(#Noun && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"(the|those|these|a|an) #Adjective? [#PastTense]",group:0,tag:"Noun",reason:"det-past"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Noun",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Noun] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"},{match:"^[%Noun|Verb%] #Noun",group:0,tag:"Verb",reason:"visit-boards"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"(#Value|a) [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"%Person|Noun% #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:cl+" #Person",tag:"Person",reason:"randy-smith"},{match:cl+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${cl}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:`#Modal [${dl}]`,group:0,tag:"Verb",reason:"would-mark"},{match:`#Adverb [${dl}]`,group:0,tag:"Verb",reason:"really-mark"},{match:`[${dl}] (#Adverb|#Comparative)`,group:0,tag:"Verb",reason:"drew-closer"},{match:dl+" #Person",tag:"Person",reason:"rob-smith"},{match:dl+" #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:hl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:hl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:hl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);var ml=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e},pl=function(e){let t=[];return e.forEach(e=>{let n=e.regs.findIndex(e=>"or"===e.operator&&e.fastOr&&!e.optional&&!e.negative);-1===n?(n=e.regs.findIndex(e=>"or"===e.operator&&e.choices&&!e.optional&&!e.negative),-1===n?t.push(e):function(e,t){let n=e.regs[t];return n.choices.map(e=>1===e.length?e[0]:{choices:e,operator:n.operator})}(e,n).forEach(a=>{let r=Object.assign({},e);r.regs=e.regs.slice(0),r.regs[n]=a,//!fixme [mo]? -r._expanded=!0,t.push(r)})):function(e,t){let n=e.regs[t];return Array.from(n.fastOr).map(e=>{let t=Object.assign({},n);return delete t.fastOr,delete t.operator,t.word=e,t})}(e,n).forEach(a=>{let r=Object.assign({},e);r.regs=e.regs.slice(0),r.regs[n]=a,r._expanded=!0,t.push(r)})}),t},fl=function(e,t){const n=t.one.cacheMatch;return e.forEach(e=>{e.needs=Array.from(n(e.regs))}),e},bl=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},yl=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},vl=function(e,t){for(let n=0;ne.needs.every(e=>a.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},wl=function(e,t,n){let a=[];return e.forEach((e,r)=>{e.forEach(e=>{let o=n.match([t[r]],e);o.ptrs.length>0&&o.ptrs.forEach(t=>{t[0]=r;let n=Object.assign({},e,{pointer:t});void 0!==e.unTag&&(n.unTag=e.unTag),a.push(n)})})}),a},kl=function(e,t){let[n,a,r]=e.pointer,o=t[n],i=a>4?a-2:0,s="string"!=typeof e.tag?e.tag.join(" #"):e.tag,l=` [${e.reason}]`.padEnd(20)+" - ";const u=e=>""+e+"";for(;ir+2);i+=1){let e=o[i].machine||o[i].normal;l+=i>a&&i{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;let r=a.two.compile(n.two.matches,a),o=a.two.quickSplit(e.document),i=a.two.bulkMatch(o,r,a);return a.two.bulkTagger(i,o,t),e.uncache(),o}},methods:{two:{compile:function(e,t){e=ml(e,t),e=pl(e),e=pl(e),e=fl(e,t);let n=bl(e,t);return delete n["#Noun"],delete n["#Verb"],n},bulkMatch:function(e,t,n){const a=n.one;let r=a.cacheDoc(e),o=yl(r,t);return o=vl(o,r),wl(o,e,a)},bulkTagger:function(e,t,n){const{model:a,methods:r}=n,{getDoc:o,setTag:i,unTag:s}=r.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag)return;l.DEBUG_TAGS&&kl(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===r.two.canBe(u,e.tag,a))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe)),void 0!==e.unTag&&s(u,e.unTag,n,e.safe)})},canBe:function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}},n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let a=this.update([t]);e(a,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let a=this.update([t]);return e(a,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach(e=>{a=a.concat(e.fullPointer)}),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let a=this.update([t]);return e(a,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let a=this.update([t]);return e(a,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let a=this.update([t]);return e(a,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,a]=e.index||[];t.push([n,a,a+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer,n=this._cache||[];if(t||(t=this.docs.map((e,t)=>[t])),t[e]){let a=this.update([t[e]]);return a._cache=n[e],a}return this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2])},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var r=a;const o=Object.assign({},r,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon","preTagger"]),a}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&function e(t,n){if(l(n))for(const a in n)l(n[a])?(t[a]||Object.assign(t,{[a]:{}}),e(t[a],n[a])):Object.assign(t,{[a]:n[a]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>a[t]=e.lib[t]),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var d=function(e,t,n){const{methods:a}=n;let r=new t([]);return r.world=n,"number"==typeof e&&(e=String(e)),e?"string"==typeof e?new t(a.one.tokenize.fromString(e,n)):(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView?new t(e.document,e.ptrs):c(e)?c(e[0])?new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set})))):new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e)):r):r;var o};let h=Object.assign({},e);const g=function(e,t){t&&g.addWords(t);let n=d(e,s,h);return e&&n.compute(h.hooks),n};Object.defineProperty(g,"_world",{value:h,writable:!0}),g.tokenize=function(e,t){const{compute:n}=this._world;t&&g.addWords(t);let a=d(e,s,h);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},g.plugin=function(e){return u(e,this._world,s,this),this},g.extend=g.plugin,g.world=function(){return this._world},g.model=function(){return this._world.model},g.methods=function(){return this._world.methods},g.hooks=function(){return this._world.hooks},g.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},g.version="14.2.0";var m=g;const p={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var f={api:function(e){Object.assign(e.prototype,p)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.alias&&e.alias.forEach(e=>t.add(e));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),y=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},v=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},w=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},k=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?v(n):(v(n),v([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!b(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,e=>e.toUpperCase());let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||b(r.text)&&r.text.length>1&&(r.text=r.text.replace(/^\p{Lu}/u,e=>e.toLowerCase()))}(e,o,n),y(e,o,n)},P=(new Date).getTime(),A=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var E=function(e){let[t,n]=e.index||[0,0];var a=(new Date).getTime()-P;a=parseInt(a,10),t=t>46655?46655:t,n=n>1294?1294:n;let r=A((a=a>46655?46655:a).toString(36));r+=A(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const j=function(e){e.has("@hasContraction")&&e.grow("@hasContraction").contractions().expand()},I=e=>"[object Array]"===Object.prototype.toString.call(e),G=function(e,t,n){const{document:a,world:r}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]:I(e)?I(e[0])?e[0]:e:[]}(e,r);h=function(e){return e.map(e=>(e.id=E(e),e))}(h),n?(j(t.update([u]).firstTerm()),k(d,u,h,a)):(j(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(a,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(x,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,a);let r=this.update(n);n=n.map(e=>e.slice(0,3));let o=(r.docs[0]||[]).map(e=>Array.from(e.tags));a.insertAfter(e),r.has("@hasContraction")&&a.contractions&&a.grow("@hasContraction+").contractions().expand(),a.delete(r);let i=a.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())),i},replace:function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?a.replaceWith(t,n):this}};var T=C,B=function(e,t){t.forEach(t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const O={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),a=this;e&&(n=this,a=this.match(e)),n.has("@hasContraction")&&n.contractions&&n.grow("@hasContraction").contractions().expand();let r=n.fullPointer,o=a.fullPointer.reverse(),i=B(this.document,o);return r=function(e,t){return(e=e.map(e=>{let[n]=e;return t[n]?(t[n].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e})).forEach((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0)).map(e=>(e[3]=null,e[4]=null,e))}(r,t(o)),n.ptrs=r,n.document=i,n.compute("index"),e?n.toView(r):(this.ptrs=[],n.none())}};O.delete=O.remove;var z=O;const V={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this}};V.deHyphenate=V.dehyphenate,V.toQuotation=V.toQuotations;var F=V,$={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0}),e}};const S=new Set(["index","sequence","seq","sequential","chron","chronological"]),H=new Set(["freq","frequency","topk","repeats"]),J=new Set(["alpha","alphabetical"]);var L={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map((e,t)=>[t]),r=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:a[t]}));return S.has(e)&&(e="sequential"),J.has(e)&&(e="alpha"),H.has(e)?(r=$.byFreq(r),this.update(r.map(e=>e.pointer))):"function"==typeof $[e]?(r=r.sort($[e]),this.update(r.map(e=>e.pointer))):this}};const M=function(e,t){let n=e[e.length-1],a=n[n.length-1];return!1===/ /.test(a.post)&&(a.post+=" "),e=e.concat(t)};var W={concat:function(e){const{methods:t,document:n,world:a}=this;if("string"==typeof e){let r=t.one.tokenize.fromString(e,a),o=this.fullPointer,i=o[o.length-1][0];return y(n,i+1,r),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=M(e.document,t.document),e.all()}(this,e);if(r=e,"[object Array]"===Object.prototype.toString.call(r)){let t=M(this.document,e);return this.document=t,this.all()}var r;return this}},K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const q=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},D,T,z,F,L,W,K);var U={api:function(e){Object.assign(e.prototype,q)},compute:{id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Q=/'/,_=new Set(["what","how","when","where","why"]),X=new Set(["be","go","start","think","need"]),Y=new Set(["been","gone"]);var ee=function(e,t){let n=e[t].normal.split(Q)[0];if(_.has(n))return[n,"did"];if(e[t+1]){if(Y.has(e[t+1].normal))return[n,"had"];if(X.has(e[t+1].normal))return[n,"would"]}return null},te=function(e,t){return"ain't"===e[t].normal||"aint"===e[t].normal?null:[e[t].normal.replace(/n't/,""),"not"]};const ne=/'/;var ae=(e,t)=>["je",e[t].normal.split(ne)[1]],re=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},oe=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ie=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,se=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var le=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let a=n.text.match(ie);return null!==a?[a[1],"to",a[2]]:(a=n.text.match(se),null!==a?[a[1],"to",a[4]]:null)};const ue=/'/,ce=/^[0-9][^-–—]*[-–—].*?[0-9]/,de=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger","index"])},he={t:(e,t)=>te(e,t),d:(e,t)=>ee(e,t)},ge={j:(e,t)=>ae(e,t),l:(e,t)=>re(e,t),d:(e,t)=>oe(e,t)},me=function(e,t,n,a){for(let r=0;r{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===ue.test(a[s].normal)&&([l,u]=a[s].normal.split(ue));let c=me(o,a[s],l,u);!c&&he.hasOwnProperty(u)&&(c=he[u](a,s,t)),!c&&ge.hasOwnProperty(l)&&(c=ge[l](a,s)),c?(c=pe(c,e),Z(n,[i,s],c),de(n[i],e,s,c.length)):ce.test(a[s].normal)&&(c=le(a,s),c&&(c=pe(c,e),Z(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t),de(n[i],e,s,c.length)))}})}},hooks:["contractions"]},be=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e)return o([s],i[e],n,!1,"1-lexicon-alias"),!0}if(!0===ye.test(l)){let e=l.replace(ye,"");if(i.hasOwnProperty(e)&&e.length>3&&ve.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null},ke={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=e[a],o=(a=a.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},hooks:["lexicon"]},Pe=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;return n.one.tokenize.splitTerms(e,a).map(n.one.tokenize.splitWhitespace).map(e=>e.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Ae=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const Ie=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Ge=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=Ie(e.goNext,void 0),e.failTo=Ie(e.failTo,0),e.endAs=Ie(e.endAs,null),e},Ne={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Pe(e,this.world));var a;let r=je(this,n,t);return r=r.settle(),r}},lib:{compile:function(e){const t=Pe(e,this.world());return Ge(t)}}};const De=function(e,t){return t?(e.forEach(e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},xe=function(e,t){let{ptrs:n,byGroup:a}=e;return n=De(n,t),Object.keys(a).forEach(e=>{a[e]=De(a[e],t)}),{ptrs:n,byGroup:a}},Ce=e=>"[object Object]"===Object.prototype.toString.call(e),Te=e=>e&&Ce(e)&&!0===e.isView,Be=e=>e&&Ce(e)&&!0===e.isNet;var Oe={matchOne:function(e,t,n){const a=this.methods.one;if(Te(e))return this.intersection(e).eq(0);if(Be(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=xe(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Te(e))return this.intersection(e);if(Be(e))return this.sweep(e,{tagger:!1}).view.settle();"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=xe(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Te(e))return e.fullPointer.length>0;if(Be(e))return this.sweep(e,{tagger:!1}).view.found;"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Te(e))return this.filter(t=>t.intersection(e).found);if(Be(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0});let s=this.update(o);return this._cache&&(s._cache=o.map(e=>i[e[0]])),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Te(e))return this.filter(t=>!t.intersection(e).found);if(Be(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let o=this._cache||[],i=this.filter((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length});return this._cache&&(i._cache=i.ptrs.map(e=>o[e[0]])),i}},ze={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&r.push([t[0],0,t[1]])});let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}}),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let a=this.fullPointer;return this.forEach((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}}),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Ve=function(e,t){return[e[0],e[1],t[2]]},Fe=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},$e=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},Se={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Ve(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Ve(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)}};Se.split=Se.splitAfter;var He=Se;const Je=Object.assign({},Oe,ze,He);Je.lookBehind=Je.before,Je.lookBefore=Je.before,Je.lookAhead=Je.after,Je.lookAfter=Je.after,Je.notIf=Je.ifNo;var Le=function(e){Object.assign(e.prototype,Je)};const Me=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,We=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,Ke=/ /g,qe=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Ue=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var Re=function(e){let t=e.split(Me),n=[];t.forEach(e=>{qe(e)?n.push(e):n=n.concat(e.split(We))}),n=Ue(n);let a=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||qe(e)?a.push(e):a=a.concat(e.split(Ke))}),a=Ue(a),a};const Ze=/\{([0-9]+)?(, *[0-9]*)?\}/,Qe=/&&/,_e=new RegExp(/^<\s*(\S+)\s*>/),Xe=e=>e.charAt(0).toUpperCase()+e.substring(1),Ye=e=>e.charAt(e.length-1),et=e=>e.charAt(0),tt=e=>e.substring(1),nt=e=>e.substring(0,e.length-1),at=function(e){return e=tt(e),e=nt(e)},rt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===Ye(e)&&(n.end=!0,e=nt(e)),"^"===et(e)&&(n.start=!0,e=tt(e)),("["===et(e)||"]"===Ye(e))&&(n.group=null,"["===et(e)&&(n.groupStart=!0),"]"===Ye(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===et(e))){const t=_e.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===Ye(e)&&(n.greedy=!0,e=nt(e)),"*"!==e&&"*"===Ye(e)&&"\\*"!==e&&(n.greedy=!0,e=nt(e)),"?"===Ye(e)&&(n.optional=!0,e=nt(e)),"!"===et(e)&&(n.negative=!0,e=tt(e)),"~"===et(e)&&"~"===Ye(e)&&e.length>2&&(e=at(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===et(e)&&")"===Ye(e)){Qe.test(e)?(n.choices=e.split(Qe),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=tt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=nt(n.choices[a]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>rt(e,t))),e=""}if("/"===et(e)&&"/"===Ye(e))return e=at(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===et(e)&&"}"===Ye(e))return e=at(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===et(e)&&">"===Ye(e))return e=at(e),n.chunk=Xe(e),n.greedy=!0,n;if("%"===et(e)&&"%"===Ye(e))return e=at(e),n.switch=e,n}return!0===Ze.test(e)&&(e=e.replace(Ze,(e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===et(e)?(n.tag=tt(e),n.tag=Xe(n.tag),n):"@"===et(e)?(n.method=tt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ot=rt,it=function(e){return e=function(e){return e.map(e=>(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=(e=function(e){let t=0,n=null;for(let a=0;a{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))},st=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=Re(e);return n=n.map(e=>ot(e,t)),n=it(n),n};const lt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var ut=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),ft=(e,t)=>-1!==e.pre.indexOf(t),bt={hasQuote:e=>dt.test(e.pre)||ht.test(e.post),hasComma:e=>pt(e,","),hasPeriod:e=>!0===pt(e,".")&&!1===pt(e,"..."),hasExclamation:e=>pt(e,"!"),hasQuestionMark:e=>pt(e,"?")||pt(e,"¿"),hasEllipses:e=>pt(e,"..")||pt(e,"…")||ft(e,"..")||ft(e,"…"),hasSemicolon:e=>pt(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>gt.test(e.post)||gt.test(e.pre),hasDash:e=>mt.test(e.post)||mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};bt.hasQuotation=bt.hasQuote;var yt=bt;let vt=function(){};vt=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(ct(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof yt[t.method]&&!0===yt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?t.fastOr.has(e.implicit)||t.fastOr.has(e.normal)||t.fastOr.has(e.text)||t.fastOr.has(e.machine):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>vt(e,t,n,a)):t.choices.some(t=>vt(e,t,n,a)))}(e,t,n,a);return!0===t.negative?!r:r};var wt=vt;const kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max?(e.t=e.t+n.max,!0):(!0===e.hasGroup&&(Pt(e,e.t).length=a-e.t),e.t=a,!0)};const Et=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&wt(e.terms[a],t,a,e.phrase_length)});return!0===a&&n.length>t&&(t=n.length),a})&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup&&(Pt(e,e.t).length+=a),!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null},Gt=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);return a.negative=!1,!0!==wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length)||null},Nt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}},Dt=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null},xt=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}},Ct=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;return!!(n.optional&&t[e.r+1]&&n.negative)||(n.optional&&t[e.r+1]&&Nt(e),a.implicit&&e.terms[e.t+1]&&xt(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Dt(e)?(!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=Pt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0):null)},Tt=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy){if(void 0===e.choices||"or"!==e.operator){if(void 0===e.choices||"and"!==e.operator){if(!0!==e.anything){if(!0!==kt(e,r)){if(!0!==wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(e.negative&&!Gt(r))return null;if(!0!==e.optional)return null}else if(!Ct(r))return null}else if(!Ct(r))return null}else if(!Ct(r))return null}else if(!It(r))return null}else if(!jt(r))return null}else if(!At(r))return null}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach(e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]}),{pointer:o,groups:i}},Bt=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{a[t]=a[t]||[],a[t].push(e.groups[t])})})),{ptrs:n,byGroup:a}};const Ot=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},zt=function(e,t,n){let a=Tt(e,t,0,e.length);return a?(a=Ot(a,n),a):null};var Vt={api:Le,methods:{one:{termMethods:yt,parseMatch:st,match:function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=zt(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Bt(i,r),i.ptrs.forEach(t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id}),i}}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t)}}};const Ft=/^\../,$t=/^#./,St=function(e,t){let n={},a={};return Object.keys(t).forEach(r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Ft.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)})}),{starts:n,ends:a}};var Ht={html:function(e){let{starts:t,ends:n}=St(this,e),a="";return this.docs.forEach(e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(Lt,""),Wt.test(r)&&(r=" "),r=r.replace(Mt,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(Lt,""),r="-"===r?" ":r.replace(Jt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&Kt.test(r)||(r+=" "),a+=n+o+r}),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},Ut={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};Ut.clean=Ut.normal,Ut.reduced=Ut.root;var Rt=Ut;const Zt={text:!0,terms:!0};let Qt={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _t=function(e,t){return Object.assign({},e,t)},Xt={text:e=>qt(e,{keepPunct:!0},!1),normal:e=>qt(e,_t(Rt.normal,{keepPunct:!0}),!1),implicit:e=>qt(e,_t(Rt.implicit,{keepPunct:!0}),!1),machine:e=>qt(e,Qt,!1),root:e=>qt(e,_t(Qt,{form:"root"}),!1),offset:e=>{let t=Xt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};Xt.sentences=Xt.sentence,Xt.clean=Xt.normal,Xt.reduced=Xt.root;const Yt={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Zt,a)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let r={};return Object.keys(a).forEach(o=>{a[o]&&Xt[o]&&(r[o]=Xt[o](e,n,t))}),r}));var n,a;return"number"==typeof e?t[e]:t}};Yt.data=Yt.json;var en=Yt,tn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};const nn="";var an={green:e=>""+e+nn,red:e=>""+e+nn,blue:e=>""+e+nn,magenta:e=>""+e+nn,cyan:e=>""+e+nn,yellow:e=>""+e+nn,black:e=>""+e+nn,dim:e=>""+e+nn,i:e=>""+e+nn},rn=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(an.blue("\n ──────")),t.forEach(e=>{console.log(an.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],a=e.text||"-";e.sense&&(a="{"+e.sense+"}"),e.implicit&&(a="["+e.implicit+"]"),a=an.yellow(a);let r="'"+a+"'";r=r.padEnd(18);let o=an.blue(" │ ")+an.i(r)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return an[n](e)})),e.join(", ")}(t,n);console.log(o)})})},on=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(an.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(an.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(an.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(an.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})},sn=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${an.blue(a[1])}${a[2]}`}(a,e.offset,t)}),console.log(a)})};const ln=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var un=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(a=>{e.match(a).fullPointer.forEach(e=>{n[e[3]]={fn:t[a],end:e[2]}})}),n}(e,t),a="";return e.docs.forEach((t,r)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e);if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}},dn={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&&Rt.hasOwnProperty(e)?t=Object.assign({},Rt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},pn=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var fn=function(e,t){let n=pn(t),a=[];return e.forEach(e=>{let[t]=e,r=n[t]||[];if(r=r.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===r.length)return void a.push({passthrough:e});r=r.sort((e,t)=>e[1]-t[1]);let o=e;r.forEach((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)})}),a},bn={one:{termList:function(e){let t=[];for(let n=0;n{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<4;a+=1){if(t[n-a]){let r=t[n-a].findIndex(t=>t.id===e);if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex(t=>t.id===e);if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex(e=>e.id===r);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))}),n=n.filter(e=>e.length>0),n},pointer:{indexN:pn,splitAll:fn}}},yn=function(e,t){let n=e.concat(t),a=pn(n),r=[];return n.forEach(e=>{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter(t=>mn(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);r.push(o)}),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n},wn=function(e,t){let n=pn(t),a=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>mn(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Pn=function(e,t){return e.map(e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e})},An={union:function(e){e=kn(e,this);let t=yn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)}};An.and=An.union,An.intersection=function(e){e=kn(e,this);let t=wn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.not=function(e){e=kn(e,this);let t=vn(this.fullPointer,e.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.difference=An.not,An.complement=function(){let e=this.all(),t=vn(e.fullPointer,this.fullPointer);return t=Pn(t,this.document),this.toView(t)},An.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=yn(e,[t])}),e=Pn(e,this.document),this.update(e)};var En={methods:bn,api:function(e){Object.assign(e.prototype,An)}},jn=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};function In(e,t,n){return e.splice(t,1,...n),e}const Gn=function(e){return e.fastOr?Array.from(e.fastOr).map(e=>[{word:e}]):e.choices},Nn=function(e,t){let n=Object.assign({},e,t);return delete n.choices,delete n.fastOr,delete n.operator,n};var Dn=function(e){let t=[];return e.forEach(e=>{for(let n=0;n{let r=Object.assign({},e);r.regs=r.regs.slice(0),a=a.map(t=>Nn(e.regs[n],t)),r.regs=In(r.regs,n,a),t.push(r)})}t.push(e)}),t};const xn=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var Cn=function(e){return e.forEach(e=>{e.needs=Array.from(function(e){let t=new Set;return e.forEach(e=>{let n=xn(e);n?t.add(n):"and"===e.operator&&e.choices&&e.choices.forEach(e=>{e.forEach(e=>{let n=xn(e);n&&t.add(n)})})}),t}(e.regs)),e.minWords=e.regs.filter(e=>!e.optional).length}),e},Tn=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t},Bn=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})},On=function(e,t){for(let n=0;ne.needs.every(e=>a.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e},zn=function(e,t,n,a){let r=[];for(let o=0;o0&&(l.ptrs.forEach(e=>{e[0]=o;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),r.push(t)}),!0===a.matchOne))return[r[0]]}return r},Vn=function(e,t){let[n,a,r]=e.pointer,o=t[n],i=a>4?a-2:0,s=e.tag||"";var l;l=e.tag,"[object Array]"===Object.prototype.toString.call(l)&&(s=e.tag.join(" #"));let u=e.reason||e.match;u=u?`|${u}|`:"";let c=(" "+u).padEnd(20)+" - ";const d=e=>""+e+"";for(;ir+2);i+=1){let e=o[i].machine||o[i].normal;c+=i>a&&i{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e});let i=o.map(e=>e.pointer);return o=o.map(e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e)),{view:this.update(i),found:o}}},methods:{one:{buildNet:function(e,t){e=jn(e,t),e=Dn(e);let n=(e=Cn(e)).filter(e=>0===e.needs.length),a=Tn(e);return delete a["#Noun"],delete a["#Verb"],{index:a,always:n}},bulkMatch:function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=Bn(r,t.index);return o=On(o,r),t.always.length>0&&(o=o.map(e=>e.concat(t.always))),o=function(e,t){return e.map((e,n)=>{let a=t[n].length;return e.filter(e=>a>=e.minWords)})}(o,e),zn(o,e,n,a)},bulkTagger:function(e,t,n){const{model:a,methods:r}=n,{getDoc:o,setTag:i,unTag:s}=r.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag&&!e.chunk)return;let r=e.reason||e.match;l.DEBUG_TAGS&&Vn(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===Fn(u,e.tag,a))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe,r),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe,"quick-plural")),void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach(t=>t.chunk=e.chunk)})}}}};const Sn=/ /,Hn=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Jn=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,r),1!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Sn.test(t))!function(e,t,n,a){let r=t.split(Sn);e.forEach((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),Jn(e,o,n,a))})}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nLn(e,t,n,a))};var Mn=Ln,Wn=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Kn({id:e})),t}return[Kn({id:e})]}(e))}),n=n.filter(e=>e);let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),a.push(n)})}return n},Zn=e=>"[object Array]"===Object.prototype.toString.call(e),Qn=e=>(e=e||"").trim(),_n=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||qn.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Un(e)})});let a=function(e){let t={children:[]};return e.forEach((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Kn({});return e.forEach(e=>{if((e=Kn(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Rn(t=e).forEach(Kn),t);var t},Xn=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Rn(e).forEach((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"}),a},Yn=function(e){let t=Rn(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},ea={text:Xn,txt:Xn,array:Yn,flat:Yn},ta=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Xn(e,!0)),null):ea.hasOwnProperty(t)?ea[t](e):e},na=e=>{Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},aa=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Qn(e),!aa.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!a)return null;e=a}return e})(this.json,e)||Kn({});return new g$1(t)}add(e,t={}){if(Zn(e))return e.forEach(e=>this.add(Qn(e),t)),this;e=Qn(e);let n=Kn({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Qn(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Rn(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Rn(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Rn(this.json)}fillDown(){var e;return e=this.json,Rn(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Zn(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){na(this.json);let e=Rn(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return na(this.json),ta(this.json,e)}debug(){return na(this.json),ta(this.json,"debug"),this}}const ra=function(e){let t=_n(e);return new g$1(t)};ra.prototype.plugin=function(e){e(this)};var oa={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const ia=function(e){if(oa.hasOwnProperty(e.id))return oa[e.id];if(oa.hasOwnProperty(e.is))return oa[e.is];let t=e._cache.parents.find(e=>oa[e]);return oa[t]};var sa=function(e){const t={};return e.forEach(e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:ia(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const la=function(e){return e?"string"==typeof e?[e]:e:[]};var ua=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=la(e[t].children),e[t].not=la(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e},ca={one:{setTag:Mn,unTag:Wn,addTags:function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach(t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0}),e}(e)),e=ua(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}});return ra(t).cache().fillDown().out("array")}(Object.assign({},t,e));return sa(n)}}};const da=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var ha={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),da(e)?e.forEach(e=>r.one.setTag(a,e,i,n,t)):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return da(e)?e.forEach(e=>a.one.unTag(n,e,i)):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach((e,t)=>{e.forEach((e,r)=>{n.find(t=>e.tags.has(t))&&a.push([t,r,r+1])})});let r=this.update(a);return this.difference(r)}},ga=function(e){Object.assign(e.prototype,ha)},ma={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const pa=new Set(["Auxiliary","Possessive"]);var fa={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(pa.has(e)||!t.hasOwnProperty(n))return 1;if(pa.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})}(t,a)})})}},methods:ca,api:ga,lib:ma};const ba=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,ya=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var va=function(e){let t=[],n=e.split(ya);for(let e=0;e0&&(a.push(t),r[e]="")}if(0===a.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Fa=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,$a=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,Sa=/['’]/,Ha=/^[a-z]\.([a-z]\.)+/i,Ja=/^[-+.][0-9]/,La=/^'[0-9]{2}/;var Ma=function(e){let t=e,n="",a="";return""===(e=(e=e.replace(Fa,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Ja.test(e)?"'"===n&&La.test(e)?(n="",t):"":(n="",t)))).replace($a,r=>(a=r,Sa.test(r)&&/[sn]['’]$/.test(t)&&!1===Sa.test(n)?(a=a.replace(Sa,""),"'"):!0===Ha.test(e)?(a=a.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(a=e||"","")),e=t,n=""),{str:e,pre:n,post:a}},Wa=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Ka=/([A-Z]\.)+[A-Z]?,?$/,qa=/^[A-Z]\.,?$/,Ua=/[A-Z]{2,}('s|,)?$/,Ra=/([a-z]\.)+[a-z]\.?$/;var Za=function(e){return function(e){return!0===Ka.test(e)||!0===Ra.test(e)||!0===qa.test(e)||!0===Ua.test(e)}(e)&&(e=e.replace(/\./g,"")),e},Qa=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Wa(a),a=n(a,t),a=Za(a),e.normal=a},_a={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach((e,t)=>{n[e]&&(a[t]=n[e])}),a.join("")},tokenize:{splitSentences:Ga,splitTerms:function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(za);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Ta(n),n=xa(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:a}=Ma(e);return{text:t,pre:n,post:a,tags:new Set}},fromString:function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",a).map(e=>{let n=o(e,a);return n=n.map(i),n.forEach(e=>{Qa(e,t)}),n})}}}},Xa={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Ya={},er={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Ya[t]=!0,er[t]="Abbreviation",void 0!==e[1]&&(er[t]=[er[t],e[1]])})});var tr=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let nr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},ar={};Object.keys(nr).forEach((function(e){nr[e].split("").forEach((function(t){ar[t]=e}))}));const rr=/\//,or=/[a-z]\.[a-z]/i,ir=/[0-9]/;var sr=function(e,t){let n=e.normal||e.text;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),rr.test(n)&&!or.test(n)&&!ir.test(n)){let t=n.split(rr);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};const lr=/^\p{Letter}+-\p{Letter}+$/u;var ur=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),lr.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)},cr=function(e){let t=0,n=0,a=e.document;for(let e=0;edr(e,sr),machine:e=>dr(e,ur),normal:e=>dr(e,Qa),freq:function(e){let t=e.docs,n={};for(let e=0;e{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]}),a};const pr={safe:!0,min:3};var fr={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=gr},lib:{typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},pr,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=mr(e,t,this.world());return Object.keys(r).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let a=n[n.length-1]||[],r=a[a.length-1];if(!r.post&&t.hasOwnProperty(r.normal)){let n=t[r.normal];r.implicit=n,r.machine=n,r.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};m.extend(U),m.extend(gn),m.extend(Vt),m.extend(En),m.extend(fa),m.plugin(fe),m.extend(hr),m.plugin(f),m.extend(Ne),m.extend(fr),m.extend(ke),m.extend($n);var br={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},yr={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shiba,y1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7S;1:6L;2:7O;3:7Z;4:7Y;5:82;6:6X;7:7I;8:75;9:6T;a7Kb6Wc5Vd5Ae52f4Eg44h3Wi3Qj3Ok3Ml3Cm33n2Zo2Vp21ques7Mr1Ds07tTuRvMwCyBzA;ip,o6E;awn,e1Wie4U;aHeaGhEiCoAre7M;nd0rA;k,ry;mp,nApe,re,sh,tne84;!d,g;e6IiA;p,st6;r,th0;it,rAs4t2ve,x;ehou1ra83;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l3A;pAsh0;da4gra50;aLeKhrJiIoHrDuBwiAy4O;n,st;nArn;e,n63;aCeBiAu7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5Z;ll,ne,r3Sss,t76u2;ck,e,me,p,re;e1Now,u7;ar,e,st;g,lArg63s4;k,ly;a0Ec09e06h01iZkXlVmUnTou6CpPtFuBwA;ear,it2;b1Yit,m,ppBrAspe5;ge,pri1vey;lAo5C;e59y;aHeGiFoDrBuAy6;dy,ff,mb6;a6CeAi4G;am,ss,t2;cking,p,rA;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Lons6MrAy;ay,e12ink6u3;n,r6Ite;n,rk;ee1Fow;e0Fi6o43;eep,iA;ce,p,t;ateboa5ZiA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i33;pe,re;aBed,nArv16t;se,t1Y;l,r2t;aDhedu6oCrA;at2eA;en,w;re,ut;le,n,r0J;crifi3il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1C;as5EcOdo,el,fMgLje5lKmInHo0VpFque7sCturn,vAwa5C;eAi1J;al,r1;er5JoBt,uA;lt,me;l5Hrt;air,eaAly,o3Z;l,t;dezvo26t;aAedy;ke,rk;ea1i3F;a50ist0r4E;act5Eorm,uA;nd,se;aAo4Xru8;ll;ck,i1ke,l48nAtV;ge,k;a00eXhViSlNoJrBuA;mp,n2rcha1sh;ai1eFiEoAu3L;be,ceCdu3grAje5mi1te7;amAe5E;!me;ed,ss;ce,de;sAy;er4Us;iClAol,p,re,s2Sw0;iAl;ce,sh;nt,s4I;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Um8;!l;cka9iBn,rtAss,t2u1;!y;nt,r;bCff0il,oBrAutli2T;d0ie4S;ze;je5;a3LeCoA;d,tA;e,i3;ed,gle5rd,t;aFeDiCoBuA;rd0;d2Unit44p,ve;lk,n2Yrr43x;asu12n3OrAss;ge,it;il,nBp,rk2ZsAt2;h,k;da4oeuv0Y;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0DvA;el,y;ch,d,p,se;bBcAnd,t2un2;e,k;el,o25;e2DiAno3C;ck,ll,ss;am,o17uA;d9i3;mpEnBr36ssA;ue;cr19dex,fluBha6k,se1VterviAvoi3;ew;en3;a5le1Q;aEeCiBoAu3S;ld,no1Tok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo30m,ne3Hve7;!le;aIeek,lo3FoHrCuA;arAe3Ei0Nn;antee,d;aCiBoAumb6;om,u2B;nd,p;dAsp;e,ua4;of,ssip;in,me,ng,s,te,ze;aWeSiNlJoGrCuA;el,nAzz;c2Fd;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Om;us;aCe0Kip,oAy;at,od,wA;!er;g,re,sh,vo0Z;eDgClBnAre,sh,t,x;an3i0F;e,m,t0;ht,uE;ld;aBeAn3;d,l;r,tuA;re;ce,il,ll,rm,vo21;cho,nGsExAye;cCerci1hib8pAtra5;eriAo0J;en3me2J;el,han9;caAtima4;pe;count0d,gine0vy;aSeMiGoFrBuAye;b,mp,pli24;aCeBiA;ft,nk,ve;am,ss;ft,in;cu05d9ubt;p,sCvA;e,iAor3;de;char9liBpA;at2lay;ke;al,ba4cDfeClBma0Wpos8siAtail;gn,re;ay,ega4;at,ct;liXrA;ea1;ma9n3rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu5glomeDstru5tAveI;a5rA;a7ol;ntArn;ra4;biEfoDmCpA;leAou08romi1;me1C;a06e1Bu4;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t2u1ve;se;d,e;aTeQiPlMoIrDuAypa0N;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan3nCrgaBsA;e,h;in;!d,g,k;c01dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa2;ch;al;chAsw0;or;er;d,m,r;ia4;dEvA;an3oA;ca4;te;ce;i5reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aObrigadiNcGdFexcellency,fiAliCma9officNp5queen,r2s0taoiseach,vice4;e0ultJ;cond liArgeaB;abbi,e0;ar0verend; adK;astGr0;eside6i0ofessF;me ministFnce0;!ss;gistrate,r4yC;eld mar3rst l0;ady,i0;eutena0;nt;shB;oct6utchess;aptain,hance4o0;lonel,mmand5n0unci3;gress0stable;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:56;1:4F;2:55;3:4S;4:4Q;5:4L;6:4P;7:4Z;8:4G;a4Pb44c37d2Ue2Nf2Dg22h1Qin1Njel3k1Ll1Im19n16o12p0Lqu0Kr0BsStJuGvCw9;a9ha39om29;f1i4Tt0Cy9;! arou4C;arn4DeAo9;cabu05l50;gIr9;di6t1H;nc32p2PrAs 9;do3Ps53;bani2in0; rex,aGeFhEiCoBrAu9v show;m2Hn5rntIto15;agedy,ibe,o43;p5rq3D;c,de,er,m9;etE;ere,i8;am,mp38;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n26st4O;ab2O;bAnri19per bowl,r9;f1roga2;st3Ctot0;aCepBipe3PrAudent9;! lo1J;ang1i8;fa1Emo1E;ff1t2Z;loi40me15;elet12i9;er,ll,rm3K;ack,or47;ab0Tcurity gu2C;e4ho9;l2Yol;la31;av0VeChetor5iAo9;de4om;te,v9;erb0M;bCcBf9publ5r0Nspi2;er9orm1;e4r0;it0ord label;a2u40;estion mark,ot27;aMeKhJiHlFort0rAu9yram1B;ddi8ppy,rpo0I;eCie3Go9;bl3Ts9;pe6t9;a2itu2;diction,mi0Droga7ss relea0D;a9ebisci2;q26te,y1;cn5e9g;!r;armaci37otocoH;dest0ncil,r9t0;cen3Fsp3G;nAr2Qte9;!nt;el2Qop3;bj3CcApia2rde0thers,ve9wn1;n,rview;cu9e0E;pi1;aAit23ot9umb1;a24hi8;n28rra7;aFeEiDoAu9é0F;m0Rr0;mAnopo3pPrni8sq1Ot9u12;h1i34;!my;li0Vn08;d5nu,t0;mm0nd11te9yf3;ri0;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,ph9;one;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi1id;a16d9; slam,fa9mo9;th1;d,lf1;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er0;ee market,iAon9;ti1;e16ga2;ame,u2;nan9ref3;ci1;lla,t14;br5mi3n0Uth1;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i1;cAg1Fi3or,ssi1wn9;si0M;to0BumenB;ale6gniAnn1s9vide0O;conte4incen7tri6;ta0A;aBc0fAni0te9;c7rre4;ault 05err0;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi1rr0t11u9yo2;ri1s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli1racter9;ist5;ili8llDr9;e0tifica2;hi1naFpErCshi1t9ucus;erpi9hedr0;ll9;ar;bohyd9ri1;ra2;it0;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i0;!y;ny;eakBiAo9;!th1;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri1;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru0eAqui9;tt0;ta2;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Uncountable:"true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0X;a0Sb0Qc0Cd0Bex0Af07g04he02in0Ljoule0kVlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Dd0Jears old,o1;tt07;att0b;able3e2on1;!ne0;a1r03;spoY;c0Ad09f3i07kilo0Bm1ya06;e0Eil1;e0li09;eet0o05;ascals,e2i1ou0I;c0Fnt0;rcent,tV;hms,uS;an0CewtP;/s,e6i1m²,²,³;/h,cro4l1;e1li03;! pFs 1²;anFpE;g02s07;gMter1;! 2s1;! 1;per second;it2u1;men0x;er0re0;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0S;a0Rb0Mc0Dde0Ce07f00gZhomel09iXjuWlVmPnOoNpMrJsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;b01nt;ndergr1pstairs;adua0Jou1;nd;a3e1oken;en,r1;min0ror0B;boo,n;e6ist00o4qua3ta2u1;bordina0Cper6;bRndard;re,t;cial05l1;e,v0F;cret,n1ri0;ior;e1outiIubbish;ar,laVnt0p1;resentaUublican;ati09eriodic0otenti0rincip0;ffiYpposi01v0;agging,ovel;aFe4in3o1;biEdernUr1;al,t0;iature,or;di1tr03;an,um;attGiber0;stice,veni8;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1ecu7pL;ess;d1iE;er;mographKriva3;hiCo1rude;m3n2opera1;tive;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AK;4:CL;5:C0;6:CG;7:D3;8:BT;9:AS;A:95;B:DB;C:D4;D:BN;aCAbB8cA8d99e8Jf83g7Gh6Ti6Dj5Fk53l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Kkaria,n0C;hFkE;!aC8;ar5VeC7;aMoGuE;sEu2LvBK;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB9ssY;avi3ho4;aNeLiGoEyaBO;jcie88lfgang,odrow,utE;!er;lEnst1;bGey,fredBlE;aB0iE;am,e,s;e98ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Yy;aHiEladimir,ojte7V;cFha0kt68nceErgA6va0;!nt;e3Xt66;lentEn9T;inE;!e;ghBFlyss5Anax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r5A;avAIeEist0oy,um0;ntAAv5Xy;bGd8SmEny;!as,mEoharu;aCCie,y;iAy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8H;!de5;dHrE;en99rE;an98eEy;ll,n97;!dy;dgh,ha,iEnn3req,tsu4S;cAQka;aUcotSeQhMiKoIpenc3tEur1Xylve97zym1;anGeEua86;f0phBDvEwa85;e60ie;!islaw,l8;lom1uE;leyma6ta;dElAm1yabonga;!dhart75n8;aGeE;lErm0;d1t1;h7Lne,qu11un,wn,y6;aEbasti0k2Cl4Qrg4Nth,ymoAF;m5n;!tE;!ie,y;lFmEnti2Gq59ul;!ke5KmDu4;ik,vato7P;aZeVhe9WiRoIuFyE;an,ou;b7EdFf5pe7LssE;!elBJ;ol3Gy;an,bLc63dJel,geIh0landBmHnGry,sFyE;!ce;coe,s;!aA2nD;an,eo;l46r;er79g3n8olfo,riE;go;bDeAR;cEl8;ar6Jc6IhFkEo;!ey,ie,y;a8Wie;gFid,ubCyEza;an1KnZ;g9TiE;na9Ps;ch6Rfa4lImHndGpha4sFul,wi2IyE;an,mo6V;h7Km5;alAXol2Vy;iADon;f,ph;ent2inE;cy,t1;aJeHhilGier6UrE;aka18eE;m,st1;!ip,lip;dA5rcy,tE;ar,e3Fr1Z;b4Idra74tr6KulE;!o19;ctav3Ei3liv3m9Zndrej,rIsFtEum7wC;is,to;aFc7k7m0vE;al5T;ma;i,vM;aMeKiGoEu39;aEel,j5l0ma0r3J;h,m;cFg4i47kE;!au,h7Hola;holAkEolA;!olA;al,d,il,ls1vE;il8K;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Hr1;hamFr6LstaE;fa,p55;ed,mI;di0Xe,hamGis2DntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Vik;house,o0Ct1;ae5Pe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2BlSmadXnRrLs1tGuricFxE;imilianBwe9;e,io;eHhFiAtEus,yA;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Zsha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5H;ou;aXeRiPlo3AoLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7CrenGuEv82we9;!iE;e,s;!zo;am,oE;n4r;a7Vevi,la4BnIonHst3thaGvE;eEi;nte;bo;!a6Eel;!ny;mGnFrEur55wr55;ry,s;ce,d1;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubAnJrHsE;eFhEi7Vue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Fy;!e5OrE;ey,y;cLdCkJmIrGsFvi3yE;dCs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i6ZmaEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dC;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5J;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4X;oGrE;aEry;ld,rdB;ffr8rge;brFlCrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;!ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymCzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estBie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4EsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydAy29;!lA;!a2HnEov0;e9ie,y;go,iFykA;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l35n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1B;aEie;rdB;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndB;!el,ki;ie;ta;aq;as,dIgelBtE;hony,oE;i6nE;!iBy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;an,beQdCeKfIi,lHonGphYt1vE;aOin;on;so,zo;an,en;onUrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtB;ni;dCm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfBri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:98;1:84;2:81;3:8Z;4:8T;5:6H;6:85;7:89;8:8U;9:8G;A:5Z;a7Qb7Ac6Sd6Ae5Sf5Ag52h4Ri3Tjuni46k3Rl3Gm34n2Uo2Fp1Wquart66r1Ls0Rt0JuMvIwBye1J;ast56eFholeEiDoB;man5oBrthwhi6u0F;d7Lzy;despr8Is6H;!sa6;ather13eBll o5Lste2R;!k5;aDeCiBola5F;b98ce versa,gi2R;ng4Xrsa5D;ca0lu56;lt06nHpDrCsBttermo90;ef79u4;b6Age0; Db2BpCsBti37;ca6et,ide dO;er,i4N;f3Vto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4G;e73i2GoDpCuB;pervis1spect2;e0ok71;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6S;mploy1nd2xpect1;eBue;cid1rB;!a6VcovAly2sDwB;aBei2L;tAy;iz1to45;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Ira;aGeDhough5Cip 1QoCrB;anspa72i3;gethAle86rp9;ena6JmpCrB;r3Htia6T;e8o6R;leBst3S;nt1;a03c01eZhYiWkiVmug,nobb41oPpMqueam41tGuBymb73;bDi generis,pBr5;erBre1P;! dupAb,viX;du1sBurb53;eq76tanda7S;atu6DeFi0VrByl3V;aBin4G;ightBy; fBfB;or61;adfa7Kri6;arCeBirit1lend9ot on;c30e36;k5se; caGlub6mbAphisticFrEuCvB;erei5Miet;ndBth0Y;pro6I;d9ry;at1;ll1;g1YnB;ce5Bg6;am32eA;at1co1Jem5lf3CnBre7;so5Z;ath2holBient2M;ar5;cr1me,tisfac5Q;aJeEheumato9iCoB;bu70tt5Cy4;ghtBv4;-w2f58;bZcEdu6RlDnown1sBtard1;is3FoB;lu3na0;e1Duc3D;e0ondi3;b9ciB;al,st;aOeMicayu7laLopuli6QrCuB;bl5Ynjabi;eGiEoB;!b2SfCmi3EpBv4Zxi21;er,ort63;a7u66;maBor,sti7va3;!ry;ci63exist2mBpa9;a1QiB;er,um;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8U;1:8H;2:9C;3:90;4:81;5:7O;6:98;7:83;8:9F;9:91;A:9G;B:8W;C:7V;D:7R;E:7L;F:88;a81b7Ec6Od5Ge4Ef44g40h3Wi3Cj39k36l2Xm2Qnou3Vo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7IlGplug,tie,ve84;ea8o3K;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Fmp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7M;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all70e2EiG;m,ng;bIccumb,ffHggeBmm90p2FrG;mouFvi2;er,i3;li7Zmer9siGveD;de,st;aKe7SiIrG;ang4eGi2;ng20w;fGnW;f5le;gg0rG;t4ve;a3Ri8;awn,eJiIlHoGri6A;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5EoHriGun;nk,v5Q;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3IoGyc4;gni57nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,ni8rGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0truAvG;e,iAo4R;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi41iC;a5Brt4T;er3npoiF;cei2fo3Bi8mea6plex,sGvaA;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Rpo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3uA;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee2ZolG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer9pG;hasi1Xow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi29sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3GsKtG;iGoDu2W;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a17e2WlJoHuG;ss;uGv0;ra9;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta18;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Iin24ribu6;er2iGoli26pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aZeTiSlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l11mbaGrrNth0;rd;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const vr=36,wr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",kr=wr.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var Pr=function(e){if(void 0!==kr[e])return kr[e];let t=0,n=1,a=vr,r=1;for(;n=0;n--,r*=vr){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t},Ar=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const a=jr(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Ir(yr[e]);xr.test(e)?Object.keys(t).forEach(t=>{if(Tr[t]=e,"Noun|Verb"===e){let e=Dr(t,Br);Tr[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{Cr[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Cr[e]="Emoticon"),delete Cr[""],delete Cr.null,delete Cr[" "];const Or="Adjective";var zr={beforeTags:{Determiner:Or,Possessive:Or},afterTags:{Adjective:Or},beforeWords:{seem:Or,seemed:Or,seems:Or,feel:Or,feels:Or,felt:Or,appear:Or,appears:Or,appeared:Or,also:Or,over:Or,under:Or,too:Or,it:Or,but:Or,still:Or,really:Or,quite:Or,well:Or,very:Or,deeply:Or,profoundly:Or,extremely:Or,so:Or,badly:Or,mostly:Or,totally:Or,awfully:Or,rather:Or,nothing:Or,something:Or,anything:Or},afterWords:{too:Or,also:Or,or:Or}};const Vr="Gerund";var Fr={beforeTags:{Adverb:Vr,Preposition:Vr,Conjunction:Vr},afterTags:{Adverb:Vr,Possessive:Vr,Person:Vr,Pronoun:Vr,Determiner:Vr,Copula:Vr,Preposition:Vr,Conjunction:Vr,Comparative:Vr},beforeWords:{been:Vr,keep:Vr,continue:Vr,stop:Vr,am:Vr,be:Vr,me:Vr,began:Vr,start:Vr,starts:Vr,started:Vr,stops:Vr,stopped:Vr,help:Vr,helps:Vr,avoid:Vr,avoids:Vr,love:Vr,loves:Vr,loved:Vr,hate:Vr,hates:Vr,hated:Vr},afterWords:{you:Vr,me:Vr,her:Vr,him:Vr,them:Vr,their:Vr,it:Vr,this:Vr,there:Vr,on:Vr,about:Vr,for:Vr}},$r={beforeTags:Object.assign({},zr.beforeTags,Fr.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},zr.afterTags,Fr.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},zr.beforeWords,Fr.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},zr.afterWords,Fr.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Sr="Singular";var Hr={beforeTags:{Determiner:Sr,Possessive:Sr,Acronym:Sr,Noun:Sr,Adjective:Sr,PresentTense:Sr,Gerund:Sr,PastTense:Sr,Infinitive:Sr,Date:Sr},afterTags:{Value:Sr,Modal:Sr,Copula:Sr,PresentTense:Sr,PastTense:Sr,Demonym:Sr},beforeWords:{the:Sr,with:Sr,without:Sr,of:Sr,for:Sr,any:Sr,all:Sr,on:Sr,cut:Sr,cuts:Sr,save:Sr,saved:Sr,saves:Sr,make:Sr,makes:Sr,made:Sr,minus:Sr,plus:Sr,than:Sr,another:Sr,versus:Sr,neither:Sr,favorite:Sr,best:Sr,daily:Sr,weekly:Sr,linear:Sr,binary:Sr,mobile:Sr,lexical:Sr,technical:Sr,computer:Sr,scientific:Sr,formal:Sr},afterWords:{of:Sr,system:Sr,aid:Sr,method:Sr,utility:Sr,tool:Sr,reform:Sr,therapy:Sr,philosophy:Sr,room:Sr,authority:Sr,says:Sr,said:Sr,wants:Sr,wanted:Sr}};const Jr={beforeTags:{Determiner:void 0}};var Lr={beforeTags:Object.assign({},zr.beforeTags,Hr.beforeTags,Jr.beforeTags),afterTags:Object.assign({},zr.afterTags,Hr.afterTags),beforeWords:Object.assign({},zr.beforeWords,Hr.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},zr.afterWords,Hr.afterWords)};const Mr={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Wr={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Kr={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},qr={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Ur={beforeTags:Object.assign({},zr.beforeTags,Mr),afterTags:Object.assign({},zr.afterTags,Wr),beforeWords:Object.assign({},zr.beforeWords,Kr),afterWords:Object.assign({},zr.afterWords,qr)};const Rr="Infinitive";var Zr={beforeTags:{Modal:Rr,Adverb:Rr,Negative:Rr,Plural:Rr},afterTags:{Determiner:Rr,Adverb:Rr,Possessive:Rr,Preposition:Rr},beforeWords:{i:Rr,we:Rr,you:Rr,they:Rr,to:Rr,please:Rr,will:Rr,have:Rr,had:Rr,would:Rr,could:Rr,should:Rr,do:Rr,did:Rr,does:Rr,can:Rr,must:Rr,us:Rr,me:Rr,he:Rr,she:Rr,it:Rr,being:Rr},afterWords:{the:Rr,me:Rr,you:Rr,him:Rr,her:Rr,them:Rr,it:Rr,a:Rr,an:Rr,up:Rr,down:Rr,by:Rr,out:Rr,off:Rr,when:Rr,all:Rr,to:Rr,because:Rr,although:Rr,before:Rr,how:Rr,otherwise:Rr,though:Rr,yet:Rr}};const Qr={afterTags:{Noun:"Adjective",Conjunction:void 0}};var _r={beforeTags:Object.assign({},zr.beforeTags,Zr.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},zr.afterTags,Zr.afterTags,Qr.afterTags),beforeWords:Object.assign({},zr.beforeWords,Zr.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},zr.afterWords,Zr.afterWords,{to:void 0})};const Xr={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},Yr={},eo={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},to={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var no={beforeTags:Object.assign({},Fr.beforeTags,Hr.beforeTags,Xr),afterTags:Object.assign({},Fr.afterTags,Hr.afterTags,Yr),beforeWords:Object.assign({},Fr.beforeWords,Hr.beforeWords,eo),afterWords:Object.assign({},Fr.afterWords,Hr.afterWords,to)},ao={beforeTags:Object.assign({},Zr.beforeTags,Hr.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Zr.afterTags,Hr.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Zr.beforeWords,Hr.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Zr.afterWords,Hr.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const ro="Person";var oo={beforeTags:{Honorific:ro,Person:ro,Preposition:ro},afterTags:{Person:ro,ProperNoun:ro,Verb:ro},ownTags:{ProperNoun:ro},beforeWords:{hi:ro,hey:ro,yo:ro,dear:ro,hello:ro},afterWords:{said:ro,says:ro,told:ro,tells:ro,feels:ro,felt:ro,seems:ro,thinks:ro,thought:ro,spends:ro,spendt:ro,plays:ro,played:ro,sing:ro,sang:ro,learn:ro,learned:ro,wants:ro,wanted:ro}};const io="Month",so={beforeTags:{Date:io,Value:io},afterTags:{Date:io,Value:io},beforeWords:{by:io,in:io,on:io,during:io,after:io,before:io,between:io,until:io,til:io,sometime:io,of:io,this:io,next:io,last:io,previous:io,following:io},afterWords:{sometime:io,in:io,of:io,until:io,the:io}};var lo={beforeTags:Object.assign({},oo.beforeTags,so.beforeTags),afterTags:Object.assign({},oo.afterTags,so.afterTags),beforeWords:Object.assign({},oo.beforeWords,so.beforeWords),afterWords:Object.assign({},oo.afterWords,so.afterWords)};const uo={Place:"Place"},co={Place:"Place",Abbreviation:"Place"},ho={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},go={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"},mo={"Adj|Gerund":$r,"Adj|Noun":Lr,"Adj|Past":Ur,"Adj|Present":_r,"Noun|Verb":ao,"Noun|Gerund":no,"Person|Noun":{beforeTags:Object.assign({},Hr.beforeTags,oo.beforeTags),afterTags:Object.assign({},Hr.afterTags,oo.afterTags),beforeWords:Object.assign({},Hr.beforeWords,oo.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},Hr.afterWords,oo.afterWords)},"Person|Date":lo,"Person|Verb":{beforeTags:Object.assign({},oo.beforeTags,Zr.beforeTags),afterTags:Object.assign({},oo.afterTags,Zr.afterTags),beforeWords:Object.assign({},oo.beforeWords,Zr.beforeWords),afterWords:Object.assign({},oo.afterWords,Zr.afterWords)},"Person|Place":{beforeTags:Object.assign({},uo,oo.beforeTags),afterTags:Object.assign({},co,oo.afterTags),beforeWords:Object.assign({},ho,oo.beforeWords),afterWords:Object.assign({},go,oo.afterWords)}},po=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};mo["Plural|Verb"]={beforeWords:po(mo["Noun|Verb"].beforeWords,{}),afterWords:po(mo["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:po(mo["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:po(mo["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var fo=mo;const bo="Adjective",yo="Infinitive",vo="PresentTense",wo="Singular",ko="PastTense",Po="Adverb",Ao="Plural",Eo="Actor",jo="Verb",Io="Noun",Go="LastName",No="Modal",Do="Participle";var xo=[null,null,{ea:wo,ia:Io,ic:bo,ly:Po,"'n":jo,"'t":jo},{oed:ko,ued:ko,xed:ko," so":Po,"'ll":No,"'re":"Copula",azy:bo,eer:Io,end:jo,ped:ko,ffy:bo,ify:yo,ing:"Gerund",ize:yo,ibe:yo,lar:bo,mum:bo,nes:vo,nny:bo,ous:bo,que:bo,rol:wo,sis:wo,ogy:wo,oid:wo,ian:wo,zes:vo,eld:ko,ken:Do,ven:Do,ten:Do,ect:yo,ict:yo,ign:yo,ful:bo,bal:bo},{amed:ko,aped:ko,ched:ko,lked:ko,rked:ko,reed:ko,nded:ko,mned:bo,cted:ko,dged:ko,ield:wo,akis:Go,cede:yo,chuk:Go,czyk:Go,ects:vo,ends:jo,enko:Go,ette:wo,wner:wo,fies:vo,fore:Po,gate:yo,gone:bo,ices:Ao,ints:Ao,ruct:yo,ines:Ao,ions:Ao,less:bo,llen:bo,made:bo,nsen:Go,oses:vo,ould:No,some:bo,sson:Go,tion:wo,tage:Io,ique:wo,tive:bo,tors:Io,vice:wo,lier:wo,fier:wo,wned:ko,gent:wo,tist:wo,pist:wo,rist:wo,mist:wo,yist:wo,vist:wo,lite:wo,site:wo,rite:wo,mite:wo,bite:wo,mate:wo,date:wo,ndal:wo,vent:wo,uist:wo,gist:wo,note:wo,cide:wo,wide:bo,vide:yo,ract:yo,duce:yo,pose:yo,eive:yo,lyze:yo,lyse:yo,iant:bo,nary:bo},{elist:wo,holic:wo,phite:wo,tized:ko,urned:ko,eased:ko,ances:Ao,bound:bo,ettes:Ao,fully:Po,ishes:vo,ities:Ao,marek:Go,nssen:Go,ology:Io,osome:wo,tment:wo,ports:Ao,rough:bo,tches:vo,tieth:"Ordinal",tures:Ao,wards:Po,where:Po,archy:Io,pathy:Io,opoly:Io,embly:Io,phate:Io,ndent:wo,scent:wo,onist:wo,anist:wo,alist:wo,olist:wo,icist:wo,ounce:yo,iable:bo,borne:bo,gnant:bo,inant:bo,igent:bo,atory:bo,rient:wo,dient:wo},{auskas:Go,parent:wo,cedent:wo,ionary:wo,cklist:wo,keeper:Eo,logist:Eo,teenth:"Value"},{opoulos:Go,borough:"Place",sdottir:Go}];const Co="Adjective",To="Noun",Bo="Verb";var Oo=[null,null,{},{neo:To,bio:To,"de-":Bo,"re-":Bo,"un-":Bo},{anti:To,auto:To,faux:Co,hexa:To,kilo:To,mono:To,nano:To,octa:To,poly:To,semi:Co,tele:To,"pro-":Co,"mis-":Bo,"dis-":Bo,"pre-":Co},{anglo:To,centi:To,ethno:To,ferro:To,grand:To,hepta:To,hydro:To,intro:To,macro:To,micro:To,milli:To,nitro:To,penta:To,quasi:Co,radio:To,tetra:To,"omni-":Co,"post-":Co},{pseudo:Co,"extra-":Co,"hyper-":Co,"inter-":Co,"intra-":Co,"deca-":Co},{electro:To}];const zo="Adjective",Vo="Infinitive",Fo="PresentTense",$o="Singular",So="PastTense",Ho="Adverb",Jo="Expression",Lo="Actor",Mo="Verb",Wo="Noun",Ko="LastName";var qo={a:[[/.[aeiou]na$/,Wo,"tuna"],[/.[oau][wvl]ska$/,Ko],[/.[^aeiou]ica$/,$o,"harmonica"],[/^([hyj]a+)+$/,Jo,"haha"]],c:[[/.[^aeiou]ic$/,zo]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,So,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,So,"rammed"],[/.[aeiou][sg]hed$/,So,"gushed"],[/.[aeiou]red$/,So,"hired"],[/.[aeiou]r?ried$/,So,"hurried"],[/[^aeiou]ard$/,$o,"steward"],[/[aeiou][^aeiou]id$/,zo,""],[/.[vrl]id$/,zo,"livid"],[/..led$/,So,"hurled"],[/.[iao]sed$/,So,""],[/[aeiou]n?[cs]ed$/,So,""],[/[aeiou][rl]?[mnf]ed$/,So,""],[/[aeiou][ns]?c?ked$/,So,"bunked"],[/[aeiou]gned$/,So],[/[aeiou][nl]?ged$/,So],[/.[tdbwxyz]ed$/,So],[/[^aeiou][aeiou][tvx]ed$/,So],[/.[cdflmnprstv]ied$/,So,"emptied"]],e:[[/.[lnr]ize$/,Vo,"antagonize"],[/.[^aeiou]ise$/,Vo,"antagonise"],[/.[aeiou]te$/,Vo,"bite"],[/.[^aeiou][ai]ble$/,zo,"fixable"],[/.[^aeiou]eable$/,zo,"maleable"],[/.[ts]ive$/,zo,"festive"],[/[a-z]-like$/,zo,"woman-like"]],h:[[/.[^aeiouf]ish$/,zo,"cornish"],[/.v[iy]ch$/,Ko,"..ovich"],[/^ug?h+$/,Jo,"ughh"],[/^uh[ -]?oh$/,Jo,"uhoh"],[/[a-z]-ish$/,zo,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Ko,"polish-male"]],k:[[/^(k){2}$/,Jo,"kkkk"]],l:[[/.[gl]ial$/,zo,"familial"],[/.[^aeiou]ful$/,zo,"fitful"],[/.[nrtumcd]al$/,zo,"natal"],[/.[^aeiou][ei]al$/,zo,"familial"]],m:[[/.[^aeiou]ium$/,$o,"magnesium"],[/[^aeiou]ism$/,$o,"schism"],[/^[hu]m+$/,Jo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,zo,"republican"],[/[^aeiou]ician$/,Lo,"musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Jo,"noooo"],[/^(yo)+$/,Jo,"yoo"],[/^wo{2,}[pt]?$/,Jo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,$o],[/[^i]fer$/,Vo],[/.[^aeiou][ao]pher$/,Lo],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,zo],[/[aeiou].*ist$/,zo],[/^[a-z]et$/,Mo]],s:[[/.[^aeiou]ises$/,Fo],[/.[rln]ates$/,Fo],[/.[^z]ens$/,Mo],[/.[lstrn]us$/,$o],[/.[aeiou]sks$/,Fo],[/.[aeiou]kes$/,Fo],[/[aeiou][^aeiou]is$/,$o],[/[a-z]'s$/,Wo],[/^yes+$/,Jo]],v:[[/.[^aeiou][ai][kln]ov$/,Ko]],y:[[/.[cts]hy$/,zo],[/.[st]ty$/,zo],[/.[tnl]ary$/,zo],[/.[oe]ry$/,$o],[/[rdntkbhs]ly$/,Ho],[/.(gg|bb|zz)ly$/,zo],[/...lly$/,Ho],[/.[gk]y$/,zo],[/[bszmp]{2}y$/,zo],[/.[ai]my$/,zo],[/[ea]{2}zy$/,zo],[/.[^aeiou]ity$/,$o]]};const Uo="Verb",Ro="Noun";var Zo={leftTags:[["Adjective",Ro],["Possessive",Ro],["Determiner",Ro],["Adverb",Uo],["Pronoun",Uo],["Value",Ro],["Ordinal",Ro],["Modal",Uo],["Superlative",Ro],["Demonym",Ro],["Honorific","Person"]],leftWords:[["i",Uo],["first",Ro],["it",Uo],["there",Uo],["not",Uo],["because",Ro],["if",Ro],["but",Ro],["who",Uo],["this",Ro],["his",Ro],["when",Ro],["you",Uo],["very","Adjective"],["old",Ro],["never",Uo],["before",Ro],["a","Singular"],["the",Ro],["been",Uo]],rightTags:[["Copula",Ro],["PastTense",Ro],["Conjunction",Ro],["Modal",Ro]],rightWords:[["there",Uo],["me",Uo],["man","Adjective"],["only",Uo],["him",Uo],["it",Uo],["were",Ro],["took",Ro],["himself",Uo],["went",Ro],["who",Ro],["jr","Person"]]},Qo={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},_o={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Xo={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Yo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},ei={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const ti=/^.([0-9]+)/;var ni=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],a=n.match(ti);if(null===a)return t.exceptions[e];let r=Number(a[1])||0;return e.substr(0,r)+n.replace(ti,"")}(e,t);let a=t.rules;t.reversed&&(a=t.rev),a=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,a);for(let t=0;t{let n=e[0]||"",a=n[n.length-1]||"";t[a]=t[a]||[],t[a].push(e)}),t},ri=/^([0-9]+)/,oi=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(ri);if(null===n)return[e,t];let a=Number(n[1])||0,r=e.substring(0,a);return[e,r+t.replace(ri,"")]}(n[0],n[1])})};var ii=function(e={}){return(e=Object.assign({},e)).rules=oi(e.rules),e.rules=ai(e.rules),e.rev&&(e.rev=oi(e.rev),e.rev=ai(e.rev)),e.exceptions=oi(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e},si=function(e){let{rules:t,exceptions:n,rev:a}=e;var r;return r=n,n=Object.entries(r).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:a}};const li=ii({rules:"een|1,egan|2in,on|in,pun|1in,hun|3ned,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,ollide|6d,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,rod|3ded,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,ulfil|5led,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,utgrow|4ew,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im,lam|3med,nearth|6s",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,utgrew|4ow,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,ollided|6,lammed|3,hunned|3,rodded|3,lfilled|4,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,nearths|6,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),ui=ii(Yo),ci=ii(_o),di=ii(Xo),hi=si(li),gi=si(ui),mi=si(ci),pi=si(di),fi=ii(Qo),bi=ii(ei);var yi={fromPast:li,fromPresent:ui,fromGerund:ci,fromParticiple:di,toPast:hi,toPresent:gi,toGerund:mi,toParticiple:pi,toComparative:fi,toSuperlative:bi,fromComparative:si(fi),fromSuperlative:si(bi)},vi=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),wi=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]],ki=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce((e,t)=>(e[r[t]]=t,e),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Pi[t].forEach(n=>e[n]=t),e),{});var Ai=Pi,Ei=function(e){let t=e.substring(e.length-3);if(!0===Ai.hasOwnProperty(t))return Ai[t];let n=e.substring(e.length-2);return!0===Ai.hasOwnProperty(n)?Ai[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const ji={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var Ii=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=Ei(e)),ji.hasOwnProperty(e))c=ji[e];else if("Participle"===n)c=ni(l,i);else if("PastTense"===n)c=ni(l,a);else if("PresentTense"===n)c=ni(l,r);else{if("Gerund"!==n)return e;c=ni(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c},Gi=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:ni(i,n),PresentTense:ni(i,a),Gerund:ni(i,r),FutureTense:"will "+e},u=ni(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l},Ni=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r))return e.slice(0,n-a)+t[r.length][r]}return null};const Di="ically",xi=new Set(["analyt"+Di,"chem"+Di,"class"+Di,"clin"+Di,"crit"+Di,"ecolog"+Di,"electr"+Di,"empir"+Di,"frant"+Di,"grammat"+Di,"ident"+Di,"ideolog"+Di,"log"+Di,"mag"+Di,"mathemat"+Di,"mechan"+Di,"med"+Di,"method"+Di,"method"+Di,"mus"+Di,"phys"+Di,"phys"+Di,"polit"+Di,"pract"+Di,"rad"+Di,"satir"+Di,"statist"+Di,"techn"+Di,"technolog"+Di,"theoret"+Di,"typ"+Di,"vert"+Di,"whims"+Di]),Ci=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],Ti=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Bi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var Oi=function(e){return e.endsWith("ly")?xi.has(e)?e.replace(/ically/,"ical"):Ti.has(e)?null:Bi.hasOwnProperty(e)?Bi[e]:Ni(e,Ci)||e:null};const zi=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],Vi={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Fi=function(e){if(Vi.hasOwnProperty(e))return Vi[e];let t=Ni(e,zi);return t||e+"ly"};const $i=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Si={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Hi=new Set(["terrible","annoying"]),Ji=function(e,t){const n=t.two.models.toSuperlative;return ni(e,n)},Li=function(e,t){const n=t.two.models.toComparative;return ni(e,n)};var Mi={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.nounToPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.adjToSuperlative(e,a);r[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,a);r[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.nounToPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verbConjugate(e,a);Object.entries(o).forEach(e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,a);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}},Wi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let a=0;e.forEach((r,o)=>{t.test(r.post)&&function(e,t){let n=e[t];const a=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||a.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||a.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)}),a{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Mi.hasOwnProperty(i)&&Mi[i](t,r,n,a),r[t]=r[t]||i}),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},transform:{nounToPlural:Dr,nounToSingular:ki,verbToInfinitive:Ii,getTense:Ei,verbConjugate:Gi,adjToSuperlative:Ji,adjToComparative:Li,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return ni(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return ni(e,n)},advToAdjective:Oi,adjToAdverb:Fi,adjToNoun:function(e){if(Si.hasOwnProperty(e))return Si[e];if(Hi.has(e))return null;let t=Ni(e,$i);return t||e+"ness"}}}},Ki=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const qi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,a)=>(t&&(e[a[0]]=t),e[a[1]]=n,e),{})};var Ui=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:a,toGerund:r,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=qi(n,"Infinitive","PastTense"),Object.assign(s,l),l=qi(a,"Infinitive","Verb"),Object.assign(s,l),l=qi(r,"Infinitive","Gerund"),Object.assign(s,l),l=qi(o,"Adjective","Superlative"),Object.assign(s,l),l=qi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Ri={two:{models:yi}};const Zi={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Qi=function(e,t){const n={model:t,methods:Wi};let{lex:a,_multi:r}=Wi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},_i=function(e,t,n){let a=Gi(e,Ri);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},Xi=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach(r=>{const o=e[r];if(n[r]=Zi[o],"Noun|Verb"!==o&&"Person|Verb"!==o||_i(r,a,!1),"Adj|Present"===o&&(_i(r,a,!0),function(e,t,n){let a=Ji(e,n);t[a]=t[a]||"Superlative";let r=Li(e,n);t[r]=t[r]||"Comparative"}(r,a,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=Ii(r,Ri,"Gerund");a[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=Ii(r,Ri,"PastTense");a[e]||(n[e]="Infinitive")}}),t=Qi(n,t)};let Yi={one:{_multiCache:{},lexicon:Cr},two:{irregularPlurals:br,models:yi,suffixPatterns:xo,prefixPatterns:Oo,endsWith:qo,neighbours:Zo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:Tr,clues:fo,uncountable:{},orgWords:vi}};Yi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Qi(e.one.lexicon,e)).one.lexicon,e),e=Xi(e.two.switches,e),e=Ui(e),e=Ki(e)}(Yi);var es=Yi;const ts=/^(under|over|mis|re|un|dis|semi)-?/;var ns=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(ts.test(r.normal)){let e=r.normal.replace(ts,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}},as=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const rs={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},os=new Set(["formulas","koalas","israelis","menus"]),is=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var ss=function(e){if(!e||e.length<=3)return!1;if(os.has(e))return!0;let t=e[e.length-1];return rs.hasOwnProperty(t)?rs[t].find(t=>e.endsWith(t)):"s"===t&&!is.find(t=>e.endsWith(t))};const ls=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var us=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t))||(ss(e.normal)?as(e,"Plural","3-plural-guess"):as(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=Ei(e.normal);t&&as(e,t,"3-verb-tense-guess")}}(a)};const cs=/^\p{Lu}[\p{Ll}'’]/u,ds=/[0-9]/,hs=["Date","Month","WeekDay","Unit"],gs=/^[IVXLCDM]{2,}$/,ms=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,ps={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var fs=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===cs.test(o)&&!1===ds.test(o)?hs.find(e=>a.tags.has(e))?null:(us(e,t,n),a.tags.has("Noun")||a.tags.clear(),as(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&gs.test(o)&&ms.test(o)&&!ps[a.normal]?(as(a,"RomanNumeral","2-xvii"),!0):null};const bs=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null};var ys=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=bs(a.normal,n.two.suffixPatterns);if(null!==e)return as(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=bs(a.implicit,n.two.suffixPatterns),null!==e))return as(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const vs=/['‘’‛‵′`´]/,ws=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return as(a,e,"2-prefix"),a.confidence=.5,!0}return null};const As=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),Es=function(e){return!(!e||!As.has(e.normal)&&!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},js=function(e){return!!e&&!!e.tags.has("Ordinal")};var Is=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){if(Es(e[t-1])||Es(e[t+1]))return as(n,"Year","2-tagYear");if(a>1950&&a<2025&&(js(e[t-1])||js(e[t+1])))return as(n,"Year","2-tagYear-close")}}return null};const Gs=/^[A-Z]('s|,)?$/,Ns=/^[A-Z-]+$/,Ds=/([A-Z]\.)+[A-Z]?,?$/,xs=/[A-Z]{2,}('s|,)?$/,Cs=/([a-z]\.)+[a-z]\.?$/,Ts={I:!0,A:!0};var Bs=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===Ns.test(n)||n.length>5||Ts.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==Ds.test(n)&&!0!==Cs.test(n)&&!0!==Gs.test(n)&&!0!==xs.test(n))}(a,n)?(a.tags.clear(),as(a,["Acronym","Noun"],"3-no-period-acronym"),!0):!Ts.hasOwnProperty(a.text)&&Gs.test(a.text)?(a.tags.clear(),as(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(as(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&Ns.test(a.text)&&a.text.length<=6?(as(a,"Acronym","3-titlecase-acronym"),!0):null};const Os=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},zs=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var Vs=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||Os(e[t-1],r),l=l||Os(e[t+1],o),l=l||zs(e[t-1],a),l=l||zs(e[t+1],i),l)return as(s,l,"3-[neighbour]"),us(e,t,n),e[t].confidence=.2,!0}return null};const Fs=function(e,t){return!!e&&!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(n=e.text,!!/^\p{Lu}[\p{Ll}'’]/u.test(n)&&(0!==t||e.tags.has("Singular"))));var n};var $s=function(e,t,n){const a=n.model.two.orgWords,r=n.methods.one.setTag;let o=e[t];if(!0===a[o.machine||o.normal]&&Fs(e[t-1])){r([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Fs(e[a],a);a-=1)r([e[a]],"Organization",n,null,"3-[org-word]")}return null},Ss=function(e,t,n){0===e[t].tags.size&&(as(e[t],"Noun","3-[fallback]"),us(e,t,n),e[t].confidence=.1)};const Hs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,Js=(e,t,n)=>0!==t||e[1]?null:n;var Ls={"Adj|Gerund":(e,t)=>Hs(e,t),"Adj|Noun":(e,t)=>Hs(e,t),"Adj|Past":(e,t)=>Hs(e,t),"Adj|Present":(e,t)=>Hs(e,t),"Noun|Gerund":(e,t)=>Hs(e,t),"Noun|Verb":(e,t)=>Hs(e,t)||Js(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Hs(e,t)||Js(e,t,"PresentTense"),"Person|Noun":(e,t)=>Hs(e,t),"Person|Verb":(e,t)=>0!==t&&Hs(e,t)};const Ms="undefined"!=typeof process&&process.env?process.env:self.env||{},Ws=/^(under|over|mis|re|un|dis|semi)-?/,Ks=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const a=t[n];return a&&Ms.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},qs=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return a&&Ms.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${a}) `),a=t[a],a},Us={tagSwitch:ns,checkSuffix:ys,checkRegex:ks,checkCase:fs,checkPrefix:Ps,checkHyphen:function(e,t,n){let a=e[t+1];if(!a)return;let{prefixes:r}=n.one,o=e[t];!0===r[o.normal]&&(a.tags.has("Verb")&&(as(o,"Verb","3-[prefix]"),as(o,"Prefix","3-[prefix]")),a.tags.has("Adjective")&&(as(o,"Adjective","3-[prefix]"),as(o,"Prefix","3-[prefix]")))},checkYear:Is},Rs={checkAcronym:Bs,neighbours:Vs,orgWords:$s,nounFallback:Ss,variables:function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(Ws.test(l)&&!o[l]&&(l=l.replace(Ws,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=Ks(e[t+1],n.afterWords);return o=o||Ks(e[t-1],n.beforeWords),o=o||qs(e[t-1],n.beforeTags,r),o=o||qs(e[t+1],n.afterTags,r),o}(e,t,i[o],a);Ls[o]&&(u=Ls[o](e,t)||u),u?(Ms.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),r([s],u,n,null,"3-[variable]")):Ms.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},Zs=function(e,t,n){for(let a=0;a{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)},Xs={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ys={preTagger:function(e){const{methods:t,model:n,world:a}=e;let r=t.two.quickSplit(e.docs);for(let e=0;e{for(let a=0;a{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const cl=/'/;var dl=function(e,t){let n=e[t].normal.split(cl)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const hl=/'/;var gl=function(e,t){let n=e[t].normal.split(hl)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]},ml=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const pl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},fl={in:!0,by:!0,for:!0};var bl=(e,t)=>{let n=e[t];if(pl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let a=e[t+1];if(!a)return!0;if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return!("here"===e||"there"===e||"everywhere"===e||a.tags.has("Possessive")||a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun"))}if(e[t-1]&&!0===fl[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const yl=/'/,vl=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger","index"])},wl={d:(e,t)=>gl(e,t),t:(e,t)=>ml(e,t),s:(e,t,n)=>bl(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):dl(e,t)},kl=function(e,t){return t.fromText(e.join(" ")).docs[0]};var Pl={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===yl.test(a[o].normal)&&([,i]=a[o].normal.split(yl));let s=null;wl.hasOwnProperty(i)&&(s=wl[i](a,o,t)),s&&(s=kl(s,e),ul(n,[r,o],s),vl(n[r],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=ll.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=sl},hooks:["contractionTwo"]};const Al="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",El=["i","we","they"];let jl=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",tag:"Place",reason:"east-sydney"},{match:Al+" #Person",tag:"Person",reason:"randy-smith"},{match:Al+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${Al}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:El,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:El,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:El,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]),Il=null;var Gl={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach(n=>{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["preTagger","contractionTwo","postTagger"])}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;Il=Il||a.one.buildNet(n.two.matches,a);let r=a.two.quickSplit(e.document).map(e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]}),o=e.update(r);return o.cache(),o.sweep(Il),e.uncache(),e}},model:{two:{matches:jl}},hooks:["postTagger"]},Nl=function(e,t){let n=t;e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verbConjugate)(t,e.model);return e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)},Dl=function(e,t,n){let a=this.match(`{${e}}`);return n&&(a=a.if(n)),a.has("#Verb")?Nl(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.nounToPlural)(t,e.model)),e.replaceWith(n)}(a,t):a.has("#Adverb")?function(e,t){let n=(0,e.methods.two.transform.adjToAdverb)(t);n&&e.replaceWith(n)}(a,t):this},xl={api:function(e){e.prototype.swap=Dl}};return m.plugin(rl),m.plugin(Pl),m.plugin(Gl),m.plugin(xl),m},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).nlp=t(); diff --git a/builds/two/compromise-two.mjs b/builds/two/compromise-two.mjs index cb4ff9cc8..18260c625 100644 --- a/builds/two/compromise-two.mjs +++ b/builds/two/compromise-two.mjs @@ -1,2 +1,2 @@ -var e={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};var t={compute:function(e){const{world:t}=this,n=t.compute;return"string"==typeof e&&n.hasOwnProperty(e)?n[e](this):(e=>"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let a=this.update([t]);e(a,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let a=this.update([t]);return e(a,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach(e=>{a=a.concat(e.fullPointer)}),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let a=this.update([t]);return e(a,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let a=this.update([t]);return e(a,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let a=this.update([t]);return e(a,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,a]=e.index||[];t.push([n,a,a+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer;return t||(t=this.docs.map((e,t)=>[t])),t[e]?this.update([t[e]]):this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var r=a;const o=Object.assign({},r,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon","preTagger"]),a}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&function e(t,n){if(l(n))for(const a in n)l(n[a])?(t[a]||Object.assign(t,{[a]:{}}),e(t[a],n[a])):Object.assign(t,{[a]:n[a]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>a[t]=e.lib[t]),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var d=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e){return new t(a.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(c(e)){if(c(e[0])){return new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set}))))}return new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e))}return r};let h=Object.assign({},e);const g=function(e,t){t&&g.addWords(t);let n=d(e,s,h);return n.compute(h.hooks),n};Object.defineProperty(g,"_world",{value:h,writable:!0}),g.tokenize=function(e,t){const{compute:n}=this._world;t&&g.addWords(t);let a=d(e,s,h);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},g.plugin=function(e){return u(e,this._world,s,this),this},g.extend=g.plugin,g.world=function(){return this._world},g.model=function(){return this._world.model},g.methods=function(){return this._world.methods},g.hooks=function(){return this._world.hooks},g.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},g.version="14.1.2";var m=g;const p=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},f=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},b=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},y=function(e){return/^[A-Z][a-z'\u00C0-\u00FF]/.test(e)||/^[A-Z]$/.test(e)},v=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?f(n):(f(n),f([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!y(a.text))return;n[0].text=n[0].text.replace(/^[a-z\u00C0-\u00FF]/,e=>e.toUpperCase());let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||y(r.text)&&r.text.length>1&&(r.text=r.text.replace(/^[A-Z]/,e=>e.toLowerCase()))}(e,o,n),p(e,o,n)},w=(new Date).getTime(),k=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var P=function(e){let[t,n]=e.index||[0,0];var a=(new Date).getTime()-w;a=parseInt(a,10),t=t>46655?46655:t,n=n>1294?1294:n;let r=k((a=a>46655?46655:a).toString(36));r+=k(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const A=function(e){if(e.has("@hasContraction")){e.grow("@hasContraction").contractions().expand()}},D=e=>"[object Array]"===Object.prototype.toString.call(e),j=function(e,t,n){const{document:a,world:r}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.docs[0]:D(e)?D(e[0])?e[0]:e:[]}(e,r);h=function(e){return e.forEach(e=>{e.id=P(e)}),e}(h),n?(A(t.update([u]).firstTerm()),v(d,u,h,a)):(A(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(a,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(N,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,a);let r=this.update(n);n=n.map(e=>e.slice(0,3));let o=(r.docs[0]||[]).map(e=>Array.from(e.tags));if(a.insertAfter(e),r.has("@hasContraction")&&a.contractions){a.grow("@hasContraction+").contractions().expand()}a.delete(r);let i=a.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())),i},E.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?a.replaceWith(t,n):this};var x=E;const T={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),a=this;if(e&&(n=this,a=this.match(e)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let r=n.fullPointer,o=a.fullPointer.reverse(),i=function(e,t){t.forEach(t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e}(this.document,o),s=t(o);return r=r.map(e=>{let[t]=e;return s[t]?(s[t].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e}),r=r.filter((e,t)=>{if(e[2]-e[1]<=0){for(let e=t+1;et[0]===e).forEach(e=>{e[0]-=1});return!1}return!0}),r=r.map(e=>(e[3]=null,e[4]=null,e)),n.ptrs=r,n.document=i,n.compute("index"),e?n.toView(r):n.none()}};T.delete=T.remove;var C=T;const B={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this}};B.deHyphenate=B.dehyphenate,B.toQuotation=B.toQuotations;var O=B;var z={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0}),e}};const F=new Set(["index","sequence","seq","sequential","chron","chronological"]),V=new Set(["freq","frequency","topk","repeats"]),$=new Set(["alpha","alphabetical"]);var H={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map((e,t)=>[t]),r=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:a[t]}));return F.has(e)&&(e="sequential"),$.has(e)&&(e="alpha"),V.has(e)?(r=z.byFreq(r),this.update(r.map(e=>e.pointer))):"function"==typeof z[e]?(r=r.sort(z[e]),this.update(r.map(e=>e.pointer))):this}};const S=function(e,t){let n=e[e.length-1],a=n[n.length-1];return!1===/ /.test(a.post)&&(a.post+=" "),e=e.concat(t)};var J={concat:function(e){const{methods:t,document:n,world:a}=this;if("string"==typeof e){let r=t.one.tokenize.fromString(e,a),o=this.fullPointer,i=o[o.length-1][0];return p(n,i+1,r),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=S(e.document,t.document),e.all()}(this,e);if(r=e,"[object Array]"===Object.prototype.toString.call(r)){let t=S(this.document,e);return this.document=t,this.all()}var r;return this}};var M={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const W=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},G,x,C,O,H,J,M);var L={api:function(e){Object.assign(e.prototype,W)},compute:{id:function(e){let t=e.docs;for(let e=0;e{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},q=function(e,t){let{ptrs:n,byGroup:a}=e;return n=K(n,t),Object.keys(a).forEach(e=>{a[e]=K(a[e],t)}),{ptrs:n,byGroup:a}},U=e=>e&&"object"==typeof e&&!0===e.isView;var R={matchOne:function(e,t,n){const a=this.methods.one;if(U(e))return this.intersection(e).eq(0);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=q(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(U(e))return this.intersection(e);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=q(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(U(e)){return e.fullPointer.length>0}"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(U(e))return this.filter(t=>t.intersection(e).found);"string"==typeof e&&(e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=this.fullPointer;return o=o.filter(e=>{let t=this.update([e]);return a.match(t.docs,r,this._cache).ptrs.length>0}),this.update(o)},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;return U(e)?this.difference(e):("string"==typeof e&&(e=r.parseMatch(e,n)),this.filter(n=>{let a={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,a,n._cache).ptrs.length}))}};var Z={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&r.push([t[0],0,t[1]])});let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}}),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let a=this.fullPointer;return this.forEach((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}}),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Q=function(e,t){return[e[0],e[1],t[2]]},_=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},X=function(e,t){let[n,a]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id),e},Y={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Q(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=_(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Q(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>X(e,this)),this.update(o)}};Y.split=Y.splitAfter;var ee=Y;const te=Object.assign({},R,Z,ee);te.lookBehind=te.before,te.lookBefore=te.before,te.lookAhead=te.after,te.lookAfter=te.after,te.notIf=te.ifNo;var ne=function(e){Object.assign(e.prototype,te)};const ae=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,re=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),se=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var le=function(e){let t=e.split(ae),n=[];t.forEach(e=>{ie(e)?n.push(e):n=n.concat(e.split(re))}),n=se(n);let a=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||ie(e)?a.push(e):a=a.concat(e.split(oe))}),a=se(a),a};const ue=/\{([0-9]+)?(, *[0-9]*)?\}/,ce=/&&/,de=new RegExp(/^<\s*(\S+)\s*>/),he=e=>e.charAt(0).toUpperCase()+e.substr(1),ge=function(e){return e[e.length-1]},me=function(e){return e[0]},pe=function(e){return e.substr(1)},fe=function(e){return e.substr(0,e.length-1)},be=function(e){return e=pe(e),e=fe(e)},ye=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===ge(e)&&(n.end=!0,e=fe(e)),"^"===me(e)&&(n.start=!0,e=pe(e)),("["===me(e)||"]"===ge(e))&&(n.group=null,"["===me(e)&&(n.groupStart=!0),"]"===ge(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===me(e))){const t=de.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===ge(e)&&(n.greedy=!0,e=fe(e)),"*"!==e&&"*"===ge(e)&&"\\*"!==e&&(n.greedy=!0,e=fe(e)),"?"===ge(e)&&(n.optional=!0,e=fe(e)),"!"===me(e)&&(n.negative=!0,e=pe(e)),"~"===me(e)&&"~"===ge(e)&&e.length>2&&(e=be(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===me(e)&&")"===ge(e)){ce.test(e)?(n.choices=e.split(ce),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=pe(n.choices[0]);let a=n.choices.length-1;n.choices[a]=fe(n.choices[a]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>ye(e,t))),e=""}if("/"===me(e)&&"/"===ge(e))return e=be(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===me(e)&&"}"===ge(e))return e=be(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===me(e)&&">"===ge(e))return e=be(e),n.chunk=he(e),n.greedy=!0,n;if("%"===me(e)&&"%"===ge(e))return e=be(e),n.switch=e,n}return!0===ue.test(e)&&(e=e.replace(ue,(e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===me(e)?(n.tag=pe(e),n.tag=he(n.tag),n):"@"===me(e)?(n.method=pe(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ve=ye;var we=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=e.map(e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))};var ke=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=le(e);return n=n.map(e=>ve(e,t)),n=we(n,t),n};const Pe=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var Ae=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),xe=(e,t)=>-1!==e.pre.indexOf(t),Te={hasQuote:e=>je.test(e.pre)||Ie.test(e.post),hasComma:e=>Ee(e,","),hasPeriod:e=>!0===Ee(e,".")&&!1===Ee(e,"..."),hasExclamation:e=>Ee(e,"!"),hasQuestionMark:e=>Ee(e,"?")||Ee(e,"¿"),hasEllipses:e=>Ee(e,"..")||Ee(e,"…")||xe(e,"..")||xe(e,"…"),hasSemicolon:e=>Ee(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>Ge.test(e.post)||Ge.test(e.pre),hasDash:e=>Ne.test(e.post)||Ne.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^[A-Z][a-z'\u00C0-\u00FF]/.test(e.text),isUpperCase:e=>/^[A-Z]+$/.test(e.text)};Te.hasQuotation=Te.hasQuote;var Ce=Te;let Be=function(){};Be=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(De(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof Ce[t.method]&&!0===Ce[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?!(!e.implicit||!0!==t.fastOr.has(e.implicit))||t.fastOr.has(e.normal)||t.fastOr.has(e.text):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>Be(e,t,n,a)):t.choices.some(t=>Be(e,t,n,a)))}(e,t,n,a);return!0===t.negative?!r:r};var Oe=Be;const ze=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){Fe(e,e.t).length=a-e.t}return e.t=a,!0};const $e=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=Oe(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&Oe(e.terms[a],t,a,e.phrase_length)});return!0===a&&n.length>t&&(t=n.length),a})&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup){Fe(e,e.t).length+=a}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null};var Je=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);return a.negative=!1,!0!==Oe(e.terms[e.t],a,e.start_i+e.t,e.phrase_length)||null};var Me=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=Oe(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&Oe(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var We=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null};var Le=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var Ke=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Me(e),a.implicit&&e.terms[e.t+1]&&Le(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!We(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=Fe(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0};var qe=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==ze(e,r))if(!0!==Oe(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(e.negative){if(!Je(r))return null}if(!0!==e.optional)return null}else{if(!Ke(r))return null}else{if(!Ke(r))return null}else{if(!Ke(r))return null}else{if(!Se(r))return null}else{if(!He(r))return null}else{if(!Ve(r))return null}}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach(e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]}),{pointer:o,groups:i}};var Ue=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{a[t]=a[t]||[],a[t].push(e.groups[t])})})),{ptrs:n,byGroup:a}};const Re=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},Ze=function(e,t,n){let a=qe(e,t,0,e.length);return a?(a=Re(a,n),a):null};var Qe={api:ne,methods:{one:{termMethods:Ce,parseMatch:ke,match:function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=Ze(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Ue(i,r),i.ptrs.forEach(t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id}),i}}},lib:{parseMatch:function(e,t){return this.world().methods.one.parseMatch(e,t)}}};const _e=/^\../,Xe=/^#./,Ye=function(e,t){let n={},a={};return Object.keys(t).forEach(r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),_e.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)})}),{starts:n,ends:a}};var et={html:function(e){let{starts:t,ends:n}=Ye(this,e),a="";return this.docs.forEach(e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(nt,""),rt.test(r)&&(r=" "),r=r.replace(at,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(nt,""),r="-"===r?" ":r.replace(tt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&ot.test(r)||(r+=" "),a+=n+o+r}),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},st={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};st.clean=st.normal,st.reduced=st.root;var lt=st;const ut={text:!0,terms:!0};let ct={case:"none",unicode:"some",form:"machine",punctuation:"some"};const dt=function(e,t){return Object.assign({},e,t)},ht={text:e=>it(e,{keepPunct:!0},!1),normal:e=>it(e,dt(lt.normal,{keepPunct:!0}),!1),implicit:e=>it(e,dt(lt.implicit,{keepPunct:!0}),!1),machine:e=>it(e,ct,!1),root:e=>it(e,dt(ct,{form:"root"}),!1),offset:e=>{let t=ht.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};ht.sentences=ht.sentence,ht.clean=ht.normal,ht.reduced=ht.root;const gt={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},ut,a)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let r={};return Object.keys(a).forEach(o=>{a[o]&&ht[o]&&(r[o]=ht[o](e,n,t))}),r}));var n,a;return"number"==typeof e?t[e]:t}};gt.data=gt.json;var mt=gt;var pt=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};var ft={green:e=>""+e+"",red:e=>""+e+"",blue:e=>""+e+"",magenta:e=>""+e+"",cyan:e=>""+e+"",yellow:e=>""+e+"",black:e=>""+e+"",dim:e=>""+e+"",i:e=>""+e+""};var bt=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(ft.blue("\n ──────")),t.forEach(e=>{console.log(ft.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],a=e.text||"-";e.sense&&(a="{"+e.sense+"}"),e.implicit&&(a="["+e.implicit+"]"),a=ft.yellow(a);let r="'"+a+"'";r=r.padEnd(18);let o=ft.blue(" │ ")+ft.i(r)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return ft[n](e)})),e.join(", ")}(t,n);console.log(o)})})};var yt=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(ft.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(ft.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(ft.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(ft.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})};var vt=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${ft.blue(a[1])}${a[2]}`}(a,e.offset,t)}),console.log(a)})};const wt=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var kt=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(a=>{e.match(a).fullPointer.forEach(e=>{n[e[3]]={fn:t[a],end:e[2]}})}),n}(e,t),a="";return e.docs.forEach((t,r)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e)}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}};var At={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&<.hasOwnProperty(e)?t=Object.assign({},lt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},Gt=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var Nt=function(e,t){let n=Gt(t),a=[];return e.forEach(e=>{let[t]=e,r=n[t]||[];if(r=r.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===r.length)return void a.push({passthrough:e});r=r.sort((e,t)=>e[1]-t[1]);let o=e;r.forEach((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)})}),a};var Et={one:{termList:function(e){let t=[];for(let n=0;n{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<4;a+=1){if(t[n-a]){let r=t[n-a].findIndex(t=>t.id===e);if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex(t=>t.id===e);if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex(e=>e.id===r);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))}),n},pointer:{indexN:Gt,splitAll:Nt}}};var xt=function(e,t){let n=e.concat(t),a=Gt(n),r=[];return n.forEach(e=>{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter(t=>It(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);r.push(o)}),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n};var Ct=function(e,t){let n=Gt(t),a=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>It(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},Ot=function(e,t){return e.map(e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e})},zt={union:function(e){e=Bt(e,this);let t=xt(this.fullPointer,e.fullPointer);return t=Ot(t,this.document),this.toView(t)}};zt.and=zt.union,zt.intersection=function(e){e=Bt(e,this);let t=Ct(this.fullPointer,e.fullPointer);return t=Ot(t,this.document),this.toView(t)},zt.not=function(e){e=Bt(e,this);let t=Tt(this.fullPointer,e.fullPointer);return t=Ot(t,this.document),this.toView(t)},zt.difference=zt.not,zt.complement=function(){let e=this.all(),t=Tt(e.fullPointer,this.fullPointer);return t=Ot(t,this.document),this.toView(t)},zt.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=xt(e,[t])}),e=Ot(e,this.document),this.update(e)};var Ft={methods:Et,api:function(e){Object.assign(e.prototype,zt)}};const Vt=/ /,$t=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Ht=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,r),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),Vt.test(t))!function(e,t,n,a){let r=t.split(Vt);e.forEach((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),Ht(e,o,n,a))})}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nSt(e,t,n,a))};var Jt=St;var Mt=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Wt({id:e})),t}return[Wt({id:e})]}(e))}),n=n.filter(e=>e);let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),a.push(n)})}return n},Ut=e=>"[object Array]"===Object.prototype.toString.call(e),Rt=e=>(e=e||"").trim(),Zt=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Lt.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:Kt(e)})});let a=function(e){let t={children:[]};return e.forEach((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Wt({});return e.forEach(e=>{if((e=Wt(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(qt(t=e).forEach(Wt),t);var t},Qt=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return qt(e).forEach((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"}),a},_t=function(e){let t=qt(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Xt={text:Qt,txt:Qt,array:_t,flat:_t},Yt=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(Qt(e,!0)),null):Xt.hasOwnProperty(t)?Xt[t](e):e},en=e=>{qt(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},tn=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Rt(e),!tn.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!a)return null;e=a}return e})(this.json,e)||Wt({});return new g$1(t)}add(e,t={}){if(Ut(e))return e.forEach(e=>this.add(Rt(e),t)),this;e=Rt(e);let n=Wt({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Rt(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return qt(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=qt(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return qt(this.json)}fillDown(){var e;return e=this.json,qt(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Ut(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){en(this.json);let e=qt(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return en(this.json),Yt(this.json,e)}debug(){return en(this.json),Yt(this.json,"debug"),this}}const nn=function(e){let t=Zt(e);return new g$1(t)};nn.prototype.plugin=function(e){e(this)};var an={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const rn=function(e){if(an.hasOwnProperty(e.id))return an[e.id];if(an.hasOwnProperty(e.is))return an[e.is];let t=e._cache.parents.find(e=>an[e]);return an[t]};var on=function(e){const t={};return e.forEach(e=>{let{not:n,also:a,is:r}=e.props,o=e._cache.parents;a&&(o=o.concat(a)),t[e.id]={is:r,not:n,also:a,parents:o,children:e._cache.children,color:rn(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const sn=function(e){return e?"string"==typeof e?[e]:e:[]};var ln=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=sn(e[t].children),e[t].not=sn(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e};var un={one:{setTag:Jt,unTag:Mt,addTags:function(e,t){e=ln(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is};return{id:t,parent:n.is,props:a,children:[]}});return nn(t).cache().fillDown().out("array")}(Object.assign({},t,e));return on(n)}}};const cn=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var dn={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),cn(e)?e.forEach(e=>r.one.setTag(a,e,i,n)):r.one.setTag(a,e,i,n),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return cn(e)?e.forEach(e=>a.one.unTag(n,e,i)):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach((e,t)=>{e.forEach((e,r)=>{n.find(t=>e.tags.has(t))&&a.push([t,r,r+1])})});let r=this.update(a);return this.difference(r)}};var hn=function(e){Object.assign(e.prototype,dn)};var gn={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const mn=new Set(["Auxiliary","Possessive"]);var pn={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(mn.has(e)||!t.hasOwnProperty(n))return 1;if(mn.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})}(t,a)})})}},methods:un,api:hn,lib:gn};const fn=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,bn=/((?:\r?\n|\r)+)/;var yn=function(e){let t=[],n=e.split(bn);for(let e=0;e0&&(a.push(t),r[e]="")}if(0===a.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Fn=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Vn=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,$n=/['’]/,Hn=/^[a-z]\.([a-z]\.)+/i,Sn=/^[-+.][0-9]/,Jn=/^'[0-9]{2}/;var Mn=function(e){let t=e,n="",a="";return""===(e=(e=e.replace(Fn,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Sn.test(e)?"'"===n&&Jn.test(e)?(n="",t):"":(n="",t)))).replace(Vn,r=>(a=r,$n.test(r)&&/[sn]['’]$/.test(t)&&!1===$n.test(n)?(a=a.replace($n,""),"'"):!0===Hn.test(e)?(a=a.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(a=e||"","")),e=t,n=""),{str:e,pre:n,post:a}};var Wn=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Ln=/([A-Z]\.)+[A-Z]?,?$/,Kn=/^[A-Z]\.,?$/,qn=/[A-Z]{2,}('s|,)?$/,Un=/([a-z]\.)+[a-z]\.?$/;var Rn=function(e){return function(e){return!0===Ln.test(e)||!0===Un.test(e)||!0===Kn.test(e)||!0===qn.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Zn=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=Wn(a),a=n(a,t),a=Rn(a),e.normal=a};var Qn={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let a=e.split("");return a.forEach((e,t)=>{n[e]&&(a[t]=n[e])}),a.join("")},tokenize:{splitSentences:In,splitTerms:function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(On);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Tn(n),n=En(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:a}=Mn(e);return{text:t,pre:n,post:a,tags:new Set}},fromString:function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",a).map(e=>{let n=o(e,a);return n=n.map(i),n.forEach(e=>{Zn(e,t)}),n})}}}};var _n={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xn={},Yn={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Xn[t]=!0,Yn[t]="Abbreviation",void 0!==e[1]&&(Yn[t]=[Yn[t],e[1]])})});var ea=["anti","bi","co","contra","counter","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","non","over","peri","post","pre","pro","proto","pseudo","re","semi","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let ta={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},na={};Object.keys(ta).forEach((function(e){ta[e].split("").forEach((function(t){na[t]=e}))}));const aa=/\//,ra=/[a-z]\.[a-z]/i,oa=/[0-9]/;var ia=function(e,t){let n=e.normal||e.text;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),aa.test(n)&&!ra.test(n)&&!oa.test(n)){let t=n.split(aa);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};var sa=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),!0===/^(re|un)-?[^aeiou]./.test(t)&&(t=t.replace("-","")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var la=function(e){let t=0,n=0,a=e.document;for(let e=0;eua(e,ia),machine:e=>ua(e,sa),normal:e=>ua(e,Zn),freq:function(e){let t=e.docs,n={};for(let e=0;ee.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const ha=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const pa=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var fa=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=pa(e.goNext,void 0),e.failTo=pa(e.failTo,0),e.endAs=pa(e.endAs,null),e};var ba={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:da(e,this.world));var a;let r=ma(this,n,t);return r=r.settle(),r}},lib:{compile:function(e){const t=da(e,this.world());return fa(t)}}};const ya={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var va={api:function(e){Object.assign(e.prototype,ya)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit);let n=Array.from(e.tags);for(let e=0;e{!0!==e.optional&&!0!==e.negative&&(e.tag&&t.add("#"+e.tag),e.word&&t.add(e.word))}),t}}}};const wa=function(){const e=this.docs;if(0===e.length)return this;let t=e[e.length-1]||[],n=t[t.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var ka=function(e,t,n){let a={},r=[],o=n.prefixes||{};return e.forEach(e=>{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]}),a};const Pa={safe:!0,min:3};var Aa={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=wa},lib:{typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},Pa,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=ka(e,t,this.world());return Object.keys(r).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let a=n[n.length-1]||[],r=a[a.length-1];if(!r.post&&t.hasOwnProperty(r.normal)){let n=t[r.normal];r.implicit=n,r.machine=n,r.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};var Da=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e){return o([s],i[e],n,"1-lexicon-alias"),!0}}if(!0===ja.test(l)){let e=l.replace(ja,"");if(i.hasOwnProperty(e)&&e.length>3&&Ia.has(i[e]))return o([s],i[e],n,"1-lexicon-prefix"),!0}return null};var Na={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=e[a],o=(a=a.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},hooks:["lexicon"]},Ea={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}};var xa=function(e,t,n){let[a,r]=t;n&&0!==n.length&&((n=n.map(e=>(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Ta=/'/,Ca=new Set(["what","how","when","where","why"]),Ba=new Set(["be","go","start","think","need"]),Oa=new Set(["been","gone"]);var za=function(e,t){let n=e[t].normal.split(Ta)[0];if(Ca.has(n))return[n,"did"];if(e[t+1]){if(Oa.has(e[t+1].normal))return[n,"had"];if(Ba.has(e[t+1].normal))return[n,"would"]}return null};const Fa=/'/;var Va=function(e,t){let n=e[t].normal.split(Fa)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};var $a=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const Ha=/'/;var Sa=(e,t)=>["je",e[t].normal.split(Ha)[1]],Ja=(e,t)=>{let n=e[t].normal.split(Ha)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},Ma=(e,t)=>{let n=e[t].normal.split(Ha)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const Wa=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,La=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var Ka=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let a=n.text.match(Wa);return null!==a?[a[1],"to",a[2]]:(a=n.text.match(La),null!==a?[a[1],"to",a[4]]:null)};const qa=new Set(["here","there","she","it","he","that","here","there","your","who","what","where","why","when","how","let","else","name"]),Ua=new Set(["really","very","barely","also","not","just","more","only","often","quite","so","too","well"]);var Ra=(e,t)=>{let n=e[t];let[a]=n.normal.split(/'s/);if(qa.has(a))return!0;let r=e[t+1];return!(!r||!Ua.has(r.normal))};const Za=/'/,Qa=/^[0-9][^-–—]*[-–—].*?[0-9]/,_a=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Xa={t:(e,t)=>$a(e,t),d:(e,t)=>za(e,t),s:(e,t)=>!0===Ra(e,t)?Va(e,t):null},Ya={j:(e,t)=>Sa(e,t),l:(e,t)=>Ja(e,t),d:(e,t)=>Ma(e,t)},er=function(e,t,n,a){for(let r=0;r{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===Za.test(a[s].normal)&&([l,u]=a[s].normal.split(Za));let c=er(o,a[s],l,u);!c&&Xa.hasOwnProperty(u)&&(c=Xa[u](a,s,t)),!c&&Ya.hasOwnProperty(l)&&(c=Ya[l](a,s)),c?(c=tr(c,e),xa(n,[i,s],c),_a(n[i],e)):Qa.test(a[s].normal)&&(c=Ka(a,s),c&&(c=tr(c,e),xa(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t),_a(n[i],e)))}})}},hooks:["contractions"]};m.extend(L),m.extend(jt),m.extend(Qe),m.extend(Ft),m.extend(pn),m.plugin(nr),m.extend(ca),m.plugin(va),m.extend(ba),m.extend(Aa),m.extend(Na);var ar={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},rr={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Uncountable:"true¦0:2O;1:1W;2:24;a2Db24c1Ud1Le1Df17g10h0Ti0Nj0Mk0Ll0Hm06n04o03pXrSsHt8vi7w3;a5i4oo3;d,l;ldlife,ne;rm7t2;neg1Rol0Mtae;eAh9oothpas1Lr4un3yranny;a,gst1T;aff00ea16o4ue nor3;th;oZu3;ble3se1Dt;!shoot1V;ermod29und2;a,nnis;aBcene0Heri1hAil9ki8o7p6t4u3weepstak1;g1Gnshi10;ati28e3;am,el;ace21eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;d0Nfe1Ul3nd,t0B;m1Kt;a6e4ic3;e,ke0V;c3laxa0Ssearch;ogni0Rrea0R;bi1in;aVe7hys0lastDo5re3;amble,mis1s3ten1J;en1Isu0C;l3rk;it0yD;a1Ntr06;bstetr0vercrowd16xyg0Z;a3ews;il polWtional securi1F;aBe9o6u3;m4s3;ic;ps;n3o17;ey,o3;gamy;a3chan0rchandi14tallurgy;sl1t;chine3themat0; learn0Try;aught2e5i4ogi1Au3;ck,g0V;ce,ghtn0Qngui18teraR;ath2isuRss;indergart0Hnowled0T;azz,ewelCusti13;ce,gnor7mp4n3tself;formaYternet;a3ort5;ti3;en0Y;an0X;a6eIisto5o3;ckey,mework,ne3rserad7spitali0Q;s0Py;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0R;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;icFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti03;body,o3thU;ne;joy3tertain3;ment;ici01on0;tiR;e9i6o4raugh3ynasZ;ts;pe,wnstai3;rs;abet1s3;honTrepu3;te;b3miP;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eGw8;us;d,rI;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarDs3;on;g3ss;ga3;ge;cDdviCeroAir9m5ni4ppeal court,spi3thlet0;rin;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4B;a3Eb2Wc2Dd25e21f1Wg1Oh1Ji1Gj1Ek1Cl17m0Vn0Io0Fp08qu07r00sTtGuBv8w3xiaomi,y1;amaha,m12ou1w12;gov,tu2X;a3e1orld trade organizati2Q;lls fargo,st1;fie27inghou2G;l1rner br3G;gree35l street journ28m16;an halOeriz2Lisa,o1;dafo2Ml1;kswagMvo;b4kip,n2ps,s1;a tod2Wps;es38i1;lev31ted natio2Y;er,s; mobi2Oaco bePd bMeAgi frida9h3im horto2Wmz,o1witt2Z;shiba,y1;ota,s r Z;e 1in lizzy;b3carpen35daily ma2Zguess w2holli0rolling st1Qs1w2;mashing pumpki2Ruprem0;ho;ea1lack eyed pe3Jyrds;ch bo1tl0;ys;l2n3Bs1xas instrumen1I;co,la m14;efoni0Bus;a6e4ieme2Jnp,o2pice gir5quare03ta1ubaru;rbucks,to2P;ny,undgard1;en;a2Tx pisto1;ls;few29insbury2PlesforYmsu21;.e.m.,adiohead,b6e3oyal 1yana2Z;b1dutch she4;ank;aders dige1Gd 1max,vl1Q;bu1c1Yhot chili peppe2Mlobst2B;ll;c,s;ant2Zizno2H;a5bs,e3fiz27hilip morrCi2r1;emier29udenti16;nk floyd,zza hut;psi2Atro1uge0A;br2Uchina,n2U;lant2Mn1yp12; 2ason1Zda2H;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Gtflix,w1; 1sweek;kids on the block,york09;a,c;nd1Us2t1;ional aca2Ho,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Lnsanto,ody blu0t1;ley crue,or0N;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt13z1Y;'ore08a3e1g,ittle caesa1J;novo,x1;is,mark; 1bour party;pres0Az boy;atv,fc,kk,m1od1I;art;iffy lu0Loy divisi0Fpmorgan1sa;! cha06;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Qi3o1sbc,yundai;me dep1n1K;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Ku1;cci,ns n ros0;ldman sachs,o1;dye1g0D;ar;axo smith kli02encoU;electr0Jm1;oto0V;a4bi,da,edex,i2leetwood mac,o1rito l0C;rd,xcW;at,nancial1restoX; tim0;cebook,nnie mae;b07sa,u3xxon1; m1m1;ob0G;!rosceptics;aiml0Ae6isney,o4u1;nkin donu2po0Wran dur1;an;ts;j,w j1;on0;a,f lepp0Yll,peche mode,r spiegYstiny's chi1;ld;aHbc,hDiBloudflaAnn,o3r1;aigsli5eedence clearwater reviv1ossra05;al;ca c6inba5l4m1o0Ast05;ca2p1;aq;st;dplOgate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7O;1:6H;2:7U;3:7K;4:7X;5:7T;6:6T;7:7E;8:71;9:6P;a7Gb6Sc5Rd57e4Zf4Bg42h3Ui3Oj3Mk3Kl3Am31n2Xo2Tp21ques7Ir1Ds07tTuRvMwCyBzA;ip,o6A;awn,e1Wie4R;aHeaGhEiCoAre7I;nd0rA;k,ry;mp,nApe,re,sh,tne7Z;!d,g;e6EiA;p,st6;r,th0;it,rAs5t3ve,x;ehou1ra7Y;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l38;pAsh0;da5gra4W;aLeKhrJiIoHrDuBwiAy4L;n,st;nArn;e,n5Z;aCeBiAu7;bu5ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5V;ll,ne,r3Pss,t72u3;ck,e,me,p,re;e1Low,u7;ar,e,st;g,lArg5Zs5;k,ly;a0Ec09e06h01iZkXlVmUnTou68pPtFuBwA;ear,it3;b1Wit,m,ppBrAspe4;ge,pri1vey;lAo58;e55y;aHeGiFoDrBuAy6;dy,ff,mb6;a68eAi4C;am,ss,t3;p,rA;e,m;ck,t3;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Hons6IrAy;ay,e10ink6u2;n,r6Ete;n,rk;ee1Dow;e0Fi6o3Z;eep,iA;ce,p,t;ateboa5ViA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i30;pe,re;aBed,nArv14t;se,t1W;l,r3t;aDhedu6oCrA;at3eA;en,w;re,ut;le,n,r0H;crifi2il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1A;as5AcOdo,el,fMgLje4lKmInHo0TpFque7sCturn,vAwa58;eAi1H;al,r1;er5FoBt,uA;lt,me;l5Drt;air,eaAly,o3V;l,t;dezvo23t;aAedy;ke,rk;ea1i3B;a4Wist0r4A;act5Aorm,uA;nd,se;aAo4Tru8;ll;ck,i1ke,l44nAtT;ge,k;aYeVhTiQlLoIrBuA;mp,n3rcha1sh;ai1eEi2oAu3H;be,ceCdu2grAje4mi1te7;amAe59;!me;ed,ss;sAy;er4Rs;iBlAol,p,re,s2Pw0;i2l;nt,s4G;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Sm8;!l;cka9iBn,rtAss,t3u1;!y;nt,r;bCff0il,oBrAutli2R;d0ie4P;ze;je4;a3JeCoA;d,tA;e,i2;ed,gle4rd,t;aFeDiCoBuA;rd0;d2Snit42p,ve;lk,n2Wrr41x;asu11n3MrAss;ge,it;il,nBp,rk2XsAt3;h,k;da5oeuv0X;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0CvA;el,y;ch,d,p,se;bBcAnd,t3un3;e,k;el,o23;e2BiAno3A;ck,ll,ss;am,o15uA;d9i2;mpEnBr34ssA;ue;cr17dex,fluBha6k,se1TterviAvoi2;ew;en2;a4le1O;aEeCiBoAu3P;ld,no1Rok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo2Ym,ne3Eve7;!le;aHeek,lo3CoGrCuA;arAe3Bi0Ln;antee,d;aCiBoAumb6;om,u29;nd,p;de,sp;of,ssip;in,me,ng,s,ze;aWeSiNlJoGrCuA;el,nAzz;c2Ed;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Nm;us;aCe0Jip,oAy;at,od,wA;!er;g,re,sh,vo0Y;eDgClBnAre,sh,t,x;an2i0E;e,m,t0;ht,uE;ld;aBeAn2;d,l;r,tuA;re;ce,il,ll,rm,vo20;cho,nGsExAye;cCerci1hib8pAtra4;eriAo0I;en2me2H;el,han9;caAtima5;pe;count0d,gine0vy;aReLiFoErBuAye;b,mp;aBeam,iA;ft,nk,ve;ft,in;cu05d9ubt;p,sCvA;e,iAor2;de;char9liBpA;at3lay;ke;al,ba5cDfeClBma0Wpos8siAtail;gn,re;ay,ega5;at,ct;liXrA;ea1;ma9n2rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu4glomeDstru4tAveI;a4rA;a7ol;ntArn;ra5;biEfoDmCpA;leAou08romi1;me1B;a06e1Au5;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t3u1ve;se;d,e;aTeQiPlMoIrDuAypa0M;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan2nCrgaBsA;e,h;in;!d,g,k;c00dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa3;ch;al;chAsw0;or;er;d,m,r;ia5;dDvA;an2oca5;te;ce;i4reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aNbrigadiMcGdFexcellency,fiAliCma9officMp5queen,r2s0taoiseach,vice4;e0ultI;cond liArgeaB;abbi,e0;ar0verend; adJ;astFr0;eside6i0ofessE;me ministEnce0;!ss;gistrate,r4yB;eld mar3rst l0;ady,i0;eutena0;nt;shA;oct5utchess;aptain,hance3o0;lonel,mmand4ngress0unci2;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:49;1:4U;2:4V;3:4K;4:4I;5:3I;6:4H;a4Hb3Wc32d2Ne2Ff27g1Wh1Kin1Ijel3k1Gl1Dm15n13o0Zp0Jqu0Ir09sQtHuEvAw7;a7ha34om23;f0i4Jt0Ay7;! arou45;arn45e8o7;cabu03l4Q;gGr7;di6t1C;nc2Xp2Ir8s 7;doll3Is4Q;bani1in2; rex,aEeDhCiAo9r8u7v show;m2An5rntGto10;agedy,ibe,o3S;p5rq37;c,de,er,m7;etC;ere,i3Z;am,mp32;ct5le4x return;aOcMeLhKi1kIoHtCu9y7;ll7n1Zst4B;ab2J;b8nri13per bowl,r7;f0roga1;st35tot2;aAep9ipe3Ir8udent7;! lo1D;ang0i3O;fa18mo18;ff0t2T;loi3Qme0Z;elet0Wi7;er,ll,rm3C;ack,or3X;ab0Ncurity gu27;e4ho7;l2Qol;la2T;av0PeAhetor5i8o7;de4om;te,v7;erb0G;bAc9f7publ5r0Hspi1;er7orm0;e4r2;it2ord label;a1u3N;estion mark,ot21;aJeIhHiFlDr8u7yram13;ddi32ppy,rpo0C;eAie36o7;bl3Gs7;pe6t7;a1itu1;diction,mi07roga1Ess relea07;a7ebisci1;q20te,y0;cn5e7g;!r;armaci2XotocoE;dest2ncil,rcen36t2;n8te7;!nt;el2Jop3;bjec14c8pia1rde2thers,ve7wn0;n,rview;cu7e09;pi0;an23it1Xot7umb0;a1Xhi2I;aCeBili0Vo8u7é0A;m0Mr2;m8nopo3pLrni2Fsq1Kt7u0Z;h0i0W;!my;d5nu;mm2nd0Zte7yf3;ri2;aurea1i8u7;ddi1nch;ght bulb,p07;ey7ittI;!no1;cide4dices,se6te4vert7;eb1H;aHeaDighBo7uman right,ygie0Y;le,me8tb7;ed;! r7;un; scho10ri7;se;d8v7;en; start,ph7;one;m,ndful,ze;aFeDirl1HlaNoCr8u7;l3y;an7enadi0id;a12d7; slam,fa7mo7;th0;d,lf0;lat0Cntlem7;an;df3r7;l5n19;aDella,iBlAol3r7;ee market,i8on7;ti0;e14ga1;ame,u1;nan7ref3;ci0;br5mi3n0Sth0;conoDffCgg,lecto0LnBs1Qth5venAx8yel7;id;ampUe7te4;cuLmpl0F;i13t;er1F;e6i1E;my;adKeEiBo8r7u0M;agonf3i0;c8g1Ai3or,ssi0wn7;si0J;to09umen9;ale6gni8nn0s7vide0M;conte4incenAtri6;ta07;aBc2fAni2te7;c7rre4;ti7;ve;ault 01err2;th;!dy;aWeThLiKlIoBr7;edit c9it5uc7;ib7;le;ard;efficClAmmuniqKn9pi0rr2t0Uu7yo1;ri0s7;in;ne6suG;ic,um7;ni0F;ie4;er7ie4;gy,ic;ty,vil wH;aBeqAoco9r7;istmas car7ysanthemum;ol;la1;ue;ndeli0racter7;ist5;ic;iliXll8r7;e2tifica1;ar;hi0na9pit2r7shi0ucus;bohyd7ri0;ra1;ry;aNeMiKlemJoGrBu7;ddhiUn9r7tterf3;glar7i2;!y;ny;eak9i8o7;!th0;de;faNthro7;ugh;dy,g,wl,y7;!frie7;nd;ish;cyc7oF;liG;an,l3;nki9r7;!ri0;er;ng;cMdJllHnEppeti1rray,sBth9u7;nt,to7;psy;ie7le1;st;ce4pe6;ct;nt;ec8oma3ti8;ly;do1;er7y;gy; homin8van7;tage;em;cru2e8qui7;tt2;ta1;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0W;a0Rb0Pc0Bd0Aex09f06g03he01in0Kjoule0kUlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Cd0Iears old,o1;tt06;att0b;able3e2on1;!ne0;a1r02;spoX;c09d08f3i06kilo0Am1ya05;e0Dil1;e0li08;eet0o04;ascals,e2i1ou0H;c0Ent0;rcent,tU;hms,uR;an0BewtO;/s,e6i1m²,²,³;/h,cro4l1;e1li02;! pEs 1²;anEpD;g01s06;gLter1;! 2s1;! 1;per second;iVu1;men0x;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0P;a0Ob0Jc0Ade09e04fXgWhomel06iUjuveni01lTmOnNoMpLrIsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;bYnt;ndergr1pstairs;adua0Gou1;nd;a3e1oken;en,r1;min0ror08;boo,n;e5istXo3qua2tandard,u1;bordina09per5;re,t;cial03l1;e,v0D;cret,n1ri0;ior;e1outiG;ar,lTnt0p1;resentSublican;ati07eriodic0otenti0rincip0;ffiWpposiZv0;agging,ovel;aDe3in2o1;biCdernS;iature,or;di1tr02;an,um;attFiber0;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1pL;ess;d1iE;er;mographKriv3;hiCo1rude;m3n2oper1;ative;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l1W;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AJ;4:CL;5:C0;6:CG;7:D3;8:BS;9:AR;A:94;B:DB;C:D4;aC8bB6cA6d97e8Hf81g7Eh6Ri6Bj5Dk51l4Dm35n2To2Np2Fqu2Dr1Ls11t0Fu0Ev07wTxSyIzD;aDor0;cDh9Ikaria,n0B;hEkD;!aC6;ar5TeC5;aLoFuD;sDu2KvBI;if,uf;nFsEusD;ouf,sD;ef;aDg;s,tD;an,h0;hli,nB7ssX;avi3ho4;aMeKiFoDyaBM;jcie86lfgang,odrow,utD;!er;lDnst1;bFey,fredBlD;aAYiD;am,e,s;e96ur;i,nde9sD;!l8t1;lEyD;l1ne;lDt3;a9Wy;aGiDladimir,ojte7T;cEha0kt66nceDrgA4va0;!nt;e3Vt64;lentDn9R;inD;!e;ghBElyss58nax,sm0;aWeRhNiLoHrFuEyD;!l3ro6s1;n7r58;avAGeDist0oy,um0;ntA8v5Vy;bFd8QmDny;!as,mDoharu;aCBie,y;iAy;mDt5;!my,othy;adFeoEia0JomD;!as;!do8F;!de5;dGrD;en97rD;an96eDy;ll,n95;!dy;dgh,ha,iDnn3req,tsu4Q;cAPka;aTcotRePhLiJoHpenc3tDur1Vylve95zym1;anFeDua84;f0phBCvDwa83;e5Yie;!islaw,l8;lom1uD;leyma6ta;dDlAm1yabonga;!dhart73n8;aFeD;lDrm0;d1t1;h7Jne,qu10un,wn,y6;aDbasti0k2Al4Org4Lth,ymoAE;m5n;!tD;!ie,y;lEmDnti2Eq57ul;!ke5Im9Ru4;ik,vato7N;aYeUhe9UiQoHuEyD;an,ou;b7CdEf5pe7JssD;!elBI;ol3Ey;an,bKc61dIel,geHh0landBmGnFry,sEyD;!ce;coe,s;!aA1n9H;an,eo;l44r;er77g3n8olfo,riD;go;b9CeAQ;cDl8;ar6Hc6GhEkDo;!ey,ie,y;a8Uie;gEid,ubCyDza;an1InY;g9SiD;na9Os;ch6Pfa4lHmGndFpha4sEul,wi2GyD;an,mo6T;h7Im5;alAWol2Ty;iACon;f,ph;ent2inD;cy,t1;aIeGhilFier6SrD;aka16eD;m,st1;!ip,lip;dA4rcy,tD;ar,e3Dr1X;b4Gdra72tr6IulD;!o17;ctav3Ci3liv3m9Yndrej,rHsEtDum7wC;is,to;aEc7k7m0vD;al5R;ma;i,vL;aLeJiFoDu37;aDel,j5l0ma0r3H;h,m;cEg4i45kD;!au,h7Fola;holAkDolA;!olA;al,d,il,ls1vD;il8I;hom,thD;anDy;!a4i4;aZeWiMoHuEyD;l2Gr1;hamEr6KstaD;fa,p54;ed,mH;di0We,hamFis2CntEsDussa;es,he;e,y;ad,ed,mD;ad,ed;cIgu4hai,kGlFnEtchD;!e9;a7Uik;house,o0Bt1;ae5Oe9NolD;aj;ah,hD;aEeD;al,l;el,l;hElv2rD;le,ri9v2;di,met;ay0hTjd,ks2AlRmadWnQrKs1tFuricExD;imilianBwe9;e,io;eGhEiAtDus,yA;!eo,hew,ia;eDis;us,w;j,o;cHio,kGlFqu6Ysha9tDv2;iDy;!m,n;in,on;el,oPus;!el91oOus;iGu4;achDcolm,ik;ai,y;amEdi,eDmoud;sh;adDm5G;ou;aWeQiOlo39oKuEyD;le,nd1;cGiFkDth3uk;aDe;!s;gi,s,z;as,iaD;no;g0nn7CrenFuDv82we9;!iD;e,s;!zo;am,oD;n4r;a7Vevi,la4AnHonGst3thaFvD;eDi;nte;bo;!a6Del;!ny;mFnErDur54wr54;ry,s;ce,d1;ar,o4X;aLeHhal7GiEristDu4Jy6I;i0o53;er0p,rD;k,ollD;os;en0iFnDrmit,v3T;!dr3WnDt1;e17y;r,th;cp3j5m5Rna6OrEsp7them,uD;ri;im,l;a00eUiSoGuD;an,lDst2;en,iD;an,en,o,us;aNeLhnKkubAnIrGsD;eEhDi7Vue;!ua;!ph;dDge;i,on;!aDny;h,s,th54;!ath53ie,n5L;!l,sDy;ph;o,qu2;an,mD;!m5G;d,ffGrDs5;a5YemEmai6oDry;me,ni0X;i7Fy;!e5NrD;ey,y;cKdCkImHrFsEvi3yD;dCs1;on,p3;ed,od,rDv4U;e5Aod;al,es4Lis1;a,e,oDub;b,v;ob,quD;es;aWbQchiPgNkeMlija,nuLonut,rJsFtDv0;ai,suD;ki;aEha0i6ZmaDsac;el,il;ac,iaD;h,s;a,vinDw2;!g;k,nngu5F;!r;nacDor;io;ka;ai,rahD;im;aPeJoIuDyd7;be2EgGmber4JsD;eyEsD;a2e2;in,n;h,o;m3ra35sse2wa3Z;aHctGitGnrErD;be27m0;iDy;!q0Y;or;th;bLlKmza,nJo,rFsEyD;a46dC;an,s0;lFo4Nry,uDv8;hi43ki,tD;a,o;an,ey;k,s;!im;ib;aVeRiPlenOoLrHuD;ilEsD;!tavo;herme,lerD;mo;aFegDov3;!g,orD;io,y;dy,h5J;nzaErD;an,d1;lo;!n;lbe4Xno,oD;rg36van4X;oFrD;aDry;ld,rdB;ffr8rge;brElCrDv2;la13r3Gth,y;e32ielD;!i5;aReOiMlKorrest,rD;anEedDitz;!d37er10r10;cFkD;!ie,lD;in,yn;esKisD;!co,z2V;etch3oD;yd;d4lDonn;ip;deriEliDng,rnan04;pe,x;co;bi0di,hd;dXfrWit0lRmKnHo2rFsteb0th0uge6vDymCzra;an,eD;ns,re2W;gi,i09nDrol,v2w2;estBie;oEriqDzo;ue;ch;aIerHiEmD;aHe2P;lDrh0;!iD;o,s;s1y;nu4;be0Ad1iFliEm3t1viDwood;n,s;ot1Rs;!as,j4EsD;ha;a2en;!d2Vg7mGoEuEwD;a25in;arD;do;oVuV;a01eQiOoGrag0uFwEylD;an,l0;ay6ight;a6dl8nc0st2;minGnEri0ugDvydAy28;!lA;!a2HnDov0;e9ie,y;go,iEykA;as;cDk;!k;armuDll1on,rk;id;andMj0lbeLmetri5nJon,rHsFvEwDxt3;ay6ey;en,in;hawn,moD;nd;ek,rD;ick;is,nD;is,y;rt;re;an,le,mKnJrFvD;e,iD;!d;en,iFne9rDyl;eDin,yl;l35n;n,o,us;!i4ny;iDon;an,en,on;a07e05hXiar0lNoIrGuEyrD;il,us;rtD;!is;aDistob0R;ig;dy,lGnErD;ey,neli5y;or,rD;ad;by,e,in,l2t1;aHeFiDyJ;fDnt;fo0Dt1;meDt5;nt;rFuEyD;!t1;de;enD;ce;aHeFrisD;!toD;ph3;st3;er;d,rDs;b4leD;s,y;cDdric,s7;il;lGmer1rD;ey,lEro9y;ll;!os,t1;eb,v2;a06eYiUlaToRrEuDyr1;ddy,rtK;aLeGiFuEyD;an,ce,on;ce,no;an,ce;nEtD;!t;dEtD;!on;an,on;dEndD;en,on;!foDl8y;rd;bby,rDyd;is;i6ke;bFlEshD;al;al,lK;ek;nHrDshoi;at,nEtD;!r1B;aDie;rdB;!iEjam2nD;ie,y;to;kaMlazs,nHrD;n8rDt;eDy;tt;ey;dDeE;ar,iD;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHuFveEyDziz;a0kh0;ry;gust5st2;us;hi;aKchJiIjun,maHnFon,tDy0;hDu08;ur;av,oD;ld;an,ndB;!el,ki;ie;ta;aq;as,dHgelBtD;hony,oD;i6nD;!iBy;ne;er,reDy;!as,i,s,w;iFmaDos;nu4r;el;ne,r,t;an,bePdCeJfHi,lGonFphXt1vD;aNin;on;so,zo;an,en;onTrD;ed;c,jaGksandFssaGxD;!andD;er,ru;ar,er;ndD;ro;rtB;ni;dCm7;ar;en;ad,eD;d,t;in;onD;so;aEi,olfBri0vik;!o;mDn;!a;dHeGraEuD;!bakr,lfazl;hDm;am;!l;allIelFoulaye,ulD;!lDrF;ah,o;! rD;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:93;1:81;2:7Y;3:8U;4:8O;5:6F;6:82;7:87;8:8E;9:5X;A:8T;a7Nb77c6Qd68e5Qf58g50h4Pi3Ujuni47k3Sl3Gm34n2Uo2Fp1Wquart64r1Ls0Rt0JuMvIwBye1J;ast54eFholeEiDoB;man5oBrthwhi6u0F;d7Hzy;despr8Gs6F;!sa6;ather13eBll o5Jste2R;!k5;aDeCiBola5D;b93ce versa,gi2R;ng4Vrsa5B;ca0lu54;lt06nHpDrCsBttermo8V;ef75u4;b68ge0; Db2BpCsBti37;ca6et,ide dO;er,i4L;f3Wto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4E;e6Zi2GoDpCuB;pervis1spect2;e0ok6X;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a8recedeY;arri1et;own;que,vers4;air,orese6O;mploy1nd2xpect1;eBue;cid1rB;!a6Scov9ly2sDwB;aBei2L;t9y;iz1to43;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i2Hra;aGeDhough5Aip 1QoCrB;anspa6Zi3;geth9le81rp8;ena6GmpCrB;r3Ftia6Q;e7Lo6O;leBst3Q;nt1;a03c01eZhYiWkiVmug,nobb3ZoPpMqueam3ZtGuBymb71;bDi generis,pBr5;erBre1P;! dup9b,viX;du1sBurb51;eq73tanda7N;atu6AeFi0VrByl3T;aBin4E;ightBy; fBfB;or5Y;adfa7Fri6;arCeBirit1lend8ot on;c2Ye34;k5se; caGlub6mb9phisticFrEuCvB;erei5Iiet;ndBth0Y;pro6G;d8ry;at1;ll1;g20nB;ce58g6;am30e9;at1co1Kem5lf3AnBre7;so5W;ath2holBient2K;ar5;cr1me,tisfac5N;aJeEheumato8iCoB;bu6Vtt58y4;ghtBv4;-w2f54;bZcEdu6MlDsBtard1;is3DoB;lu3na0;e1Euc3B;e0ondi3;b8ciB;al,st;aOeMicayu7laLopuli6LrCuB;bl5Wnjabi;eGiEoB;!b2QfCmi3CpBv4V;er,ort4C;a7u61;maBor,sti7va3;!ry;ci5Yexist2mBpa8;a1RiB;er,um;c8id;ac27rBti3;feAma32ti32v5S;i27rCsB;s41t;allCtB;-ti05i4;el;bMffKkJld InGrFth9utEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Yer,si4K;d2Ug1L; bBbBgo2li7;oa5X;fashion1school;!ay; gua5UbBli7si4E;eat;eCsB;ce7er0Eo0T;dia0se;aJeIiHoBuanc1;nDrthBt1U;!eB;rn;chaCdescri5Iprof28sB;top;la0;ght5;arby,cessa4Bighbor5xt;k1usiat2;aIeHinGoCuB;d13ltip6;deDl12nBot,st;ochroBth5;me;rn,st;dblTi;nac2re;cDgenta,in,j05keshift,mmCnBscu4E;da3Uy;ali2Ioth;ab37ho;aLeHiEoCuB;mber2sh;ngBut18;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBss9th4;al,eCitiB;ma3;nda3N;ngu8ps1st;aput,ind5nB;ow2;gno4Sll03mVnDpso 23rB;a3releB;va0; QaPcoMdJe28fIhibi3AiWnHsDtBvalu0S;aAeB;n43rdep1S;a7iColBubordi3O;ub6ve0;de,gB;nifica0;a3er;eriCluenOreq3U;eCiEoB;or;fini3p1Jtermi3G;mpCrB;reA;le3;ccu3Xdeq3Sppr34;fBsitu,vitro;ro0;mFpB;arDeCl0PoBrop9;li3r0M;nd2rfeA;ti4;aCeBi0R;d2Wn3H;tu20;eg4iB;c0Ite3L;aIelHiFoCumB;a7dr3G;me ma2CnCrrBs04ur5;if31;e3Oo2J;ghfalut1LspB;an2Y;lUpf1W;lCnBrdZtI;dy;f,low1;aiHener2Tiga26lob4oGraDuB;ilBng ho;ty;cCtB;ef1Ois;ef1N;od;nf1L;aPeMinLlJoErB;aCeBoz1L;q2Ptf1I;gi6nt2I;olErB; keeps,eBge0Gm9tu2Bwa36;go2i1BseeB;ab6;ish;ag35uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Fmiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4reAthere4veHxB;aAem2PplEquisi3traDuB;be2UlB;ta0;!va1H;icB;it;n,ryday; Bti0O;rou3sui3;erCiB;ne0;ge0;dBe18;er5;g9sB;t,ygo2;er;aQeHiCoBrea15ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa1XtB;a0inA;et,te; IadpHceGfiFgene1UliDpCreliAspe1UvoB;id,ut;ende0;ca3ghB;tf09;a0ni3;as1;an;facto;i5ngeroX;ly;arQertaPivil,oErCuB;nn2stoma0M;aBu0Iystal0Y;v01z1;erKgniza0loJmHnCr01veB;rt;cEduIgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Wi12;mensu18passB;io0M;ni4ss4;ci0S;in;diac,efM;aMeGizarFliKoDrBuck nak1;and new,isk,oB;kLn1C;gBldface,na fiT;us;re;autifFhiEloDnBst,yoE;eViBt;gn;v1w;nd;ul;ckDnkCrrB;en;ru0V;!wards; priori,b0Nc0Kd0Df0Ag08h07l00mp6ntiquXpRrLsleep,ttracti09uHvEwB;aCkB;wa0U;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntX;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohFiJkaDl,oCterB;na3;of;li7;ne;olB;ic;ead;ainWed,gressiB;ve;flCra8;id;ue0; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cuCtu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traA;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8T;1:8G;2:9B;3:8Z;4:80;5:7N;6:97;7:82;8:90;9:9F;A:9E;B:8V;C:7U;D:7Q;E:7K;F:87;a80b7Ec6Od5Fe4Df43g3Zh3Vi3Bj38k35l2Wm2Pnou3Uo2Kp23qu22r18s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Ary;nGplift;cov0dHear7HlGplug,tie,ve83;eaAo3J;erGo;go,sta9Cval92whelm;aPeNhKoJrG;aGemb4;ffi3Emp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Y;ch,se;ck4ilor,keGmp0r7L;! paD;a0Ec0De0Bh07i05l03m02n01oZpUqua45tNuIwG;all6Ze2DiG;m,ng;bIccumb,ffHggeBmm8Zp2ErG;mouFvi2;er,i3;li7Ymer8siGveD;de,st;aKe7RiIrG;ang4eGi2;ng1Zw;fGnV;f5le;gg0rGte ch5F;t4ve;awn,eJiIlHoGri6B;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;aAugg4;aGi9;m,y;ft,nGt;g,k;aIi5FoHriGun;nk,v5R;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven8ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,reAuG;el,rbiA;an3e;aCu3;ei2k7Ela3IoGyc4;gni58nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;aAen5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,niArGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0tru9vG;e,i9o4S;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi42iC;a5Brt4T;er3npoiF;cei2fo3BiAmea6plex,sGva9;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Spo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na8;aNeJiGo1u35;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Mow;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3u9;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul8;ca6;i6lu9;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;riA;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee30olG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2M;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un8;ct,di6;st,t;lu9;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a8i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar8iB;a8eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer8pG;hasi1Yow0;a0Tody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Nn;a0Ne01iIo,rGwind4;aw,ed8oG;p,wn;agno1e,ff0g,mi29sJvG;eGul8;rGst;ge,t;ab4bTcNlod8mant4pLru3GsKtG;iGoDu2W;lHngG;uiA;!l;ol2ua9;eGla3o1ro2;n1r1;a18e2WlJoHuG;ss;uGv0;ra8;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;liA;an;mEv0;a3i04oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aIrHuG;g,nk;ief;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta17;a2ea6ipp4;ales3eWhabEinci9llVmTnGrro9;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r8;a0Hin23ribu6;er2iGoli25pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGlu9;al,i2;buBe,men3pG;e6ly;eCi9u9;r3xiB;ean1iQ;rcumveFte;eGoo1;riAw;ncGre5t0ulk;el;aYeSi1TlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l10mbaGrrMth0;rd;aHeGow;ed;ze;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;niA;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an8i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e8oGu9;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled8quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,liA;da6;te;pt;andMet,i9oIsG;coIol2;ve;liArt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:24;5:1X;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel5;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri4roun5;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee5;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war5;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19r6un1F;e6o0X;ce5s4vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri5whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s4tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area4;po4;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un5;ebo5th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0;ab2c6du3ga01sQ;han0oura00;barras4erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es4;biliBcAfiKgra5m9pres4ser8v6;asAelo6;pi1;vi1;an5eaG;a0BliF;ta0;maMri1sYun0;aMhJlo4o6ripp2ut0;mCn6rrespon5;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u4;ni1;fAm9p6;e7ro6;mi4;l2ti1;an5;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in5lin5o7rui4u6;d5st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un5;di1;is6;hi1;ri1;res0;li1;a9u4;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦alexand5darwin,h3jordan,k2orlando,s0victo5;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const or="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ir=or.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var sr=function(e){if(void 0!==ir[e])return ir[e];let t=0,n=1,a=36,r=1;for(;n=0;n--,r*=36){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t};var lr=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const a=cr(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=dr(rr[e]);pr.test(e)?Object.keys(t).forEach(t=>{if(br[t]=e,"Noun|Verb"===e){let e=mr(t,yr);br[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{fr[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","fr[e]="Emoticon"),delete fr[""],delete fr.null,delete fr[" "];const vr="Adjective";var wr={beforeTags:{Determiner:vr,Possessive:vr},afterTags:{Adjective:vr},beforeWords:{seem:vr,seemed:vr,seems:vr,feel:vr,feels:vr,felt:vr,appear:vr,appears:vr,appeared:vr,also:vr,over:vr,under:vr,too:vr,it:vr,but:vr,still:vr,really:vr,quite:vr,well:vr,very:vr,deeply:vr,profoundly:vr,extremely:vr,so:vr,badly:vr,mostly:vr,totally:vr,awfully:vr,rather:vr,nothing:vr,something:vr,anything:vr},afterWords:{too:vr,also:vr,or:vr}};const kr="Gerund";var Pr={beforeTags:{Adverb:kr,Preposition:kr,Conjunction:kr},afterTags:{Adverb:kr,Possessive:kr,Person:kr,Pronoun:kr,Determiner:kr,Copula:kr,Preposition:kr,Conjunction:kr,Comparative:kr},beforeWords:{been:kr,keep:kr,continue:kr,stop:kr,am:kr,be:kr,me:kr,began:kr,start:kr,starts:kr,started:kr,stops:kr,stopped:kr,help:kr,helps:kr,avoid:kr,avoids:kr,love:kr,loves:kr,loved:kr,hate:kr,hates:kr,hated:kr},afterWords:{you:kr,me:kr,her:kr,him:kr,them:kr,their:kr,it:kr,this:kr,there:kr,on:kr,about:kr,for:kr}};var Ar={beforeTags:Object.assign({},wr.beforeTags,Pr.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},wr.afterTags,Pr.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},wr.beforeWords,Pr.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},wr.afterWords,Pr.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Dr="Singular";var jr={beforeTags:{Determiner:Dr,Possessive:Dr,Acronym:Dr,Noun:Dr,Adjective:Dr,PresentTense:Dr,Gerund:Dr,PastTense:Dr,Infinitive:Dr,Date:Dr},afterTags:{Value:Dr,Modal:Dr,Copula:Dr,PresentTense:Dr,PastTense:Dr,Demonym:Dr},beforeWords:{the:Dr,with:Dr,without:Dr,of:Dr,for:Dr,any:Dr,all:Dr,on:Dr,cut:Dr,cuts:Dr,save:Dr,saved:Dr,saves:Dr,make:Dr,makes:Dr,made:Dr,minus:Dr,plus:Dr,than:Dr,another:Dr,versus:Dr,neither:Dr,favorite:Dr,best:Dr,daily:Dr,weekly:Dr},afterWords:{of:Dr,system:Dr,aid:Dr,method:Dr,utility:Dr,tool:Dr,reform:Dr,therapy:Dr,philosophy:Dr,room:Dr,authority:Dr,says:Dr,said:Dr,wants:Dr,wanted:Dr}};const Ir={beforeTags:{Determiner:void 0}};var Gr={beforeTags:Object.assign({},wr.beforeTags,jr.beforeTags,Ir.beforeTags),afterTags:Object.assign({},wr.afterTags,jr.afterTags),beforeWords:Object.assign({},wr.beforeWords,jr.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},wr.afterWords,jr.afterWords)};const Nr={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Er={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},xr={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Tr={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Cr={beforeTags:Object.assign({},wr.beforeTags,Nr),afterTags:Object.assign({},wr.afterTags,Er),beforeWords:Object.assign({},wr.beforeWords,xr),afterWords:Object.assign({},wr.afterWords,Tr)};const Br="Infinitive";var Or={beforeTags:{Modal:Br,Adverb:Br,Negative:Br,Plural:Br},afterTags:{Determiner:Br,Adverb:Br,Possessive:Br,Preposition:Br},beforeWords:{i:Br,we:Br,you:Br,they:Br,to:Br,please:Br,will:Br,have:Br,had:Br,would:Br,could:Br,should:Br,do:Br,did:Br,does:Br,can:Br,must:Br,us:Br,me:Br,he:Br,she:Br,it:Br,being:Br},afterWords:{the:Br,me:Br,you:Br,him:Br,her:Br,them:Br,it:Br,a:Br,an:Br,up:Br,down:Br,by:Br,out:Br,off:Br,when:Br,all:Br,to:Br,because:Br,although:Br,before:Br,how:Br,otherwise:Br,though:Br,yet:Br}};const zr={afterTags:{Noun:"Adjective",Conjunction:void 0}};var Fr={beforeTags:Object.assign({},wr.beforeTags,Or.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},wr.afterTags,Or.afterTags,zr.afterTags),beforeWords:Object.assign({},wr.beforeWords,Or.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},wr.afterWords,Or.afterWords,{to:void 0})};const Vr={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},$r={},Hr={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Sr={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var Jr={beforeTags:Object.assign({},Pr.beforeTags,jr.beforeTags,Vr),afterTags:Object.assign({},Pr.afterTags,jr.afterTags,$r),beforeWords:Object.assign({},Pr.beforeWords,jr.beforeWords,Hr),afterWords:Object.assign({},Pr.afterWords,jr.afterWords,Sr)};var Mr={beforeTags:Object.assign({},Or.beforeTags,jr.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Or.afterTags,jr.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Or.beforeWords,jr.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Or.afterWords,jr.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const Wr="Person";var Lr={beforeTags:{Honorific:Wr,Person:Wr,Preposition:Wr},afterTags:{Person:Wr,ProperNoun:Wr,Verb:Wr},ownTags:{ProperNoun:Wr},beforeWords:{hi:Wr,hey:Wr,yo:Wr,dear:Wr,hello:Wr},afterWords:{said:Wr,says:Wr,told:Wr,tells:Wr,feels:Wr,felt:Wr,seems:Wr,thinks:Wr,thought:Wr,spends:Wr,spendt:Wr,plays:Wr,played:Wr,sing:Wr,sang:Wr,learn:Wr,learned:Wr,wants:Wr,wanted:Wr}};const Kr="Month",qr={beforeTags:{Date:Kr,Value:Kr},afterTags:{Date:Kr,Value:Kr},beforeWords:{by:Kr,in:Kr,on:Kr,during:Kr,after:Kr,before:Kr,between:Kr,until:Kr,til:Kr,sometime:Kr,of:Kr,this:Kr,next:Kr,last:Kr,previous:Kr,following:Kr},afterWords:{sometime:Kr,in:Kr,of:Kr,until:Kr,the:Kr}};var Ur={beforeTags:Object.assign({},Lr.beforeTags,qr.beforeTags),afterTags:Object.assign({},Lr.afterTags,qr.afterTags),beforeWords:Object.assign({},Lr.beforeWords,qr.beforeWords),afterWords:Object.assign({},Lr.afterWords,qr.afterWords)};const Rr={Place:"Place"},Zr={Place:"Place",Abbreviation:"Place"},Qr={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},_r={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"};const Xr={"Adj|Gerund":Ar,"Adj|Noun":Gr,"Adj|Past":Cr,"Adj|Present":Fr,"Noun|Verb":Mr,"Noun|Gerund":Jr,"Person|Noun":{beforeTags:Object.assign({},jr.beforeTags,Lr.beforeTags),afterTags:Object.assign({},jr.afterTags,Lr.afterTags),beforeWords:Object.assign({},jr.beforeWords,Lr.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},jr.afterWords,Lr.afterWords)},"Person|Date":Ur,"Person|Verb":{beforeTags:Object.assign({},Lr.beforeTags,Or.beforeTags),afterTags:Object.assign({},Lr.afterTags,Or.afterTags),beforeWords:Object.assign({},Lr.beforeWords,Or.beforeWords),afterWords:Object.assign({},Lr.afterWords,Or.afterWords)},"Person|Place":{beforeTags:Object.assign({},Rr,Lr.beforeTags),afterTags:Object.assign({},Zr,Lr.afterTags),beforeWords:Object.assign({},Qr,Lr.beforeWords),afterWords:Object.assign({},_r,Lr.afterWords)}},Yr=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};Xr["Plural|Verb"]={beforeWords:Yr(Xr["Noun|Verb"].beforeWords,{}),afterWords:Yr(Xr["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:Yr(Xr["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:Yr(Xr["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var eo=Xr;const to="Adjective",no="Infinitive",ao="PresentTense",ro="Singular",oo="PastTense",io="Adverb",so="Plural",lo="Verb",uo="LastName",co="Participle";var ho=[null,null,{ea:ro,ia:"Noun",ic:to,ly:io,"'n":lo,"'t":lo},{oed:oo,ued:oo,xed:oo," so":io,"'ll":"Modal","'re":"Copula",azy:to,eer:"Noun",end:lo,ped:oo,ffy:to,ify:no,ing:"Gerund",ize:no,ibe:no,lar:to,mum:to,nes:ao,nny:to,ous:to,que:to,rol:ro,sis:ro,ogy:ro,oid:ro,ian:ro,zes:ao,eld:oo,ken:co,ven:co,ten:co,ect:no,ict:no,ide:no,ign:no,ful:to,bal:to},{amed:oo,aped:oo,ched:oo,lked:oo,rked:oo,reed:oo,nded:oo,mned:to,cted:oo,dged:oo,ield:ro,akis:uo,cede:no,chuk:uo,czyk:uo,ects:ao,ends:lo,enko:uo,ette:ro,wner:ro,fies:ao,fore:io,gate:no,gone:to,ices:so,ints:so,ruct:no,ines:so,ions:so,less:to,llen:to,made:to,nsen:uo,oses:ao,ould:"Modal",some:to,sson:uo,tion:ro,tage:"Noun",ique:ro,tive:to,tors:"Noun",vice:ro,lier:ro,fier:ro,wned:oo,gent:ro,tist:ro,pist:ro,rist:ro,mist:ro,yist:ro,vist:ro,lite:ro,site:ro,rite:ro,mite:ro,bite:ro,mate:ro,date:ro,ndal:ro,vent:ro,uist:ro,gist:ro,note:ro,ract:no,duce:no,pose:no,eive:no,lyze:no,lyse:no,iant:to,nary:to},{elist:ro,holic:ro,phite:ro,tized:oo,urned:oo,eased:oo,ances:so,bound:to,ettes:so,fully:io,ishes:ao,ities:so,marek:uo,nssen:uo,ology:"Noun",osome:ro,tment:ro,ports:so,rough:to,tches:ao,tieth:"Ordinal",tures:so,wards:io,where:io,archy:"Noun",pathy:"Noun",opoly:"Noun",embly:"Noun",phate:"Noun",ndent:ro,scent:ro,onist:ro,anist:ro,alist:ro,olist:ro,icist:ro,ounce:no,iable:to,borne:to,gnant:to,inant:to,igent:to,atory:to,rient:ro,dient:ro},{auskas:uo,parent:ro,cedent:ro,ionary:ro,cklist:ro,keeper:"Actor",logist:"Actor",teenth:"Value"},{opoulos:uo,borough:"Place",sdottir:uo}];const go="Adjective";var mo=[null,null,{},{neo:"Noun",bio:"Noun","de-":"Verb","re-":"Verb","un-":"Verb"},{anti:"Noun",auto:"Noun",faux:go,hexa:"Noun",kilo:"Noun",mono:"Noun",nano:"Noun",octa:"Noun",poly:"Noun",semi:go,tele:"Noun","pro-":go,"mis-":"Verb","dis-":"Verb","pre-":go},{anglo:"Noun",centi:"Noun",ethno:"Noun",ferro:"Noun",grand:"Noun",hepta:"Noun",hydro:"Noun",intro:"Noun",macro:"Noun",micro:"Noun",milli:"Noun",nitro:"Noun",penta:"Noun",quasi:go,radio:"Noun",tetra:"Noun","omni-":go,"post-":go},{pseudo:go,"extra-":go,"hyper-":go,"inter-":go,"intra-":go,"deca-":go},{electro:"Noun"}];const po="Adjective",fo="Infinitive",bo="PresentTense",yo="Singular",vo="PastTense",wo="Expression",ko="LastName";var Po={a:[[/.[aeiou]na$/,"Noun","tuna"],[/.[oau][wvl]ska$/,ko],[/.[^aeiou]ica$/,yo,"harmonica"],[/^([hyj]a+)+$/,wo,"haha"]],c:[[/.[^aeiou]ic$/,po]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,vo,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,vo,"rammed"],[/.[aeiou][sg]hed$/,vo,"gushed"],[/.[aeiou]red$/,vo,"hired"],[/.[aeiou]r?ried$/,vo,"hurried"],[/[^aeiou]ard$/,yo,"steward"],[/[aeiou][^aeiou]id$/,po,""],[/.[vrl]id$/,po,"livid"],[/..led$/,vo,"hurled"],[/.[iao]sed$/,vo,""],[/[aeiou]n?[cs]ed$/,vo,""],[/[aeiou][rl]?[mnf]ed$/,vo,""],[/[aeiou][ns]?c?ked$/,vo,"bunked"],[/[aeiou]gned$/,vo],[/[aeiou][nl]?ged$/,vo],[/.[tdbwxyz]ed$/,vo],[/[^aeiou][aeiou][tvx]ed$/,vo],[/.[cdflmnprstv]ied$/,vo,"emptied"]],e:[[/.[lnr]ize$/,fo,"antagonize"],[/.[^aeiou]ise$/,fo,"antagonise"],[/.[aeiou]te$/,fo,"bite"],[/.[^aeiou][ai]ble$/,po,"fixable"],[/.[^aeiou]eable$/,po,"maleable"],[/.[ts]ive$/,po,"festive"],[/[a-z]-like$/,po,"woman-like"]],h:[[/.[^aeiouf]ish$/,po,"cornish"],[/.v[iy]ch$/,ko,"..ovich"],[/^ug?h+$/,wo,"ughh"],[/^uh[ -]?oh$/,wo,"uhoh"],[/[a-z]-ish$/,po,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,ko,"polish-male"]],k:[[/^(k){2}$/,wo,"kkkk"]],l:[[/.[gl]ial$/,po,"familial"],[/.[^aeiou]ful$/,po,"fitful"],[/.[nrtumcd]al$/,po,"natal"],[/.[^aeiou][ei]al$/,po,"familial"]],m:[[/.[^aeiou]ium$/,yo,"magnesium"],[/[^aeiou]ism$/,yo,"schism"],[/^[hu]m+$/,wo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,po,"republican"],[/[^aeiou]ician$/,"Actor","musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,wo,"noooo"],[/^(yo)+$/,wo,"yoo"],[/^wo{2,}[pt]?$/,wo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,yo],[/[^i]fer$/,fo],[/.[^aeiou][ao]pher$/,"Actor"],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,po],[/[aeiou].*ist$/,po],[/^[a-z]et$/,"Verb"]],s:[[/.[^aeiou]ises$/,bo],[/.[rln]ates$/,bo],[/.[^z]ens$/,"Verb"],[/.[lstrn]us$/,yo],[/.[aeiou]sks$/,bo],[/.[aeiou]kes$/,bo],[/[aeiou][^aeiou]is$/,yo],[/[a-z]'s$/,"Noun"],[/^yes+$/,wo]],v:[[/.[^aeiou][ai][kln]ov$/,ko]],y:[[/.[cts]hy$/,po],[/.[st]ty$/,po],[/.[tnl]ary$/,po],[/.[oe]ry$/,yo],[/[rdntkbhs]ly$/,"Adverb"],[/.(gg|bb|zz)ly$/,po],[/...lly$/,"Adverb"],[/.[gk]y$/,po],[/[bszmp]{2}y$/,po],[/.[ai]my$/,po],[/[ea]{2}zy$/,po],[/.[^aeiou]ity$/,yo]]};const Ao="Verb",Do="Noun";var jo={leftTags:[["Adjective",Do],["Possessive",Do],["Determiner",Do],["Adverb",Ao],["Pronoun",Ao],["Value",Do],["Ordinal",Do],["Modal",Ao],["Superlative",Do],["Demonym",Do],["Honorific","Person"]],leftWords:[["i",Ao],["first",Do],["it",Ao],["there",Ao],["not",Ao],["because",Do],["if",Do],["but",Do],["who",Ao],["this",Do],["his",Do],["when",Do],["you",Ao],["very","Adjective"],["old",Do],["never",Ao],["before",Do],["a","Singular"],["the",Do],["been",Ao]],rightTags:[["Copula",Do],["PastTense",Do],["Conjunction",Do],["Modal",Do]],rightWords:[["there",Ao],["me",Ao],["man","Adjective"],["only",Ao],["him",Ao],["it",Ao],["were",Do],["took",Do],["himself",Ao],["went",Do],["who",Do],["jr","Person"]]},Io={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},Go={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},No={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Eo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},xo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const To=/^.([0-9]+)/;var Co=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],a=n.match(To);if(null===a)return t.exceptions[e];let r=Number(a[1])||0;return e.substr(0,r)+n.replace(To,"")}(e,t);let a=t.rules;t.reversed&&(a=t.rev),a=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,a);for(let t=0;t{let n=e[0]||"",a=n[n.length-1]||"";t[a]=t[a]||[],t[a].push(e)}),t},Oo=/^([0-9]+)/,zo=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(Oo);if(null===n)return[e,t];let a=Number(n[1])||0,r=e.substring(0,a);return[e,r+t.replace(Oo,"")]}(n[0],n[1])})};var Fo=function(e={}){return(e=Object.assign({},e)).rules=zo(e.rules),e.rules=Bo(e.rules),e.rev&&(e.rev=zo(e.rev),e.rev=Bo(e.rev)),e.exceptions=zo(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e};var Vo=function(e){let{rules:t,exceptions:n,rev:a}=e;var r;return r=n,n=Object.entries(r).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:a}};const $o=Fo({rules:"een|1,egan|2in,on|in,pun|1in,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Ho=Fo(Eo),So=Fo(Go),Jo=Fo(No),Mo=Vo($o),Wo=Vo(Ho),Lo=Vo(So),Ko=Vo(Jo),qo=Fo(Io),Uo=Fo(xo);var Ro={fromPast:$o,fromPresent:Ho,fromGerund:So,fromParticiple:Jo,toPast:Mo,toPresent:Wo,toGerund:Lo,toParticiple:Ko,toComparative:qo,toSuperlative:Uo,fromComparative:Vo(qo),fromSuperlative:Vo(Uo)},Zo=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),Qo=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var _o=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce((e,t)=>(e[r[t]]=t,e),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(Xo[t].forEach(n=>e[n]=t),e),{});var Yo=Xo;var ei=function(e){let t=e.substr(e.length-3);if(!0===Yo.hasOwnProperty(t))return Yo[t];let n=e.substr(e.length-2);return!0===Yo.hasOwnProperty(n)?Yo[n]:"s"===e.substr(e.length-1)?"PresentTense":null};const ti={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var ni=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=ei(e)),ti.hasOwnProperty(e))c=ti[e];else if("Participle"===n)c=Co(l,i);else if("PastTense"===n)c=Co(l,a);else if("PresentTense"===n)c=Co(l,r);else{if("Gerund"!==n)return e;c=Co(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var ai=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Co(i,n),PresentTense:Co(i,a),Gerund:Co(i,r),FutureTense:"will "+e},u=Co(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l};var ri=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r)){return e.slice(0,n-a)+t[r.length][r]}}return null};const oi="ically",ii=new Set(["analyt"+oi,"chem"+oi,"class"+oi,"clin"+oi,"crit"+oi,"ecolog"+oi,"electr"+oi,"empir"+oi,"frant"+oi,"grammat"+oi,"ident"+oi,"ideolog"+oi,"log"+oi,"mag"+oi,"mathemat"+oi,"mechan"+oi,"med"+oi,"method"+oi,"method"+oi,"mus"+oi,"phys"+oi,"phys"+oi,"polit"+oi,"pract"+oi,"rad"+oi,"satir"+oi,"statist"+oi,"techn"+oi,"technolog"+oi,"theoret"+oi,"typ"+oi,"vert"+oi,"whims"+oi]),si=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],li=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),ui={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var ci=function(e){return e.endsWith("ly")?ii.has(e)?e.replace(/ically/,"ical"):li.has(e)?null:ui.hasOwnProperty(e)?ui[e]:ri(e,si)||e:null};const di=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],hi={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var gi=function(e){if(hi.hasOwnProperty(e))return hi[e];let t=ri(e,di);return t||e+"ly"};const mi=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],pi={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},fi=new Set(["terrible","annoying"]);const bi=function(e,t){const n=t.two.models.toSuperlative;return Co(e,n)},yi=function(e,t){const n=t.two.models.toComparative;return Co(e,n)};var vi={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.nounToPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.adjToSuperlative(e,a);r[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,a);r[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.nounToPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verbConjugate(e,a);Object.entries(o).forEach(e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,a);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}};var wi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let a=0;e.forEach((r,o)=>{t.test(r.post)&&function(e,t){let n=e[t];const a=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||a.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||a.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)}),a{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===vi.hasOwnProperty(i)&&vi[i](t,r,n,a),r[t]=r[t]||i}),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},transform:{nounToPlural:mr,nounToSingular:_o,verbToInfinitive:ni,getTense:ei,verbConjugate:ai,adjToSuperlative:bi,adjToComparative:yi,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Co(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Co(e,n)},advToAdjective:ci,adjToAdverb:gi,adjToNoun:function(e){if(pi.hasOwnProperty(e))return pi[e];if(fi.has(e))return null;let t=ri(e,mi);return t||e+"ness"}}}};var ki=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const Pi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,a)=>(t&&(e[a[0]]=t),e[a[1]]=n,e),{})};var Ai=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:a,toGerund:r,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=Pi(n,"Infinitive","PastTense"),Object.assign(s,l),l=Pi(a,"Infinitive","Verb"),Object.assign(s,l),l=Pi(r,"Infinitive","Gerund"),Object.assign(s,l),l=Pi(o,"Adjective","Superlative"),Object.assign(s,l),l=Pi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Di={two:{models:Ro}};const ji={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Ii=function(e,t){const n={model:t,methods:wi};let{lex:a,_multi:r}=wi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},Gi=function(e,t,n){let a=ai(e,Di);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},Ni=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach(r=>{const o=e[r];if(n[r]=ji[o],"Noun|Verb"!==o&&"Person|Verb"!==o||Gi(r,a,!1),"Adj|Present"===o&&(Gi(r,a,!0),function(e,t,n){let a=bi(e,n);t[a]=t[a]||"Superlative";let r=yi(e,n);t[r]=t[r]||"Comparative"}(r,a,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=ni(r,Di,"Gerund");a[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=ni(r,Di,"PastTense");a[e]||(n[e]="Infinitive")}}),t=Ii(n,t)};let Ei={one:{_multiCache:{},lexicon:fr},two:{irregularPlurals:ar,models:Ro,suffixPatterns:ho,prefixPatterns:mo,endsWith:Po,neighbours:jo,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[a-z0-9_\u00C0-\u00FF]{2,}$/i,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^([\u00a9\u00ae\u2319-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,"Emoji","emoji-range"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6][-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?[$\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BD\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]\+?$/,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:br,clues:eo,uncountable:{},orgWords:Zo}};Ei=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Ii(e.one.lexicon,e)).one.lexicon,e),e=Ni(e.two.switches,e),e=Ai(e),e=ki(e)}(Ei);var xi=Ei;const Ti=/^(under|over|mis|re|un|dis|semi)-?/;var Ci=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(Ti.test(r.normal)){let e=r.normal.replace(Ti,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}};var Bi=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const Oi={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},zi=new Set(["formulas","koalas","israelis","menus"]),Fi=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Vi=function(e){if(!e||e.length<=3)return!1;if(zi.has(e))return!0;let t=e[e.length-1];return Oi.hasOwnProperty(t)?Oi[t].find(t=>e.endsWith(t)):"s"===t&&!Fi.find(t=>e.endsWith(t))};const $i=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Hi=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t))||(Vi(e.normal)?Bi(e,"Plural","3-plural-guess"):Bi(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=ei(e.normal);t&&Bi(e,t,"3-verb-tense-guess")}}(a)};const Si=/^[A-Z][a-z'\u00C0-\u00FF]/,Ji=/[0-9]/,Mi=["Date","Month","WeekDay","Unit"],Wi=/^[IVXLCDM]{2,}$/,Li=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,Ki={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var qi=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===Si.test(o)&&!1===Ji.test(o)?Mi.find(e=>a.tags.has(e))?null:(Hi(e,t,n),a.tags.has("Noun")||a.tags.clear(),Bi(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&Wi.test(o)&&Li.test(o)&&!Ki[a.normal]?(Bi(a,"RomanNumeral","2-xvii"),!0):null};const Ui=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substr(n-r,n);if(!0===t[a.length].hasOwnProperty(a)){return t[a.length][a]}}return null};var Ri=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=Ui(a.normal,n.two.suffixPatterns);if(null!==e)return Bi(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=Ui(a.implicit,n.two.suffixPatterns),null!==e))return Bi(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const Zi=/['‘’‛‵′`´]/,Qi=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return Bi(a,e,"2-prefix"),a.confidence=.5,!0}return null};const Yi=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),es=function(e){return!!e&&(!!Yi.has(e.normal)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ts=function(e){return!!e&&!!e.tags.has("Ordinal")};var ns=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){if(es(e[t-1])||es(e[t+1]))return Bi(n,"Year","2-tagYear");if(a>1950&&a<2025&&(ts(e[t-1])||ts(e[t+1])))return Bi(n,"Year","2-tagYear-close")}}return null};const as=/^[A-Z]('s|,)?$/,rs=/^[A-Z-]+$/,os=/([A-Z]\.)+[A-Z]?,?$/,is=/[A-Z]{2,}('s|,)?$/,ss=/([a-z]\.)+[a-z]\.?$/,ls={I:!0,A:!0};var us=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===rs.test(n)||n.length>5||ls.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==os.test(n)&&!0!==ss.test(n)&&!0!==as.test(n)&&!0!==is.test(n))}(a,n)?(a.tags.clear(),Bi(a,["Acronym","Noun"],"3-no-period-acronym"),!0):!ls.hasOwnProperty(a.text)&&as.test(a.text)?(a.tags.clear(),Bi(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(Bi(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&rs.test(a.text)&&a.text.length<=6?(Bi(a,"Acronym","3-titlecase-acronym"),!0):null};const cs=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},ds=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var hs=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||cs(e[t-1],r),l=l||cs(e[t+1],o),l=l||ds(e[t-1],a),l=l||ds(e[t+1],i),l)return Bi(s,l,"3-[neighbour]"),Hi(e,t,n),e[t].confidence=.2,!0}return null};const gs=function(e){return!!e&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(t=e.text,!!/^[A-Z][a-z'\u00C0-\u00FF]/.test(t)));var t};var ms=function(e,t,n){const a=n.two.orgWords;let r=e[t];if(!0===a[r.machine||r.normal]&&gs(e[t-1])){Bi(e[t],"Organization","3-[org-word]");for(let n=t;n>=0&&gs(e[n]);n-=1)Bi(e[n],"Organization","3-[org-word]")}return null};var ps=function(e,t,n){0===e[t].tags.size&&(Bi(e[t],"Noun","3-[fallback]"),Hi(e,t,n),e[t].confidence=.1)};const fs=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,bs=(e,t,n)=>0!==t||e[1]?null:n;var ys={"Adj|Gerund":(e,t)=>fs(e,t),"Adj|Noun":(e,t)=>fs(e,t),"Adj|Past":(e,t)=>fs(e,t),"Adj|Present":(e,t)=>fs(e,t),"Noun|Gerund":(e,t)=>fs(e,t),"Noun|Verb":(e,t)=>fs(e,t)||bs(e,t,"Infinitive"),"Plural|Verb":(e,t)=>fs(e,t)||bs(e,t,"PresentTense"),"Person|Noun":(e,t)=>fs(e,t),"Person|Verb":(e,t)=>0!==t&&fs(e,t)};const vs="undefined"!=typeof process&&process.env?process.env:self.env||{},ws=/^(under|over|mis|re|un|dis|semi)-?/,ks=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const a=t[n];return a&&vs.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},Ps=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return a&&vs.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${a}) `),a=t[a],a};const As={tagSwitch:Ci,checkSuffix:Ri,checkRegex:_i,checkCase:qi,checkPrefix:Xi,checkHyphen:function(e,t,n){let a=e[t+1];if(!a)return;let{prefixes:r}=n.one,o=e[t];!0===r[o.normal]&&(a.tags.has("Verb")&&(Bi(o,"Verb","3-[prefix]"),Bi(o,"Prefix","3-[prefix]")),a.tags.has("Adjective")&&(Bi(o,"Adjective","3-[prefix]"),Bi(o,"Prefix","3-[prefix]")))},checkYear:ns},Ds={checkAcronym:us,neighbours:hs,orgWords:ms,nounFallback:ps,variables:function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(ws.test(l)&&!o[l]&&(l=l.replace(ws,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=ks(e[t+1],n.afterWords);return o=o||ks(e[t-1],n.beforeWords),o=o||Ps(e[t-1],n.beforeTags,r),o=o||Ps(e[t+1],n.afterTags,r),o}(e,t,i[o],a);ys[o]&&(u=ys[o](e,t)||u),u?(vs.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),r([s],u,n,null,"3-[variable]")):vs.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},js=function(e,t,n){for(let a=0;a{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)};const Ns={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Es={preTagger:function(e){const{methods:t,model:n,world:a}=e;let r=t.two.quickSplit(e.docs);for(let e=0;e{for(let a=0;a{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Ss=/'/;var Js=function(e,t){let n=e[t].normal.split(Ss)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const Ms=/'/;var Ws=function(e,t){let n=e[t].normal.split(Ms)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]};var Ls=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const Ks={that:!0,there:!0,let:!0,here:!0,everywhere:!0},qs={in:!0,by:!0,for:!0};var Us=(e,t)=>{let n=e[t];if(Ks.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let a=e[t+1];if(!a)return!0;if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e}if(e[t-1]&&!0===qs[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const Rs=/'/,Zs=function(e,t){let n=t.update();n.document=[e],n.compute(["lexicon","preTagger","index"])},Qs={d:(e,t)=>Ws(e,t),t:(e,t)=>Ls(e,t),s:(e,t,n)=>Us(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):Js(e,t)},_s=function(e,t){return t.fromText(e.join(" ")).docs[0]};var Xs={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===Rs.test(a[o].normal)&&([,i]=a[o].normal.split(Rs));let s=null;Qs.hasOwnProperty(i)&&(s=Qs[i](a,o,t)),s&&(s=_s(s,e),Hs(n,[r,o],s),Zs(n[r],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=$s.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Vs},hooks:["contractionTwo"]};const Ys="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)",el="(drew|pat|wade|ollie|will|rob|buck|bob|mark|jack)";const tl=["i","we","they"];let nl=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"},{match:"(#Determiner|#Possessive) [#Gerund] #Noun",group:0,tag:"Adjective",reason:"amusing-world"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Determiner|#Value) [(linear|binary|mobile|lexical|technical|computer|scientific|formal)] #Noun",group:0,tag:"Noun",reason:"technical-noun"},{match:"(#Noun && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"(the|those|these|a|an) #Adjective? [#PastTense]",group:0,tag:"Noun",reason:"det-past"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Noun",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Noun] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"},{match:"^[%Noun|Verb%] #Noun",group:0,tag:"Verb",reason:"visit-boards"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"(#Value|a) [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"%Person|Noun% #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:Ys+" #Person",tag:"Person",reason:"randy-smith"},{match:Ys+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${Ys}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:`#Modal [${el}]`,group:0,tag:"Verb",reason:"would-mark"},{match:`#Adverb [${el}]`,group:0,tag:"Verb",reason:"really-mark"},{match:`[${el}] (#Adverb|#Comparative)`,group:0,tag:"Verb",reason:"drew-closer"},{match:el+" #Person",tag:"Person",reason:"rob-smith"},{match:el+" #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:tl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:tl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:tl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);var al=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};var rl=function(e){let t=[];return e.forEach(e=>{let n=e.regs.findIndex(e=>"or"===e.operator&&e.fastOr&&!e.optional&&!e.negative);if(-1===n)if(n=e.regs.findIndex(e=>"or"===e.operator&&e.choices&&!e.optional&&!e.negative),-1===n)t.push(e);else{(function(e,t){let n=e.regs[t];return n.choices.map(e=>1===e.length?e[0]:{choices:e,operator:n.operator})})(e,n).forEach(a=>{let r=Object.assign({},e);r.regs=e.regs.slice(0),r.regs[n]=a,//!fixme [mo]? -r._expanded=!0,t.push(r)})}else{(function(e,t){let n=e.regs[t];return Array.from(n.fastOr).map(e=>{let t=Object.assign({},n);return delete t.fastOr,delete t.operator,t.word=e,t})})(e,n).forEach(a=>{let r=Object.assign({},e);r.regs=e.regs.slice(0),r.regs[n]=a,r._expanded=!0,t.push(r)})}}),t};var ol=function(e,t){const n=t.one.cacheMatch;return e.forEach(e=>{e.needs=Array.from(n(e.regs))}),e};var il=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t};var sl=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})};var ll=function(e,t){for(let n=0;ne.needs.every(e=>a.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e};var ul=function(e,t,n){let a=[];return e.forEach((e,r)=>{e.forEach(e=>{let o=n.match([t[r]],e);o.ptrs.length>0&&o.ptrs.forEach(t=>{t[0]=r;let n=Object.assign({},e,{pointer:t});void 0!==e.unTag&&(n.unTag=e.unTag),a.push(n)})})}),a};var cl=function(e,t){let[n,a,r]=e.pointer,o=t[n],i=a>4?a-2:0,s="string"!=typeof e.tag?e.tag.join(" #"):e.tag,l=` [${e.reason}]`.padEnd(20)+" - ";const u=e=>""+e+"";for(;ir+2);i+=1){let e=o[i].machine||o[i].normal;l+=i>a&&i{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;let r=a.two.compile(n.two.matches,a),o=a.two.quickSplit(e.document),i=a.two.bulkMatch(o,r,a);return a.two.bulkTagger(i,o,t),e.uncache(),o}},methods:{two:{compile:function(e,t){e=al(e,t),e=rl(e),e=rl(e),e=ol(e,t);let n=il(e,t);return delete n["#Noun"],delete n["#Verb"],n},bulkMatch:function(e,t,n){const a=n.one;let r=a.cacheDoc(e),o=sl(r,t);return o=ll(o,r),ul(o,e,a)},bulkTagger:function(e,t,n){const{model:a,methods:r}=n,{getDoc:o,setTag:i,unTag:s}=r.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag)return;l.DEBUG_TAGS&&cl(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===r.two.canBe(u,e.tag,a))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe)),void 0!==e.unTag&&s(u,e.unTag,n,e.safe)})},canBe:function(e,t,n){let a=n.one.tagSet;if(!a.hasOwnProperty(t))return!0;let r=a[t].not||[];for(let t=0;t"[object Array]"===Object.prototype.toString.call(e))(e)?e.forEach(e=>t.compute.hasOwnProperty(e)&&n[e](this)):"function"==typeof e?e(this):console.warn("no compute:",e),this}};var n={forEach:function(e){return this.fullPointer.forEach((t,n)=>{let a=this.update([t]);e(a,n)}),this},map:function(e,t){let n=this.fullPointer.map((t,n)=>{let a=this.update([t]);return e(a,n)});if(0===n.length)return t||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let a=[];return n.forEach(e=>{a=a.concat(e.fullPointer)}),this.toView(a)},filter:function(e){let t=this.fullPointer;return t=t.filter((t,n)=>{let a=this.update([t]);return e(a,n)}),this.update(t)},find:function(e){let t=this.fullPointer.find((t,n)=>{let a=this.update([t]);return e(a,n)});return this.update([t])},some:function(e){return this.fullPointer.some((t,n)=>{let a=this.update([t]);return e(a,n)})},random:function(e=1){let t=this.fullPointer,n=Math.floor(Math.random()*t.length);return n+e>this.length&&(n=this.length-e,n=n<0?0:n),t=t.slice(n,n+e),this.update(t)}};const a={termList:function(){return this.methods.one.termList(this.docs)},terms:function(e){let t=[];this.docs.forEach(e=>{e.forEach(e=>{let[n,a]=e.index||[];t.push([n,a,a+1])})});let n=this.update(t);return"number"==typeof e?n.eq(e):n},groups:function(e){if(e||0===e)return this.update(this._groups[e]||[]);let t={};return Object.keys(this._groups).forEach(e=>{t[e]=this.update(this._groups[e])}),t},eq:function(e){let t=this.pointer,n=this._cache||[];if(t||(t=this.docs.map((e,t)=>[t])),t[e]){let a=this.update([t[e]]);return a._cache=n[e],a}return this.none()},first:function(){return this.eq(0)},last:function(){let e=this.fullPointer.length-1;return this.eq(e)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(e,t){let n=this.pointer||this.docs.map((e,t)=>[t]);return n=n.slice(e,t),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let e=this.fullPointer.map(e=>[e[0]]);return this.update(e).toView()},none:function(){return this.update([])},isDoc:function(e){if(!e||!e.isView)return!1;let t=this.fullPointer,n=e.fullPointer;return!t.length!==n.length&&t.every((e,t)=>!!n[t]&&(e[0]===n[t][0]&&e[1]===n[t][1]&&e[2]===n[t][2]))},wordCount:function(){return this.docs.reduce((e,t)=>e+=t.filter(e=>""!==e.text).length,0)}};a.group=a.groups,a.fullSentence=a.fullSentences,a.sentence=a.fullSentences,a.lastTerm=a.lastTerms,a.firstTerm=a.firstTerms;var r=a;const o=Object.assign({},r,t,n);o.get=o.eq;var i=o;class View{constructor(t,n,a={}){[["document",t],["world",e],["_groups",a],["_cache",null],["viewType","View"]].forEach(e=>{Object.defineProperty(this,e[0],{value:e[1],writable:!0})}),this.ptrs=n}get docs(){let t=this.document;return this.ptrs&&(t=e.methods.one.getDoc(this.ptrs,this.document)),t}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:e,ptrs:t,document:n}=this;return(t||e.map((e,t)=>[t])).map(e=>{let[t,a,r,o,i]=e;return a=a||0,r=r||(n[t]||[]).length,n[t]&&n[t][a]&&(o=o||n[t][a].id,n[t][r-1]&&(i=i||n[t][r-1].id)),[t,a,r,o,i]})}update(e){let t=new View(this.document,e);if(t._cache&&e&&e.length>1){let n=[];e.forEach(e=>{1===e.length&&n.push(t._cache[e[0]])}),t._cache=n}return t.world=this.world,t}toView(e){return void 0===e&&(e=this.pointer),new View(this.document,e)}fromText(e){const{methods:t}=this;let n=t.one.tokenize.fromString(e,this.world),a=new View(n);return a.world=this.world,a.compute(["normal","lexicon","preTagger"]),a}clone(){let e=this.document.slice(0);e=e.map(e=>e.map(e=>((e=Object.assign({},e)).tags=new Set(e.tags),e)));let t=this.update(this.pointer);return t.document=e,t._cache=this._cache,t}}Object.assign(View.prototype,i);var s=View;const l=function(e){return e&&"object"==typeof e&&!Array.isArray(e)};var u=function(e,t,n,a){const{methods:r,model:o,compute:i,hooks:s}=t;e.methods&&function(e,t){for(const n in t)e[n]=e[n]||{},Object.assign(e[n],t[n])}(r,e.methods),e.model&&function e(t,n){if(l(n))for(const a in n)l(n[a])?(t[a]||Object.assign(t,{[a]:{}}),e(t[a],n[a])):Object.assign(t,{[a]:n[a]});return t}(o,e.model),e.compute&&Object.assign(i,e.compute),s&&(t.hooks=s.concat(e.hooks||[])),e.api&&e.api(n),e.lib&&Object.keys(e.lib).forEach(t=>a[t]=e.lib[t]),e.tags&&a.addTags(e.tags),e.words&&a.addWords(e.words),e.mutate&&e.mutate(t)};const c=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var d=function(e,t,n){const{methods:a}=n;let r=new t([]);if(r.world=n,"number"==typeof e&&(e=String(e)),!e)return r;if("string"==typeof e){return new t(a.one.tokenize.fromString(e,n))}if(o=e,"[object Object]"===Object.prototype.toString.call(o)&&e.isView)return new t(e.document,e.ptrs);var o;if(c(e)){if(c(e[0])){return new t(e.map(e=>e.map(e=>({text:e,normal:e,pre:"",post:" ",tags:new Set}))))}return new t(function(e){return e.map(e=>e.terms.map(e=>(c(e.tags)&&(e.tags=new Set(e.tags)),e)))}(e))}return r};let h=Object.assign({},e);const g=function(e,t){t&&g.addWords(t);let n=d(e,s,h);return e&&n.compute(h.hooks),n};Object.defineProperty(g,"_world",{value:h,writable:!0}),g.tokenize=function(e,t){const{compute:n}=this._world;t&&g.addWords(t);let a=d(e,s,h);return n.contractions&&a.compute(["alias","normal","machine","contractions"]),a},g.plugin=function(e){return u(e,this._world,s,this),this},g.extend=g.plugin,g.world=function(){return this._world},g.model=function(){return this._world.model},g.methods=function(){return this._world.methods},g.hooks=function(){return this._world.hooks},g.verbose=function(e){const t="undefined"!=typeof process&&process.env?process.env:self.env||{};return t.DEBUG_TAGS="tagger"===e||!0===e||"",t.DEBUG_MATCH="match"===e||!0===e||"",t.DEBUG_CHUNKS="chunker"===e||!0===e||"",this},g.version="14.2.0";var m=g;const p={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var f={api:function(e){Object.assign(e.prototype,p)},compute:{cache:function(e){e._cache=e.methods.one.cacheDoc(e.document)}},methods:{one:{cacheDoc:function(e){return e.map(e=>{let t=new Set;return e.forEach(e=>{""!==e.normal&&t.add(e.normal),e.switch&&t.add(`%${e.switch}%`),e.implicit&&t.add(e.implicit),e.machine&&t.add(e.machine),e.alias&&e.alias.forEach(e=>t.add(e));let n=Array.from(e.tags);for(let e=0;e/^\p{Lu}[\p{Ll}'’]/u.test(e)||/^\p{Lu}$/u.test(e),y=(e,t,n)=>{if(n.forEach(e=>e.dirty=!0),e){let a=[t,0].concat(n);Array.prototype.splice.apply(e,a)}return e},v=function(e){let t=e[e.length-1];!t||/ $/.test(t.post)||/[-–—]/.test(t.post)||(t.post+=" ")},w=(e,t,n)=>{const a=/[-.?!,;:)–—'"]/g;let r=e[t-1];if(!r)return;let o=r.post;if(a.test(o)){let e=o.match(a).join(""),t=n[n.length-1];t.post=e+t.post,r.post=r.post.replace(a,"")}},k=function(e,t,n,a){let[r,o,i]=t;0===o||i===a[r].length?v(n):(v(n),v([e[t[1]]])),function(e,t,n){let a=e[t];if(0!==t||!b(a.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,e=>e.toUpperCase());let r=e[t];r.tags.has("ProperNoun")||r.tags.has("Acronym")||b(r.text)&&r.text.length>1&&(r.text=(o=r.text,o.replace(/^\p{Lu}/u,e=>e.toLowerCase())));var o}(e,o,n),y(e,o,n)},P=(new Date).getTime(),A=e=>(e=e.length<3?"0"+e:e).length<3?"0"+e:e;var E=function(e){let[t,n]=e.index||[0,0];var a=(new Date).getTime()-P;a=parseInt(a,10),t=t>46655?46655:t,n=n>1294?1294:n;let r=A((a=a>46655?46655:a).toString(36));r+=A(t.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),e.normal+"|"+r.toUpperCase()};const j=function(e){if(e.has("@hasContraction")){e.grow("@hasContraction").contractions().expand()}},I=e=>"[object Array]"===Object.prototype.toString.call(e),N=function(e,t,n){const{document:a,world:r}=t;let o=t.fullPointer,i=t.fullPointer;t.forEach((s,l)=>{let u=s.fullPointer[0],[c]=u,d=a[c],h=function(e,t){const{methods:n}=t;return"string"==typeof e?n.one.tokenize.fromString(e,t)[0]:"object"==typeof e&&e.isView?e.clone().docs[0]:I(e)?I(e[0])?e[0]:e:[]}(e,r);h=function(e){return e.map(e=>(e.id=E(e),e))}(h),n?(j(t.update([u]).firstTerm()),k(d,u,h,a)):(j(t.update([u]).lastTerm()),function(e,t,n,a){let[r,,o]=t,i=(a[r]||[]).length;o{let n=t(e);e.replaceWith(n)}),e}(a,e);e=function(e,t){if("string"!=typeof e)return e;let n=t.groups();return e.replace(x,e=>{let t=e.replace(/\$/,"");return n.hasOwnProperty(t)?n[t].text():e})}(e,a);let r=this.update(n);n=n.map(e=>e.slice(0,3));let o=(r.docs[0]||[]).map(e=>Array.from(e.tags));if(a.insertAfter(e),r.has("@hasContraction")&&a.contractions){a.grow("@hasContraction+").contractions().expand()}a.delete(r);let i=a.toView(n).compute(["index","lexicon","preTagger"]);return t.tags&&i.terms().forEach((e,t)=>{e.tagSafe(o[t])}),t.case&&i.docs[0]&&i.docs[0][0]&&0===i.docs[0][0].index[1]&&(i.docs[0][0].text=i.docs[0][0].text.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())),i},C.replace=function(e,t,n){if(e&&!t)return this.replaceWith(e,n);let a=this.match(e);return a.found?a.replaceWith(t,n):this};var T=C;var B=function(e,t){t.forEach(t=>{let[n,a,r]=t,o=r-a;e[n]&&(r===e[n].length&&r>1&&function(e,t){let n=e.length-1,a=e[n],r=e[n-t];r&&a&&(r.post+=a.post,r.post=r.post.replace(/ +([.?!,;:])/,"$1"),r.post=r.post.replace(/[,;:]+([.?!])/,"$1"))}(e[n],o),e[n].splice(a,o))});for(let t=e.length-1;t>=0;t-=1)if(0===e[t].length&&(e.splice(t,1),t===e.length&&e[t-1])){let n=e[t-1],a=n[n.length-1];a&&(a.post=a.post.trimEnd())}return e};const O={remove:function(e){const{indexN:t}=this.methods.one.pointer;let n=this.all(),a=this;if(e&&(n=this,a=this.match(e)),n.has("@hasContraction")&&n.contractions){n.grow("@hasContraction").contractions().expand()}let r=n.fullPointer,o=a.fullPointer.reverse(),i=B(this.document,o);return r=function(e,t){return(e=e.map(e=>{let[n]=e;return t[n]?(t[n].forEach(t=>{let n=t[2]-t[1];e[1]<=t[1]&&e[2]>=t[2]&&(e[2]-=n)}),e):e})).forEach((t,n)=>{if(0===t[1]&&0==t[2])for(let t=n+1;te[2]-e[1]>0)).map(e=>(e[3]=null,e[4]=null,e))}(r,t(o)),n.ptrs=r,n.document=i,n.compute("index"),e?n.toView(r):(this.ptrs=[],n.none())}};O.delete=O.remove;var z=O;const V={pre:function(e,t){return void 0===e&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{let a=n[0];!0===t?a.pre+=e:a.pre=e}),this)},post:function(e,t){if(void 0===e){let e=this.docs[this.docs.length-1];return e[e.length-1].post}return this.docs.forEach(n=>{let a=n[n.length-1];!0===t?a.post+=e:a.post=e}),this},trim:function(){if(!this.found)return this;let e=this.docs,t=e[0][0];t.pre=t.pre.trimStart();let n=e[e.length-1],a=n[n.length-1];return a.post=a.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.pre=""),e[n+1]&&(t.post="-")})}),this},dehyphenate:function(){const e=/[-–—]/;return this.docs.forEach(t=>{t.forEach(t=>{e.test(t.post)&&(t.post=" ")})}),this},toQuotations:function(e,t){return e=e||'"',t=t||'"',this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this},toParentheses:function(e,t){return e=e||"(",t=t||")",this.docs.forEach(n=>{n[0].pre=e+n[0].pre;let a=n[n.length-1];a.post=t+a.post}),this}};V.deHyphenate=V.dehyphenate,V.toQuotation=V.toQuotations;var F=V;var $={alpha:(e,t)=>e.normalt.normal?1:0,length:(e,t)=>{let n=e.normal.trim().length,a=t.normal.trim().length;return na?-1:0},wordCount:(e,t)=>e.wordst.words?-1:0,sequential:(e,t)=>e[0]t[0]?-1:e[1]>t[1]?1:-1,byFreq:function(e){let t={};return e.forEach(e=>{t[e.normal]=t[e.normal]||0,t[e.normal]+=1}),e.sort((e,n)=>{let a=t[e.normal],r=t[n.normal];return ar?-1:0}),e}};const S=new Set(["index","sequence","seq","sequential","chron","chronological"]),H=new Set(["freq","frequency","topk","repeats"]),J=new Set(["alpha","alphabetical"]);var M={unique:function(){let e=new Set;return this.filter(t=>{let n=t.text("machine");return!e.has(n)&&(e.add(n),!0)})},reverse:function(){let e=this.pointer||this.docs.map((e,t)=>[t]);return e=[].concat(e),e=e.reverse(),this.update(e)},sort:function(e){let{docs:t,pointer:n}=this;if("function"==typeof e)return function(e,t){let n=e.fullPointer;return n=n.sort((n,a)=>(n=e.update([n]),a=e.update([a]),t(n,a))),e.ptrs=n,e}(this,e);e=e||"alpha";let a=n||t.map((e,t)=>[t]),r=t.map((e,t)=>({index:t,words:e.length,normal:e.map(e=>e.machine||e.normal||"").join(" "),pointer:a[t]}));return S.has(e)&&(e="sequential"),J.has(e)&&(e="alpha"),H.has(e)?(r=$.byFreq(r),this.update(r.map(e=>e.pointer))):"function"==typeof $[e]?(r=r.sort($[e]),this.update(r.map(e=>e.pointer))):this}};const L=function(e,t){let n=e[e.length-1],a=n[n.length-1];return!1===/ /.test(a.post)&&(a.post+=" "),e=e.concat(t)};var W={concat:function(e){const{methods:t,document:n,world:a}=this;if("string"==typeof e){let r=t.one.tokenize.fromString(e,a),o=this.fullPointer,i=o[o.length-1][0];return y(n,i+1,r),this.compute("index")}if("object"==typeof e&&e.isView)return function(e,t){if(e.document===t.document){let n=e.fullPointer.concat(t.fullPointer);return e.toView(n).compute("index")}return t.fullPointer.forEach(t=>{t[0]+=e.document.length}),e.document=L(e.document,t.document),e.all()}(this,e);if(r=e,"[object Array]"===Object.prototype.toString.call(r)){let t=L(this.document,e);return this.document=t,this.all()}var r;return this}};var K={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let e=this.ptrs;return!e||e.length<1||(e=e.map(e=>e.slice(0,3)),this.ptrs=e),this}};const q=Object.assign({},{toLowerCase:function(){return this.termList().forEach(e=>{e.text=e.text.toLowerCase()}),this},toUpperCase:function(){return this.termList().forEach(e=>{e.text=e.text.toUpperCase()}),this},toTitleCase:function(){return this.termList().forEach(e=>{e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())}),this},toCamelCase:function(){return this.docs.forEach(e=>{e.forEach((t,n)=>{0!==n&&(t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,e=>e.toUpperCase())),n!==e.length-1&&(t.post="")})}),this}},D,T,z,F,M,W,K);var U={api:function(e){Object.assign(e.prototype,q)},compute:{id:function(e){let t=e.docs;for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Q=/'/,_=new Set(["what","how","when","where","why"]),X=new Set(["be","go","start","think","need"]),Y=new Set(["been","gone"]);var ee=function(e,t){let n=e[t].normal.split(Q)[0];if(_.has(n))return[n,"did"];if(e[t+1]){if(Y.has(e[t+1].normal))return[n,"had"];if(X.has(e[t+1].normal))return[n,"would"]}return null};var te=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal)return null;return[e[t].normal.replace(/n't/,""),"not"]};const ne=/'/;var ae=(e,t)=>["je",e[t].normal.split(ne)[1]],re=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},oe=(e,t)=>{let n=e[t].normal.split(ne)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ie=/^([0-9.]{1,3}[a-z]{0,2}) ?[-–—] ?([0-9]{1,3}[a-z]{0,2})$/i,se=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i;var le=function(e,t){let n=e[t];if(!0===n.tags.has("PhoneNumber"))return null;let a=n.text.match(ie);return null!==a?[a[1],"to",a[2]]:(a=n.text.match(se),null!==a?[a[1],"to",a[4]]:null)};const ue=/'/,ce=/^[0-9][^-–—]*[-–—].*?[0-9]/,de=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger","index"])},he={t:(e,t)=>te(e,t),d:(e,t)=>ee(e,t)},ge={j:(e,t)=>ae(e,t),l:(e,t)=>re(e,t),d:(e,t)=>oe(e,t)},me=function(e,t,n,a){for(let r=0;r{let{world:t,document:n}=e;const{model:a,methods:r}=t;let o=a.one.contractions||[];n.forEach((a,i)=>{for(let s=a.length-1;s>=0;s-=1){let l=null,u=null;!0===ue.test(a[s].normal)&&([l,u]=a[s].normal.split(ue));let c=me(o,a[s],l,u);!c&&he.hasOwnProperty(u)&&(c=he[u](a,s,t)),!c&&ge.hasOwnProperty(l)&&(c=ge[l](a,s)),c?(c=pe(c,e),Z(n,[i,s],c),de(n[i],e,s,c.length)):ce.test(a[s].normal)&&(c=le(a,s),c&&(c=pe(c,e),Z(n,[i,s],c),r.one.setTag(c,"NumberRange",t),c[2]&&c[2].tags.has("Time")&&r.one.setTag([c[0]],"Time",t),de(n[i],e,s,c.length)))}})}},hooks:["contractions"]};var be=function(e,t,n){const{model:a,methods:r}=n,o=r.one.setTag,i=a.one._multiCache||{},s=a.one.lexicon||{};let l=e[t],u=l.machine||l.normal;return void 0!==e[t+1]&&!0===i[u]?function(e,t,n,a,r){let o=t+4>e.length?e.length-t:4,i=e[t].machine||e[t].normal;for(let s=1;si.hasOwnProperty(e));if(e){return o([s],i[e],n,!1,"1-lexicon-alias"),!0}}if(!0===ye.test(l)){let e=l.replace(ye,"");if(i.hasOwnProperty(e)&&e.length>3&&ve.has(i[e]))return o([s],i[e],n,!1,"1-lexicon-prefix"),!0}return null};var ke={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:function(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=e[a],o=(a=a.toLowerCase().trim()).split(/ /);o.length>1&&(n[o[0]]=!0),t[a]=t[a]||r}),delete t[""],delete t.null,delete t[" "],{lex:t,_multi:n}}}},compute:{lexicon:function(e){const t=e.world;e.docs.forEach(e=>{for(let n=0;n{"string"==typeof e[t]&&e[t].startsWith("#")&&(e[t]=e[t].replace(/^#/,""))}),n.two.expandLexicon){let{lex:r,_multi:o}=n.two.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else if(n.one.expandLexicon){let{lex:r,_multi:o}=n.one.expandLexicon(e,t);Object.assign(a.one.lexicon,r),Object.assign(a.one._multiCache,o)}else Object.assign(a.one.lexicon,e)}},hooks:["lexicon"]};var Pe=function(e,t){let n=[{}],a=[null],r=[0],o=[],i=0;e.forEach((function(e){let r=0,o=function(e,t){const{methods:n,model:a}=t;return n.one.tokenize.splitTerms(e,a).map(n.one.tokenize.splitWhitespace).map(e=>e.text.toLowerCase())}(e,t);for(let e=0;e0&&!n[i].hasOwnProperty(l);)i=r[i];if(n.hasOwnProperty(i)){let e=n[i][l];r[u]=e,a[e]&&(a[u]=a[u]||[],a[u]=a[u].concat(a[e]))}else r[u]=0}}return{goNext:n,endAs:a,failTo:r}};const Ae=function(e,t,n){let a=0,r=[];for(let o=0;o0&&(void 0===t.goNext[a]||!t.goNext[a].hasOwnProperty(i));)a=t.failTo[a]||0;if(t.goNext[a].hasOwnProperty(i)&&(a=t.goNext[a][i],t.endAs[a])){let n=t.endAs[a];for(let t=0;t0&&(a=a.concat(l))}return e.update(a)};const Ie=(e,t)=>{for(let n=e.length-1;n>=0;n-=1)if(e[n]!==t)return e=e.slice(0,n+1);return e};var Ne=function(e){return e.goNext=e.goNext.map(e=>{if(0!==Object.keys(e).length)return e}),e.goNext=Ie(e.goNext,void 0),e.failTo=Ie(e.failTo,0),e.endAs=Ie(e.endAs,null),e};var Ge={api:function(e){e.prototype.lookup=function(e,t={}){if(!e)return this.none();"string"==typeof e&&(e=[e]);let n=(a=e,"[object Object]"===Object.prototype.toString.call(a)?e:Pe(e,this.world));var a;let r=je(this,n,t);return r=r.settle(),r}},lib:{compile:function(e){const t=Pe(e,this.world());return Ne(t)}}};const De=function(e,t){return t?(e.forEach(e=>{let n=e[0];t[n]&&(e[0]=t[n][0],e[1]+=t[n][1],e[2]+=t[n][1])}),e):e},xe=function(e,t){let{ptrs:n,byGroup:a}=e;return n=De(n,t),Object.keys(a).forEach(e=>{a[e]=De(a[e],t)}),{ptrs:n,byGroup:a}},Ce=e=>"[object Object]"===Object.prototype.toString.call(e),Te=e=>e&&Ce(e)&&!0===e.isView,Be=e=>e&&Ce(e)&&!0===e.isNet;var Oe={matchOne:function(e,t,n){const a=this.methods.one;if(Te(e))return this.intersection(e).eq(0);if(Be(e))return this.sweep(e,{tagger:!1,matchOne:!0}).view;"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=xe(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},match:function(e,t,n){const a=this.methods.one;if(Te(e))return this.intersection(e);if(Be(e))return this.sweep(e,{tagger:!1}).view.settle();"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t},o=a.match(this.docs,r,this._cache),{ptrs:i,byGroup:s}=xe(o,this.fullPointer),l=this.toView(i);return l._groups=s,l},has:function(e,t,n){const a=this.methods.one;if(Te(e)){return e.fullPointer.length>0}if(Be(e))return this.sweep(e,{tagger:!1}).view.found;"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0};return a.match(this.docs,r,this._cache).ptrs.length>0},if:function(e,t,n){const a=this.methods.one;if(Te(e))return this.filter(t=>t.intersection(e).found);if(Be(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.if(t)}"string"==typeof e&&(e=a.killUnicode(e,this.world),e=a.parseMatch(e,n));let r={regs:e,group:t,justOne:!0},o=this.fullPointer,i=this._cache||[];o=o.filter((e,t)=>{let n=this.update([e]);return a.match(n.docs,r,i[t]).ptrs.length>0});let s=this.update(o);return this._cache&&(s._cache=o.map(e=>i[e[0]])),s},ifNo:function(e,t,n){const{methods:a}=this,r=a.one;if(Te(e))return this.filter(t=>!t.intersection(e).found);if(Be(e)){let t=this.sweep(e,{tagger:!1}).view.settle();return this.ifNo(t)}"string"==typeof e&&(e=r.killUnicode(e,this.world),e=r.parseMatch(e,n));let o=this._cache||[],i=this.filter((n,a)=>{let i={regs:e,group:t,justOne:!0};return 0===r.match(n.docs,i,o[a]).ptrs.length});return this._cache&&(i._cache=i.ptrs.map(e=>o[e[0]])),i}};var ze={before:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer);Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?1:-1)[0];t[1]>0&&r.push([t[0],0,t[1]])});let i=this.toView(r);return e?i.match(e,t,n):i},after:function(e,t,n){const{indexN:a}=this.methods.one.pointer;let r=[],o=a(this.fullPointer),i=this.document;Object.keys(o).forEach(e=>{let t=o[e].sort((e,t)=>e[1]>t[1]?-1:1)[0],[n,,a]=t;a{let o=n.before(e,t);if(o.found){let e=o.terms();a[r][1]-=e.length,a[r][3]=e.docs[0][0].id}}),this.update(a)},growRight:function(e,t,n){"string"==typeof e&&(e=this.world.methods.one.parseMatch(e,n)),e[0].start=!0;let a=this.fullPointer;return this.forEach((n,r)=>{let o=n.after(e,t);if(o.found){let e=o.terms();a[r][2]+=e.length,a[r][4]=null}}),this.update(a)},grow:function(e,t,n){return this.growRight(e,t,n).growLeft(e,t,n)}};const Ve=function(e,t){return[e[0],e[1],t[2]]},Fe=(e,t,n)=>{return"string"==typeof e||(a=e,"[object Array]"===Object.prototype.toString.call(a))?t.match(e,n):e||t.none();var a},$e=function(e,t){let[n,a,r]=e;return t.document[n]&&t.document[n][a]&&(e[3]=e[3]||t.document[n][a].id,t.document[n][r-1]&&(e[4]=e[4]||t.document[n][r-1].id)),e},Se={splitOn:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),o.push(e.match),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)},splitBefore:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),o.push(e.before),e.match&&e.after?o.push(Ve(e.match,e.after)):(o.push(e.match),o.push(e.after))}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)},splitAfter:function(e,t){const{splitAll:n}=this.methods.one.pointer;let a=Fe(e,this,t).fullPointer,r=n(this.fullPointer,a),o=[];return r.forEach(e=>{o.push(e.passthrough),e.before&&e.match?o.push(Ve(e.before,e.match)):(o.push(e.before),o.push(e.match)),o.push(e.after)}),o=o.filter(e=>e),o=o.map(e=>$e(e,this)),this.update(o)}};Se.split=Se.splitAfter;var He=Se;const Je=Object.assign({},Oe,ze,He);Je.lookBehind=Je.before,Je.lookBefore=Je.before,Je.lookAhead=Je.after,Je.lookAfter=Je.after,Je.notIf=Je.ifNo;var Me=function(e){Object.assign(e.prototype,Je)};const Le=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,We=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,Ke=/ /g,qe=e=>/^[![^]*(<[^<]*>)?\//.test(e)&&/\/[?\]+*$~]*$/.test(e),Ue=function(e){return e=(e=e.map(e=>e.trim())).filter(e=>e)};var Re=function(e){let t=e.split(Le),n=[];t.forEach(e=>{qe(e)?n.push(e):n=n.concat(e.split(We))}),n=Ue(n);let a=[];return n.forEach(e=>{(e=>/^[![^]*(<[^<]*>)?\(/.test(e)&&/\)[?\]+*$~]*$/.test(e))(e)||qe(e)?a.push(e):a=a.concat(e.split(Ke))}),a=Ue(a),a};const Ze=/\{([0-9]+)?(, *[0-9]*)?\}/,Qe=/&&/,_e=new RegExp(/^<\s*(\S+)\s*>/),Xe=e=>e.charAt(0).toUpperCase()+e.substring(1),Ye=e=>e.charAt(e.length-1),et=e=>e.charAt(0),tt=e=>e.substring(1),nt=e=>e.substring(0,e.length-1),at=function(e){return e=tt(e),e=nt(e)},rt=function(e,t){let n={};for(let a=0;a<2;a+=1){if("$"===Ye(e)&&(n.end=!0,e=nt(e)),"^"===et(e)&&(n.start=!0,e=tt(e)),("["===et(e)||"]"===Ye(e))&&(n.group=null,"["===et(e)&&(n.groupStart=!0),"]"===Ye(e)&&(n.groupEnd=!0),e=(e=e.replace(/^\[/,"")).replace(/\]$/,""),"<"===et(e))){const t=_e.exec(e);t.length>=2&&(n.group=t[1],e=e.replace(t[0],""))}if("+"===Ye(e)&&(n.greedy=!0,e=nt(e)),"*"!==e&&"*"===Ye(e)&&"\\*"!==e&&(n.greedy=!0,e=nt(e)),"?"===Ye(e)&&(n.optional=!0,e=nt(e)),"!"===et(e)&&(n.negative=!0,e=tt(e)),"~"===et(e)&&"~"===Ye(e)&&e.length>2&&(e=at(e),n.fuzzy=!0,n.min=t.fuzzy||.85,!1===/\(/.test(e)))return n.word=e,n;if("("===et(e)&&")"===Ye(e)){Qe.test(e)?(n.choices=e.split(Qe),n.operator="and"):(n.choices=e.split("|"),n.operator="or"),n.choices[0]=tt(n.choices[0]);let a=n.choices.length-1;n.choices[a]=nt(n.choices[a]),n.choices=n.choices.map(e=>e.trim()),n.choices=n.choices.filter(e=>e),n.choices=n.choices.map(e=>e.split(/ /g).map(e=>rt(e,t))),e=""}if("/"===et(e)&&"/"===Ye(e))return e=at(e),t.caseSensitive&&(n.use="text"),n.regex=new RegExp(e),n;if("{"===et(e)&&"}"===Ye(e))return e=at(e),/\//.test(e)?(n.sense=e,n.greedy=!0):n.machine=e,n;if("<"===et(e)&&">"===Ye(e))return e=at(e),n.chunk=Xe(e),n.greedy=!0,n;if("%"===et(e)&&"%"===Ye(e))return e=at(e),n.switch=e,n}return!0===Ze.test(e)&&(e=e.replace(Ze,(e,t,a)=>(void 0===a?(n.min=Number(t),n.max=Number(t)):(a=a.replace(/, */,""),void 0===t?(n.min=0,n.max=Number(a)):(n.min=Number(t),n.max=Number(a||999))),n.greedy=!0,n.min||(n.optional=!0),""))),"#"===et(e)?(n.tag=tt(e),n.tag=Xe(n.tag),n):"@"===et(e)?(n.method=tt(e),n):"."===e?(n.anything=!0,n):"*"===e?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(e&&(e=(e=e.replace("\\*","*")).replace("\\.","."),t.caseSensitive?n.use="text":e=e.toLowerCase(),n.word=e),n)};var ot=rt;var it=function(e){return e=function(e){let t=0,n=null;for(let a=0;a(e.fuzzy&&e.choices&&e.choices.forEach(t=>{1===t.length&&t[0].word&&(t[0].fuzzy=!0,t[0].min=e.min)}),e))}(e=e.map(e=>{if(void 0!==e.choices){if("or"!==e.operator)return e;if(!0===e.fuzzy)return e;!0===e.choices.every(e=>{if(1!==e.length)return!1;let t=e[0];return!0!==t.fuzzy&&!t.start&&!t.end&&void 0!==t.word&&!0!==t.negative&&!0!==t.optional&&!0!==t.method})&&(e.fastOr=new Set,e.choices.forEach(t=>{e.fastOr.add(t[0].word)}),delete e.choices)}return e}))};var st=function(e,t={}){if(null==e||""===e)return[];"number"==typeof e&&(e=String(e));let n=Re(e);return n=n.map(e=>ot(e,t)),n=it(n),n};const lt=function(e,t){for(let n of t)if(e.has(n))return!0;return!1};var ut=function(e,t){for(let n=0;nn?a:n)+1;if(Math.abs(n-a)>(r||100))return r||100;let o,i,s,l,u,c,d=[];for(let e=0;e4)return n;s=t[o-1],l=i===s?0:1,u=d[r-1][o]+1,(c=d[r][o-1]+1)1&&o>1&&i===t[o-2]&&e[r-2]===s&&(c=d[r-2][o-2]+l)-1!==e.post.indexOf(t),ft=(e,t)=>-1!==e.pre.indexOf(t),bt={hasQuote:e=>dt.test(e.pre)||ht.test(e.post),hasComma:e=>pt(e,","),hasPeriod:e=>!0===pt(e,".")&&!1===pt(e,"..."),hasExclamation:e=>pt(e,"!"),hasQuestionMark:e=>pt(e,"?")||pt(e,"¿"),hasEllipses:e=>pt(e,"..")||pt(e,"…")||ft(e,"..")||ft(e,"…"),hasSemicolon:e=>pt(e,";"),hasSlash:e=>/\//.test(e.text),hasHyphen:e=>gt.test(e.post)||gt.test(e.pre),hasDash:e=>mt.test(e.post)||mt.test(e.pre),hasContraction:e=>Boolean(e.implicit),isAcronym:e=>e.tags.has("Acronym"),isKnown:e=>e.tags.size>0,isTitleCase:e=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(e.text),isUpperCase:e=>/^\p{Lu}+$/u.test(e.text)};bt.hasQuotation=bt.hasQuote;var yt=bt;let vt=function(){};vt=function(e,t,n,a){let r=function(e,t,n,a){if(!0===t.anything)return!0;if(!0===t.start&&0!==n)return!1;if(!0===t.end&&n!==a-1)return!1;if(void 0!==t.word){if(t.use)return t.word===e[t.use];if(null!==e.machine&&e.machine===t.word)return!0;if(void 0!==e.alias&&e.alias.hasOwnProperty(t.word))return!0;if(!0===t.fuzzy){if(t.word===e.root)return!0;if(ct(t.word,e.normal)>=t.min)return!0}return!(!e.alias||!e.alias.some(e=>e===t.word))||t.word===e.text||t.word===e.normal}if(void 0!==t.tag)return!0===e.tags.has(t.tag);if(void 0!==t.method)return"function"==typeof yt[t.method]&&!0===yt[t.method](e);if(void 0!==t.pre)return e.pre&&e.pre.includes(t.pre);if(void 0!==t.post)return e.post&&e.post.includes(t.post);if(void 0!==t.regex){let n=e.normal;return t.use&&(n=e[t.use]),t.regex.test(n)}return void 0!==t.chunk?e.chunk===t.chunk:void 0!==t.switch?e.switch===t.switch:void 0!==t.machine?e.normal===t.machine||e.machine===t.machine||e.root===t.machine:void 0!==t.sense?e.sense===t.sense:void 0!==t.fastOr?t.fastOr.has(e.implicit)||t.fastOr.has(e.normal)||t.fastOr.has(e.text)||t.fastOr.has(e.machine):void 0!==t.choices&&("and"===t.operator?t.choices.every(t=>vt(e,t,n,a)):t.choices.some(t=>vt(e,t,n,a)))}(e,t,n,a);return!0===t.negative?!r:r};var wt=vt;const kt=function(e,t){if(!0===e.end&&!0===e.greedy&&t.start_i+t.tn.max)return e.t=e.t+n.max,!0;if(!0===e.hasGroup){Pt(e,e.t).length=a-e.t}return e.t=a,!0};const Et=function(e,t=0){let n=e.regs[e.r],a=!1;for(let o=0;o{let r=0,o=e.t+a+t+r;if(void 0===e.terms[o])return!1;let i=wt(e.terms[o],n,o+e.start_i,e.phrase_length);if(!0===i&&!0===n.greedy)for(let t=1;t{let a=n.every((t,n)=>{let a=e.t+n;return void 0!==e.terms[a]&&wt(e.terms[a],t,a,e.phrase_length)});return!0===a&&n.length>t&&(t=n.length),a})&&t}(e);if(a){if(!0===n.negative)return null;if(!0===e.hasGroup){Pt(e,e.t).length+=a}if(!0===n.end){let t=e.phrase_length-1;if(e.t+e.start_i!==t)return null}return e.t+=a,!0}return!!n.optional||null};var Nt=function(e){const{regs:t}=e;let n=t[e.r],a=Object.assign({},n);return a.negative=!1,!0!==wt(e.terms[e.t],a,e.start_i+e.t,e.phrase_length)||null};var Gt=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=wt(a,t[e.r+1],e.start_i+e.t,e.phrase_length);if(n.negative||r){let n=e.terms[e.t+1];n&&wt(n,t[e.r+1],e.start_i+e.t,e.phrase_length)||(e.r+=1)}};var Dt=function(e){const{regs:t,phrase_length:n}=e;let a=t[e.r];return e.t=function(e,t){let n=Object.assign({},e.regs[e.r],{start:!1,end:!1}),a=e.t;for(;e.te.t?null:!0!==a.end||e.start_i+e.t===n||null};var xt=function(e){let t=e.terms[e.t],n=e.regs[e.r];if(t.implicit&&e.terms[e.t+1]){if(!e.terms[e.t+1].implicit)return;n.word===t.normal&&(e.t+=1),"hasContraction"===n.method&&(e.t+=1)}};var Ct=function(e){const{regs:t}=e;let n=t[e.r],a=e.terms[e.t],r=e.t;if(n.optional&&t[e.r+1]&&n.negative)return!0;if(n.optional&&t[e.r+1]&&Gt(e),a.implicit&&e.terms[e.t+1]&&xt(e),e.t+=1,!0===n.end&&e.t!==e.terms.length&&!0!==n.greedy)return null;if(!0===n.greedy){if(!Dt(e))return null}return!0===e.hasGroup&&function(e,t){let n=e.regs[e.r];const a=Pt(e,t);e.t>1&&n.greedy?a.length+=e.t-t:a.length++}(e,r),!0};var Tt=function(e,t,n,a){if(0===e.length||0===t.length)return null;let r={t:0,terms:e,r:0,regs:t,groups:{},start_i:n,phrase_length:a,inGroup:null};for(;r.r!e.optional))break;return null}if(!0!==e.anything||!0!==e.greedy)if(void 0===e.choices||"or"!==e.operator)if(void 0===e.choices||"and"!==e.operator)if(!0!==e.anything)if(!0!==kt(e,r))if(!0!==wt(r.terms[r.t],e,r.start_i+r.t,r.phrase_length)){if(e.negative){if(!Nt(r))return null}if(!0!==e.optional)return null}else{if(!Ct(r))return null}else{if(!Ct(r))return null}else{if(!Ct(r))return null}else{if(!It(r))return null}else{if(!jt(r))return null}else{if(!At(r))return null}}let o=[null,n,r.t+n];if(o[1]===o[2])return null;let i={};return Object.keys(r.groups).forEach(e=>{let t=r.groups[e],a=n+t.start;i[e]=[null,a,a+t.length]}),{pointer:o,groups:i}};var Bt=function(e,t){let n=[],a={};return 0===e.length||("number"==typeof t&&(t=String(t)),t?e.forEach(e=>{e.groups[t]&&n.push(e.groups[t])}):e.forEach(e=>{n.push(e.pointer),Object.keys(e.groups).forEach(t=>{a[t]=a[t]||[],a[t].push(e.groups[t])})})),{ptrs:n,byGroup:a}};const Ot=function(e,t){return e.pointer[0]=t,Object.keys(e.groups).forEach(n=>{e.groups[n][0]=t}),e},zt=function(e,t,n){let a=Tt(e,t,0,e.length);return a?(a=Ot(a,n),a):null};var Vt={api:Me,methods:{one:{termMethods:yt,parseMatch:st,match:function(e,t,n){n=n||[];let{regs:a,group:r,justOne:o}=t,i=[];if(!a||0===a.length)return{ptrs:[],byGroup:{}};const s=a.filter(e=>!0!==e.optional&&!0!==e.negative).length;e:for(let t=0;te&&(e=Math.abs(n-1))}}else{let e=zt(r,a,t);e&&i.push(e)}}return!0===a[a.length-1].end&&(i=i.filter(t=>{let n=t.pointer[0];return e[n].length===t.pointer[2]})),i=Bt(i,r),i.ptrs.forEach(t=>{let[n,a,r]=t;t[3]=e[n][a].id,t[4]=e[n][r-1].id}),i}}},lib:{parseMatch:function(e,t){const n=this.world();let a=n.methods.one.killUnicode;return a&&(e=a(e,n)),n.methods.one.parseMatch(e,t)}}};const Ft=/^\../,$t=/^#./,St=function(e,t){let n={},a={};return Object.keys(t).forEach(r=>{let o=t[r],i=function(e){let t="",n="";return e=e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Ft.test(e)?t=``),t+=">",{start:t,end:n}}(r);"string"==typeof o&&(o=e.match(o)),o.docs.forEach(e=>{if(e.every(e=>e.implicit))return;let t=e[0].id;n[t]=n[t]||[],n[t].push(i.start);let r=e[e.length-1].id;a[r]=a[r]||[],a[r].push(i.end)})}),{starts:n,ends:a}};var Ht={html:function(e){let{starts:t,ends:n}=St(this,e),a="";return this.docs.forEach(e=>{for(let r=0;r{let n=e.pre||"",r=e.post||"";"some"===t.punctuation&&(n=n.replace(Mt,""),Wt.test(r)&&(r=" "),r=r.replace(Lt,""),r=r.replace(/\?!+/,"?"),r=r.replace(/!+/,"!"),r=r.replace(/\?+/,"?"),r=r.replace(/\.{2,}/,""),e.tags.has("Abbreviation")&&(r=r.replace(/\./,""))),"some"===t.whitespace&&(n=n.replace(/\s/,""),r=r.replace(/\s+/," ")),t.keepPunct||(n=n.replace(Mt,""),r="-"===r?" ":r.replace(Jt,""));let o=e[t.form||"text"]||e.normal||"";"implicit"===t.form&&(o=e.implicit||e.text),"root"===t.form&&e.implicit&&(o=e.root||e.implicit||e.normal),"machine"!==t.form&&"implicit"!==t.form&&"root"!==t.form||!e.implicit||r&&Kt.test(r)||(r+=" "),a+=n+o+r}),!1===n&&(a=a.trim()),!0===t.lowerCase&&(a=a.toLowerCase()),a},Ut={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};Ut.clean=Ut.normal,Ut.reduced=Ut.root;var Rt=Ut;const Zt={text:!0,terms:!0};let Qt={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _t=function(e,t){return Object.assign({},e,t)},Xt={text:e=>qt(e,{keepPunct:!0},!1),normal:e=>qt(e,_t(Rt.normal,{keepPunct:!0}),!1),implicit:e=>qt(e,_t(Rt.implicit,{keepPunct:!0}),!1),machine:e=>qt(e,Qt,!1),root:e=>qt(e,_t(Qt,{form:"root"}),!1),offset:e=>{let t=Xt.text(e).length;return{index:e[0].offset.index,start:e[0].offset.start,length:t}},terms:e=>e.map(e=>{let t=Object.assign({},e);return t.tags=Array.from(e.tags),t}),confidence:(e,t,n)=>t.eq(n).confidence(),syllables:(e,t,n)=>t.eq(n).syllables(),sentence:(e,t,n)=>t.eq(n).fullSentence().text(),dirty:e=>e.some(e=>!0===e.dirty)};Xt.sentences=Xt.sentence,Xt.clean=Xt.normal,Xt.reduced=Xt.root;const Yt={json:function(e){let t=(n=this,"string"==typeof(a=(a=e)||{})&&(a={}),(a=Object.assign({},Zt,a)).offset&&n.compute("offset"),n.docs.map((e,t)=>{let r={};return Object.keys(a).forEach(o=>{a[o]&&Xt[o]&&(r[o]=Xt[o](e,n,t))}),r}));var n,a;return"number"==typeof e?t[e]:t}};Yt.data=Yt.json;var en=Yt;var tn=function(e){console.log("%c -=-=- ","background-color:#6699cc;"),e.forEach(e=>{console.groupCollapsed(e.text());let t=e.docs[0].map(e=>{let t=e.text||"-";return e.implicit&&(t="["+e.implicit+"]"),{text:t,tags:"["+Array.from(e.tags).join(", ")+"]"}});console.table(t,["text","tags"]),console.groupEnd()})};var nn={green:e=>""+e+"",red:e=>""+e+"",blue:e=>""+e+"",magenta:e=>""+e+"",cyan:e=>""+e+"",yellow:e=>""+e+"",black:e=>""+e+"",dim:e=>""+e+"",i:e=>""+e+""};var an=function(e){let{docs:t,model:n}=e;0===t.length&&console.log(nn.blue("\n ──────")),t.forEach(e=>{console.log(nn.blue("\n ┌─────────")),e.forEach(e=>{let t=[...e.tags||[]],a=e.text||"-";e.sense&&(a="{"+e.sense+"}"),e.implicit&&(a="["+e.implicit+"]"),a=nn.yellow(a);let r="'"+a+"'";r=r.padEnd(18);let o=nn.blue(" │ ")+nn.i(r)+" - "+function(e,t){return t.one.tagSet&&(e=e.map(e=>{if(!t.one.tagSet.hasOwnProperty(e))return e;const n=t.one.tagSet[e].color||"blue";return nn[n](e)})),e.join(", ")}(t,n);console.log(o)})})};var rn=function(e){let{docs:t}=e;console.log(""),t.forEach(e=>{let t=[];e.forEach(e=>{"Noun"===e.chunk?t.push(nn.blue(e.implicit||e.normal)):"Verb"===e.chunk?t.push(nn.green(e.implicit||e.normal)):"Adjective"===e.chunk?t.push(nn.yellow(e.implicit||e.normal)):"Pivot"===e.chunk?t.push(nn.red(e.implicit||e.normal)):t.push(e.implicit||e.normal)}),console.log(t.join(" "),"\n")})};var on=function(e){if(!e.found)return;let t={};e.fullPointer.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),Object.keys(t).forEach(n=>{let a=e.update([[Number(n)]]).text();e.update(t[n]).json({offset:!0}).forEach((e,t)=>{a=function(e,t,n){let a=((e,t,n)=>{let a=9*n,r=t.start+a,o=r+t.length;return[e.substring(0,r),e.substring(r,o),e.substring(o,e.length)]})(e,t,n);return`${a[0]}${nn.blue(a[1])}${a[2]}`}(a,e.offset,t)}),console.log(a)})};const sn=function(e){let t=e.pre||"",n=e.post||"";return t+e.text+n};var ln=function(e,t){let n=function(e,t){let n={};return Object.keys(t).forEach(a=>{e.match(a).fullPointer.forEach(e=>{n[e[3]]={fn:t[a],end:e[2]}})}),n}(e,t),a="";return e.docs.forEach((t,r)=>{for(let o=0;oe.reduce((e,t)=>e+t.pre+t.text+t.post,"").trim()).filter(e=>e)}if("freq"===e||"frequency"===e||"topk"===e)return function(e){let t={};return e.forEach(e=>{t[e]=t[e]||0,t[e]+=1}),Object.keys(t).map(e=>({normal:e,count:t[e]})).sort((e,t)=>e.count>t.count?-1:0)}(this.json({normal:!0}).map(e=>e.normal));if("terms"===e){let e=[];return this.docs.forEach(t=>{let n=t.terms.map(e=>e.text);n=n.filter(e=>e),e=e.concat(n)}),e}return"tags"===e?this.docs.map(e=>e.reduce((e,t)=>(e[t.implicit||t.normal]=Array.from(t.tags),e),{})):"debug"===e?this.debug():this.text()}};var cn={text:function(e){let t={keepSpace:!0,keepPunct:!0};var n;if(e&&"string"==typeof e&&Rt.hasOwnProperty(e)?t=Object.assign({},Rt[e]):e&&(n=e,"[object Object]"===Object.prototype.toString.call(n))&&(t=Object.assign({},e,t)),this.pointer){t.keepSpace=!1;let e=this.pointer[0];e&&e[1]?t.keepPunct=!1:t.keepPunct=!0}else t.keepPunct=!0;return function(e,t){let n="";if(!e||!e[0]||!e[0][0])return n;for(let a=0;ar||r<=n&&o>n},mn=function(e){let t={};return e.forEach(e=>{t[e[0]]=t[e[0]]||[],t[e[0]].push(e)}),t};var pn=function(e,t){let n=mn(t),a=[];return e.forEach(e=>{let[t]=e,r=n[t]||[];if(r=r.filter(t=>function(e,t){return e[1]<=t[1]&&t[2]<=e[2]}(e,t)),0===r.length)return void a.push({passthrough:e});r=r.sort((e,t)=>e[1]-t[1]);let o=e;r.forEach((e,t)=>{let n=function(e,t){let[n,a]=e,r=t[1],o=t[2],i={};if(ao&&(i.after=[n,o,e[2]]),i}(o,e);r[t+1]?(a.push({before:n.before,match:n.match}),n.after&&(o=n.after)):a.push(n)})}),a};var fn={one:{termList:function(e){let t=[];for(let n=0;n{if(!a)return;let[o,i,s,l,u]=a,c=t[o]||[];if(void 0===i&&(i=0),void 0===s&&(s=c.length),!l||c[i]&&c[i].id===l)c=c.slice(i,s);else{let n=function(e,t,n){for(let a=0;a<4;a+=1){if(t[n-a]){let r=t[n-a].findIndex(t=>t.id===e);if(-1!==r)return[n-a,r]}if(t[n+a]){let r=t[n+a].findIndex(t=>t.id===e);if(-1!==r)return[n+a,r]}}return null}(l,t,o);if(null!==n){let a=s-i;c=t[n[0]].slice(n[1],n[1]+a);let o=c[0]?c[0].id:null;e[r]=[n[0],n[1],n[1]+a,o]}}0!==c.length&&i!==s&&(u&&c[c.length-1].id!==u&&(c=function(e,t){let[n,a,,,r]=e,o=t[n],i=o.findIndex(e=>e.id===r);return-1===i?(e[2]=t[n].length,e[4]=o.length?o[o.length-1].id:null):e[2]=i,t[n].slice(a,e[2]+1)}(a,t)),n.push(c))}),n=n.filter(e=>e.length>0),n},pointer:{indexN:mn,splitAll:pn}}};var bn=function(e,t){let n=e.concat(t),a=mn(n),r=[];return n.forEach(e=>{let[t]=e;if(1===a[t].length)return void r.push(e);let n=a[t].filter(t=>gn(e,t));n.push(e);let o=function(e){let t=e[0][1],n=e[0][2];return e.forEach(e=>{e[1]n&&(n=e[2])}),[e[0][0],t,n]}(n);r.push(o)}),r=function(e){let t={};for(let n=0;n{e.passthrough&&n.push(e.passthrough),e.before&&n.push(e.before),e.after&&n.push(e.after)}),n};var vn=function(e,t){let n=mn(t),a=[];return e.forEach(e=>{let t=n[e[0]]||[];t=t.filter(t=>gn(e,t)),0!==t.length&&t.forEach(t=>{let n=function(e,t){let n=e[1]t[2]?t[2]:e[2];return n{return"string"==typeof e||(n=e,"[object Array]"===Object.prototype.toString.call(n))?t.match(e):e||t.none();var n},kn=function(e,t){return e.map(e=>{let[n,a]=e;return t[n]&&t[n][a]&&(e[3]=t[n][a].id),e})},Pn={union:function(e){e=wn(e,this);let t=bn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)}};Pn.and=Pn.union,Pn.intersection=function(e){e=wn(e,this);let t=vn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.not=function(e){e=wn(e,this);let t=yn(this.fullPointer,e.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.difference=Pn.not,Pn.complement=function(){let e=this.all(),t=yn(e.fullPointer,this.fullPointer);return t=kn(t,this.document),this.toView(t)},Pn.settle=function(){let e=this.fullPointer;return e.forEach(t=>{e=bn(e,[t])}),e=kn(e,this.document),this.update(e)};var An={methods:fn,api:function(e){Object.assign(e.prototype,Pn)}};var En=function(e,t){const n=t.one.parseMatch;return e.forEach(e=>{e.regs=n(e.match),"string"==typeof e.ifNo&&(e.ifNo=[e.ifNo])}),e};function jn(e,t,n){return e.splice(t,1,...n),e}const In=function(e){return e.fastOr?Array.from(e.fastOr).map(e=>[{word:e}]):e.choices},Nn=function(e,t){let n=Object.assign({},e,t);return delete n.choices,delete n.fastOr,delete n.operator,n};var Gn=function(e){let t=[];return e.forEach(e=>{for(let n=0;n{let r=Object.assign({},e);r.regs=r.regs.slice(0),a=a.map(t=>Nn(e.regs[n],t)),r.regs=jn(r.regs,n,a),t.push(r)})}}t.push(e)}),t};const Dn=function(e){return!0===e.optional||!0===e.negative?null:e.tag?"#"+e.tag:e.word?e.word:e.switch?`%${e.switch}%`:null};var xn=function(e){return e.forEach(e=>{e.needs=Array.from(function(e){let t=new Set;return e.forEach(e=>{let n=Dn(e);n?t.add(n):"and"===e.operator&&e.choices&&e.choices.forEach(e=>{e.forEach(e=>{let n=Dn(e);n&&t.add(n)})})}),t}(e.regs)),e.minWords=e.regs.filter(e=>!e.optional).length}),e};var Cn=function(e){let t={};return e.forEach(e=>{e.needs.forEach(n=>{t[n]=t[n]||[],t[n].push(e)})}),t};var Tn=function(e,t){return e.map(e=>{let n=[];return e.forEach(e=>{t.hasOwnProperty(e)&&(n=n.concat(t[e]))}),new Set(n)})};var Bn=function(e,t){for(let n=0;ne.needs.every(e=>a.has(e))),e[n]=e[n].filter(e=>void 0===e.ifNo||!0!==e.ifNo.some(e=>t[n].has(e)))}return e};var On=function(e,t,n,a){let r=[];for(let o=0;o0&&(l.ptrs.forEach(e=>{e[0]=o;let t=Object.assign({},s,{pointer:e});void 0!==s.unTag&&(t.unTag=s.unTag),r.push(t)}),!0===a.matchOne))return[r[0]]}return r};var zn=function(e,t){let[n,a,r]=e.pointer,o=t[n],i=a>4?a-2:0,s=e.tag||"";var l;l=e.tag,"[object Array]"===Object.prototype.toString.call(l)&&(s=e.tag.join(" #"));let u=e.reason||e.match;u=u?`|${u}|`:"";let c=(" "+u).padEnd(20)+" - ";const d=e=>""+e+"";for(;ir+2);i+=1){let e=o[i].machine||o[i].normal;c+=i>a&&i{let t=e.pointer,n=a[t[0]][t[1]],r=t[2]-t[1];return n.index&&(e.pointer=[n.index[0],n.index[1],t[1]+r]),e});let i=o.map(e=>e.pointer);return o=o.map(e=>(e.view=this.update([e.pointer]),delete e.regs,delete e.needs,delete e.pointer,delete e._expanded,e)),{view:this.update(i),found:o}}},methods:{one:{buildNet:function(e,t){e=En(e,t),e=Gn(e);let n=(e=xn(e)).filter(e=>0===e.needs.length),a=Cn(e);return delete a["#Noun"],delete a["#Verb"],{index:a,always:n}},bulkMatch:function(e,t,n,a={}){let r=n.one.cacheDoc(e),o=Tn(r,t.index);return o=Bn(o,r),t.always.length>0&&(o=o.map(e=>e.concat(t.always))),o=function(e,t){return e.map((e,n)=>{let a=t[n].length;return e.filter(e=>a>=e.minWords)})}(o,e),On(o,e,n,a)},bulkTagger:function(e,t,n){const{model:a,methods:r}=n,{getDoc:o,setTag:i,unTag:s}=r.one;if(0===e.length)return e;const l="undefined"!=typeof process&&process.env?process.env:self.env||{};return l.DEBUG_TAGS&&console.log(`\n → ${e.length} corrections:`),e.map(e=>{if(!e.tag&&!e.chunk)return;let r=e.reason||e.match;l.DEBUG_TAGS&&zn(e,t);let u=o([e.pointer],t)[0];if(!0===e.safe){if(!1===Vn(u,e.tag,a))return;if("-"===u[u.length-1].post)return}void 0!==e.tag&&(i(u,e.tag,n,e.safe,r),1===u.length&&"Noun"===e.tag&&u[0].text&&null!==u[0].text.match(/..s$/)&&i(u,"Plural",n,e.safe,"quick-plural")),void 0!==e.unTag&&s(u,e.unTag,n,e.safe,r),e.chunk&&u.forEach(t=>t.chunk=e.chunk)})}}}};const $n=/ /,Sn=function(e,t){"Noun"===t&&(e.chunk=t),"Verb"===t&&(e.chunk=t)},Hn=function(e,t,n,a){if(!0===e.tags.has(t))return null;if("."===t)return null;let r=n[t];if(r){if(r.not&&r.not.length>0)for(let t=0;t0)for(let t=0;t{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e[0],t,r),!0!=(s=t,"[object Array]"===Object.prototype.toString.call(s)))if(t=t.trim(),$n.test(t))!function(e,t,n,a){let r=t.split($n);e.forEach((e,t)=>{let o=r[t];o&&(o=o.replace(/^#/,""),Hn(e,o,n,a))})}(e,t,o,a);else{t=t.replace(/^#/,"");for(let n=0;nJn(e,t,n,a))};var Mn=Jn;var Ln=function(e,t,n){t=t.trim().replace(/^#/,"");for(let a=0;a0)for(let e=0;e/),n=[];t.forEach(e=>{n=n.concat(function(e){if(!(e=e.trim()))return null;if(/^\[/.test(e)&&/\]$/.test(e)){let t=(e=(e=e.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return t=t.map(e=>e.trim()).filter(e=>e),t=t.map(e=>Wn({id:e})),t}return[Wn({id:e})]}(e))}),n=n.filter(e=>e);let a=n[0];for(let e=1;e{let n=[],a=[e];for(;a.length>0;){let e=a.pop();n.push(e),e.children&&e.children.forEach(n=>{t&&t(e,n),a.push(n)})}return n},Rn=e=>"[object Array]"===Object.prototype.toString.call(e),Zn=e=>(e=e||"").trim(),Qn=function(e=[]){return"string"==typeof e?function(e){let t=e.split(/\r?\n/),n=[];t.forEach(e=>{if(!e.trim()||Kn.test(e))return;let t=(e=>{const t=/^( {2}|\t)/;let n=0;for(;t.test(e);)e=e.replace(t,""),n+=1;return n})(e);n.push({indent:t,node:qn(e)})});let a=function(e){let t={children:[]};return e.forEach((n,a)=>{0===n.indent?t.children=t.children.concat(n.node):e[a-1]&&function(e,t){let n=e[t].indent;for(;t>=0;t-=1)if(e[t].indent{t[e.id]=e});let n=Wn({});return e.forEach(e=>{if((e=Wn(e)).parent)if(t.hasOwnProperty(e.parent)){let n=t[e.parent];delete e.parent,n.children.push(e)}else console.warn(`[Grad] - missing node '${e.parent}'`);else n.children.push(e)}),n}(e):(Un(t=e).forEach(Wn),t);var t},_n=function(e,t){let n="-> ";t&&(n=(e=>""+e+"")("→ "));let a="";return Un(e).forEach((e,r)=>{let o=e.id||"";if(t&&(o=(e=>""+e+"")(o)),0===r&&!e.id)return;let i=e._cache.parents.length;a+=" ".repeat(i)+n+o+"\n"}),a},Xn=function(e){let t=Un(e);t.forEach(e=>{delete(e=Object.assign({},e)).children});let n=t[0];return n&&!n.id&&0===Object.keys(n.props).length&&t.shift(),t},Yn={text:_n,txt:_n,array:Xn,flat:Xn},ea=function(e,t){return"nested"===t||"json"===t?e:"debug"===t?(console.log(_n(e,!0)),null):Yn.hasOwnProperty(t)?Yn[t](e):e},ta=e=>{Un(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],t._cache.parents=e._cache.parents.concat([e.id]))})},na=/\//;class g$1{constructor(e={}){Object.defineProperty(this,"json",{enumerable:!1,value:e,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(e={}){let t=this.json.props||{};return"string"==typeof e&&(t[e]=!0),this.json.props=Object.assign(t,e),this}get(e){if(e=Zn(e),!na.test(e)){let t=this.json.children.find(t=>t.id===e);return new g$1(t)}let t=((e,t)=>{let n=(e=>"string"!=typeof e?e:(e=e.replace(/^\//,"")).split(/\//))(t=t||"");for(let t=0;te.id===n[t]);if(!a)return null;e=a}return e})(this.json,e)||Wn({});return new g$1(t)}add(e,t={}){if(Rn(e))return e.forEach(e=>this.add(Zn(e),t)),this;e=Zn(e);let n=Wn({id:e,props:t});return this.json.children.push(n),new g$1(n)}remove(e){return e=Zn(e),this.json.children=this.json.children.filter(t=>t.id!==e),this}nodes(){return Un(this.json).map(e=>(delete(e=Object.assign({},e)).children,e))}cache(){return(e=>{let t=Un(e,(e,t)=>{e.id&&(e._cache.parents=e._cache.parents||[],e._cache.children=e._cache.children||[],t._cache.parents=e._cache.parents.concat([e.id]))}),n={};t.forEach(e=>{e.id&&(n[e.id]=e)}),t.forEach(e=>{e._cache.parents.forEach(t=>{n.hasOwnProperty(t)&&n[t]._cache.children.push(e.id)})}),e._cache.children=Object.keys(n)})(this.json),this}list(){return Un(this.json)}fillDown(){var e;return e=this.json,Un(e,(e,t)=>{t.props=((e,t)=>(Object.keys(t).forEach(n=>{if(t[n]instanceof Set){let a=e[n]||new Set;e[n]=new Set([...a,...t[n]])}else if((e=>e&&"object"==typeof e&&!Array.isArray(e))(t[n])){let a=e[n]||{};e[n]=Object.assign({},t[n],a)}else Rn(t[n])?e[n]=t[n].concat(e[n]||[]):void 0===e[n]&&(e[n]=t[n])}),e))(t.props,e.props)}),this}depth(){ta(this.json);let e=Un(this.json),t=e.length>1?1:0;return e.forEach(e=>{if(0===e._cache.parents.length)return;let n=e._cache.parents.length+1;n>t&&(t=n)}),t}out(e){return ta(this.json),ea(this.json,e)}debug(){return ta(this.json),ea(this.json,"debug"),this}}const aa=function(e){let t=Qn(e);return new g$1(t)};aa.prototype.plugin=function(e){e(this)};var ra={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Adverb:"cyan"};const oa=function(e){if(ra.hasOwnProperty(e.id))return ra[e.id];if(ra.hasOwnProperty(e.is))return ra[e.is];let t=e._cache.parents.find(e=>ra[e]);return ra[t]};var ia=function(e){const t={};return e.forEach(e=>{let{not:n,also:a,is:r,novel:o}=e.props,i=e._cache.parents;a&&(i=i.concat(a)),t[e.id]={is:r,not:n,novel:o,also:a,parents:i,children:e._cache.children,color:oa(e)}}),Object.keys(t).forEach(e=>{let n=new Set(t[e].not);t[e].not.forEach(e=>{t[e]&&t[e].children.forEach(e=>n.add(e))}),t[e].not=Array.from(n)}),t};const sa=function(e){return e?"string"==typeof e?[e]:e:[]};var la=function(e,t){return e=function(e,t){return Object.keys(e).forEach(n=>{e[n].isA&&(e[n].is=e[n].isA),e[n].notA&&(e[n].not=e[n].notA),e[n].is&&"string"==typeof e[n].is&&(t.hasOwnProperty(e[n].is)||e.hasOwnProperty(e[n].is)||(e[e[n].is]={})),e[n].not&&"string"==typeof e[n].not&&!e.hasOwnProperty(e[n].not)&&(t.hasOwnProperty(e[n].not)||e.hasOwnProperty(e[n].not)||(e[e[n].not]={}))}),e}(e,t),Object.keys(e).forEach(t=>{e[t].children=sa(e[t].children),e[t].not=sa(e[t].not)}),Object.keys(e).forEach(t=>{(e[t].not||[]).forEach(n=>{e[n]&&e[n].not&&e[n].not.push(t)})}),e};var ua={one:{setTag:Mn,unTag:Ln,addTags:function(e,t){Object.keys(t).length>0&&(e=function(e){return Object.keys(e).forEach(t=>{e[t]=Object.assign({},e[t]),e[t].novel=!0}),e}(e)),e=la(e,t);const n=function(e){const t=Object.keys(e).map(t=>{let n=e[t];const a={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:t,parent:n.is,props:a,children:[]}});return aa(t).cache().fillDown().out("array")}(Object.assign({},t,e));return ia(n)}}};const ca=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var da={tag:function(e,t="",n){if(!this.found||!e)return this;let a=this.termList();if(0===a.length)return this;const{methods:r,verbose:o,world:i}=this;return!0===o&&console.log(" + ",e,t||""),ca(e)?e.forEach(e=>r.one.setTag(a,e,i,n,t)):r.one.setTag(a,e,i,n,t),this.uncache(),this},tagSafe:function(e,t=""){return this.tag(e,t,!0)},unTag:function(e,t){if(!this.found||!e)return this;let n=this.termList();if(0===n.length)return this;const{methods:a,verbose:r,model:o}=this;!0===r&&console.log(" - ",e,t||"");let i=o.one.tagSet;return ca(e)?e.forEach(e=>a.one.unTag(n,e,i)):a.one.unTag(n,e,i),this.uncache(),this},canBe:function(e){let t=this.model.one.tagSet;if(!t.hasOwnProperty(e))return this;let n=t[e].not||[],a=[];this.document.forEach((e,t)=>{e.forEach((e,r)=>{n.find(t=>e.tags.has(t))&&a.push([t,r,r+1])})});let r=this.update(a);return this.difference(r)}};var ha=function(e){Object.assign(e.prototype,da)};var ga={addTags:function(e){const{model:t,methods:n}=this.world(),a=t.one.tagSet;let r=(0,n.one.addTags)(e,a);return t.one.tagSet=r,this}};const ma=new Set(["Auxiliary","Possessive"]);var pa={model:{one:{tagSet:{}}},compute:{tagRank:function(e){const{document:t,world:n}=e,a=n.model.one.tagSet;t.forEach(e=>{e.forEach(e=>{let t=Array.from(e.tags);e.tagRank=function(e,t){return e.sort((e,n)=>{if(ma.has(e)||!t.hasOwnProperty(n))return 1;if(ma.has(n)||!t.hasOwnProperty(e))return-1;let a=t[e].children||[],r=a.length;return a=t[n].children||[],r-a.length})}(t,a)})})}},methods:ua,api:ha,lib:ga};const fa=/(\S.+?[.!?\u203D\u2E18\u203C\u2047-\u2049])(?=\s|$)/g,ba=/((?:\r?\n|\r)+)/;//!TODO: speedup this regex +var ya=function(e){let t=[],n=e.split(ba);for(let e=0;e0&&(a.push(t),r[e]="")}if(0===a.length)return[e];for(let e=1;e(e[t]=!0,e),{});const Va=/^[ \n\t.[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*•^†‡°¡¿※№÷׺ª%‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u0027\u201C\u201F\u201B\u201E\u2E42\u201A\u2035\u2036\u2037\u301D\u0060\u301F]+/,Fa=/[ \n\t.'[\](){}⟨⟩:,،、‒–—―…!‹›«»‐\-?‘’;/⁄·&*@•^†‡°¡¿※#№÷׺ª‰+−=‱¶′″‴§~|‖¦©℗®℠™¤₳฿\u0022\uFF02\u201D\u00B4\u301E]+$/,$a=/['’]/,Sa=/^[a-z]\.([a-z]\.)+/i,Ha=/^[-+.][0-9]/,Ja=/^'[0-9]{2}/;var Ma=function(e){let t=e,n="",a="";return""===(e=(e=e.replace(Va,t=>(n=t,"-"!==n&&"+"!==n&&"."!==n||!Ha.test(e)?"'"===n&&Ja.test(e)?(n="",t):"":(n="",t)))).replace(Fa,r=>(a=r,$a.test(r)&&/[sn]['’]$/.test(t)&&!1===$a.test(n)?(a=a.replace($a,""),"'"):!0===Sa.test(e)?(a=a.replace(/\./,""),"."):"")))&&(t=t.replace(/ *$/,e=>(a=e||"","")),e=t,n=""),{str:e,pre:n,post:a}};var La=function(e){let t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=e.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(e=(e=e.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(e=t),e=e.replace(/([0-9]),([0-9])/g,"$1$2")};const Wa=/([A-Z]\.)+[A-Z]?,?$/,Ka=/^[A-Z]\.,?$/,qa=/[A-Z]{2,}('s|,)?$/,Ua=/([a-z]\.)+[a-z]\.?$/;var Ra=function(e){return function(e){return!0===Wa.test(e)||!0===Ua.test(e)||!0===Ka.test(e)||!0===qa.test(e)}(e)&&(e=e.replace(/\./g,"")),e};var Za=function(e,t){const n=t.methods.one.killUnicode;let a=e.text||"";a=La(a),a=n(a,t),a=Ra(a),e.normal=a};var Qa={one:{killUnicode:function(e,t){const n=t.model.one.unicode||{};let a=(e=e||"").split("");return a.forEach((e,t)=>{n[e]&&(a[t]=n[e])}),a.join("")},tokenize:{splitSentences:Ia,splitTerms:function(e,t){let n=[],a=[];if("number"==typeof(e=e||"")&&(e=String(e)),function(e){return"[object Array]"===Object.prototype.toString.call(e)}(e))return e;const r=e.split(Oa);for(let e=0;e0?(n[n.length-1]+=o,n.push(t)):n.push(o+t),o=""):o+=t}return o&&(0===n.length&&(n[0]=""),n[n.length-1]+=o),n=Ca(n),n=Da(n),n=n.filter(e=>e),n},splitWhitespace:e=>{let{str:t,pre:n,post:a}=Ma(e);return{text:t,pre:n,post:a,tags:new Set}},fromString:function(e,t){const{methods:n,model:a}=t,{splitSentences:r,splitTerms:o,splitWhitespace:i}=n.one.tokenize;return e=r(e=e||"",a).map(e=>{let n=o(e,a);return n=n.map(i),n.forEach(e=>{Za(e,t)}),n})}}}};var _a={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Xa={},Ya={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","ft","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","gb","tb","lx","lm","pa","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mister","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach(e=>{e[0].forEach(t=>{Xa[t]=!0,Ya[t]="Abbreviation",void 0!==e[1]&&(Ya[t]=[Ya[t],e[1]])})});var er=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mid","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out"].reduce((e,t)=>(e[t]=!0,e),{});let tr={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},nr={};Object.keys(tr).forEach((function(e){tr[e].split("").forEach((function(t){nr[t]=e}))}));const ar=/\//,rr=/[a-z]\.[a-z]/i,or=/[0-9]/;var ir=function(e,t){let n=e.normal||e.text;const a=t.model.one.aliases;if(a.hasOwnProperty(n)&&(e.alias=e.alias||[],e.alias.push(a[n])),ar.test(n)&&!rr.test(n)&&!or.test(n)){let t=n.split(ar);t.length<=2&&t.forEach(t=>{""!==(t=t.trim())&&(e.alias=e.alias||[],e.alias.push(t))})}return e};const sr=/^\p{Letter}+-\p{Letter}+$/u;var lr=function(e){let t=e.implicit||e.normal||e.text;t=t.replace(/['’]s$/,""),t=t.replace(/s['’]$/,"s"),t=t.replace(/([aeiou][ktrp])in'$/,"$1ing"),sr.test(t)&&(t=t.replace(/-/g,"")),t=t.replace(/^[#@]/,""),t!==e.normal&&(e.machine=t)};var ur=function(e){let t=0,n=0,a=e.document;for(let e=0;ecr(e,ir),machine:e=>cr(e,lr),normal:e=>cr(e,Za),freq:function(e){let t=e.docs,n={};for(let e=0;e{let i=(e=e.toLowerCase().trim()).length;t.max&&i>t.max&&(i=t.max);for(let s=t.min;s{delete a[e]}),a};const mr={safe:!0,min:3};var pr={model:{one:{typeahead:{}}},api:function(e){e.prototype.autoFill=hr},lib:{typeahead:function(e=[],t={}){let n=this.model();var a;t=Object.assign({},mr,t),a=e,"[object Object]"===Object.prototype.toString.call(a)&&(Object.assign(n.one.lexicon,e),e=Object.keys(e));let r=gr(e,t,this.world());return Object.keys(r).forEach(e=>{n.one.typeahead.hasOwnProperty(e)?delete n.one.typeahead[e]:n.one.typeahead[e]=r[e]}),this}},compute:{typeahead:function(e){const t=e.model.one.typeahead,n=e.docs;if(0===n.length||0===Object.keys(t).length)return;let a=n[n.length-1]||[],r=a[a.length-1];if(!r.post&&t.hasOwnProperty(r.normal)){let n=t[r.normal];r.implicit=n,r.machine=n,r.typeahead=!0,e.compute.preTagger&&e.last().unTag("*").compute(["lexicon","preTagger"])}}},hooks:["typeahead"]};m.extend(U),m.extend(hn),m.extend(Vt),m.extend(An),m.extend(pa),m.plugin(fe),m.extend(dr),m.plugin(f),m.extend(Ge),m.extend(pr),m.extend(ke),m.extend(Fn);var fr={addendum:"addenda",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",opus:"opera",ovum:"ova",phenomenon:"phenomena",referendum:"referenda",alga:"algae",alumna:"alumnae",antenna:"antennae",formula:"formulae",larva:"larvae",nebula:"nebulae",vertebra:"vertebrae",analysis:"analyses",axis:"axes",diagnosis:"diagnoses",parenthesis:"parentheses",prognosis:"prognoses",synopsis:"synopses",thesis:"theses",neurosis:"neuroses",appendix:"appendices",index:"indices",matrix:"matrices",ox:"oxen",sex:"sexes",alumnus:"alumni",bacillus:"bacilli",cactus:"cacti",fungus:"fungi",hippopotamus:"hippopotami",libretto:"libretti",modulus:"moduli",nucleus:"nuclei",octopus:"octopi",radius:"radii",stimulus:"stimuli",syllabus:"syllabi",cookie:"cookies",calorie:"calories",auntie:"aunties",movie:"movies",pie:"pies",rookie:"rookies",tie:"ties",zombie:"zombies",leaf:"leaves",loaf:"loaves",thief:"thieves",foot:"feet",goose:"geese",tooth:"teeth",beau:"beaux",chateau:"chateaux",tableau:"tableaux",bus:"buses",gas:"gases",circus:"circuses",crisis:"crises",virus:"viruses",database:"databases",excuse:"excuses",abuse:"abuses",avocado:"avocados",barracks:"barracks",child:"children",clothes:"clothes",echo:"echoes",embargo:"embargoes",epoch:"epochs",deer:"deer",halo:"halos",man:"men",woman:"women",mosquito:"mosquitoes",mouse:"mice",person:"people",quiz:"quizzes",rodeo:"rodeos",shoe:"shoes",sombrero:"sombreros",stomach:"stomachs",tornado:"tornados",tuxedo:"tuxedos"},br={Comparative:"true¦better",Superlative:"true¦earlier",PresentTense:"true¦sounds",Condition:"true¦lest,unless",PastTense:"true¦be2came,d1had,lied,mea0sa1taken,we0;nt;id;en,gan",Gerund:"true¦accord0be0go0result0stain0;ing",Expression:"true¦a0Qb0Mco0Ld0He0Ffuck,g09hUjeez,lRmQnOoLpIshHtGuDvoi0Sw6y0;a4e3i1u0;ck,p;kYp0;ee,pee;ah,p,s;!a,h6y;ah5h2o1t0;af,f;rd up,w;e1o0;a,ops;e,w;oo;gh,h0;! 0h,m;huh,oh;sk,ut tut;eesh,hh,it;ff,h1l0ow,sst;ease,z;ew,ooey;h1i,o0uch,w,y;h,o,ps;!h;ah,o0;!pe;eh,mm;ah,m1ol0;!s;ao,fao;aBe9i7o2u0;h,mph,rra0zzB;h,y;ly1o0;r4y8;! 0;cow,moCsmok0;es;!p hip hoor0;ay;ck,e,ll0y;!o;ha1i,lleluj0;ah;!ha;ah,ee4o1r0;eat scott,r;l1od0sh; grief,bye;ly;! whiz;e0h,t cetera,ww;k,p;'oh,a0rat,uh;m0ng;mit,n0;!it;ngratulations,wabunga;a2oo1r0ye;avo,r;!ya;h,m; 1h0las,men,rgh;!a,em,oy;la",Negative:"true¦n0;ever,o0;n,t",QuestionWord:"true¦how3wh0;at,e1ich,o0y;!m,se;n,re; come,'s",Reflexive:"true¦h4it5my5o1the0your2;ir1m1;ne3ur0;sel0;f,ves;er0im0;self",Plural:"true¦ones,records",Value:"true¦a few",Imperative:"true¦come here",PhrasalVerb:"true¦0:81;1:7Q;2:8E;3:84;4:7J;5:8H;6:7P;7:7E;8:7C;9:86;A:7Z;B:89;C:87;D:80;E:6L;F:6D;a8Kb73c66d61e60f4Yg4Gh3Viron0j3Rk3Ml33m2Pn2No2Lp22quietEr1Ns0GtWuUvacuum 1wJyammerAzG;ero Dip HonG;e0k0;by,up;aNeIhHiGor7Vrit37;mp0n34pe0r8s8;eel Dip 8P;aIiGn2S;gh Grd0;in,up;n Dr G;d2in,o4D;it 6Hk8lk Hrm 0Ysh Gt79v5F;aw3d2o5up;aw3in,o84;rgeAsG;e 1herF;aVeThRiNoMrIuGypL;ckFrn G;d2in,o45up;aHiGot0y 2O;ckleEp 8A;ckEdG;e 0N;neEp 2Zs4Z;ck IdHe Gghte5Yme0p o0Ire0;aw3ba4d2in,up;e 6Hy 1;by,oC;ink Grow 6U;ba4ov6up;aGe 6Fll5G;m 1r 53;ckAke Hlk G;ov6shit,u5H;aGba4d2in,o3Pup;ba4ft6p5Mw3;a0Lc0Ke0Eh0Ai07l03m02n01o00pVquar4XtMuKwG;earIiG;ngHtch G;aw3ba4o7O; by;ck Git 1m 1ss0;in,o7Bup;aMe10iLoJrHuG;c36d2O;aigh22iG;ke 6Wn3L;p Grm24;by,in,oC;n31r 1tc44;c30mp0nd Gr7Fve9y 1;ba4d2up;ar2YeJiIlHrGurA;ingAuc8;a3Rit 5R;l17n 1;e69ll0;ber 1rt0und like;ap 56ow D;ash 5Woke0;eep HiGow 7;c1Lp 1;in,oG;ff,v6;de12gn HngGt 5Rz8; al5Mle0;in,o5up;aIoGu5A;ot Gut0w 6U;aw3ba4f3SoC;c2GdeFk5Pve9;e Kll1Gnd Jrv8tG; Gtl4W;d2f5Bin,o5upG;!on;aw3ba4d2in,o2Nup;o6Dto;al5Iout0rap5I;il9v8;aTeQiPoLuG;b 5Ble0n Gstl8;aIba4d2inHoGt3Lu0X;ut,v6;!to;c2HrBw3;ll Iot HuG;g33nd9;a2Hf3Ao5;arBin,o5;ng 5Ip9;aGel9inFnt0;c5Rd G;o3Bup;c1Tt0;aUeTiRlPoNrKsyc2RuG;ll It G;aGba4d2in,o1Zt3Rup;p3Ww3;ap3Vd2in,o5t3Pup;attleAess HiJoG;p 1;ah1Zon;iGp 5Wr4CurEwer 5W;nt0;ay4SuG;gFmp 7;ck Gg0leAn 7p4P;o1Oup;el 4ZncilF;c4Hir 2Xn0ss ItHy G;ba4oC; d2c2E;aw3ba4in,o1J;pGw4C;e4Bt D;arrowEerd0oG;d9teE;aQeNiMoIuG;ddl8lG;l 3W;c12nkeyIp 7uth9ve G;aGd2in,o5up;l41w3; wi3Y;ss0x 1;asur8lHss G;a1Oup;t 7;ke Hn 7rGs1Xx0;k 7ry9;do,o4Vup;aWeRiMoGuck0;aKc3Ug JoGse0;k Gse3S;aft6ba4d2forw2Sin4Iov6uG;nd6p;in,o0V;d 7;e 04ghtJnIsHvG;e 3E;ten 4Y;e 1k 1; 1e3J;ave It HvelG; o4H;d2go,in,o5up;in,oG;pen,ut;c8p 1sh GtchAugh9y26;in43o5;eHick9nock G;d2o4Aup;eGyF;l 2Yp G;aw3ba4d2fYin,o0Dto,up;aIoHuG;ic8mpF;ke3BtE;c3Kzz 1;aVeQiNoKuG;nHrrGsh 7;y 1;kerEt G;arBd2;lGneFrse34;d Ge 1;ba4d2fast,o04up;de Ht G;ba4on,up;aw3o5;aGlp0;d Il 2Gr Gt 1;fGof;rom;in,oWu1K;cJm 1nHve Gz2B;it,to;d Gg 2MkerJ;d2in,o5;k 1;aUeOive Mloss 27oIrHunG; f0O;in3Now 2H; Gof 26;aHb1Fit,oGrBt0Qu1A;ff,n,v6;bo5ft6hMw3;aw3ba4d2in,oGrise,up,w3;ff,n,ut;ar 7ek0t G;aHb19d2in,oGrBup;ff,n,ut,v6;cHhGl23rBt,w3;ead;ross;d aHnG;g 1;bo5;a0Ae03iUlQoMrIuG;ck Ge28;arBup;eHighten GownAy 1;aw3oC;eGshe1U; 1z8;lIol G;aGwi1N;bo5rB;d 7low 1;aHeGip0;sh0;g 7ke0mGrGttenE;e 2Y;gNlLnJrHsGzzle0;h 2W;e Gm 1;aw3ba4up;d0isG;h 1;e Gl 1G;aw3fLin,o5;ht ba4ure0;eLnHsG;s 1;cId G;fGoC;or;e D;dYl 1;cKll Grm0t13;ap07bId2in,oHtG;hrough;ff,ut,v6;a4ehi27;e G;d2oCup;a0Ldge0nd 0Py8;oJrG;aHess 7op G;aw3bWin,o1U;gAwA; 0Iubl0Y;a00hXleaWoJrGut 16;ackAeep Goss D;by,d2in,oGup;n,ut;me JoHuntG; o1W;k 7l G;d2oC;aMbLforJin,oItHuG;nd6;ogeth6;n,ut,v6;th,wG;ard;a4y;pGrBw3;art;n 7;eGipF;ck Der G;on,up;lNncel0rKsItch HveF; in;o1Eup;h Dt G;doubt,oC;ry HvG;e 02;aw3o19;l HmE; d2;aGba4d2o16up;rBw3;a0Me0El07oYrLuG;bblIcklZil05lk 7ndlZrGst VtHy 16zz9;n 0AsG;t D;e G;ov6;anReaPiHush G;oCup;ghLng G;aIba4d2fGin,o5up;orG;th;bo5lGrBw3;ong;teG;n 1;k G;d2in,o5up;ch0;arNg 7iLn8oJssIttlHunce Gx D;aw3ba4;e 7; arB;k Dt 1;e 1;l 7;d2up;d 1;aLeed0oGurt0;cIw G;aw3ba4d2o5up;ck;k G;in,oX;ck0nk0st9; oLaJef 1nd G;d2ov6up;er;up;r0t G;d2in,oQup;ff,nG;to;ck Mil0nIrgHsG;h D;ainAe D;g DkA; on;in,o5; o5;aw3d2oGup;ff,ut;ay;cPdLsk Iuction9; oC;ff;arBo5;ouG;nd;d G;d2oGup;ff,n;own;t G;o5up;ut",Verb:"true¦born,cannot,gonna,has,keep tabs,m0;ake sure,sg",Demonym:"true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an",Organization:"true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shiba,y1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba,c",Possessive:"true¦any2its,my,no4o0somet3their1yo0;ur0;!s;o1t0;hing;ne","Noun|Verb":"true¦0:7S;1:6L;2:7O;3:7Z;4:7Y;5:82;6:6X;7:7I;8:75;9:6T;a7Kb6Wc5Vd5Ae52f4Eg44h3Wi3Qj3Ok3Ml3Cm33n2Zo2Vp21ques7Mr1Ds07tTuRvMwCyBzA;ip,o6E;awn,e1Wie4U;aHeaGhEiCoAre7M;nd0rA;k,ry;mp,nApe,re,sh,tne84;!d,g;e6IiA;p,st6;r,th0;it,rAs4t2ve,x;ehou1ra83;aDiCoA;iAlunte0te,w;ce,d;be,ew,s8;cuum,l3A;pAsh0;da4gra50;aLeKhrJiIoHrDuBwiAy4O;n,st;nArn;e,n63;aCeBiAu7;bu4ck,gg0m,p;at,nd;ck,de,in,nsf0p,v5Z;ll,ne,r3Sss,t76u2;ck,e,me,p,re;e1Now,u7;ar,e,st;g,lArg63s4;k,ly;a0Ec09e06h01iZkXlVmUnTou6CpPtFuBwA;ear,it2;b1Yit,m,ppBrAspe5;ge,pri1vey;lAo5C;e59y;aHeGiFoDrBuAy6;dy,ff,mb6;a6CeAi4G;am,ss,t2;cking,p,rA;e,m;ck,t2;m,p;ck,in,ke,ll,mp,nd,rAte,y;!e,t;aCeed,iBla4Lons6MrAy;ay,e12ink6u3;n,r6Ite;n,rk;ee1Fow;e0Fi6o43;eep,iA;ce,p,t;ateboa5ZiA;!p;de,gnAze;!al;aDeCiBoA;ck,p,w;ft,p,v0;d,i33;pe,re;aBed,nArv16t;se,t1Y;l,r2t;aDhedu6oCrA;at2eA;en,w;re,ut;le,n,r0J;crifi3il;aVeEiDoCuA;b,in,le,n,sA;h,t;a7ck,ll,ot;de,ng,p,s1C;as5EcOdo,el,fMgLje5lKmInHo0VpFque7sCturn,vAwa5C;eAi1J;al,r1;er5JoBt,uA;lt,me;l5Hrt;air,eaAly,o3Z;l,t;dezvo26t;aAedy;ke,rk;ea1i3F;a50ist0r4E;act5Eorm,uA;nd,se;aAo4Xru8;ll;ck,i1ke,l48nAtV;ge,k;a00eXhViSlNoJrBuA;mp,n2rcha1sh;ai1eFiEoAu3L;be,ceCdu3grAje5mi1te7;amAe5E;!me;ed,ss;ce,de;sAy;er4Us;iClAol,p,re,s2Sw0;iAl;ce,sh;nt,s4I;aCeBuA;g,n9;ad;ce,nAy;!t;ck,lBnApe,t,vot;!e;e,ot;a1oA;ne,tograph;ak,eBn,rAt;fu3Um8;!l;cka9iBn,rtAss,t2u1;!y;nt,r;bCff0il,oBrAutli2T;d0ie4S;ze;je5;a3LeCoA;d,tA;e,i3;ed,gle5rd,t;aFeDiCoBuA;rd0;d2Unit44p,ve;lk,n2Yrr43x;asu12n3OrAss;ge,it;il,nBp,rk2ZsAt2;h,k;da4oeuv0Y;aGeDiCoAump;aAbby,ck,g,ok,ve;d,n;cen1ft,m8nEst;aBc0DvA;el,y;ch,d,p,se;bBcAnd,t2un2;e,k;el,o25;e2DiAno3C;ck,ll,ss;am,o17uA;d9i3;mpEnBr36ssA;ue;cr19dex,fluBha6k,se1VterviAvoi3;ew;en3;a5le1Q;aEeCiBoAu3S;ld,no1Tok,pe,r1st,u1;ghlight,ke,re,t;aAlp;d,t;ndBrAte;bo30m,ne3Hve7;!le;aIeek,lo3FoHrCuA;arAe3Ei0Nn;antee,d;aCiBoAumb6;om,u2B;nd,p;dAsp;e,ua4;of,ssip;in,me,ng,s,te,ze;aWeSiNlJoGrCuA;el,nAzz;c2Fd;aBoAy;st,wn;cAme;tuP;cBg,ol,rA;ce,e1Om;us;aCe0Kip,oAy;at,od,wA;!er;g,re,sh,vo0Z;eDgClBnAre,sh,t,x;an3i0F;e,m,t0;ht,uE;ld;aBeAn3;d,l;r,tuA;re;ce,il,ll,rm,vo21;cho,nGsExAye;cCerci1hib8pAtra5;eriAo0J;en3me2J;el,han9;caAtima4;pe;count0d,gine0vy;aSeMiGoFrBuAye;b,mp,pli24;aCeBiA;ft,nk,ve;am,ss;ft,in;cu05d9ubt;p,sCvA;e,iAor3;de;char9liBpA;at2lay;ke;al,ba4cDfeClBma0Wpos8siAtail;gn,re;ay,ega4;at,ct;liXrA;ea1;ma9n3rAte;e,t;a07ent06hZlWoGrCuA;be,rAt;e,l;aft,eCoBuAy;sh;p,ss,wd;d8ep;de,in,lNmHnCok,py,re,st,uAv0;gh,nAp6;sVt;ceCdu5glomeDstru5tAveI;a5rA;a7ol;ntArn;ra4;biEfoDmCpA;leAou08romi1;me1C;a06e1Bu4;rt;ne;lap1oA;r,ur;aBiA;ck,p;im,w;aBeAip;at,ck,er;iDllen9mpi09nBrAse,uffe0F;ge,m,t;ge,nA;el;n,r;er,re;ke,ll,mp,p,rBsh,t2u1ve;se;d,e;aTeQiPlMoIrDuAypa0N;bb6ck6dgBff0lArn,st,zz;ly;et;anDeaCid9oadA;ca7;ge;ch,k;ch,d;aCmb,ne,oBss,tt6x,ycott;le;k,st,t;rd,st;aBeAitz,oP;nd;me;as,d,ke,te;aBnef8t;it;r,t;il,lan3nCrgaBsA;e,h;in;!d,g,k;c01dTffilSge,iRlt0nOppLrHssFttDucBwaA;rd;tiA;on;aAempt;ck;i7ocM;st;chBmoA;ur;!iA;ve;eBroa2;ch;al;chAsw0;or;er;d,m,r;ia4;dEvA;an3oA;ca4;te;ce;i5reA;ss;ct;cAhe,t;eCoA;rd,uA;nt;nt,ss",Actor:"true¦aJbGcFdCfAgardenIh9instructPjournalLlawyIm8nurse,opeOp5r3s1t0;echnCherapK;ailNcientJecretary,oldiGu0;pervKrgeon;e0oofE;ceptionGsearC;hotographClumbColi1r0sychologF;actitionBogrammB;cem6t5;echanic,inist9us4;airdress8ousekeep8;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt",Honorific:"true¦aObrigadiNcGdFexcellency,fiAliCma9officNp5queen,r2s0taoiseach,vice4;e0ultJ;cond liArgeaB;abbi,e0;ar0verend; adK;astGr0;eside6i0ofessF;me ministFnce0;!ss;gistrate,r4yC;eld mar3rst l0;ady,i0;eutena0;nt;shB;oct6utchess;aptain,hance4o0;lonel,mmand5n0unci3;gress0stable;m0wom0;an;ll0;or;er;d0yatullah;mir0;al",Pronoun:"true¦'em,elle,h3i2me,she4th0us,we,you;e0ou;m,y;!l,t;e0im;!'s",Singular:"true¦0:56;1:4F;2:55;3:4S;4:4Q;5:4L;6:4P;7:4Z;8:4G;a4Pb44c37d2Ue2Nf2Dg22h1Qin1Njel3k1Ll1Im19n16o12p0Lqu0Kr0BsStJuGvCw9;a9ha39om29;f1i4Tt0Cy9;! arou4C;arn4DeAo9;cabu05l50;gIr9;di6t1H;nc32p2PrAs 9;do3Ps53;bani2in0; rex,aGeFhEiCoBrAu9v show;m2Hn5rntIto15;agedy,ibe,o43;p5rq3D;c,de,er,m9;etE;ere,i8;am,mp38;ct5le4x return;aQcOeNhMi2kKoJtEuBy9;ll9n26st4O;ab2O;bAnri19per bowl,r9;f1roga2;st3Ctot0;aCepBipe3PrAudent9;! lo1J;ang1i8;fa1Emo1E;ff1t2Z;loi40me15;elet12i9;er,ll,rm3K;ack,or47;ab0Tcurity gu2C;e4ho9;l2Yol;la31;av0VeChetor5iAo9;de4om;te,v9;erb0M;bCcBf9publ5r0Nspi2;er9orm1;e4r0;it0ord label;a2u40;estion mark,ot27;aMeKhJiHlFort0rAu9yram1B;ddi8ppy,rpo0I;eCie3Go9;bl3Ts9;pe6t9;a2itu2;diction,mi0Droga7ss relea0D;a9ebisci2;q26te,y1;cn5e9g;!r;armaci37otocoH;dest0ncil,r9t0;cen3Fsp3G;nAr2Qte9;!nt;el2Qop3;bj3CcApia2rde0thers,ve9wn1;n,rview;cu9e0E;pi1;aAit23ot9umb1;a24hi8;n28rra7;aFeEiDoAu9é0F;m0Rr0;mAnopo3pPrni8sq1Ot9u12;h1i34;!my;li0Vn08;d5nu,t0;mm0nd11te9yf3;ri0;aurea2iAu9;ddi2nch;ght bulb,p0C;ey9ittL;!no2;cAdices,itia7se6te4vert9;eb1L;en7ide4;aJeaFighDo9uman right,ygie10;le,meAsp1Jtb9;ed;! r9;un; scho12ri9;se;dAv9;en; start,ph9;one;m,ndful,ze;aHeFirl1KlaQoErAu9;l3y;an9enadi1id;a16d9; slam,fa9mo9;th1;d,lf1;lat0Dntlem9;an;df3r9;l5n1D;aHeGiElDol3rAun9;er0;ee market,iAon9;ti1;e16ga2;ame,u2;nan9ref3;ci1;lla,t14;br5mi3n0Uth1;conoEffDgg,lecto0MnCs1Xth5venBxAyel9;id;ampTempl0Ite4;i8t;er1K;e6i1J;my;adKeGiDoAr9u0P;agonf3i1;cAg1Fi3or,ssi1wn9;si0M;to0BumenB;ale6gniAnn1s9vide0O;conte4incen7tri6;ta0A;aBc0fAni0te9;c7rre4;ault 05err0;th;!dy;aXeVhOiNlLoDr9;edit cBit5uc9;ib9;le;ard;efficFke,lDmmuniqNnBpi1rr0t11u9yo2;ri1s9;in;ne6s9;ervatoVuI;ic,lQum9;ni0L;ie4;er9ie4;gy,ic;ty,vil wL;aDeqCocoBr9;istmas car9ysanthemum;ol;la2;ue;ndeli1racter9;ist5;ili8llDr9;e0tifica2;hi1naFpErCshi1t9ucus;erpi9hedr0;ll9;ar;bohyd9ri1;ra2;it0;ry;aPeOiMlemLoHrDu9;ddhiYnBr9tterf3;glar9i0;!y;ny;eakBiAo9;!th1;de;faRthroC;dy,g,roBwl,y9;!frie9;nd;ugh;ish;cyc9oH;liK;an,l3;nki8r9;!ri1;er;ng;cTdNllLnIppeti2rray,sFtBu9;nt,to9;psy;hAt5;ic;ie9le2;st;ce4pe6;ct;nt;ecAoma3tiA;ly;do2;er9y;gy; hominDjAvan9;tage;ec7;ti9;ve;em;cru0eAqui9;tt0;ta2;te;al",Preposition:"true¦'o,-,aLbIcHdGexcept,fFinEmid,notwithstandiRoCpSqua,sBt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h0ill,owards;an,r0;ough0u;!oI;ans,ince,o that;',f0n1ut;!f;!to;or,rom;espite,own,u3;hez,irca;ar1e0oAy;sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut",SportsTeam:"true¦0:1A;1:1H;2:1G;a1Eb16c0Td0Kfc dallas,g0Ihouston 0Hindiana0Gjacksonville jagua0k0El0Bm01newToQpJqueens parkIreal salt lake,sAt5utah jazz,vancouver whitecaps,w3yW;ashington 3est ham0Rh10;natio1Oredski2wizar0W;ampa bay 6e5o3;ronto 3ttenham hotspur;blue ja0Mrapto0;nnessee tita2xasC;buccanee0ra0K;a7eattle 5heffield0Kporting kansas0Wt3;. louis 3oke0V;c1Frams;marine0s3;eah15ounG;cramento Rn 3;antonio spu0diego 3francisco gJjose earthquak1;char08paA; ran07;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat1steele0;il3oenix su2;adelphia 3li1;eagl1philNunE;dr1;akland 3klahoma city thunder,rlando magic;athle0Mrai3;de0; 3castle01;england 7orleans 6york 3;city fc,g4je0FknXme0Fred bul0Yy3;anke1;ian0D;pelica2sain0C;patrio0Brevolut3;ion;anchester Be9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Fvi3;kings;imberwolv1wi2;rewe0uc0K;dolphi2heat,marli2;mphis grizz3ts;li1;cXu08;a4eicesterVos angeles 3;clippe0dodDla9; galaxy,ke0;ansas city 3nE;chiefs,roya0E; pace0polis colU;astr06dynamo,rockeTtexa2;olden state warrio0reen bay pac3;ke0;.c.Aallas 7e3i05od5;nver 5troit 3;lio2pisto2ti3;ge0;broncZnuggeM;cowbo4maver3;ic00;ys; uQ;arCelKh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki1;brow2cavalie0india2;bengaWre3;ds;arlotte horAicago 3;b4cubs,fire,wh3;iteB;ea0ulR;diff3olina panthe0; c3;ity;altimore 9lackburn rove0oston 5rooklyn 3uffalo bilN;ne3;ts;cel4red3; sox;tics;rs;oriol1rave2;rizona Ast8tlanta 3;brav1falco2h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls",Uncountable:"true¦0:2S;1:1Z;2:27;a2Gb27c1Xd1Oe1Gf1Ag13h0Wi0Pj0Ok0Nl0Im08n06o05pZrUsIt9v7w3;a5i4oo3;d,l;ldlife,ne;rm8t2;ernacul1Ui3;neg1Tol0Otae;eAh9oothpas1Nr4un3yranny;a,gst1V;aff29ea18o4ue nor3;th;oZu3;ble3se1Ft;!shoot1X;ermod2Cund2;a,nnis;aCcene0JeBhAil9ki8o7p6t4u3weepstak1;g1Inshi12;ati02e3;am,el;ace24eci1;ap,cc2;n,ttl1;k,v2;eep,ingl1;na15ri1;d0Ofe1Wl3nd,t0C;m1Lt;a6e4ic3;e,ke0W;c3laxa0Tsearch;ogni0Srea0S;bi1in;aWe7hys0last1Lo5re3;amble,mis1s3ten1L;en1Ksu0D;l3rk;it0yC;a1Ptr07;bstetr0vercrowd17xyg10;a3ews;il polXtional securi1H;aAe8o5u3;m3s1B;ps;n3o1A;ey,o3;gamy;a3chan0rchandi17tallurgy;sl1t;chine3themat0; learn0Vry;aught2e6i5ogi4u3;ck,g0X;c,st0;ce,ghtn0Rngui1AteraSv2;ath2isuSss;ara09indergart0Inowled0U;azz,ewelD;ce,gnor8mp5n3;formaZter3;net,sta05;a3ort5;ti3;en0Z;an0Y;a6eIisto5o3;ckey,mework,ne3rserad7spitali0R;s0Qy;ry;ir,libYppiGs3;h3te;ish;ene6l5o4r3um,ymna0S;aDeed;lf,re;utZyce0D; 3t0;edit04po3;ol;aMicFlour,o5urni3;tu3;re;od,rgive3uri2wl;ne3;ss;conom0duca9lectr8n6quip7th0very4xper3;ti04;body,o3thU;ne;joy3tertain3;ment;ici02on0;tiR;e9i6o4raugh3ynas00;ts;pe,wnstai3;rs;abet1s3;honUrepu3;te;b3miQ;ut;aBelciAh7iv0l5o3urrency;al,ld w3nfusiGral,ttGusco9;ar;ass0oth1;es;aos,e4ick3;en;eHw8;us;d,rJ;a8eef,i6lood,read,u3;nt4tt2;er;ing;lliarEs3;on;g3ss;ga3;ge;cEdviDeroBirAm6ni5ppeal court,rithmet4spi3thlet0;rin;ic;se;en5n3;es3;ty;ds;craft;b0d3naut0;ynam0;ce;id,ou3;st0;ics","Person|Noun":"true¦a07b01cYdRePfOgMhJjFkClBm9olive,p6r3s2trini00v0wang;an,enus,iol0;a,et;ky,on5umm03;ay,e1o0uby;b9d,se;ed,x;atQe0ol;aIn0;ny;a0eloTiles;x,ya;aBeo,iG;elv1i0;ng,tM;in;a2e1o0;lDy;an,w3;de,smi4y;a0iKol8;ll,z0;el;ail,e0;ne;aith,ern,lo;a0dDmir,ula,ve;rl;a4e3i1ol0;ly;ck,x0;ie;an,ja;i0wn;sy;h0liff,rystal;ari0in,ristian;ty;ak4e3i2r0;an0ook;dy;ll;nedict,rg;er;l0rt;fredo,ma","Noun|Gerund":"true¦0:26;1:25;2:1W;3:1I;4:1Y;a24b1Nc1Bd15en13f0Xg0Vh0Si0Qjog1Zk0Ol0Km0Hn0Fo0Bp04ques07rVsFtAunder9volunt14w5yCzo2;a7ed1Ri3or6r5;ap1Nest1Bi1;ki0r1N;i1r2s1Ttc1T;st1Mta4;al4e8hin4i7ra5y1J;c4di0i2v5;el15;mi0p1G;a1Xs1;ai12cHeGhEin1OkatClYmo4nowBpeAt8u6w5;ea3im1T;f01r5;fi0vi0I;a1Kretc1Iu5;d1AfI;l0Wn1B;b6i0;eb5i0;oar18;ip14o5;rte2u1;a1r09t1;h6o3re5;a1Ge2;edu0Noo0N;aCe8i11o6u5;li0n2;o5wi0;fi0;a7c6hear1Cnde3por1struct5;r1Au3;or0Vyc0G;di0so2;p0Qti0;aAeacek9la8o6r5ublis0X;a0Peten0Rin1oces16;iso2si5;tio2;n2yi0;ee0K;cka0Tin1rt0K;f7pe6rgani5vula1;si0zi0;ni0ra1;fe3;e5ur0W;gotia1twor4;a6e5i2onito3;e1ssa0L;nufactu3rke1;a7ea6i5od0Jyi0;cen0Qf1s1;r2si0;n09ug0E;i5n0J;c4lS;ci0magi2n5ro2;nova1terac1;andPea1i6o5un1;l03wO;ki0ri0;athe3rie5ui01;vi0;ar0CenHi7l6or5ros1unZ;ecas1mat1;ir1ooX;l6n5;anDdi0;i0li0;di0gin5;ee3;a8eba1irec1o7r5umO;awi0es05i5;n4vi0;ub1wnloaO;n5ti0;ci0;aEelebra1hClAo7r5ur6;aw5osZ;li0;a6di0lo3mplai2n5o4pi0ve3;duc1sul1;cLti0;apCea3imHo5ubH;ni0tJ;a5ee3;n1t1;m8s1te3;ri0;aIeFitDlCoAr8u5;il8ll6r5;pi0;yi0;an5;di0;a1m5o4;bi0;esGoa1;c5i0;hi0;gin2lon5t1;gi0;ni0;bys6c4ki0;ki0;it1;c8dverti7gi0rg6ssu5;mi0;ui0;si0;coun1ti0;ti0;ng",Unit:"true¦0:0X;a0Sb0Qc0Cd0Bex0Af07g04he02in0Ljoule0kVlSmInHoGpDquart0square 9t5volts,w4y2ze3°1µs;c,f,n;a0Dd0Jears old,o1;tt07;att0b;able3e2on1;!ne0;a1r03;spoY;c0Ad09f3i07kilo0Bm1ya06;e0Eil1;e0li09;eet0o05;ascals,e2i1ou0I;c0Fnt0;rcent,tV;hms,uS;an0CewtP;/s,e6i1m²,²,³;/h,cro4l1;e1li03;! pFs 1²;anFpE;g02s07;gMter1;! 2s1;! 1;per second;it2u1;men0x;er0re0;elvins,ilo2m1nM;/h,²;byUgSmeter1;! p2s1;! p1;er1; hour;ct1rtz0;aTogM;all2ig6ra1;in0m0;on0;a2emtMluid ou1tE;nce0;hrenheit,rad0;abyH;eciCmA;arat0eAm9oulomb0u1;bic 1p0;c5d4fo3i2meAya1;rd0;nch0;ot0;eci2;enti1;me4;²,³;lsius,nti1;g2li1me1;ter0;ram0;bl,y1;te0;c4tt1;os1;eco1;nd0;re0;!s","Adj|Noun":"true¦0:0S;a0Rb0Mc0Dde0Ce07f00gZhomel09iXjuWlVmPnOoNpMrJsBt7u4va2w1;atershed,elcome;gabo4nilla,ria1;b01nt;ndergr1pstairs;adua0Jou1;nd;a3e1oken;en,r1;min0ror0B;boo,n;e6ist00o4qua3ta2u1;bordina0Cper6;bRndard;re,t;cial05l1;e,v0F;cret,n1ri0;ior;e1outiIubbish;ar,laVnt0p1;resentaUublican;ati09eriodic0otenti0rincip0;ffiYpposi01v0;agging,ovel;aFe4in3o1;biEdernUr1;al,t0;iature,or;di1tr03;an,um;attGiber0;stice,veni8;de0mpressionNn1;cumbXdividu0nocX;enious,old;a5e2i1luid;ne;llow,m1;a1inH;le;t,vo1;riIuriI;l3x1;c1ecu7pL;ess;d1iE;er;mographKriva3;hiCo1rude;m3n2opera1;tive;cre8stituFtemporary;m2p1;anion,lex;er2un1;ist;ci0;lank,o4r1;i2u1;te;ef;ttom,urgeois;cadem5d3l2nim0rab;al;ert;olesc1ult;ent;ic",ProperNoun:"true¦barbie,c4diego,e3f2kirby,m0nis,riel;ercedes,i0;ckey,ssy;inn,ranco;lmo,uro;atalina,hristi",Ordinal:"true¦eBf7nin5s3t0zeroE;enDhir1we0;lfCn7;d,t3;e0ixt8;cond,vent7;et0th;e6ie7;i2o0;r0urt3;tie4;ft1rst;ight0lev1;e0h,ie1;en0;th",Cardinal:"true¦bEeBf5mEnine7one,s4t0zero;en,h2rDw0;e0o;lve,n5;irt6ousands,ree;even2ix2;i3o0;r1ur0;!t2;ty;ft0ve;e2y;ight0lev1;!e0y;en;illions",Multiple:"true¦b3hundred,m3qu2se1t0;housand,r2;pt1xt1;adr0int0;illion",City:"true¦0:6Y;1:5Y;2:6D;3:5R;4:5O;a65b50c4Fd45e41f3Tg3Eh36i2Xj2Sk2Bl20m1In18o15p0Tq0Rr0Ks01tPuOvLwDxiBy9z5;a7h5i4Juri4L;a5e5ongsh0;ng3E;greb,nzib5D;ang2e5okoha3Punfu;katerin3Erev0;a5n0N;m5En;arsBeAi6roclBu5;h0xi,zh5M;c7n5;d5nipeg,terth4;hoek,s1I;hi5Wkl37;l60xford;aw;a6ern2i5ladivost5Jolgogr6F;en3lni6M;lenc4Vncouv3Rr3ughn;lan bat1Brumqi,trecht;aDbilisi,eCheBi9o8r7u5;l1Zn60r5;in,ku;ipoli,ondh5Z;kyo,m2Zron1OulouS;an5jua3l2Umisoa69ra3;j4Ushui; hag60ssaloni2I;gucigal26hr0l av1U;briz,i6llinn,mpe57ng5rtu,shk2S;i3Fsh0;an,chu1n0p2Fyu0;aEeDh8kopje,owe1Gt7u5;ra5zh4Y;ba0Ht;aten is56ockholm,rasbou65uttga2W;an8e6i5;jiazhua1llo1m5Vy0;f51n5;ya1zh4I;gh3Lt4R;att46o1Wv45;cramen16int ClBn5o paulo,ppo3Srajevo; 7aa,t5;a 5o domin3F;a3fe,m1M;antonBdie3Dfrancisco,j5ped3Osalvad0K;o5u0;se;em,z26;lou57peters25;aAe9i7o5;me,sar5t58;io;ga,o5yadh;! de janei3F;cife,ykjavik;b4Sip4lei2Inc2Pwalpindi;ingdao,u5;ez2i0P;aEeDhCiBo8r7u6yong5;ya1;eb56ya1;ag50etor3M;rt5zn0; 5la4Do;au prin0Melizabe25sa04;ls3Qrae58tts27;iladelph3Hnom pe1Boenix;r22tah tik3F;lerZnaji,r4Nt5;na,r33;ak45des0Km1Nr6s5ttawa;a3Wlo;an,d06;a7ew5ing2Govosibir1Kyc; 5cast37;del25orlea45taip15;g8iro4Un5pl2Xshv34v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0X;aFeCi9o6u5;mb2Bni27sc3Z;gadishu,nt6s5;c14ul;evideo,re30;ami,l6n15s5;kolc,sissauga;an,waukee;cca,d5lbour2Nmph40ndo1D;an,ell5i3;in,ín;cau,drAkass2Sl9n8r5shh47;aca6ib5rakesh,se2L;or;i1Sy;a4BchEdal0Zi44;mo;id;aCeiAi8o6u5vRy2;anLckn0Odhia3;n5s angel26;d2g bea1N;brev2Be3Jma5nz,sb2verpo28;!ss27;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Dn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd34rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Wi2H;che2d5;ianap2Ko20;aAe7o5yder2T; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Lupe;ld coa1Athen5;bu2P;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal26es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Wr es sala1IugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1N;lo7n6penhag0Ar5;do1Lk;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr12;ch8sha,zh07;i9lga8mayenJn6pe town,r5;acCdiff;ber17c5;un;ry;ro;aVeNhKirmingh0UoJr9u5;chareSdapeSenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iBl9ng8r5;g6l5n;in;en;aluru,hazi;fa5grade,o horizonte;st;ji1rut;ghd09kGnAot9r7s6yan n4;ur;el,r05;celo3ranquil07;na;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a02bZccYddis abaXgartaWhmedUizawl,lQmNnHqaXrEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a6chora5kaLtwerp;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 6buquerq5eppo,giers,maty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg",Region:"true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma",Country:"true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an",Place:"true¦aUbScOdNeMfLgHhGiEjfk,kClAm8new eng7ord,p5s4t2u1vostok,wake is7y0;akutCyz;laanbaatar,pO;ahiti,he 0;bronx,hamptons;akhalFfo,oho,under2yd;acifTek,h0itcairn;l,x;land;a0co,idHuc;gadRlibu,nhattR;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianKochina;arlem,kg,nd,ovd;ay village,re0;at 0enwich;brita0lakB;in;co,ra;urope,verglad8;en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s",WeekDay:"true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s",Month:"true¦dec0february,july,nov0octo1sept0;em0;ber",Date:"true¦ago,t0week end,yesterd2;mr2o0;d0morrow;ay;!w",Duration:"true¦century,dAh9m6q5se4w1y0;ear,r;eek1k0;!s;!e4;ason,c;tr,uarter;i0onth;lliseco0nute;nd;our,r;ay,ecade",FemaleName:"true¦0:IT;1:IX;2:I5;3:I6;4:IN;5:IA;6:JE;7:GR;8:JA;9:J6;A:HE;B:HO;C:IF;D:J3;E:IJ;F:H3;G:C5;H:HQ;aGJbFEcDKdCTeBJfB0gA9h9Pi9Cj8Bk7Bl5Vm45n3Jo3Fp33qu32r2As15t0Eu0Cv03wWxiUyPzI;aMeJineb,oIsof3;e3Qf3la,ra;h2iLlJna,ynI;ab,ep;da,ma;da,h2iIra;nab;aLeKi0FolB4uJvI;etAonDI;i0na;le0sen3;el,gm3Fn,rGBs8S;aoIme0nyi;m5XyAA;aNendDShiD9iI;dele9lKnI;if44niIo0;e,f43;a,helmi0lIma;a,ow;ka0nB;aNeKiIusa5;ck81ktoriBHlAole7viI;anGenIR;da,lA6rIs0;a,nIoniGX;a,iFJ;leInesGX;nI9rI;i1y;g9rIxGY;su5te;aZeVhSiOoMrJuIy2;i,la;acIRiIu0L;c3na,sI;hGta;nIr0H;iGya;aKffaEInIs6;a,gtiI;ng;!nFJra;aJeIomasi0;a,l9Mo87res1;l3ndolwethu;g9Do85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe2iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlet3Te0ChYiUkye,neza0oStOuJyI;bI4lvi1;ha,mayI7ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHSr5;b3fiA5m0MnIphi1;d2ia,ja,ya;er2lKmon1nJobh8NtI;a,i;dy;lEJv3;aNeJirIo0risF1y5;a,lDF;ba,e0i5lKrI;iIr6Gyl;!d8Ffa;ia,lDR;hd,iNki2nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7ZvI;da,inj;e0ife;en1i0ma;anA2bMd3Kh1PiBkLlKmJnd2rIs6vannaC;aCi0;ant6i2;lDGma,ome;ee0in8Qu2;in1ri0;a05e00hYiVoIuthDE;bTcSghRl8InQsKwJxI;anAWie,y;an,e0;aJeIie,lD; merBKann8ll1marD8t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8D;hel63io;bDHer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG9oI;da,n1L;an0bKemGgi0iJnIta,y0;a88ee;han83na;a,eI;cE7kaC;bi0chJe,i0mo0nIquEHy0;di,ia;aEFelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCN;scil3LyamvaB;lly,rt3;ilome0oebe,ylI;is,lis;ggy,nelope,r5t2;ige,m0UnLo5rvaDDtJulI;a,etAin1;ricIt4T;a,e,ia;do2i07;ctav3dJfCWis6lIphCWumC0yunbileg;a,ga,iv3;eIvAB;l3tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBLkLlaKna,sIta,vi;anIha;ur;!y;a,iDPki;hoHk9UolI;a,eDG;!mh;hir,lIna,risFsreE;!a,lBQ;asuMdLh3i6DnKomi8rgELtIzanin zah2;aIhal4;li1s6;cy,etA;e9iER;nngu30;a0Ackenz4e02iNoKrignayani,uriDAyI;a,rI;a,lOna,tH;bi0i2llBFnI;a,iI;ca,ka,qD0;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEK;!l,nB;dy,eIh,n4;nhHrva;aLdKiCMlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5FgOi,lLrI;edi79iJjem,on,yI;em,l;em,sF;an4iIliF;nIsCB;a,da;!an,han;b0DcAPd0Be,g09ha,i08ja,l06n04rMsoum60tLuJv82x9HyIz4;bell,ra,soB6;de,rI;a,eE;h8Eild1t4;a,cYgUiLjor4l7Sn4s6tKwa,yI;!aIbe6Wja9lAB;m,nBE;a,ha,in1;!aKbC8eJja,lDna,sIt64;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliAEcJeduarBfern5GjIlui5Y;o6Ful3;ecil3la2;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Wi77y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD8on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d3la,nI;!a,dJeBEnIsCI;!a,eBD;a,sCG;aCTcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a86i8;lIn1t7;ei;!in1;aTbb9AdSepa,lNnKsJv3zI;!a,be5MetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9Ye;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c3t3;e2NlCD;la,nIra;a,ie,o2;a,or1;a,gh,laI;!ni;!h,nI;a,d2e,n5Q;cPdon95iOkes6mi98na,rNtKurJvIxmi,y5;ern1in3;a,e55ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAHoOrKyI;lIra;a,ee,ie;istIy6D;a,en,iJyI;!na;!e,n5A;nul,ri,urtnAX;aPerOlAWmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei2ongordzol;dij1w5;el7OiLjsi,lKnJrI;a,i,ri;d2na,za;ey,i,lBAs4y;ra,s6;bi7cAGdiat7GeAZiSlRmQnyakuma1BrOss6JtLvi7yI;!e,lI;a,eI;e,i8J;a6DeJhIi4OlDri0y;ar6Ber6Bie,leErAZy;!lyn8Eri0;a,en,iIl5Soli0yn;!ma,nGsF;a5il1;ei8Ci,l4;a,tl6K;a09eZiWoOuI;anMdLliIst63;a8FeIsF;!n9tI;!a,te;e5Ji3Ky;a,i7;!anOcelDdNelHhan7PleMni,sJva0yI;a,ce;eIie;fIlDph5U;a,in1;en,n1;i8y;!a,e,n42;lIng;!i1ElI;!i1D;anOle0nLrKsI;i8AsI;!e,i89;i,ri;!a,elHif2CnI;a,etAiIy;!e,f2A;a,e8BiJnI;a,e8AiI;e,n1;cNda,mi,nJque4WsminGvie2y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob81;!n9J;do2;belIdo2;!a,e,l39;a74en1i0ma;di2es,gr6Vji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin2B;da,ll4rten23snI;a,i9M;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1CiKlJnriet7rmi9sI;sa,t1B;en2Sga,mi;di;bi2Dil8ElOnNrKsJtIwa,yl8E;i5Pt4;n5Vti;iImo4Zri50;etI;!te;aCnaC;a,ey,l4;a04eYiTlRoPrLunKwI;enIyne1Q;!dolD;ay,el;acJetIiselB;a,chE;e,ieI;!la;ld1AogooI;sh;adys,enIor3yn2H;a,da,na;aLgi,lJna,ov85selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Oi,m3Btru87;etAi4T;a,eIna;s26vieve;ma;bJle,mIrnet,yH;al5Ki5;i5CrielI;a,l1;aVeSiRlorPoz3rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0O;n1s5Y;!ca;a,encI;e,ia;en,o0;lJn0rnI;anB;ec3ic3;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no2oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c3da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh3iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr3nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d2nI;!a,e;hl3i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th3;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat2;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a2er2ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d2elHtI;al,elH;cJlI;esAi42;el3ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIossom,ythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a2o2ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el3;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!le;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar3;el;aMberLeliKiIy;e,l3naI;!ta;a,ja;!ly;hHiJl3nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c3sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c3is6jaLksaLna,sKxI;aIia;!nd2;ia,saI;nd2;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya",FirstName:"true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4nelly,quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is",LastName:"true¦0:9F;1:9V;2:9N;3:9X;4:9H;5:8K;6:9K;7:A0;8:9E;9:89;A:77;B:6F;C:6J;a9Ub8Mc7Kd6Xe6Sf6Eg5Vh58i54j4Pk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsADhD;aDou,u;ng,o;aGeun80iDoshiA9un;!lD;diDmaz;rim,z;maDng;da,guc97mo6UsDzaA;aAhiA7;iao,u;aHeGiEoDright,u;jc8Sng;lDmm0nkl0sniewsA;liA1s3;b0iss,lt0;a5Sgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7O;lGn dFrg8EsEzD;qu7;ily9Oqu7silj9O;en b35ijk,yk;enzue95verde;aLeix1KhHi2j6ka3IoGrFsui,uD;om4ZrD;c2n0un1;an,embl8TynisA;dor95lst31m4rr9th;at5Mi7MoD;mErD;are6Zlaci64;ps3s0Z;hirBkah8Dnaka;a01chXeUhQiNmKoItFuEvDzabo;en8Aobod34;ar7bot4lliv2zuA;aEein0oD;i67j3Lyan8V;l6rm0;kol5lovy5re6Qsa,to,uD;ng,sa;iDy5Z;rn5tD;!h;l5YmEnDrbu;at8gh;mo6Do6J;aFeDimizu;hu,vchD;en7Cuk;la,r17;gu8mDoh,pulve8Srra4R;jDyD;on5;evi6Filtz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar41h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Oe,os;as,ihBm3Yo0Q;aOeNiKoGuEyD;a66oo,u;bio,iz,sD;so,u;bEc7Adrigue56g03j72mDosevelt,ssi,ta7Mux,w3Y;a4Be0O;ertsDins3;!on;bei0LcEes,vDzzo;as,e8;ci,hards3;ag2es,it0ut0y9;dFmEnDsmu7Yv5E;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if5Zochazk1V;lishc23pDrti62u54we66;e2Sov47;cEe09nD;as,to;as60hl0;aDillips;k,m,n5K;de39etIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss3;i8ra,tz,z;ers;h70k,rk0tEvD;ic,l3S;el,t2N;bJconnor,g2BlGnei5PrEzD;demir,turk;ella3LtDwe5N;ega,iz;iDof6FsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune43ym2;rodahl,vDwak;ak3Tik5otn56;eEkolDlsCx3;ic,ov6W;ls1miD;!n1;ils3mD;co41ec;gy,kaEray2varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5S;atDpTr67;i,ov4;oz,te4B;d0l0;h2lIo0GrEsDza0Y;er,s;aFeEiDoz5r3Dte4B;!n6E;au,i8no,t4M;!l9;i2Ql0;crac5Nhhail5kke3Pll0;hmeFij0j2ElEn2Wrci0ssiDyer18;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Dgnu5Ei0jer34kLmJnci59rFtEyD;er,r;ei,ic,su1N;iEkBqu9roqu6tinD;ez,s;a54c,nD;!o;a52mD;ad5;e5Oin1;rig4Os1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Rvr4;di;!nDu,yana1S;coln,dD;bDholm;erg;bed5TfeGhtFitn0kaEn6rDw2G;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t11;aTennedy,h2iSlQnez47oJrGuEvar2woD;k,n;cerDmar58znets5;a,o2G;aDem0i30yeziu;sni3QvD;ch3V;bay4Frh0Jsk0TvaFwalDzl5;czDsA;yk;cFlD;!cDen3R;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,lloe,minsArEstra32to,ur,yDzl5;a,s0;j0GlsC;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss3;anEnsD;en,on,t3;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks3obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m2ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers3;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw3;o,staf2Utierr7zm2;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m2;calv9zale0H;aj,i;l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm2uD;cDent9ji3E;hs;ntaDrt6st0urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s3;er,is3wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g2he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w2;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e3uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em2liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm2tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder3mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy2;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss3;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl2yD;aEd6;in;la;aEsl2;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s3;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta",MaleName:"true¦0:DO;1:CP;2:D7;3:AK;4:CL;5:C0;6:CG;7:D3;8:BT;9:AS;A:95;B:DB;C:D4;D:BN;aCAbB8cA8d99e8Jf83g7Gh6Ti6Dj5Fk53l4Fm37n2Uo2Op2Gqu2Er1Ms12t0Gu0Fv08wUxTyJzE;aEor0;cEh9Kkaria,n0C;hFkE;!aC8;ar5VeC7;aMoGuE;sEu2LvBK;if,uf;nGsFusE;ouf,sE;ef;aEg;s,tE;an,h0;hli,nB9ssY;avi3ho4;aNeLiGoEyaBO;jcie88lfgang,odrow,utE;!er;lEnst1;bGey,fredBlE;aB0iE;am,e,s;e98ur;i,nde9sE;!l8t1;lFyE;l1ne;lEt3;a9Yy;aHiEladimir,ojte7V;cFha0kt68nceErgA6va0;!nt;e3Xt66;lentEn9T;inE;!e;ghBFlyss5Anax,sm0;aXeShOiMoIrGuFyE;!l3ro6s1;n7r5A;avAIeEist0oy,um0;ntAAv5Xy;bGd8SmEny;!as,mEoharu;aCCie,y;iAy;mEt5;!my,othy;adGeoFia0KomE;!as;!do8H;!de5;dHrE;en99rE;an98eEy;ll,n97;!dy;dgh,ha,iEnn3req,tsu4S;cAQka;aUcotSeQhMiKoIpenc3tEur1Xylve97zym1;anGeEua86;f0phBDvEwa85;e60ie;!islaw,l8;lom1uE;leyma6ta;dElAm1yabonga;!dhart75n8;aGeE;lErm0;d1t1;h7Lne,qu11un,wn,y6;aEbasti0k2Cl4Qrg4Nth,ymoAF;m5n;!tE;!ie,y;lFmEnti2Gq59ul;!ke5KmDu4;ik,vato7P;aZeVhe9WiRoIuFyE;an,ou;b7EdFf5pe7LssE;!elBJ;ol3Gy;an,bLc63dJel,geIh0landBmHnGry,sFyE;!ce;coe,s;!aA2nD;an,eo;l46r;er79g3n8olfo,riE;go;bDeAR;cEl8;ar6Jc6IhFkEo;!ey,ie,y;a8Wie;gFid,ubCyEza;an1KnZ;g9TiE;na9Ps;ch6Rfa4lImHndGpha4sFul,wi2IyE;an,mo6V;h7Km5;alAXol2Vy;iADon;f,ph;ent2inE;cy,t1;aJeHhilGier6UrE;aka18eE;m,st1;!ip,lip;dA5rcy,tE;ar,e3Fr1Z;b4Idra74tr6KulE;!o19;ctav3Ei3liv3m9Zndrej,rIsFtEum7wC;is,to;aFc7k7m0vE;al5T;ma;i,vM;aMeKiGoEu39;aEel,j5l0ma0r3J;h,m;cFg4i47kE;!au,h7Hola;holAkEolA;!olA;al,d,il,ls1vE;il8K;hom,tE;e,hE;anEy;!a4i4;a00eXiNoIuFyE;l2Hr1;hamFr6LstaE;fa,p55;ed,mI;di0Xe,hamGis2DntFsEussa;es,he;e,y;ad,ed,mE;ad,ed;cJgu4hai,kHlGnFtchE;!e9;a7Vik;house,o0Ct1;ae5Pe9NolE;aj;ah,hE;aFeE;al,l;el,l;hFlv2rE;le,ri9v2;di,met;ay0hUjd,ks2BlSmadXnRrLs1tGuricFxE;imilianBwe9;e,io;eHhFiAtEus,yA;!eo,hew,ia;eEis;us,w;j,o;cIio,kHlGqu6Zsha9tEv2;iEy;!m,n;in,on;el,oQus;!el91oPus;iHu4;achEcolm,ik;ai,y;amFdi,eEmoud;sh;adEm5H;ou;aXeRiPlo3AoLuFyE;le,nd1;cHiGkEth3uk;aEe;!s;gi,s,z;as,iaE;no;g0nn7CrenGuEv82we9;!iE;e,s;!zo;am,oE;n4r;a7Vevi,la4BnIonHst3thaGvE;eEi;nte;bo;!a6Eel;!ny;mGnFrEur55wr55;ry,s;ce,d1;ar,o4Y;aMeIhal7GiFristEu4Ky6J;i0o54;er0p,rE;k,ollE;os;en0iGnErmit,v3U;!dr3XnEt1;e18y;r,th;cp3j5m5Sna6OrFsp7them,uE;ri;im,l;a01eViToHuE;an,lEst2;en,iE;an,en,o,us;aOeMhnLkubAnJrHsE;eFhEi7Vue;!ua;!ph;dEge;i,on;!aEny;h,s,th55;!ath54ie,nD;!l,sEy;ph;o,qu2;an,mE;!mD;d,ffHrEs5;a5YemFmai6oEry;me,ni0Y;i7Fy;!e5OrE;ey,y;cLdCkJmIrGsFvi3yE;dCs1;on,p3;ed,od,rEv4V;e5Bod;al,es4Mis1;a,e,oEub;b,v;ob,quE;es;aXbRchiQgOkeNlija,nuMonut,rKsGtEv0;ai,suE;ki;aFha0i6ZmaEsac;el,il;ac,iaE;h,s;a,vinEw2;!g;k,nngu5F;!r;nacEor;io;ka;ai,rahE;im;aQeKoJuEyd7;be2FgHmber4KsE;eyFsE;a2e2;in,n;h,o;m3ra36sse2wa40;aIctHitHnrFrE;be28m0;iEy;!q0Z;or;th;bMlLmza,nKo,rGsFyE;a47dC;an,s0;lGo4Nry,uEv8;hi44ki,tE;a,o;an,ey;k,s;!im;ib;aWeSiQlenPoMrIuE;ilFsE;!tavo;herme,lerE;mo;aGegEov3;!g,orE;io,y;dy,h5J;nzaFrE;an,d1;lo;!n;lbe4Xno,oE;rg37van4X;oGrE;aEry;ld,rdB;ffr8rge;brFlCrEv2;la14r3Hth,y;e33ielE;!i5;aSePiNlLorrest,rE;anFedEitz;!dDer11r11;cGkE;!ie,lE;in,yn;esLisE;!co,z2W;etch3oE;yd;d4lEonn;ip;deriFliEng,rnan05;pe,x;co;bi0di,hd;dYfrXit0lSmLnIo2rGsteb0th0uge6vEymCzra;an,eE;ns,re2X;gi,i0AnErol,v2w2;estBie;oFriqEzo;ue;ch;aJerIiFmE;aIe2Q;lErh0;!iE;o,s;s1y;nu4;be0Bd1iGliFm3t1viEwood;n,s;ot1Ss;!as,j4EsE;ha;a2en;!d2Vg7mHoFuFwE;a26in;arE;do;oWuW;a02eRiPoHrag0uGwFylE;an,l0;ay6ight;a6dl8nc0st2;minHnFri0ugEvydAy29;!lA;!a2HnEov0;e9ie,y;go,iFykA;as;cEk;!k;armuEll1on,rk;id;andNj0lbeMmetri5nKon,rIsGvFwExt3;ay6ey;en,in;hawn,moE;nd;ek,rE;ick;is,nE;is,y;rt;re;an,le,mLnKrGvE;e,iE;!d;en,iGne9rEyl;eEin,yl;l35n;n,o,us;!i4ny;iEon;an,en,on;a08e06hYiar0lOoJrHuFyrE;il,us;rtE;!is;aEistob0S;ig;dy,lHnFrE;ey,neli5y;or,rE;ad;by,e,in,l2t1;aIeGiEyK;fEnt;fo0Et1;meEt5;nt;rGuFyE;!t1;de;enE;ce;aIeGrisE;!toE;ph3;st3;er;d,rEs;b4leE;s,y;cEdric,s7;il;lHmer1rE;ey,lFro9y;ll;!os,t1;eb,v2;a07eZiVlaUoSrFuEyr1;ddy,rtL;aMeHiGuFyE;an,ce,on;ce,no;an,ce;nFtE;!t;dFtE;!on;an,on;dFndE;en,on;!foEl8y;rd;bby,rEyd;is;i6ke;bGlFshE;al;al,lD;ek;nIrEshoi;at,nFtE;!r1B;aEie;rdB;!iFjam2nD;ie,y;to;kaNlazs,nIrE;n8rEt;eEy;tt;ey;dEeF;ar,iE;le;ar16b0Ud0Qf0Ogust2hm0Li0Ija0Hl03mZnSputsiRrIsaHugust5veFyEziz;a0kh0;ry;us;hi;aLchKiJjun,maInGon,tEy0;hEu09;ur;av,oE;ld;an,ndB;!el,ki;ie;ta;aq;as,dIgelBtE;hony,oE;i6nE;!iBy;ne;er,reEy;!as,i,s,w;iGmaEos;nu4r;el;ne,r,t;an,beQdCeKfIi,lHonGphYt1vE;aOin;on;so,zo;an,en;onUrE;ed;c,jaHksandGssaHxE;!andE;er,ru;ar,er;ndE;ro;rtB;ni;dCm7;ar;en;ad,eE;d,t;in;onE;so;aFi,olfBri0vik;!o;mEn;!a;dIeHraFuE;!bakr,lfazl;hEm;am;!l;allJelGoulaye,ulE;!lErG;ah,o;! rE;ahm0;an;ah;av,on",Person:"true¦ashton kutchUbTcOdMeKgastPhIinez,jHkGleFmDnettLoCpAr5s4t2va1w0;arrDoode;lentino rossi,n go4;a0heresa may,iger woods,yra banks;tum,ylor;addam hussain,carlett johanssKlobodan milosevic;ay romano,e3o1ush limbau0;gh;d stewart,nald0;inho,o;ese witherspoFilly;a0ipJ;lmIris hiltD;prah winfrFra;essia0itt romnEubarek;en;bron james,e;anye west,endall,iefer sutherland,obe bryant;aime,effers7k rowling;a0itlBulk hogan;lle berry,rris5;ff0meril lagasse,zekiel;ie;a0enzel washingt2ick wolf;lt1nte;ar1lint0;on;dinal wols1son0;! palm2;ey;arack obama,rock;er",Adjective:"true¦0:98;1:84;2:81;3:8Z;4:8T;5:6H;6:85;7:89;8:8U;9:8G;A:5Z;a7Qb7Ac6Sd6Ae5Sf5Ag52h4Ri3Tjuni46k3Rl3Gm34n2Uo2Fp1Wquart66r1Ls0Rt0JuMvIwBye1J;ast56eFholeEiDoB;man5oBrthwhi6u0F;d7Lzy;despr8Is6H;!sa6;ather13eBll o5Lste2R;!k5;aDeCiBola5F;b98ce versa,gi2R;ng4Xrsa5D;ca0lu56;lt06nHpDrCsBttermo90;ef79u4;b6Age0; Db2BpCsBti37;ca6et,ide dO;er,i4N;f3Vto da3;aWbecom2cVdPeOfNiMknLmKpJrGsCtoFus1wB;a06iel4G;e73i2GoDpCuB;pervis1spect2;e0ok71;ld;eBu5;cognQgul0LlBsolv1;at1ent2;a9recedeY;arri1et;own;que,vers4;air,orese6S;mploy1nd2xpect1;eBue;cid1rB;!a6VcovAly2sDwB;aBei2L;tAy;iz1to45;heck1onvinc2;ppeal2ssum2tteCuthorB;iz1;nd1;i3Ira;aGeDhough5Cip 1QoCrB;anspa72i3;gethAle86rp9;ena6JmpCrB;r3Htia6T;e8o6R;leBst3S;nt1;a03c01eZhYiWkiVmug,nobb41oPpMqueam41tGuBymb73;bDi generis,pBr5;erBre1P;! dupAb,viX;du1sBurb53;eq76tanda7S;atu6DeFi0VrByl3V;aBin4G;ightBy; fBfB;or61;adfa7Kri6;arCeBirit1lend9ot on;c30e36;k5se; caGlub6mbAphisticFrEuCvB;erei5Miet;ndBth0Y;pro6I;d9ry;at1;ll1;g1YnB;ce5Bg6;am32eA;at1co1Jem5lf3CnBre7;so5Z;ath2holBient2M;ar5;cr1me,tisfac5Q;aJeEheumato9iCoB;bu70tt5Cy4;ghtBv4;-w2f58;bZcEdu6RlDnown1sBtard1;is3FoB;lu3na0;e1Duc3D;e0ondi3;b9ciB;al,st;aOeMicayu7laLopuli6QrCuB;bl5Ynjabi;eGiEoB;!b2SfCmi3EpBv4Zxi21;er,ort63;a7u66;maBor,sti7va3;!ry;ci63exist2mBpa9;a1QiB;er,um;c9id;ac29rBti3;fe69ma34ti34v5X;i29rCsB;s5St;allCtB;-ti05i4;el;bMffKkJld InGrFthAutEverB;!aCni0Gseas,t,wB;ei0Frou0F;ll;do0Xer;d2Wg1N; bBbBgo2li7;oa62;fashion1school;!ay; gua5ZbBli7;eat;eCsB;ce7er0Do0S;dia0se;aJeIiHoBuanc1;nDrthBt1W;!eB;rn;chaCdescri5Nprof2AsB;top;la0;ght5;arby,cessa4Eighbor5xt;k1usiat2;aIeHinGoCuB;d15ltip6;deDl14nBot,st;ochroBth5;me;rn,st;dblSi;nac2re;cDgenta,in,j04keshift,mmCnBscu4G;da3Xy;ali2Koth;ab3Aho;aKeHiEoCuB;mber2sh;ngBut1A;stand2term;ghtweiCteraB;l,te;ght;ft-w2gBssAth4;al,eBi0B;nda3R;ngu9ps1st;aput,ind5nB;ow2;gno4Yll03mVnDpso 26rB;a3releB;va0; QaPcoMdJe2BfIhibi3EiWnHoGsDtBvalu0V;a4LeB;n49rdep1V;a7igColBuboD;ub6ve0;nifica0;rdi42;a3er;eriCluenOreq3Y;eCiEoB;or;fini3p1Mtermi3X;mpCnside8rB;re49;le3;ccu8deq3Yppr38;fBsitu,vitro;ro0;mFpB;arDeCl0SoBropA;li3r0P;nd2rfe41;ti4;aCeBi0U;d30n3N;tu24;egCiB;c0Lte8;al,iB;tiB;ma3;aIelHiFoCumB;a7dr3J;me ma2DnCrrBs04ur5;if31;e3Ro2K;ghfalut1MspB;an2Y;lUpf1Y;lCnBrdZtI;dy;f,low1;aiHener2Tiga27lob4oGraDuB;ilBng ho;ty;cCtB;ef1Qis;ef1P;od;nf1N;aPeMinLlJoErB;aCeBoz1N;q2Qtf1K;gi6nt2I;olErB; keeps,eBge0GmAtu2Pwa39;go2i1DseeB;ab6;ish;ag38uB;e0oresce0;al,i3;dCmini7rB;ti6; up;bl1i0l2Imiliar,r Bux;oBreach2;ff;aPfficie0lNmKnIqu4re2Qthere4veHxB;a2Pem2SplEquisi3traDuB;be2XlB;ta0;!va1I;icB;it;n,ryday; Bti0P;rou3sui3;erCiB;ne0;ge0;dBe19;er5;gAsB;t,ygo2;er;aQeHiCoBrea16ue;mina0ne,rma0ubK;dact1Jfficult,m,sCverB;ge0se;creCeJjoi0pa8tB;a0in23;et,te; IadpHceGfiFgene8liDpCreli21spe8voB;id,ut;ende0;ca3ghB;tf0B;a0ni3;as1;an;facto;i5ngeroY;ly;arRePivil,oErCuB;nn2stoma0N;aBu0Jystal0Y;v03z1;erKgniza0loJmInDrCveB;rt;po8ru1N;cEduHgr13jDsCtraB;dic0Ary;eq11ta0;oi0ug4;a0Vi14;mensu8pass0Z;ni4ss4;ci0S;leba3rtaB;in;diac,efN;aNeGizarFliLoDrBuck nak1;and new,isk,oB;kMn1E;gBldface,na fiT;us;re;autifGhiFloEnCsByoF;iPt;eUiBt;gn;v1w;nd;ul;ckCnkru0YrrB;en;!wards; priori,b0Pc0Md0Ff09g07h06l00mp6ntiquXpRrLsleep,ttracti08uHvEwB;aCkB;wa0W;ke,re;ant garCeraB;ge;de;diDtB;heBoimmu7;ntW;toG;bitEchiv4roDtiB;fiB;ci4;ga0;raB;ry;pBt;aEetiz2rB;oprB;ia3;ing;re0;at1e;ed;le;cohEiIkaCl,oBterO;of;li7;ne;olB;ic;ead;ainZed,gressiB;ve;fCra9;id;ectClB;ue0;ioB;na3; FeDvB;erB;se;pt,qB;ua3;hoc,infinitB;um;cu8tu4u3;al;ra3;erMlKoIrFsCuB;nda0;e0olu3traB;ct;te;eaCuB;pt;st;aBve;rd;aBe;ze;ra0;nt",Determiner:"true¦aBboth,d9e6few,l4mu8neiDplenty,s3th2various,wh0;at0ich0;evC;at,e4is,ose;everal,ome;a,e0;!ast,s;a1i6l0very;!se;ch;e0u;!s;!n0;!o0y;th0;er",Adverb:"true¦a09b05d01eXfRhPinOjustNkinda,likewi00mLnIoDpBquite,r8s4t1up0very,well; to,wards5;h1iny bit,o0wiO;o,t6w05;en,us;eldom,o0uch;!me1rt0; of;hZtimes,w0B;a1e0;alT;ndomSthN;ar excellDer0oint blank; Nhaps;f3n0;ce0ly;! 0;ag04moY; courIten;ewKo0; longEt 0;onIwithstanding;aybe,eanwhiAore0;!ovB;! aboW;deed,steX;en0;ce;or2u0;lArther0;!moL; 0ev3;examp0good,suJ;le;n1v0;er; mas0ough;se;e0irect1; 1finite0;ly;juAtrop;ackw2y 0;far,n0;ow;ard; DbroCd nauseam,gBl6ny3part,s2t 0w4;be6l0mo6wor6;arge,ea5; soon,ide;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori",Conjunction:"true¦aDb9cuz,how7in caCno6o5p4supposing,t1wh0yet;eth7ile;h0o;eref8o0;!uB;lus,rovided that;r,therwi6; matt1r;!ev0;er;e0ut;cau1f0;ore;se;lthou1nd,s 0;far as,if;gh",Currency:"true¦$,aud,bQcOdJeurIfHgbp,hkd,iGjpy,kElDp8r7s3usd,x2y1z0¢,£,¥,ден,лв,руб,฿,₡,₨,€,₭,﷼;lotyQł;en,uanP;af,of;h0t5;e0il5;k0q0;elK;oubleJp,upeeJ;e2ound st0;er0;lingG;n0soF;ceEnies;empi7i7;n,r0wanzaCyatC;!onaBw;ls,nr;ori7ranc9;!os;en3i2kk,o0;b0ll2;ra5;me4n0rham4;ar3;e0ny;nt1;aht,itcoin0;!s","Adj|Present":"true¦a00bluZcRdMeKfHhollGidNlEmCnarrGoBp9qua8r7s4t2utt3w0;aIet,ound,ro0;ng,ug01;end0hin,op;er;e1l0mooth,our,pa8u8;i2ow;cu6daVlNpaJ;eplicaUigV;ck;aDr0;eseOime,ompt;bscu1pen,wn;atu0eLodeD;re;ay,eJi0;gNve;ow;i1r0;ee,inge;rm;l0mpty,xpress;abo4ic7;amp,e2i1oub0ry;le;ffu8r5;fu7libe0;raB;l4o0;mple9n2ol,rr1unterfe0;it;ect;juga6sum5;e1o0;se;an;nt;lig2pproxi0;ma0;te;ht",Comparable:"true¦0:3C;1:3G;2:3R;3:2E;a3Vb3Dc31d2Re2Kf28g1Wh1Mi1Fj1Ek1Bl14m0Yn0To0Sp0Jqu0Hr08sJtEuDvBw5y4za0R;el11ou3B;a8e6hi1Hi4ry;ck0Dde,l4n2ry,se;d,y;a4i3U;k,ry;nti35ry;a4erda1ulgar;gue,in,st;g0pcomi32;a7en2Uhi6i5ough,r4;anqu29en2ue;dy,g37me0ny,r03;ck,rs25;ll,me,rt,wd3J;aRcarQePhNiMkin0BlImGoEpDt7u5w4;eet,ift;b4dd0Vperfi1Xrre25;sta23t3;a8e7iff,r5u4;pUr2;a4ict,o2Q;ig2Xn0N;a2ep,rn;le,rk;e1Pi2Xright0;ci1Wft,l4on,re;emn,id;a4el0;ll,rt;e6i4y;g2Om4;!y;ek,nd2U;ck,l0mp3;a4iRort,rill,y;dy,l01rp;ve0Jxy;ce,y;d,fe,int0l1Fv0V;a9e7i6o4ude;mantic,o17sy,u4;gh,nd;ch,pe,tzy;a4d,mo0A;dy,l;gg5ndom,p4re,w;id;ed;ai1i4;ck,et;hoBi1DlAo9r6u4;ny,r4;e,p3;egna1ic5o4;fouSud;ey,k0;liXor;ain,easa1;ny;dd,i0ld,ranL;aive,e6i5o4;b3isy,rm0Wsy;ce,mb3;a4w;r,t;ad,e6ild,o5u4;nda0Zte;ist,o2;a5ek,l4;low;s0ty;a8ewd,i7o4ucky;f0Hn5o13u4ve0w0Xy0L;d,sy;e0g;ke0tt3ve0;me,r4te;ge;e5i4;nd;en;ol0ui1C;cy,ll,n4;s7t4;e4ima5;llege1rmedia4;te;ecu4ta1;re;aBe8i7o6u4;ge,m4ng1E;b3id;me0t;gh,l0;a4fVsita1;dy,v4;en0y;nd15ppy,r4;d,sh;aEenDhBiAl9oofy,r4;a7e6is0o4ue12;o4ss;vy;at,en,y;nd,y;ad,ib,ooE;a1d2;a4o4;st0;t3uiS;u2y;aDeeb3i9lat,o7r6u4;ll,n4r0S;!ny;aDesh,iend0;a4rmEul;my;erce5nan4;ciB;! ;le;ir,ke,n08r,st,ul4;ty;a7erie,sse5v4xtre0G;il;nti4;al;r5s4;tern,y;ly,th0;aCe9i6ru5u4;ll,mb;nk;r5vi4;ne;e,ty;a4ep,nB;d4f,r;!ly;ppVrk;aDhAl8o6r5u4;dd0r0te;isp,uel;ar4ld,mmon,st0ward0zy;se;e4ou2;ar,vO;e4il0;ap,e4;sy;gey,lm,ri4;ng;aJiHlEoCr6u4;r0sy;ly;a8i5o4;ad,wn;g5llia1;nt;ht;sh,ve;ld,un4;cy;a5o4ue;nd,o2;ck,nd;g,tt4;er;d,ld,w2;dy;bsu7ng6we4;so4;me;ry;rd",Infinitive:"true¦0:8U;1:8H;2:9C;3:90;4:81;5:7O;6:98;7:83;8:9F;9:91;A:9G;B:8W;C:7V;D:7R;E:7L;F:88;a81b7Ec6Od5Ge4Ef44g40h3Wi3Cj39k36l2Xm2Qnou3Vo2Lp24qu23r19s08tWuRvPwG;aMeLiJrG;eHiG;ng,te;ak,st4;d5e7CthG;draw,er;a2d,ep;i2ke,nGrn;d0t;aGie;li9Bni8ry;nGplift;cov0dHear7IlGplug,tie,ve84;ea8o3K;erGo;go,sta9Dval93whelm;aPeNhKoJrG;aGemb4;ffi3Fmp4nsG;aCpi7;pp4ugh5;aHiHrGwaD;eat5i2;nk;aGll,m8Z;ch,se;ck4ilor,keGmp0r7M;! paD;a0Fc0Ee0Ch08i06l04m03n02o00pVquUtNuIwG;all70e2EiG;m,ng;bIccumb,ffHggeBmm90p2FrG;mouFvi2;er,i3;li7Zmer9siGveD;de,st;aKe7SiIrG;ang4eGi2;ng20w;fGnW;f5le;gg0rG;t4ve;a3Ri8;awn,eJiIlHoGri6A;il,of;ay,it;ll,t;ak,nd;lGot6Lw;icEve;eak,i0K;a8ugg4;aGiA;m,y;ft,nGt;g,k;aIi5EoHriGun;nk,v5Q;ot,rt5;ke,rp5tt0ve;eGll,nd,que7Iv0w;!k,m;aven9ul7W;dd5tis17y;att4eHip5oG;am,ut;a05b03c01d00fXgroup,heaWiVlTmSnRpPq30sLtJvG;amp,eHiGo2P;sEve;l,rt;i7rG;ie2ofE;eFiItGurfa3;aDo1VrG;a5TiCuctu7;de,gn,st;el,hra1lGreseF;a3e66;d0ew,o02;a5Oe2Vo2;a6eFiGoad,y;e2nq3Fve;mbur1nf2O;r1t;inHleCocus,re8uG;el,rbi8;an3e;aCu3;ei2k7Ela3IoGyc4;gni57nci4up,v0;oot,uG;ff;ct,d,liG;se,ze;a8en5Nit,o6;aUerSiRlumm0UoQrIuG;b3Jke,ni8rGt;poDs6S;eKoG;cId,fe33hibEnoHpo1sp0truAvG;e,iAo4R;un3;la34u7;a5Ec1NdHf0ocSsup0EvG;a5JeF;etermi41iC;a5Brt4T;er3npoiF;cei2fo3Bi8mea6plex,sGvaA;eve7iB;mp0n13rGtrol,ve,y;a5Pt5L;bser2cJpIutHverGwe;lap,s15tu65u1;gr4Mnu1Wpa3;era6i3Rpo1;cupy;aLe08iHoGultiply;leBu60;micInHsG;pla3s;ce,g4us;!k;im,ke,na9;aNeJiGo1u34;e,ke,ng0quGv5;eGi62;fy;aInG;d,gG;th5;rn,ve;ng20u19;eHnG;e3Low;ep;o43uG;gg4xtaG;po1;gno7mUnG;cSdQfPgeBhOitia6ju7q0YsMtIun5OvG;eGo0N;nt,st;erHimi5LoxiOrG;odu3uA;aCn,prGru5L;et;iBpi7tGu7;il,ruC;abEibE;eBo25u1;iGul9;ca6;i6luA;b57mer1pG;aDer44ly,oHrG;is5Io2;rt,se,veG;ri8;aIear,iGoiBuD;de,jaGnd0;ck;mp0ng,pp5ve;ath0et,i2le1PoIrG;aGow;b,pp4ze;!ve4O;ast5er3Ji54lOorJrHuG;lf3Rr3N;ee2ZolG;ic;b3CeIfeEgGs4A;eGi2;!t;clo1go,sGwa4G;had2X;ee,i2L;a0FdEl0Dm08nQquip,rPsOt3CvMxG;cKeDha4iJpHtG;ing0Pol;eGi7loEo1un9;ct,di6;st,t;luA;alua6oG;ke,l2;chew,pou1tab11;a1u4F;aWcTdRfQgOhan3joy,lNqMrLsuKtIvG;e0TisG;a9i4K;er,i3rG;a2Jen2XuB;e,re;i2Vol;ui7;ar9iB;a9eGra2ulf;nd0;or3;ang0oGu7;r1w;lo1ou0ArHuG;mb0;oa2Ly3Y;b4ct;bHer9pG;hasi1Xow0;a0Sody,rG;a3oiG;d0l;ap1eCuG;ci3Ode;rGt;ma0Mn;a0Me01iIo,rGwind4;aw,ed9oG;p,wn;agno1e,ff0g,mi29sJvG;eGul9;rGst;ge,t;ab4bTcNlod9mant4pLru3GsKtG;iGoDu2W;lHngG;ui8;!l;ol2uaA;eGla3o1ro2;n1r1;a17e2WlJoHuG;ss;uGv0;ra9;aGo1;im;a37ur1;af5bXcRduCep5fPliOmLnJpIra1Uta1OvG;eGol2;lop;aDiCoD;oGy;te,un3;eHoG;li8;an;mEv0;a3i03oGraud,y;rm;ei2iKoIrG;ee,yG;!pt;de,mGup4;missi2Tpo1;de,ma6ph0;aHrief,uG;g,nk;rk;mp5rk5uF;a03ea1h01i00lZoHrGurta18;a2ea6ipp4;ales3eWhabEinciAllVmTnGrroA;cQdNfLju7no6qu0sJtIvG;eGin3;ne,r9;a0Iin24ribu6;er2iGoli26pi7titu6ult;d0st;iGroFu1;de,gu7rm;eHoG;ne;mn,n1;eGluA;al,i2;buBe,men3pG;e6ly;eCiAuA;r3xiB;ean1iQ;rcumveFte;eGoo1;ri8w;ncGre5t0ulk;el;aZeTiSlPoNrJuG;iHrGy;st,y;ld;aIeHiGoad5;ng;astfeKed;ke;il,l11mbaGrrNth0;rd;aHeGow;ed;ze;de,nd;!come,gKha2liJnd,queaIstHtGwild0;ray;ow;th;e2tt4;in;bysEckfi7ff4tG;he;it;b13c0Rd0Iffix,gr0Hl0Dm09n03ppZrXsQttNuLvIwaG;it,k5;en;eDoG;id;rt;gGto06;meF;aHeBraC;ct;ch;pi7sHtoG;ni8;aIeGi03u7;mb4rt;le;il;re;g0Fi1ou1rG;an9i2;eaIly,oiFrG;ai1o2;nt;r,se;aKiOnHtG;icipa6;eHoGul;un3y;al;ly1;aHu1;se;lgaGze;ma6;iIlG;e9oGuA;t,w;gn;ee;aZjLmiIoHsoG;rb;pt,rn;niGt;st0;er;ouHuB;st;rn;cJhie2knowled9quiGtiva6;es3re;ce;ge;eMomIrHusG;e,tom;ue;moHpG;any,li8;da6;te;pt;andMet,iAoIsG;coIol2;ve;li8rt,uG;nd;sh;de;on",Modal:"true¦c5lets,m4ought3sh1w0;ill,o5;a0o4;ll,nt;! to,a;ight,ust;an,o0;uld",Participle:"true¦f4g3h2less6s1w0;ors5ritt5;e4h5;ast3e2;iv2one;l2r0;ight0;en;own","Adj|Gerund":"true¦0:2C;1:2E;2:22;3:20;4:1X;5:24;a1Zb1Uc1Cd0Ze0Uf0Kg0Eh0Di07jud1Sl04m01oXpTrNsCt7up6veWw0Lyiel4;lif0sZ;aUe9hr7i3ouc22r6wis0;eZoub2us0yi1;ea0Ji6;l2vi1;l2mp0;atisf28creec1Xhoc0Bkyrocke0lo0ZoEpDt9u7we6;e0Yl2;pp1Gr6;gi1pri5roun4;a7ea1Zi6ri07un18;mula0r3;gge3r6;t2vi1;ark2ee4;a6ot1O;ki1ri1;aAe7ive0o6us1M;a3l2;defi0Zfres1Kig0ZlaCs0v6war4;ea2itali6ol0M;si1zi1;gi1ll1Smb2vi1;a1Rerple8ier19lun14r6un1F;e6o0X;ce4s5vai2;xi1;ffs8pKut7ver6wi1;arc1Blap0Dri4whel1H;goi1l1Lst0U;et0;eande3i7o0Bu6;mb2;s5tiga0;a7i6o08;fesa07mi0vi1;cHg0Rs0;mAn6rri08;c8s7te13vi6;go1Cti1;pi3ul0;orpo1Area5;po5;arrowi1ea2orrif17umilia0;lAr6;a0ipWo7uel6;i1li1;undbrea6wi1;ki1;a3ea0W;aEetc0Pit0lBo9r7ulf6;il2;ee0Vigh6ust0Z;te01;r6un4;ebo4th0E;a7o6;a0we3;mi1tte3;di1scina0;m9n7x6;ac0ci0is0plo4;ab2c6du3ga01sQ;han0oura00;barras5erZpowe3;aHeAi6;s6zz0K;appoin0gus0sen0t6;r6u0L;ac0es5;biliBcAfiKgra4m9pres5ser8v6;asAelo6;pi1;vi1;an4eaG;a0BliF;ta0;maMri1sYun0;aMhJlo5o6ripp2ut0;mCn6rrespon4;cerAf9spi3t6vinO;in7r6;as0ibu0ol2;ui1;lic0u5;ni1;fAm9p6;e7ro6;mi5;l2ti1;an4;or0;a6ea0il2;llen6rO;gi1;lMptiva0;e9in4lin4o7rui5u6;d4st2;i2oJri1un6;ci1;coH;bsoOcJgonHlarGmEppea2rCs6;pi3su3to6;n7un4;di1;is6;hi1;ri1;res0;li1;a9u5;si1;mi1;i6zi1;zi1;c6hi1;ele7ompan6;yi1;ra0;ti1;rbi1;ng","Adj|Past":"true¦0:2T;1:2K;2:2N;3:23;a2Db28c1Qd1Ae14f0Zgift0h0Wi0Pj0Oknown,l0Lm0Gn0Eo0Bp04qua03rUsEtAu8v6w4;arp0ea4or6;kIth2N;a4e0V;ri0;ni4pd1s0;fi0t0;ar6hreatDr4wi2M;a4ou18;ck0in0pp0;get0ni1K;aHcaGeFhEimDm01oak0pBt7u4;bsid23gge2Hs4;pe4ta1O;ct0nd0;at0e6r4uV;ength4ip0;en0;am0reotyp0;eci4ik0ott0;al1Vfi0;pIul1;ar0ut;al0c1Fle2t1N;r0tt21;t4ut0;is3ur1;aBe4;c8duc0f19g7l1new0qu6s4;pe2t4;or0ri2;e1Yir0;ist1Tul1;eiv0o4;mme0Ard0v1R;lli0ti3;li3;arallel0l8o7r4ump0;e5o4;c0Ilo0Hnou1Ppos0te2;fe0Koc9pZ;i1Cli0P;a4e15;nn0;c5rgan17verlo4;ok0;cupi0;e4ot0;ed0gle2;a6e5ix0o4;di3t0E;as0Nlt0;n4rk0;ag0ufact0L;eft,i5o4;ad0st;cens0mit0st0;agg0us0K;mp9n4sol1;br0debt0f7t4volv0;e4ox0C;gr1n4re14;d0si3;e2oW;li0oMrov0;amm0We1o4;ok0r4;ri3;aNe7i6lavo06ocus0r4;a4i0;ct04g0Im0;niVx0;ar0;duc1n8quipp0stabliTx4;p4te6;a5e4;ct0rie0O;nd0;ha0MsW;aIeAi4;gni3miniMre2s4;a7c6grun01t4;o4rBurb0;rt0;iplPou05;bl0;cenTdMf8lay0pr7ra6t4velop0;a4ermM;il0;ng0;ess0;e5o4;rm0;rr0;mag0t0;alcul1eHharg0lGo9r6u4;lt4stomR;iv1;a5owd0u4;sh0;ck0mp0;d0lo9m6n4ok0vW;centr1s4troll0;idUolid1;b5pl4;ic1;in0;ur0;assi3os0;lebr1n6r4;ti3;fi0;tralB;a7i6o4urn0;il0r0t4und;tl0;as0;laJs0;bandon0cKdHffe2lEnCppAss8u4ward0;g5thor4;iz0;me4;nt0;o6u4;m0r0;li0re4;ci1;im1ticip1;at0;leg0t4;er0;ct0;ju5o7va4;nc0;st0;ce4knowledg0;pt0;ed","Person|Verb":"true¦b1chu2drew,grant,ja2ma0ollie,pat,rob,sue,wade;ck,rk;ob,u0;ck","Person|Place":"true¦a5darw6h3jordan,k2orlando,s0victo7;a0ydney;lvador,mara,ntiago;ent,obe;amil0ous0;ton;lexand1ust0;in;ria","Person|Date":"true¦a2j0sep;an0une;!uary;p0ugust,v0;ril"};const yr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",vr=yr.split("").reduce((function(e,t,n){return e[t]=n,e}),{});var wr=function(e){if(void 0!==vr[e])return vr[e];let t=0,n=1,a=36,r=1;for(;n=0;n--,r*=36){let a=e.charCodeAt(n)-48;a>10&&(a-=7),t+=a*r}return t};var kr=function(e){const t=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n{let o=e.nodes[a];"!"===o[0]&&(t.push(r),o=o.slice(1));const i=o.split(/([A-Z0-9,]+)/g);for(let o=0;o{const n=t.split("¦");return e[n[0]]=n[1],e},{}),n={};return Object.keys(t).forEach((function(e){const a=Ar(t[e]);"true"===e&&(e=!0);for(let t=0;t{let t=Er(br[e]);Gr.test(e)?Object.keys(t).forEach(t=>{if(xr[t]=e,"Noun|Verb"===e){let e=Nr(t,Cr);xr[e]="Plural|Verb"}}):Object.keys(t).forEach(t=>{Dr[t]=e})}),[":(",":)",":P",":p",":O",";(",";)",";P",";p",";O",":3",":|",":/",":\\",":$",":*",":@",":-(",":-)",":-P",":-p",":-O",":-3",":-|",":-/",":-\\",":-$",":-*",":-@",":^(",":^)",":^P",":^p",":^O",":^3",":^|",":^/",":^\\",":^$",":^*",":^@","):","(:","$:","*:",")-:","(-:","$-:","*-:",")^:","(^:","$^:","*^:","<3","Dr[e]="Emoticon"),delete Dr[""],delete Dr.null,delete Dr[" "];const Tr="Adjective";var Br={beforeTags:{Determiner:Tr,Possessive:Tr},afterTags:{Adjective:Tr},beforeWords:{seem:Tr,seemed:Tr,seems:Tr,feel:Tr,feels:Tr,felt:Tr,appear:Tr,appears:Tr,appeared:Tr,also:Tr,over:Tr,under:Tr,too:Tr,it:Tr,but:Tr,still:Tr,really:Tr,quite:Tr,well:Tr,very:Tr,deeply:Tr,profoundly:Tr,extremely:Tr,so:Tr,badly:Tr,mostly:Tr,totally:Tr,awfully:Tr,rather:Tr,nothing:Tr,something:Tr,anything:Tr},afterWords:{too:Tr,also:Tr,or:Tr}};const Or="Gerund";var zr={beforeTags:{Adverb:Or,Preposition:Or,Conjunction:Or},afterTags:{Adverb:Or,Possessive:Or,Person:Or,Pronoun:Or,Determiner:Or,Copula:Or,Preposition:Or,Conjunction:Or,Comparative:Or},beforeWords:{been:Or,keep:Or,continue:Or,stop:Or,am:Or,be:Or,me:Or,began:Or,start:Or,starts:Or,started:Or,stops:Or,stopped:Or,help:Or,helps:Or,avoid:Or,avoids:Or,love:Or,loves:Or,loved:Or,hate:Or,hates:Or,hated:Or},afterWords:{you:Or,me:Or,her:Or,him:Or,them:Or,their:Or,it:Or,this:Or,there:Or,on:Or,about:Or,for:Or}};var Vr={beforeTags:Object.assign({},Br.beforeTags,zr.beforeTags,{PresentTense:"Gerund",Plural:"Gerund"}),afterTags:Object.assign({},Br.afterTags,zr.afterTags,{Singular:"Adjective"}),beforeWords:Object.assign({},Br.beforeWords,zr.beforeWords,{is:"Adjective",was:"Adjective"}),afterWords:Object.assign({},Br.afterWords,zr.afterWords,{to:"Gerund",not:"Gerund",the:"Gerund"})};const Fr="Singular";var $r={beforeTags:{Determiner:Fr,Possessive:Fr,Acronym:Fr,Noun:Fr,Adjective:Fr,PresentTense:Fr,Gerund:Fr,PastTense:Fr,Infinitive:Fr,Date:Fr},afterTags:{Value:Fr,Modal:Fr,Copula:Fr,PresentTense:Fr,PastTense:Fr,Demonym:Fr},beforeWords:{the:Fr,with:Fr,without:Fr,of:Fr,for:Fr,any:Fr,all:Fr,on:Fr,cut:Fr,cuts:Fr,save:Fr,saved:Fr,saves:Fr,make:Fr,makes:Fr,made:Fr,minus:Fr,plus:Fr,than:Fr,another:Fr,versus:Fr,neither:Fr,favorite:Fr,best:Fr,daily:Fr,weekly:Fr,linear:Fr,binary:Fr,mobile:Fr,lexical:Fr,technical:Fr,computer:Fr,scientific:Fr,formal:Fr},afterWords:{of:Fr,system:Fr,aid:Fr,method:Fr,utility:Fr,tool:Fr,reform:Fr,therapy:Fr,philosophy:Fr,room:Fr,authority:Fr,says:Fr,said:Fr,wants:Fr,wanted:Fr}};const Sr={beforeTags:{Determiner:void 0}};var Hr={beforeTags:Object.assign({},Br.beforeTags,$r.beforeTags,Sr.beforeTags),afterTags:Object.assign({},Br.afterTags,$r.afterTags),beforeWords:Object.assign({},Br.beforeWords,$r.beforeWords,{are:"Adjective",is:"Adjective",was:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Br.afterWords,$r.afterWords)};const Jr={Adverb:"PastTense",Pronoun:"PastTense",ProperNoun:"PastTense",Auxiliary:"PastTense",Noun:"PastTense"},Mr={Possessive:"PastTense",Pronoun:"PastTense",Determiner:"PastTense",Adverb:"PastTense",Comparative:"PastTense",Date:"PastTense"},Lr={be:"PastTense",get:"PastTense",had:"PastTense",has:"PastTense",have:"PastTense",been:"PastTense",it:"PastTense",as:"PastTense",for:"Adjective"},Wr={by:"PastTense",back:"PastTense",out:"PastTense",in:"PastTense",up:"PastTense",down:"PastTense",for:"PastTense",the:"PastTense",with:"PastTense",as:"PastTense",on:"PastTense"};var Kr={beforeTags:Object.assign({},Br.beforeTags,Jr),afterTags:Object.assign({},Br.afterTags,Mr),beforeWords:Object.assign({},Br.beforeWords,Lr),afterWords:Object.assign({},Br.afterWords,Wr)};const qr="Infinitive";var Ur={beforeTags:{Modal:qr,Adverb:qr,Negative:qr,Plural:qr},afterTags:{Determiner:qr,Adverb:qr,Possessive:qr,Preposition:qr},beforeWords:{i:qr,we:qr,you:qr,they:qr,to:qr,please:qr,will:qr,have:qr,had:qr,would:qr,could:qr,should:qr,do:qr,did:qr,does:qr,can:qr,must:qr,us:qr,me:qr,he:qr,she:qr,it:qr,being:qr},afterWords:{the:qr,me:qr,you:qr,him:qr,her:qr,them:qr,it:qr,a:qr,an:qr,up:qr,down:qr,by:qr,out:qr,off:qr,when:qr,all:qr,to:qr,because:qr,although:qr,before:qr,how:qr,otherwise:qr,though:qr,yet:qr}};const Rr={afterTags:{Noun:"Adjective",Conjunction:void 0}};var Zr={beforeTags:Object.assign({},Br.beforeTags,Ur.beforeTags,{Adverb:void 0,Negative:void 0}),afterTags:Object.assign({},Br.afterTags,Ur.afterTags,Rr.afterTags),beforeWords:Object.assign({},Br.beforeWords,Ur.beforeWords,{have:void 0,had:void 0,not:void 0,went:"Adjective",goes:"Adjective",got:"Adjective",be:"Adjective"}),afterWords:Object.assign({},Br.afterWords,Ur.afterWords,{to:void 0})};const Qr={Copula:"Gerund",PastTense:"Gerund",PresentTense:"Gerund",Infinitive:"Gerund"},_r={},Xr={are:"Gerund",were:"Gerund",be:"Gerund",no:"Gerund",without:"Gerund",you:"Gerund",we:"Gerund",they:"Gerund",he:"Gerund",she:"Gerund",us:"Gerund",them:"Gerund"},Yr={the:"Gerund",this:"Gerund",that:"Gerund",me:"Gerund",us:"Gerund",them:"Gerund"};var eo={beforeTags:Object.assign({},zr.beforeTags,$r.beforeTags,Qr),afterTags:Object.assign({},zr.afterTags,$r.afterTags,_r),beforeWords:Object.assign({},zr.beforeWords,$r.beforeWords,Xr),afterWords:Object.assign({},zr.afterWords,$r.afterWords,Yr)};var to={beforeTags:Object.assign({},Ur.beforeTags,$r.beforeTags,{Adjective:"Singular"}),afterTags:Object.assign({},Ur.afterTags,$r.afterTags,{ProperNoun:"Infinitive",Gerund:"Infinitive",Adjective:"Infinitive",Copula:"Singular"}),beforeWords:Object.assign({},Ur.beforeWords,$r.beforeWords,{is:"Singular",was:"Singular",of:"Singular"}),afterWords:Object.assign({},Ur.afterWords,$r.afterWords,{instead:"Infinitive",about:"Infinitive",to:null,by:null,in:null})};const no="Person";var ao={beforeTags:{Honorific:no,Person:no,Preposition:no},afterTags:{Person:no,ProperNoun:no,Verb:no},ownTags:{ProperNoun:no},beforeWords:{hi:no,hey:no,yo:no,dear:no,hello:no},afterWords:{said:no,says:no,told:no,tells:no,feels:no,felt:no,seems:no,thinks:no,thought:no,spends:no,spendt:no,plays:no,played:no,sing:no,sang:no,learn:no,learned:no,wants:no,wanted:no}};const ro="Month",oo={beforeTags:{Date:ro,Value:ro},afterTags:{Date:ro,Value:ro},beforeWords:{by:ro,in:ro,on:ro,during:ro,after:ro,before:ro,between:ro,until:ro,til:ro,sometime:ro,of:ro,this:ro,next:ro,last:ro,previous:ro,following:ro},afterWords:{sometime:ro,in:ro,of:ro,until:ro,the:ro}};var io={beforeTags:Object.assign({},ao.beforeTags,oo.beforeTags),afterTags:Object.assign({},ao.afterTags,oo.afterTags),beforeWords:Object.assign({},ao.beforeWords,oo.beforeWords),afterWords:Object.assign({},ao.afterWords,oo.afterWords)};const so={Place:"Place"},lo={Place:"Place",Abbreviation:"Place"},uo={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place"},co={in:"Place",by:"Place",near:"Place",from:"Place",to:"Place",government:"Place",council:"Place",region:"Place",city:"Place"};const ho={"Adj|Gerund":Vr,"Adj|Noun":Hr,"Adj|Past":Kr,"Adj|Present":Zr,"Noun|Verb":to,"Noun|Gerund":eo,"Person|Noun":{beforeTags:Object.assign({},$r.beforeTags,ao.beforeTags),afterTags:Object.assign({},$r.afterTags,ao.afterTags),beforeWords:Object.assign({},$r.beforeWords,ao.beforeWords,{i:"Infinitive",we:"Infinitive"}),afterWords:Object.assign({},$r.afterWords,ao.afterWords)},"Person|Date":io,"Person|Verb":{beforeTags:Object.assign({},ao.beforeTags,Ur.beforeTags),afterTags:Object.assign({},ao.afterTags,Ur.afterTags),beforeWords:Object.assign({},ao.beforeWords,Ur.beforeWords),afterWords:Object.assign({},ao.afterWords,Ur.afterWords)},"Person|Place":{beforeTags:Object.assign({},so,ao.beforeTags),afterTags:Object.assign({},lo,ao.afterTags),beforeWords:Object.assign({},uo,ao.beforeWords),afterWords:Object.assign({},co,ao.afterWords)}},go=(e,t)=>{let n=Object.keys(e).reduce((t,n)=>(t[n]="Infinitive"===e[n]?"PresentTense":"Plural",t),{});return Object.assign(n,t)};ho["Plural|Verb"]={beforeWords:go(ho["Noun|Verb"].beforeWords,{}),afterWords:go(ho["Noun|Verb"].afterWords,{his:"PresentTense",her:"PresentTense",its:"PresentTense",in:null,to:null}),beforeTags:go(ho["Noun|Verb"].beforeTags,{Conjunction:"PresentTense",Noun:void 0,ProperNoun:"PresentTense"}),afterTags:go(ho["Noun|Verb"].afterTags,{Gerund:"Plural",Noun:"PresentTense",Value:"PresentTense"})};var mo=ho;const po="Adjective",fo="Infinitive",bo="PresentTense",yo="Singular",vo="PastTense",wo="Adverb",ko="Plural",Po="Verb",Ao="LastName",Eo="Participle";var jo=[null,null,{ea:yo,ia:"Noun",ic:po,ly:wo,"'n":Po,"'t":Po},{oed:vo,ued:vo,xed:vo," so":wo,"'ll":"Modal","'re":"Copula",azy:po,eer:"Noun",end:Po,ped:vo,ffy:po,ify:fo,ing:"Gerund",ize:fo,ibe:fo,lar:po,mum:po,nes:bo,nny:po,ous:po,que:po,rol:yo,sis:yo,ogy:yo,oid:yo,ian:yo,zes:bo,eld:vo,ken:Eo,ven:Eo,ten:Eo,ect:fo,ict:fo,ign:fo,ful:po,bal:po},{amed:vo,aped:vo,ched:vo,lked:vo,rked:vo,reed:vo,nded:vo,mned:po,cted:vo,dged:vo,ield:yo,akis:Ao,cede:fo,chuk:Ao,czyk:Ao,ects:bo,ends:Po,enko:Ao,ette:yo,wner:yo,fies:bo,fore:wo,gate:fo,gone:po,ices:ko,ints:ko,ruct:fo,ines:ko,ions:ko,less:po,llen:po,made:po,nsen:Ao,oses:bo,ould:"Modal",some:po,sson:Ao,tion:yo,tage:"Noun",ique:yo,tive:po,tors:"Noun",vice:yo,lier:yo,fier:yo,wned:vo,gent:yo,tist:yo,pist:yo,rist:yo,mist:yo,yist:yo,vist:yo,lite:yo,site:yo,rite:yo,mite:yo,bite:yo,mate:yo,date:yo,ndal:yo,vent:yo,uist:yo,gist:yo,note:yo,cide:yo,wide:po,vide:fo,ract:fo,duce:fo,pose:fo,eive:fo,lyze:fo,lyse:fo,iant:po,nary:po},{elist:yo,holic:yo,phite:yo,tized:vo,urned:vo,eased:vo,ances:ko,bound:po,ettes:ko,fully:wo,ishes:bo,ities:ko,marek:Ao,nssen:Ao,ology:"Noun",osome:yo,tment:yo,ports:ko,rough:po,tches:bo,tieth:"Ordinal",tures:ko,wards:wo,where:wo,archy:"Noun",pathy:"Noun",opoly:"Noun",embly:"Noun",phate:"Noun",ndent:yo,scent:yo,onist:yo,anist:yo,alist:yo,olist:yo,icist:yo,ounce:fo,iable:po,borne:po,gnant:po,inant:po,igent:po,atory:po,rient:yo,dient:yo},{auskas:Ao,parent:yo,cedent:yo,ionary:yo,cklist:yo,keeper:"Actor",logist:"Actor",teenth:"Value"},{opoulos:Ao,borough:"Place",sdottir:Ao}];const Io="Adjective";var No=[null,null,{},{neo:"Noun",bio:"Noun","de-":"Verb","re-":"Verb","un-":"Verb"},{anti:"Noun",auto:"Noun",faux:Io,hexa:"Noun",kilo:"Noun",mono:"Noun",nano:"Noun",octa:"Noun",poly:"Noun",semi:Io,tele:"Noun","pro-":Io,"mis-":"Verb","dis-":"Verb","pre-":Io},{anglo:"Noun",centi:"Noun",ethno:"Noun",ferro:"Noun",grand:"Noun",hepta:"Noun",hydro:"Noun",intro:"Noun",macro:"Noun",micro:"Noun",milli:"Noun",nitro:"Noun",penta:"Noun",quasi:Io,radio:"Noun",tetra:"Noun","omni-":Io,"post-":Io},{pseudo:Io,"extra-":Io,"hyper-":Io,"inter-":Io,"intra-":Io,"deca-":Io},{electro:"Noun"}];const Go="Adjective",Do="Infinitive",xo="PresentTense",Co="Singular",To="PastTense",Bo="Expression",Oo="LastName";var zo={a:[[/.[aeiou]na$/,"Noun","tuna"],[/.[oau][wvl]ska$/,Oo],[/.[^aeiou]ica$/,Co,"harmonica"],[/^([hyj]a+)+$/,Bo,"haha"]],c:[[/.[^aeiou]ic$/,Go]],d:[[/[aeiou](pp|ll|ss|ff|gg|tt|rr|bb|nn|mm)ed$/,To,"popped"],[/.[aeo]{2}[bdgmnprvz]ed$/,To,"rammed"],[/.[aeiou][sg]hed$/,To,"gushed"],[/.[aeiou]red$/,To,"hired"],[/.[aeiou]r?ried$/,To,"hurried"],[/[^aeiou]ard$/,Co,"steward"],[/[aeiou][^aeiou]id$/,Go,""],[/.[vrl]id$/,Go,"livid"],[/..led$/,To,"hurled"],[/.[iao]sed$/,To,""],[/[aeiou]n?[cs]ed$/,To,""],[/[aeiou][rl]?[mnf]ed$/,To,""],[/[aeiou][ns]?c?ked$/,To,"bunked"],[/[aeiou]gned$/,To],[/[aeiou][nl]?ged$/,To],[/.[tdbwxyz]ed$/,To],[/[^aeiou][aeiou][tvx]ed$/,To],[/.[cdflmnprstv]ied$/,To,"emptied"]],e:[[/.[lnr]ize$/,Do,"antagonize"],[/.[^aeiou]ise$/,Do,"antagonise"],[/.[aeiou]te$/,Do,"bite"],[/.[^aeiou][ai]ble$/,Go,"fixable"],[/.[^aeiou]eable$/,Go,"maleable"],[/.[ts]ive$/,Go,"festive"],[/[a-z]-like$/,Go,"woman-like"]],h:[[/.[^aeiouf]ish$/,Go,"cornish"],[/.v[iy]ch$/,Oo,"..ovich"],[/^ug?h+$/,Bo,"ughh"],[/^uh[ -]?oh$/,Bo,"uhoh"],[/[a-z]-ish$/,Go,"cartoon-ish"]],i:[[/.[oau][wvl]ski$/,Oo,"polish-male"]],k:[[/^(k){2}$/,Bo,"kkkk"]],l:[[/.[gl]ial$/,Go,"familial"],[/.[^aeiou]ful$/,Go,"fitful"],[/.[nrtumcd]al$/,Go,"natal"],[/.[^aeiou][ei]al$/,Go,"familial"]],m:[[/.[^aeiou]ium$/,Co,"magnesium"],[/[^aeiou]ism$/,Co,"schism"],[/^[hu]m+$/,Bo,"hmm"],[/^\d+ ?[ap]m$/,"Date","3am"]],n:[[/.[lsrnpb]ian$/,Go,"republican"],[/[^aeiou]ician$/,"Actor","musician"],[/[aeiou][ktrp]in'$/,"Gerund","cookin'"]],o:[[/^no+$/,Bo,"noooo"],[/^(yo)+$/,Bo,"yoo"],[/^wo{2,}[pt]?$/,Bo,"woop"]],r:[[/.[bdfklmst]ler$/,"Noun"],[/[aeiou][pns]er$/,Co],[/[^i]fer$/,Do],[/.[^aeiou][ao]pher$/,"Actor"],[/.[lk]er$/,"Noun"],[/.ier$/,"Comparative"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,Go],[/[aeiou].*ist$/,Go],[/^[a-z]et$/,"Verb"]],s:[[/.[^aeiou]ises$/,xo],[/.[rln]ates$/,xo],[/.[^z]ens$/,"Verb"],[/.[lstrn]us$/,Co],[/.[aeiou]sks$/,xo],[/.[aeiou]kes$/,xo],[/[aeiou][^aeiou]is$/,Co],[/[a-z]'s$/,"Noun"],[/^yes+$/,Bo]],v:[[/.[^aeiou][ai][kln]ov$/,Oo]],y:[[/.[cts]hy$/,Go],[/.[st]ty$/,Go],[/.[tnl]ary$/,Go],[/.[oe]ry$/,Co],[/[rdntkbhs]ly$/,"Adverb"],[/.(gg|bb|zz)ly$/,Go],[/...lly$/,"Adverb"],[/.[gk]y$/,Go],[/[bszmp]{2}y$/,Go],[/.[ai]my$/,Go],[/[ea]{2}zy$/,Go],[/.[^aeiou]ity$/,Co]]};const Vo="Verb",Fo="Noun";var $o={leftTags:[["Adjective",Fo],["Possessive",Fo],["Determiner",Fo],["Adverb",Vo],["Pronoun",Vo],["Value",Fo],["Ordinal",Fo],["Modal",Vo],["Superlative",Fo],["Demonym",Fo],["Honorific","Person"]],leftWords:[["i",Vo],["first",Fo],["it",Vo],["there",Vo],["not",Vo],["because",Fo],["if",Fo],["but",Fo],["who",Vo],["this",Fo],["his",Fo],["when",Fo],["you",Vo],["very","Adjective"],["old",Fo],["never",Vo],["before",Fo],["a","Singular"],["the",Fo],["been",Vo]],rightTags:[["Copula",Fo],["PastTense",Fo],["Conjunction",Fo],["Modal",Fo]],rightWords:[["there",Vo],["me",Vo],["man","Adjective"],["only",Vo],["him",Vo],["it",Vo],["were",Fo],["took",Fo],["himself",Vo],["went",Fo],["who",Fo],["jr","Person"]]},So={rules:"ig|2ger,ng|2er,hin|3ner,n|1er,ot|2ter,lat|3ter,t|1er,ray|3er,y|ier,ross|4er,im|2mer,m|1er,f|1er,b|1er,er|2,r|1er,p|1er,h|1er,w|1er,k|1er,l|1er,d|1er,e|1r",exceptions:"good|better,bad|worse,wet|3ter,lay|3er,neat|4ter,fat|3ter,mad|3der,sad|3der,wide|4r,late|4r,safe|4r,fine|4r,dire|4r,fake|4r,pale|4r,rare|4r,rude|4r,sore|4r",rev:"arger|4,esser|5,igger|2,impler|5,reer|3,hinner|3,remier|6,urer|3,aucher|5,almer|3,raver|4,uter|3,iviner|5,erier|4,enuiner|6,rosser|4,uger|3,andomer|5,emoter|5,quarer|5,taler|4,iper|3,hiter|4,rther|5,rmer|2,ayer|2,immer|2,somer|4,amer|3,adder|2,nger|2,fer|1,tler|3,cer|2,ber|1,uer|2,bler|3,tter|1,rer|1,ser|2,per|1,her|1,wer|1,ker|1,ner|1,ler|1,ter|1,der|1,ier|y"},Ho={rules:"omoting|4e,haring|3e,ploring|4e,mbining|4e,nviting|4e,belling|3,ntoring|4e,uiding|3e,orging|3e,dhering|4e,alysing|4e,nciling|4e,mpeding|4e,uoting|3e,evoting|4e,nsating|4e,gnoring|4e,roding|3e,iaising|4e,esaling|4e,rowsing|4e,rfering|4e,kating|3e,robing|3e,tponing|4e,mmuting|4e,laning|3e,moking|3e,nfining|4e,nduring|4e,nciting|4e,busing|3e,eleting|4e,esiring|4e,rbating|4e,larging|4e,ploding|4e,haking|3e,hading|3e,biding|3e,udding|2,neating|4e,craping|4e,efuting|4e,thoring|4e,eusing|3e,agining|4e,rekking|3,suading|4e,ubating|4e,ronzing|4e,euvring|4e,bliging|4e,laking|3e,riming|3e,asising|4e,lunging|4e,cilling|3,pinging|4e,hoking|3e,creting|4e,ralling|3,miling|3e,wathing|4e,edoring|4e,odding|2,aloging|4e,rseding|4e,xcusing|4e,halling|3,ialling|3,inuting|4e,xciting|4e,chuting|4e,hrining|4e,eciting|4e,xuding|3e,isusing|4e,uizzing|3,ithing|3e,izzling|4e,haling|3e,dmiring|4e,rsaking|4e,parging|4e,ixating|4e,anuring|4e,iecing|3e,erusing|4e,eething|4e,entring|4e,goating|4e,langing|4e,stining|4e,lescing|4e,erlying|3ie,pleting|4e,ausing|3e,ciding|3e,enging|3e,casing|3e,cising|3e,esiding|4e,uning|2e,delling|3,storing|4e,tiring|3e,leging|3e,piling|3e,tising|3e,ecuting|4e,eduling|4e,uelling|3,liding|3e,uging|2e,celling|3,ubing|2e,laming|3e,ebating|4e,njuring|4e,scaping|4e,truding|4e,chising|4e,vading|3e,shaping|4e,iping|2e,naming|3e,ulging|3e,raking|3e,fling|2e,taping|3e,noting|3e,lading|3e,scaling|4e,riding|3e,rasing|3e,coping|3e,ruling|3e,wining|3e,viding|3e,quiring|4e,velling|3,alyzing|4e,laring|3e,coring|3e,ranging|4e,ousing|3e,puting|3e,vening|3e,idding|2,hining|3e,urging|3e,coding|3e,niting|3e,nelling|3,dising|3e,uising|3e,caring|3e,lapsing|4e,erging|3e,pating|3e,mining|3e,ibuting|4e,coming|3e,paring|3e,taking|3e,hasing|3e,vising|3e,ituting|4e,writing|4e,eezing|3e,piring|3e,luting|3e,voking|3e,iguring|4e,uming|2e,curing|3e,mising|3e,iking|2e,edding|2,luding|3e,suring|3e,rising|3e,ribing|3e,rading|3e,ceding|3e,nsing|2e,kling|2e,fusing|3e,azing|2e,cling|2e,nising|3e,ducing|3e,rcing|2e,gling|2e,easing|3e,uating|3e,lising|3e,lining|3e,mating|3e,mming|1,pling|2e,bbing|1,vating|3e,dling|2e,dating|3e,rsing|2e,dging|2e,tling|2e,turing|3e,icing|2e,acing|2e,gating|3e,gging|1,tating|3e,rring|1,nning|1,uing|1e,bling|2e,iating|3e,cating|3e,aging|2e,osing|2e,ncing|2e,nating|3e,pping|1,lating|3e,tting|1,rating|3e,ving|1e,izing|2e,ing|",exceptions:"being|is,using|2e,making|3e,creating|5e,changing|5e,owing|2e,raising|4e,competing|6e,defining|5e,counselling|7,hiring|3e,filing|3e,controlling|7,totalling|5,infringing|7e,citing|3e,dying|1ie,doping|3e,baking|3e,hoping|3e,refining|5e,exchanging|7e,charging|5e,stereotyping|9e,voting|3e,tying|1ie,discharging|8e,basing|3e,lying|1ie,expediting|7e,typing|3e,breathing|6e,framing|4e,boring|3e,dining|3e,firing|3e,hiding|3e,appraising|7e,tasting|4e,waning|3e,distilling|6,baling|3e,boning|3e,faring|3e,honing|3e,wasting|4e,phoning|4e,luring|3e,propelling|6,timing|3e,wading|3e,abating|4e,compelling|6,vying|1ie,fading|3e,biting|3e,zoning|3e,dispelling|6,pasting|4e,praising|5e,telephoning|8e,daring|3e,waking|3e,shoring|4e,gaming|3e,padding|3,rerouting|6e,fringing|5e,braising|5e,coking|3e,recreating|7e,sloping|4e,sunbathing|7e,overcharging|9e,everchanging|9e,patrolling|6,joking|3e,extolling|5,expelling|5,reappraising|9e,wadding|3,gaping|3e,poking|3e,persevering|8e,pining|3e,recordkeeping|10e,landfilling|7,liming|3e,interchanging|10e,toting|3e,roping|3e,wiring|3e,aching|3e,gassing|3,getting|3,travelling|6,putting|3,sitting|3,betting|3,mapping|3,tapping|3,letting|3,hitting|3,tanning|3,netting|3,popping|3,fitting|3,deterring|5,barring|3,banning|3,vetting|3,omitting|4,wetting|3,plotting|4,budding|3,clotting|4,hemming|3,slotting|4,singeing|5,reprogramming|9,jetting|3,kidding|3,befitting|5,podding|3,wedding|3,donning|3,warring|3,penning|3,gutting|3,cueing|3,refitting|5,petting|3,cramming|4,napping|3,tinning|3",rev:"lan|3ning,egin|4ning,can|3ning,pan|3ning,hin|3ning,kin|3ning,win|3ning,un|2ning,pin|3ning,n|1ing,ounsel|6ling,otal|4ling,abel|4ling,evel|4ling,ancel|5ling,istil|5ling,xcel|4ling,tencil|6ling,piral|5ling,arshal|6ling,nitial|6ling,hrivel|6ling,xtol|4ling,andfil|6ling,trol|4ling,fuel|4ling,model|5ling,nnel|4ling,pel|3ling,l|1ing,ransfer|7ring,lur|3ring,tir|3ring,tar|3ring,pur|3ring,car|3ring,nfer|4ring,efer|4ring,cur|3ring,r|1ing,ermit|5ting,ransmit|7ting,ommit|5ting,nit|3ting,orget|5ting,abysit|6ting,dmit|4ting,hut|3ting,hat|3ting,utfit|5ting,but|3ting,egret|5ting,llot|4ting,mat|3ting,pot|3ting,lit|3ting,emit|4ting,submit|6ting,pit|3ting,rot|3ting,quit|4ting,cut|3ting,set|3ting,t|1ing,tem|3ming,wim|3ming,kim|3ming,um|2ming,rim|3ming,m|1ing,tep|3ping,wap|3ping,top|3ping,hop|3ping,cap|3ping,rop|3ping,rap|3ping,lap|3ping,ip|2ping,p|1ing,ye|2ing,oe|2ing,ie|ying,ee|2ing,e|ing,hed|3ding,hred|4ding,bed|3ding,bid|3ding,d|1ing,ki|2ing,rek|3king,k|1ing,isc|3ing,echarg|6ing,ng|2ing,g|1ging,uiz|3zing,z|1ing,mb|2ing,rb|2ing,b|1bing,o|1ing,x|1ing,f|1ing,s|1ing,w|1ing,y|1ing,h|1ing"},Jo={rules:"roken|1ake,hosen|2ose,allen|3,rozen|1eeze,asten|4,engthen|5,essen|3,hrunken|2ink,lain|2y,poken|1eak,tolen|1eal,eaten|3,un|in,itten|2e,gotten|1et,ighten|4,idden|2e,worn|1ear,sen|2,aken|3,ven|2,wn|1,rought|1ing,uilt|3d,urst|4,ealt|3,reamt|4,urt|3,nelt|2el,eapt|3,eft|1ave,eant|3,hot|2ot,pat|1it,et|2,ut|2,it|2,ent|2d,ept|1ep,urned|3,reated|5,eard|3,eld|old,ead|3,lid|3e,old|ell,ped|2ed,pilled|4,ound|ind,ved|2,aid|1y,ug|ig,ung|ing,ade|1ke,hone|1ine,come|4,gone|2,nuck|1eak,unk|ink",exceptions:"been|2,bled|3ed,bought|1uy,fed|2ed,fled|3e,flown|2y,fought|1ight,had|2ve,hung|1ang,led|2ad,lit|2ght,met|2et,run|3,sat|1eat,seen|3,sought|1eek,woven|1eave,bet|3,brought|2ing,dealt|4,dived|4,heard|4,left|2ave,made|2ke,read|4,shaved|5,slain|3y",rev:"uy|ought,ly|1own,ay|1id,rake|1oken,hoose|2sen,reate|5d,lee|2d,reeze|1ozen,aste|4n,rove|4n,hine|1one,lide|3,hrive|5d,come|4,ite|2ten,ide|2den,se|2n,ake|3n,ive|3n,uild|3t,old|eld,ind|ound,eed|1d,end|2t,urn|3ed,ean|3t,un|2,in|un,urst|4,right|5en,eight|5en,urt|3,eet|1t,hoot|2t,pit|1at,eat|3en,get|1otten,set|3,ut|2,it|2,ream|4t,ig|ug,ang|ung,ing|ung,all|3en,neel|2lt,ell|old,pill|4ed,teal|1olen,eap|3t,eep|1pt,ength|5en,ess|3en,hrink|2unken,neak|1uck,eek|ought,peak|1oken,ink|unk,wear|1orn,go|2ne,w|1n"},Mo={rules:"as|1ve,tudies|3y,mbodies|4y,evies|2y,arties|3y,emedies|4y,mpties|3y,eadies|3y,obbies|3y,ullies|3y,nesties|4y,zzes|2,pies|1y,nies|1y,oes|1,xes|1,plies|2y,ries|1y,shes|2,sses|2,ches|2,fies|1y,s|",exceptions:"are|is,focuses|5,relies|3y,flies|2y,gasses|3,has|2ve",rev:"uy|2s,oy|2s,ey|2s,ay|2s,y|ies,adio|4s,aboo|4s,o|1es,tograph|7s,erth|4s,gh|2s,h|1es,as|2ses,s|1es,ic|2s,zz|2es,x|1es,f|1s,b|1s,g|1s,m|1s,w|1s,p|1s,k|1s,l|1s,d|1s,n|1s,r|1s,t|1s,e|1s"},Lo={rules:"east|4,uthwest|7,ot|2test,it|2test,lat|3test,weet|4test,t|1est,ig|2gest,ng|2est,hin|3nest,n|1est,nner|4most,uter|4most,r|1est,rey|3est,ricey|3iest,y|iest,ross|4est,f|1est,b|1est,m|1est,p|1est,h|1est,w|1est,k|1est,l|1est,d|1est,e|1st",exceptions:"good|best,bad|worst,wet|3test,far|1urthest,gay|3est,neat|4test,shy|3est,fat|3test,late|4st,wide|4st,fine|4st,severe|6st,fake|4st,pale|4st,rare|4st,rude|4st,sore|4st,dire|4st",rev:"east|4,argest|4,iggest|2,implest|5,afest|3,uthwest|7,hinnest|3,ncerest|5,urthest|ar,ravest|4,utest|3,eriest|4,rossest|4,dsomest|5,ugest|3,riciest|3ey,emotest|5,quarest|5,rangest|5,ipest|3,urest|3,cest|2,ermost|2,fest|1,best|1,amest|3,itest|3,ngest|2,uest|2,yest|1,tlest|3,mest|1,blest|3,sest|2,pest|1,hest|1,ttest|1,west|1,rest|1,kest|1,nest|1,lest|1,test|1,dest|1,iest|y"};const Wo=/^.([0-9]+)/;var Ko=function(e,t,n){if(t.exceptions.hasOwnProperty(e))return n&&console.log("exception, ",e,t.exceptions[e]),function(e,t){let n=t.exceptions[e],a=n.match(Wo);if(null===a)return t.exceptions[e];let r=Number(a[1])||0;return e.substr(0,r)+n.replace(Wo,"")}(e,t);let a=t.rules;t.reversed&&(a=t.rev),a=function(e,t={}){let n=t[e[e.length-1]]||[];return t[""]&&(n=n.concat(t[""])),n}(e,a);for(let t=0;t{let n=e[0]||"",a=n[n.length-1]||"";t[a]=t[a]||[],t[a].push(e)}),t},Uo=/^([0-9]+)/,Ro=function(e){const t=/\|/;return e.split(/,/).map(e=>{let n=e.split(t);return function(e="",t=""){let n=(t=String(t)).match(Uo);if(null===n)return[e,t];let a=Number(n[1])||0,r=e.substring(0,a);return[e,r+t.replace(Uo,"")]}(n[0],n[1])})};var Zo=function(e={}){return(e=Object.assign({},e)).rules=Ro(e.rules),e.rules=qo(e.rules),e.rev&&(e.rev=Ro(e.rev),e.rev=qo(e.rev)),e.exceptions=Ro(e.exceptions),e.exceptions=e.exceptions.reduce((e,t)=>(e[t[0]]=t[1],e),{}),e};var Qo=function(e){let{rules:t,exceptions:n,rev:a}=e;var r;return r=n,n=Object.entries(r).reduce((e,t)=>(e[t[1]]=t[0],e),{}),{reversed:!Boolean(e.reversed),rules:t,exceptions:n,rev:a}};const _o=Zo({rules:"een|1,egan|2in,on|in,pun|1in,hun|3ned,wn|1,ave|ive,poke|1eak,hose|2ose,roke|1eak,roze|1eeze,ode|ide,orbade|3id,hone|1ine,tole|1eal,ollide|6d,rose|1ise,woke|1ake,wrote|2ite,made|2ke,came|1ome,ove|ive,ore|ear,elped|3,elcomed|6,hared|4,nvited|5,eclared|6,eard|3,avelled|4,ombined|6,uided|4,etired|5,choed|3,ncelled|4,epeated|5,moked|4,entred|5,dhered|5,esired|5,ompeted|6,erseded|6,ramed|4,qualled|4,iloted|4,stponed|6,uelled|3,opelled|4,gnored|5,xtruded|6,caled|4,ndured|5,lamed|4,quared|5,mpeded|5,rouped|4,efeated|5,robed|4,lid|3e,magined|6,nselled|4,uthored|6,ebuted|4,shrined|6,tialled|4,erfered|6,eaped|3,yped|3,laked|4,tirred|3,ooted|3,leated|4,ncited|5,oubted|4,mpelled|4,nnulled|4,pined|4,ircled|5,ecited|5,reathed|6,nvaded|5,onfided|6,pedited|6,alcined|6,ycotted|5,dmired|5,xcreted|6,ubed|3,taked|4,onfined|6,heated|4,rimed|4,amelled|4,achined|6,litzed|4,xcited|5,xpelled|4,xtolled|4,ouled|3,imicked|4,ivalled|4,eeped|3,naked|4,tyled|4,iased|3,nhaled|5,oeuvred|6,grammed|6,kied|2,miled|4,pited|4,lodded|3,eterred|4,hoked|4,kidded|3,rod|3ded,pleted|5,cided|4,plored|5,stored|5,longed|4,filed|4,rbed|2,suaded|5,ciled|4,edded|2,tined|4,phoned|5,fled|3,nited|4,iped|3,hauled|4,treated|5,nnelled|4,basted|5,njured|5,twined|5,uzzed|3,did|1o,vided|4,old|ell,pared|4,mbed|2,stood|2and,pired|4,held|1old,vened|4,cored|4,read|4,piled|4,aped|3,gled|3,named|4,arred|2,oated|3,kled|3,ooled|3,uned|3,figured|6,bid|3,ound|ind,oped|2,ibed|3,quired|5,uled|3,oded|3,mmed|1,ceded|4,cured|4,sided|4,voked|4,rled|2,outed|3,mined|4,urred|2,ighted|4,umed|3,sured|4,iked|3,pled|3,fed|1,bbed|1,eled|2,luded|4,aid|1y,ferred|3,tled|3,dled|3,raded|4,oted|3,eed|2,aled|2,lined|4,mped|2,fted|2,lted|2,gged|1,eted|2,xed|1,bled|3,pted|2,tured|4,uted|3,nned|1,ued|2,iled|2,yed|1,rted|2,pped|1,tted|1,wed|1,lled|2,ited|2,med|1,sted|2,ssed|2,ged|2,ved|2,nted|2,ked|1,cted|2,ced|2,ied|y,hed|1,sed|2,ded|1,zed|2,ned|1,red|1,ated|3,ell|all,ulfil|5led,rought|1ing,hought|1ink,eft|1ave,eant|3,ealt|3,eat|3,hot|2ot,urt|3,eapt|3,elt|1el,went|go,built|4d,at|it,got|1et,ut|2,it|2,et|2,ent|2d,ept|1ep,st|2,truck|2ike,nuck|1eak,tunk|1ink,ank|ink,ook|ake,lew|1y,utgrow|4ew,drew|2aw,saw|1ee,ew|ow,ug|ig,ang|ing,ung|ing,nderlay|5ie,dezvous|7,wam|1im,lam|3med,nearth|6s",exceptions:"was|is,were|are,had|2ve,led|2ad,met|2et,cited|4,focused|5,sought|1eek,lost|3e,defined|6,died|3,hired|4,bought|1uy,ran|1un,controlled|7,taught|1each,hoped|4,shed|4,refined|6,caught|2tch,owed|3,fought|1ight,fired|4,fed|2ed,pied|3,fared|4,tied|3,fled|3e,cared|4,ate|eat,dyed|3,lit|2ght,winged|4,bred|3ed,pent|3,wired|4,persevered|9,baked|4,dined|4,fined|4,shored|5,hid|3e,padded|3,waned|4,wove|1eave,lied|3,wasted|5,sloped|5,joked|4,ached|4,baled|4,bit|3e,bled|3ed,boned|4,caned|4,dispelled|6,egged|3,hung|1ang,patrolled|6,tasted|5,faked|4,bored|4,eyed|3,gamed|4,gassed|3,pored|4,timed|4,toned|4,zoned|4,poked|4,dared|4,been|2,said|2y,found|1ind,took|1ake,came|1ome,gave|1ive,fell|1all,brought|2ing,rose|1ise,grew|2ow,put|3,sent|3d,spent|4d,spoke|2eak,left|2ave,won|1in,told|1ell,meant|4,heard|4,got|1et,arose|2ise,read|4,let|3,hit|3,cost|4,dealt|4,laid|2y,drove|2ive,sat|1it,cast|4,beat|4,flew|2y,lent|3d,sang|1ing,banned|3,jarred|3,wound|1ind,omitted|4,quit|4,rang|1ing,fit|3,rent|3d,bet|3,sank|1ink,reaped|4,manned|3,rode|1ide,rebutted|5,bound|1ind,barred|3,recast|6,netted|3,tanned|3,plotted|4,tore|1ear,spun|2in,pitted|3,shone|2ine,donned|3,dove|1ive,spat|2it,bent|3d,blown|4,leapt|4,seeped|4,sewn|3,twinned|4,wrung|2ing,deterred|5",rev:"egin|2an,lan|3ned,nderpin|7ned,kin|3ned,tun|3ned,hin|3ned,pan|3ned,can|3ned,n|1ed,ecome|2ame,hoose|2se,trike|2uck,lee|2d,trive|2ove,vercome|4ame,lide|3,reeze|1oze,hake|1ook,nderlie|5ay,istake|3ook,etake|2ook,wake|1oke,write|2ote,make|2de,rtake|2ook,see|1aw,e|1d,elp|3ed,roup|4ed,oop|3ed,velop|5ed,eep|1pt,mp|2ed,p|1ped,hink|1ought,eek|ought,reak|1oke,neak|1uck,tink|1unk,rink|1ank,k|1ed,ommit|5ted,ermit|5ted,oadcast|7,dmit|4ted,hoot|2t,plit|4,hut|3,llot|4ted,nit|3ted,orget|3ot,egret|5ted,hrust|5,ormat|5ted,hat|3ted,lat|3ted,urt|3,cquit|5ted,urst|4,ransmit|7ted,emit|4ted,pot|3ted,cut|3,submit|6ted,set|3,t|1ed,now|1ew,trew|4n,utgrew|4ow,draw|2ew,throw|3ew,w|1ed,uy|ought,ey|2ed,pay|2id,oy|2ed,ay|2ed,y|ied,ravel|5led,ancel|5led,qual|4led,uel|3led,ounsel|6led,nitial|6led,nnul|4led,namel|5led,xtol|4led,ival|4led,teal|1ole,eel|1lt,trol|4led,sell|1old,nnel|4led,pel|3led,l|1ed,ransfer|7red,pur|3red,lur|3red,tir|3red,par|3red,nfer|4red,wear|1ore,bear|1ore,efer|4red,cur|3red,r|1ed,pread|5,hed|3,rind|1ound,mbed|4ded,reed|2d,hred|4ded,eread|5,orbid|3ade,leed|2d,lod|3ded,kid|3ded,ollided|6,lammed|3,hunned|3,rodded|3,lfilled|4,build|4t,stand|2ood,hold|1eld,bid|3,d|1ed,cho|3ed,go|went,do|1id,tem|3med,um|2med,rim|3med,kim|3med,wim|1am,m|1ed,lug|3ged,ig|ug,pring|2ang,gg|2ed,ang|ung,long|4ed,og|2ged,ling|1ung,ag|2ged,ub|2bed,ib|2bed,ob|2bed,rb|2ed,ab|2bed,mb|2ed,imic|4ked,dezvous|7,nearths|6,s|1ed,ki|2ed,z|1ed,f|1ed,x|1ed,h|1ed"}),Xo=Zo(Mo),Yo=Zo(Ho),ei=Zo(Jo),ti=Qo(_o),ni=Qo(Xo),ai=Qo(Yo),ri=Qo(ei),oi=Zo(So),ii=Zo(Lo);var si={fromPast:_o,fromPresent:Xo,fromGerund:Yo,fromParticiple:ei,toPast:ti,toPresent:ni,toGerund:ai,toParticiple:ri,toComparative:oi,toSuperlative:ii,fromComparative:Qo(oi),fromSuperlative:Qo(ii)},li=["academy","administration","agence","agences","agencies","agency","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","bureau","cafe","co","caisse","capital","care","cathedral","center","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","corp","council","crew","data","departement","department","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","llc","ltd","limited","machines","magazine","management","marine","marketing","markets","media","memorial","ministere","ministry","military","mobile","motor","motors","musee","museum","news","observatory","office","oil","optical","orchestra","organization","partners","partnership","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","societe","society","sons","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"].reduce((e,t)=>(e[t]=!0,e),{}),ui=[[/([^v])ies$/i,"$1y"],[/(ise)s$/i,"$1"],[/(kn|[^o]l|w)ives$/i,"$1ife"],[/^((?:ca|e|ha|(?:our|them|your)?se|she|wo)l|lea|loa|shea|thie)ves$/i,"$1f"],[/^(dwar|handkerchie|hoo|scar|whar)ves$/i,"$1f"],[/(antenn|formul|nebul|vertebr|vit)ae$/i,"$1a"],[/(octop|vir|radi|nucle|fung|cact|stimul)(i)$/i,"$1us"],[/(buffal|tomat|tornad)(oes)$/i,"$1o"],[/(ause)s$/i,"$1"],[/(ease)s$/i,"$1"],[/(ious)es$/i,"$1"],[/(ouse)s$/i,"$1"],[/(ose)s$/i,"$1"],[/(..[aeiu]s)es$/i,"$1"],[/(vert|ind|cort)(ices)$/i,"$1ex"],[/(matr|append)(ices)$/i,"$1ix"],[/([xo]|ch|ss|sh)es$/i,"$1"],[/men$/i,"man"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(cris|ax|test)es$/i,"$1is"],[/(alias|status)es$/i,"$1"],[/(ss)$/i,"$1"],[/(ic)s$/i,"$1"],[/s$/i,""]];var ci=function(e,t){const{irregularPlurals:n}=t.two;let a=(r=n,Object.keys(r).reduce((e,t)=>(e[r[t]]=t,e),{}));var r;if(a.hasOwnProperty(e))return a[e];for(let t=0;t(di[t].forEach(n=>e[n]=t),e),{});var hi=di;var gi=function(e){let t=e.substring(e.length-3);if(!0===hi.hasOwnProperty(t))return hi[t];let n=e.substring(e.length-2);return!0===hi.hasOwnProperty(n)?hi[n]:"s"===e.substring(e.length-1)?"PresentTense":null};const mi={are:"be",were:"be",been:"be",is:"be",am:"be",was:"be",be:"be",being:"be"};var pi=function(e,t,n){const{fromPast:a,fromPresent:r,fromGerund:o,fromParticiple:i}=t.two.models;let{prefix:s,verb:l,particle:u}=function(e,t){let n="",a={};t.one&&t.one.prefixes&&(a=t.one.prefixes);let[r,o]=e.split(/ /);return o&&!0===a[r]&&(n=r,r=o,o=""),{prefix:n,verb:r,particle:o}}(e,t),c="";if(n||(n=gi(e)),mi.hasOwnProperty(e))c=mi[e];else if("Participle"===n)c=Ko(l,i);else if("PastTense"===n)c=Ko(l,a);else if("PresentTense"===n)c=Ko(l,r);else{if("Gerund"!==n)return e;c=Ko(l,o)}return u&&(c+=" "+u),s&&(c=s+" "+c),c};var fi=function(e,t){const{toPast:n,toPresent:a,toGerund:r,toParticiple:o}=t.two.models;if("be"===e)return{Infinitive:e,Gerund:"being",PastTense:"was",PresentTense:"is"};let[i,s]=(e=>/ /.test(e)?e.split(/ /):[e,""])(e),l={Infinitive:e,PastTense:Ko(i,n),PresentTense:Ko(i,a),Gerund:Ko(i,r),FutureTense:"will "+e},u=Ko(i,o);return u!==e&&u!==l.PastTense&&(l.Participle=u),s&&Object.keys(l).forEach(e=>{l[e]+=" "+s}),l};var bi=function(e="",t=[]){const n=e.length;for(let a=n<=6?n-1:6;a>=1;a-=1){let r=e.substring(n-a,e.length);if(!0===t[r.length].hasOwnProperty(r)){return e.slice(0,n-a)+t[r.length][r]}}return null};const yi="ically",vi=new Set(["analyt"+yi,"chem"+yi,"class"+yi,"clin"+yi,"crit"+yi,"ecolog"+yi,"electr"+yi,"empir"+yi,"frant"+yi,"grammat"+yi,"ident"+yi,"ideolog"+yi,"log"+yi,"mag"+yi,"mathemat"+yi,"mechan"+yi,"med"+yi,"method"+yi,"method"+yi,"mus"+yi,"phys"+yi,"phys"+yi,"polit"+yi,"pract"+yi,"rad"+yi,"satir"+yi,"statist"+yi,"techn"+yi,"technolog"+yi,"theoret"+yi,"typ"+yi,"vert"+yi,"whims"+yi]),wi=[null,{},{ly:""},{ily:"y",bly:"ble",ply:"ple"},{ally:"al",rply:"rp"},{ually:"ual",ially:"ial",cally:"cal",eally:"eal",rally:"ral",nally:"nal",mally:"mal",eeply:"eep",eaply:"eap"},{ically:"ic"}],ki=new Set(["early","only","hourly","daily","weekly","monthly","yearly","mostly","duly","unduly","especially","undoubtedly","conversely","namely","exceedingly","presumably","accordingly","overly","best","latter","little","long","low"]),Pi={wholly:"whole",fully:"full",truly:"true",gently:"gentle",singly:"single",customarily:"customary",idly:"idle",publically:"public",quickly:"fast",well:"good"};var Ai=function(e){return e.endsWith("ly")?vi.has(e)?e.replace(/ically/,"ical"):ki.has(e)?null:Pi.hasOwnProperty(e)?Pi[e]:bi(e,wi)||e:null};const Ei=[null,{y:"ily"},{ly:"ly",ic:"ically"},{ial:"ially",ual:"ually",tle:"tly",ble:"bly",ple:"ply",ary:"arily"},{},{},{}],ji={cool:"cooly",whole:"wholly",full:"fully",good:"well",idle:"idly",public:"publicly",single:"singly",special:"especially"};var Ii=function(e){if(ji.hasOwnProperty(e))return ji[e];let t=bi(e,Ei);return t||e+"ly"};const Ni=[null,{y:"iness"},{le:"ility",al:"ality",ay:"ayness"},{ial:"y",ing:"ment",ess:"essness",ous:"ousness",ive:"ivity",ect:"ection"},{ting:"ting",ring:"ring",cial:"ciality",nate:"nation",rate:"ration",bing:"bingness",atic:"acy",sing:"se",iful:"y",ible:"ibility"},{erate:"eration"},{ionate:"ion"}],Gi={clean:"cleanliness",naive:"naivety",dramatic:"drama",ironic:"irony",deep:"depth",automatic:"automation",simple:"simplicity",boring:"boredom",free:"freedom",wise:"wisdom",fortunate:"fortune",gentle:"gentleness",quiet:"quiet",expensive:"expense",offensive:"offence"},Di=new Set(["terrible","annoying"]);const xi=function(e,t){const n=t.two.models.toSuperlative;return Ko(e,n)},Ci=function(e,t){const n=t.two.models.toComparative;return Ko(e,n)};var Ti={Singular:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.nounToPlural(e,a);r[o]||(t[o]=t[o]||"Plural")},Comparable:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.adjToSuperlative(e,a);r[o]||(t[o]=t[o]||"Superlative");let i=n.two.transform.adjToComparative(e,a);r[i]||(t[i]=t[i]||"Comparative"),t[e]="Adjective"},Demonym:(e,t,n,a)=>{let r=n.two.transform.nounToPlural(e,a);t[r]=t[r]||["Demonym","Plural"]},Infinitive:(e,t,n,a)=>{let r=a.one.lexicon,o=n.two.transform.verbConjugate(e,a);Object.entries(o).forEach(e=>{r[e[1]]||t[e[1]]||(t[e[1]]=e[0])})},PhrasalVerb:(e,t,n,a)=>{let r=a.one.lexicon;t[e]=["PhrasalVerb","Infinitive"];let o=a.one._multiCache,[i,s]=e.split(" ");r[i]||(t[i]=t[i]||"Infinitive");let l=n.two.transform.verbConjugate(i,a);Object.entries(l).forEach(e=>{if("Actor"===e[0]||""===e[1])return;t[e[1]]||r[e[1]]||(t[e[1]]=e[0]),o[e[1]]=!0;let n=e[1]+" "+s;t[n]=t[n]||[e[0],"PhrasalVerb"]})},Multiple:(e,t)=>{t[e]=["Multiple","Cardinal"],t[e+"th"]=["Multiple","Ordinal"],t[e+"ths"]=["Multiple","Fraction"]},Cardinal:(e,t)=>{t[e]=["TextValue","Cardinal"]},Ordinal:(e,t)=>{t[e]=["TextValue","Ordinal"],t[e+"s"]=["TextValue","Fraction"]}};var Bi={two:{quickSplit:function(e){const t=/[,:;]/;let n=[];return e.forEach(e=>{let a=0;e.forEach((r,o)=>{t.test(r.post)&&function(e,t){let n=e[t];const a=new Set(["may","april","august","jan"]);return!(!n||"like"===n.normal||a.has(n.normal)||n.tags.has("Place")||n.tags.has("Date")||e[t-1]&&(e[t-1].tags.has("Date")||a.has(e[t-1].normal)))}(e,o+1)&&(n.push(e.slice(a,o+1)),a=o+1)}),a{let i=e[t],s=(t=t.toLowerCase().trim()).split(/ /);s.length>1&&(o[s[0]]=!0),!0===Ti.hasOwnProperty(i)&&Ti[i](t,r,n,a),r[t]=r[t]||i}),delete r[""],delete r.null,delete r[" "],{lex:r,_multi:o}},transform:{nounToPlural:Nr,nounToSingular:ci,verbToInfinitive:pi,getTense:gi,verbConjugate:fi,adjToSuperlative:xi,adjToComparative:Ci,adjFromSuperlative:function(e,t){const n=t.two.models.fromSuperlative;return Ko(e,n)},adjFromComparative:function(e,t){const n=t.two.models.fromComparative;return Ko(e,n)},advToAdjective:Ai,adjToAdverb:Ii,adjToNoun:function(e){if(Gi.hasOwnProperty(e))return Gi[e];if(Di.has(e))return null;let t=bi(e,Ni);return t||e+"ness"}}}};var Oi=function(e){const{irregularPlurals:t}=e.two,{lexicon:n}=e.one;return Object.entries(t).forEach(e=>{n[e[0]]=n[e[0]]||"Singular",n[e[1]]=n[e[1]]||"Plural"}),e};const zi=function(e,t,n){return Object.entries(e.exceptions).reduce((e,a)=>(t&&(e[a[0]]=t),e[a[1]]=n,e),{})};var Vi=function(e){let{lexicon:t}=e.one;const{toPast:n,toPresent:a,toGerund:r,toSuperlative:o,toComparative:i}=e.two.models;let s={},l={};return l=zi(n,"Infinitive","PastTense"),Object.assign(s,l),l=zi(a,"Infinitive","Verb"),Object.assign(s,l),l=zi(r,"Infinitive","Gerund"),Object.assign(s,l),l=zi(o,"Adjective","Superlative"),Object.assign(s,l),l=zi(i,"Adjective","Comparative"),Object.assign(s,l),e.one.lexicon=Object.assign(s,t),e};let Fi={two:{models:si}};const $i={"Adj|Gerund":"Adjective","Adj|Noun":"Adjective","Adj|Past":"Adjective","Adj|Present":"Adjective","Noun|Verb":"Singular","Noun|Gerund":"Gerund","Person|Noun":"Noun","Person|Date":"Month","Person|Verb":"Person","Person|Place":"Person","Plural|Verb":"Plural"},Si=function(e,t){const n={model:t,methods:Bi};let{lex:a,_multi:r}=Bi.two.expandLexicon(e,n);return Object.assign(t.one.lexicon,a),Object.assign(t.one._multiCache,r),t},Hi=function(e,t,n){let a=fi(e,Fi);t[a.PastTense]=t[a.PastTense]||"PastTense",t[a.Gerund]=t[a.Gerund]||"Gerund",!0===n&&(t[a.PresentTense]=t[a.PresentTense]||"PresentTense")},Ji=function(e,t){let n={};const a=t.one.lexicon;return Object.keys(e).forEach(r=>{const o=e[r];if(n[r]=$i[o],"Noun|Verb"!==o&&"Person|Verb"!==o||Hi(r,a,!1),"Adj|Present"===o&&(Hi(r,a,!0),function(e,t,n){let a=xi(e,n);t[a]=t[a]||"Superlative";let r=Ci(e,n);t[r]=t[r]||"Comparative"}(r,a,t)),"Adj|Gerund"===o||"Noun|Gerund"===o){let e=pi(r,Fi,"Gerund");a[e]||(n[e]="Infinitive")}if("Adj|Past"===o){let e=pi(r,Fi,"PastTense");a[e]||(n[e]="Infinitive")}}),t=Si(n,t)};let Mi={one:{_multiCache:{},lexicon:Dr},two:{irregularPlurals:fr,models:si,suffixPatterns:jo,prefixPatterns:No,endsWith:zo,neighbours:$o,regexNormal:[[/^[\w.]+@[\w.]+\.[a-z]{2,3}$/,"Email"],[/^(https?:\/\/|www\.)+\w+\.[a-z]{2,3}/,"Url","http.."],[/^[a-z0-9./].+\.(com|net|gov|org|ly|edu|info|biz|dev|ru|jp|de|in|uk|br|io|ai)/,"Url",".com"],[/^[PMCE]ST$/,"Timezone","EST"],[/^ma?c'.*/,"LastName","mc'neil"],[/^o'[drlkn].*/,"LastName","o'connor"],[/^ma?cd[aeiou]/,"LastName","mcdonald"],[/^(lol)+[sz]$/,"Expression","lol"],[/^wo{2,}a*h?$/,"Expression","wooah"],[/^(hee?){2,}h?$/,"Expression","hehe"],[/^(un|de|re)\\-[a-z\u00C0-\u00FF]{2}/,"Verb","un-vite"],[/^(m|k|cm|km)\/(s|h|hr)$/,"Unit","5 k/m"],[/^(ug|ng|mg)\/(l|m3|ft3)$/,"Unit","ug/L"]],regexText:[[/^#[\p{Number}_]*\p{Letter}/u,"HashTag"],[/^@\w{2,}$/,"AtMention"],[/^([A-Z]\.){2}[A-Z]?/i,["Acronym","Noun"],"F.B.I"],[/.{3}[lkmnp]in['‘’‛‵′`´]$/,"Gerund","chillin'"],[/.{4}s['‘’‛‵′`´]$/,"Possessive","flanders'"],[/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u,"Emoji","emoji-class"]],regexNumbers:[[/^@1?[0-9](am|pm)$/i,"Time","3pm"],[/^@1?[0-9]:[0-9]{2}(am|pm)?$/i,"Time","3:30pm"],[/^'[0-9]{2}$/,"Year"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])$/,"Time","3:12:31"],[/^[012]?[0-9](:[0-5][0-9])?(:[0-5][0-9])? ?(am|pm)$/i,"Time","1:12pm"],[/^[012]?[0-9](:[0-5][0-9])(:[0-5][0-9])? ?(am|pm)?$/i,"Time","1:12:31pm"],[/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}/i,"Date","iso-date"],[/^[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}$/,"Date","iso-dash"],[/^[0-9]{1,4}\/[0-9]{1,2}\/[0-9]{1,4}$/,"Date","iso-slash"],[/^[0-9]{1,4}\.[0-9]{1,2}\.[0-9]{1,4}$/,"Date","iso-dot"],[/^[0-9]{1,4}-[a-z]{2,9}-[0-9]{1,4}$/i,"Date","12-dec-2019"],[/^utc ?[+-]?[0-9]+$/,"Timezone","utc-9"],[/^(gmt|utc)[+-][0-9]{1,2}$/i,"Timezone","gmt-3"],[/^[0-9]{3}-[0-9]{4}$/,"PhoneNumber","421-0029"],[/^(\+?[0-9][ -])?[0-9]{3}[ -]?[0-9]{3}-[0-9]{4}$/,"PhoneNumber","1-800-"],[/^[-+]?\p{Currency_Symbol}[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([kmb]|bn)?\+?$/u,["Money","Value"],"$5.30"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\p{Currency_Symbol}\+?$/u,["Money","Value"],"5.30£"],[/^[-+]?[$£]?[0-9]([0-9,.])+(usd|eur|jpy|gbp|cad|aud|chf|cny|hkd|nzd|kr|rub)$/i,["Money","Value"],"$400usd"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?\+?$/,["Cardinal","NumericValue"],"5,999"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?(st|nd|rd|r?th)$/,["Ordinal","NumericValue"],"53rd"],[/^\.[0-9]+\+?$/,["Cardinal","NumericValue"],".73th"],[/^[-+]?[0-9]+(,[0-9]{3})*(\.[0-9]+)?%\+?$/,["Percent","Cardinal","NumericValue"],"-4%"],[/^\.[0-9]+%$/,["Percent","Cardinal","NumericValue"],".3%"],[/^[0-9]{1,4}\/[0-9]{1,4}(st|nd|rd|th)?s?$/,["Fraction","NumericValue"],"2/3rds"],[/^[0-9.]{1,3}[a-z]{0,2}[-–—][0-9]{1,3}[a-z]{0,2}$/,["Value","NumberRange"],"3-4"],[/^[0-9]{1,2}(:[0-9][0-9])?(am|pm)? ?[-–—] ?[0-9]{1,2}(:[0-9][0-9])?(am|pm)$/,["Time","NumberRange"],"3-4pm"],[/^[0-9.]+([a-z]{1,4})$/,"Value","9km"]],switches:xr,clues:mo,uncountable:{},orgWords:li}};Mi=function(e){return e=function(e,t){return Object.keys(e).forEach(n=>{"Uncountable"===e[n]&&(t.two.uncountable[n]=!0,e[n]="Uncountable")}),t}((e=Si(e.one.lexicon,e)).one.lexicon,e),e=Ji(e.two.switches,e),e=Vi(e),e=Oi(e)}(Mi);var Li=Mi;const Wi=/^(under|over|mis|re|un|dis|semi)-?/;var Ki=function(e,t,n){const a=n.two.switches;let r=e[t];if(a.hasOwnProperty(r.normal))r.switch=a[r.normal];else if(Wi.test(r.normal)){let e=r.normal.replace(Wi,"");e.length>3&&a.hasOwnProperty(e)&&(r.switch=a[e])}};var qi=function(e,t,n){if(!t||0===t.length)return;const a="undefined"!=typeof process&&process.env?process.env:self.env||{};a&&a.DEBUG_TAGS&&((e,t,n="")=>{let a=e.text||"["+e.implicit+"]";var r;"string"!=typeof t&&t.length>2&&(t=t.slice(0,2).join(", #")+" +"),t="string"!=typeof t?t.join(", #"):t,console.log(` ${(r=a,""+r+"").padEnd(24)} → #${t.padEnd(25)} ${(e=>""+e+"")(n)}`)})(e,t,n),e.tags=e.tags||new Set,"string"==typeof t?e.tags.add(t):t.forEach(t=>e.tags.add(t))};const Ui={e:["mice","louse","antennae","formulae","nebulae","vertebrae","vitae"],i:["tia","octopi","viri","radii","nuclei","fungi","cacti","stimuli"],n:["men"]},Ri=new Set(["formulas","koalas","israelis","menus"]),Zi=["bus","mas","was","las","ias","xas","vas","cis","lis","nis","ois","ris","sis","tis","xis","aus","cus","eus","fus","gus","ius","lus","nus","ous","pus","rus","sus","tus","xus","'s","ss"];var Qi=function(e){if(!e||e.length<=3)return!1;if(Ri.has(e))return!0;let t=e[e.length-1];return Ui.hasOwnProperty(t)?Ui[t].find(t=>e.endsWith(t)):"s"===t&&!Zi.find(t=>e.endsWith(t))};const _i=["Acronym","Abbreviation","ProperNoun","Uncountable","Possessive","Pronoun","Activity","Honorific"];var Xi=function(e,t,n){let a=e[t],r=Array.from(a.tags);for(let e=0;ee.tags.has(t))||(Qi(e.normal)?qi(e,"Plural","3-plural-guess"):qi(e,"Singular","3-singular-guess"))}(a),function(e){let t=e.tags;if(t.has("Verb")&&1===t.size){let t=gi(e.normal);t&&qi(e,t,"3-verb-tense-guess")}}(a)};const Yi=/^\p{Lu}[\p{Ll}'’]/u,es=/[0-9]/,ts=["Date","Month","WeekDay","Unit"],ns=/^[IVXLCDM]{2,}$/,as=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,rs={li:!0,dc:!0,md:!0,dm:!0,ml:!0};var os=function(e,t,n){let a=e[t];a.index=a.index||[0,0];let r=a.index[1],o=a.text||"";return 0!==r&&!0===Yi.test(o)&&!1===es.test(o)?ts.find(e=>a.tags.has(e))?null:(Xi(e,t,n),a.tags.has("Noun")||a.tags.clear(),qi(a,"ProperNoun","2-titlecase"),!0):o.length>=2&&ns.test(o)&&as.test(o)&&!rs[a.normal]?(qi(a,"RomanNumeral","2-xvii"),!0):null};const is=function(e="",t=[]){const n=e.length;let a=7;n<=a&&(a=n-1);for(let r=a;r>1;r-=1){let a=e.substring(n-r,n);if(!0===t[a.length].hasOwnProperty(a)){return t[a.length][a]}}return null};var ss=function(e,t,n){let a=e[t];if(0===a.tags.size){let e=is(a.normal,n.two.suffixPatterns);if(null!==e)return qi(a,e,"2-suffix"),a.confidence=.7,!0;if(a.implicit&&(e=is(a.implicit,n.two.suffixPatterns),null!==e))return qi(a,e,"2-implicit-suffix"),a.confidence=.7,!0}return null};const ls=/['‘’‛‵′`´]/,us=function(e,t){for(let n=0;nn-3&&(a=n-3);for(let n=a;n>2;n-=1){let a=e.substring(0,n);if(!0===t[a.length].hasOwnProperty(a))return t[a.length][a]}return null}(a.normal,n.two.prefixPatterns);if(null!==e)return qi(a,e,"2-prefix"),a.confidence=.5,!0}return null};const hs=new Set(["in","on","by","for","during","within","before","after","of","this","next","last","may"]),gs=function(e){return!!e&&(!!hs.has(e.normal)||!!(e.tags.has("Date")||e.tags.has("Month")||e.tags.has("WeekDay")))},ms=function(e){return!!e&&!!e.tags.has("Ordinal")};var ps=function(e,t){const n=e[t];if(n.tags.has("NumericValue")&&n.tags.has("Cardinal")&&4===n.normal.length){let a=Number(n.normal);if(a&&!isNaN(a)&&a>1400&&a<2100){if(gs(e[t-1])||gs(e[t+1]))return qi(n,"Year","2-tagYear");if(a>1950&&a<2025&&(ms(e[t-1])||ms(e[t+1])))return qi(n,"Year","2-tagYear-close")}}return null};const fs=/^[A-Z]('s|,)?$/,bs=/^[A-Z-]+$/,ys=/([A-Z]\.)+[A-Z]?,?$/,vs=/[A-Z]{2,}('s|,)?$/,ws=/([a-z]\.)+[a-z]\.?$/,ks={I:!0,A:!0};var Ps=function(e,t,n){let a=e[t];return a.tags.has("RomanNumeral")||a.tags.has("Acronym")?null:function(e,t){let n=e.text;return!(!1===bs.test(n)||n.length>5||ks.hasOwnProperty(n)||t.one.lexicon.hasOwnProperty(e.normal)||!0!==ys.test(n)&&!0!==ws.test(n)&&!0!==fs.test(n)&&!0!==vs.test(n))}(a,n)?(a.tags.clear(),qi(a,["Acronym","Noun"],"3-no-period-acronym"),!0):!ks.hasOwnProperty(a.text)&&fs.test(a.text)?(a.tags.clear(),qi(a,["Acronym","Noun"],"3-one-letter-acronym"),!0):a.tags.has("Organization")&&a.text.length<=3?(qi(a,"Acronym","3-org-acronym"),!0):a.tags.has("Organization")&&bs.test(a.text)&&a.text.length<=6?(qi(a,"Acronym","3-titlecase-acronym"),!0):null};const As=function(e,t){if(!e)return null;let n=t.find(t=>e.normal===t[0]);return n?n[1]:null},Es=function(e,t){if(!e)return null;let n=t.find(t=>e.tags.has(t[0]));return n?n[1]:null};var js=function(e,t,n){const{leftTags:a,leftWords:r,rightWords:o,rightTags:i}=n.two.neighbours;let s=e[t];if(0===s.tags.size){let l=null;if(l=l||As(e[t-1],r),l=l||As(e[t+1],o),l=l||Es(e[t-1],a),l=l||Es(e[t+1],i),l)return qi(s,l,"3-[neighbour]"),Xi(e,t,n),e[t].confidence=.2,!0}return null};const Is=function(e,t){return!!e&&(!e.tags.has("FirstName")&&!e.tags.has("Place")&&(!!(e.tags.has("ProperNoun")||e.tags.has("Organization")||e.tags.has("Acronym"))||(n=e.text,!!/^\p{Lu}[\p{Ll}'’]/u.test(n)&&(0!==t||e.tags.has("Singular")))));var n};var Ns=function(e,t,n){const a=n.model.two.orgWords,r=n.methods.one.setTag;let o=e[t];if(!0===a[o.machine||o.normal]&&Is(e[t-1])){r([e[t]],"Organization",n,null,"3-[org-word]");for(let a=t;a>=0&&Is(e[a],a);a-=1)r([e[a]],"Organization",n,null,"3-[org-word]")}return null};var Gs=function(e,t,n){0===e[t].tags.size&&(qi(e[t],"Noun","3-[fallback]"),Xi(e,t,n),e[t].confidence=.1)};const Ds=(e,t)=>e[t].tags.has("ProperNoun")?"Noun":null,xs=(e,t,n)=>0!==t||e[1]?null:n;var Cs={"Adj|Gerund":(e,t)=>Ds(e,t),"Adj|Noun":(e,t)=>Ds(e,t),"Adj|Past":(e,t)=>Ds(e,t),"Adj|Present":(e,t)=>Ds(e,t),"Noun|Gerund":(e,t)=>Ds(e,t),"Noun|Verb":(e,t)=>Ds(e,t)||xs(e,t,"Infinitive"),"Plural|Verb":(e,t)=>Ds(e,t)||xs(e,t,"PresentTense"),"Person|Noun":(e,t)=>Ds(e,t),"Person|Verb":(e,t)=>0!==t&&Ds(e,t)};const Ts="undefined"!=typeof process&&process.env?process.env:self.env||{},Bs=/^(under|over|mis|re|un|dis|semi)-?/,Os=(e,t)=>{if(!e||!t)return null;let n=e.normal||e.implicit;const a=t[n];return a&&Ts.DEBUG_TAGS&&console.log(`\n  ↓ - '${n}' `),a},zs=(e,t={},n)=>{if(!e||!t)return null;let a=Array.from(e.tags).sort((e,t)=>(n[e]?n[e].parents.length:0)>(n[t]?n[t].parents.length:0)?-1:1).find(e=>t[e]);return a&&Ts.DEBUG_TAGS&&console.log(`\n  ↓ - '${e.normal}' (#${a}) `),a=t[a],a};const Vs={tagSwitch:Ki,checkSuffix:ss,checkRegex:cs,checkCase:os,checkPrefix:ds,checkHyphen:function(e,t,n){let a=e[t+1];if(!a)return;let{prefixes:r}=n.one,o=e[t];!0===r[o.normal]&&(a.tags.has("Verb")&&(qi(o,"Verb","3-[prefix]"),qi(o,"Prefix","3-[prefix]")),a.tags.has("Adjective")&&(qi(o,"Adjective","3-[prefix]"),qi(o,"Prefix","3-[prefix]")))},checkYear:ps},Fs={checkAcronym:Ps,neighbours:js,orgWords:Ns,nounFallback:Gs,variables:function(e,t,n){const a=n.model,r=n.methods.one.setTag,{switches:o,clues:i}=a.two,s=e[t];let l=s.normal||s.implicit||"";if(Bs.test(l)&&!o[l]&&(l=l.replace(Bs,"")),s.switch){let o=s.switch;if(s.tags.has("Acronym")||s.tags.has("PhrasalVerb"))return;let u=function(e,t,n,a){if(!n)return null;const r=a.one.tagSet;let o=Os(e[t+1],n.afterWords);return o=o||Os(e[t-1],n.beforeWords),o=o||zs(e[t-1],n.beforeTags,r),o=o||zs(e[t+1],n.afterTags,r),o}(e,t,i[o],a);Cs[o]&&(u=Cs[o](e,t)||u),u?(Ts.DEBUG_TAGS&&console.log(`\n  [variable] - '${l}' - (${o}) → #${u} \n`),r([s],u,n,null,"3-[variable]")):Ts.DEBUG_TAGS&&console.log(`\n -> X - '${l}' : ${o} `)}}},$s=function(e,t,n){for(let a=0;a{let t=e.machine||e.normal||e.text;return t=t.replace(/'s$/,""),t},Plural:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.nounToSingular(n,t.model)},Copula:()=>"is",PastTense:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"PastTense")},Gerund:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.verbToInfinitive(n,t.model,"Gerund")},PresentTense:(e,t)=>{let n=e.machine||e.normal||e.text;return e.tags.has("Infinitive")?n:t.methods.two.transform.verbToInfinitive(n,t.model,"PresentTense")},Comparative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromComparative(n,t.model)},Superlative:(e,t)=>{let n=e.machine||e.normal||e.text;return t.methods.two.transform.adjFromSuperlative(n,t.model)},Adverb:(e,t)=>(0,t.methods.two.transform.advToAdjective)(e.machine||e.normal||e.text)};const Js={Adverb:"RB",Comparative:"JJR",Superlative:"JJS",Adjective:"JJ",TO:"Conjunction",Modal:"MD",Auxiliary:"MD",Gerund:"VBG",PastTense:"VBD",Participle:"VBN",PresentTense:"VBZ",Infinitive:"VB",Particle:"RP",Verb:"VB",Pronoun:"PRP",Cardinal:"CD",Conjunction:"CC",Determiner:"DT",Preposition:"IN",QuestionWord:"WP",Expression:"UH",Possessive:"POS",ProperNoun:"NNP",Person:"NNP",Place:"NNP",Organization:"NNP",Singular:"NNP",Plural:"NNS",Noun:"NN"};var Ms={preTagger:function(e){const{methods:t,model:n,world:a}=e;let r=t.two.quickSplit(e.docs);for(let e=0;e{for(let a=0;a{e.forEach(e=>{e.penn=function(e){if(e.tags.has("ProperNoun")&&e.tags.has("Plural"))return"NNPS";if(e.tags.has("Possessive")&&e.tags.has("Pronoun"))return"PRP$";if("there"===e.normal)return"EX";if("to"===e.normal)return"TO";let t=e.tagRank||[];for(let e=0;e{e.implicit=e.normal,e.text="",e.normal=""});for(let e=0;e(e.implicit=e.text,e.machine=e.text,e.pre="",e.post="",e.text="",e.normal="",e)))[0]&&(n[0].pre=e[a][r].pre,n[n.length-1].post=e[a][r].post,n[0].text=e[a][r].text,n[0].normal=e[a][r].normal),e[a].splice(r,1,...n))};const Ys=/'/;var el=function(e,t){let n=e[t].normal.split(Ys)[0];if(((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t))return[n,"has"];if("let"===n)return[n,"us"];if("there"===n){let a=e[t+1];if(a&&a.tags.has("Plural"))return[n,"are"]}return[n,"is"]};const tl=/'/;var nl=function(e,t){let n=e[t].normal.split(tl)[0];return"how"===n||"what"===n?[n,"did"]:!0===((e,t)=>e.slice(t+1,t+3).some(e=>e.tags.has("PastTense")))(e,t)?[n,"had"]:[n,"would"]};var al=function(e,t){if("ain't"===e[t].normal||"aint"===e[t].normal){let n=function(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].tags.has("Noun")||e[n].tags.has("Pronoun")||e[n].tags.has("Plural")||e[n].tags.has("Singular"))return e[n];return null}(e,t);if(n){if("we"===n.normal||"they"===n.normal)return["are","not"];if(n.tags&&n.tags.has("Plural"))return["are","not"]}return["is","not"]}return[e[t].normal.replace(/n't/,""),"not"]};const rl={that:!0,there:!0,let:!0,here:!0,everywhere:!0},ol={in:!0,by:!0,for:!0};var il=(e,t)=>{let n=e[t];if(rl.hasOwnProperty(n.machine||n.normal))return!1;if(n.tags.has("Possessive"))return!0;if(n.tags.has("Pronoun")||n.tags.has("QuestionWord"))return!1;let a=e[t+1];if(!a)return!0;if(a.tags.has("Verb"))return!!a.tags.has("Infinitive")||!!a.tags.has("PresentTense");if(a.tags.has("Noun")){let e=a.machine||a.normal;return"here"!==e&&"there"!==e&&"everywhere"!==e&&(!a.tags.has("Possessive")&&!(a.tags.has("ProperNoun")&&!n.tags.has("ProperNoun")))}if(e[t-1]&&!0===ol[e[t-1].normal])return!0;let r=e[t+2];return!(!r||!r.tags.has("Noun")||r.tags.has("Pronoun"))||(a.tags.has("Adjective")||a.tags.has("Adverb")||a.tags.has("Verb"),!1)};const sl=/'/,ll=function(e,t,n,a){let r=t.update();r.document=[e];let o=n+a;n>0&&(n-=1),e[o]&&(o+=1),r.ptrs=[[0,n,o]],r.compute(["lexicon","preTagger","index"])},ul={d:(e,t)=>nl(e,t),t:(e,t)=>al(e,t),s:(e,t,n)=>il(e,t)?n.methods.one.setTag([e[t]],"Possessive",n,"2-contraction"):el(e,t)},cl=function(e,t){return t.fromText(e.join(" ")).docs[0]};var dl={compute:{contractionTwo:e=>{let{world:t,document:n}=e;n.forEach((a,r)=>{for(let o=a.length-1;o>=0;o-=1){if(a[o].implicit)return;let i=null;!0===sl.test(a[o].normal)&&([,i]=a[o].normal.split(sl));let s=null;ul.hasOwnProperty(i)&&(s=ul[i](a,o,t)),s&&(s=cl(s,e),Xs(n,[r,o],s),ll(n[r],e))}})}},api:function(e){class Contractions extends e{constructor(e,t,n){super(e,t,n),this.viewType="Contraction"}expand(){return this.docs.forEach(e=>{let t=_s.test(e[0].text);e.forEach((t,n)=>{t.text=t.implicit,delete t.implicit,ne.toUpperCase())}(e[0].text))}),this.compute("normal"),this}}e.prototype.contractions=function(){let e=this.match("@hasContraction+");return new Contractions(this.document,e.pointer)},e.prototype.contract=Qs},hooks:["contractionTwo"]};const hl="(misty|rusty|dusty|rich|randy|sandy|young|earnest|frank|brown)";const gl=["i","we","they"];let ml=[].concat([{match:"[(all|both)] #Determiner #Noun",group:0,tag:"Noun",reason:"all-noun"},{match:"#Copula [(just|alone)]$",group:0,tag:"Adjective",reason:"not-adverb"},{match:"#Singular is #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"is-filled"},{match:"[#PastTense] #Singular is",group:0,tag:"Adjective",reason:"smoked-poutine"},{match:"[#PastTense] #Plural are",group:0,tag:"Adjective",reason:"baked-onions"},{match:"well [#PastTense]",group:0,tag:"Adjective",reason:"well-made"},{match:"#Copula [fucked up?]",group:0,tag:"Adjective",reason:"swears-adjective"},{match:"#Singular (seems|appears) #Adverb? [#PastTense$]",group:0,tag:"Adjective",reason:"seems-filled"},{match:"#Copula #Adjective? [(out|in|through)]$",group:0,tag:"Adjective",reason:"still-out"},{match:"^[#Adjective] (the|your) #Noun",group:0,ifNo:["all","even"],tag:"Infinitive",reason:"shut-the"},{match:"the [said] #Noun",group:0,tag:"Adjective",reason:"the-said-card"},{match:"#Noun (that|which|whose) [#PastTense] #Noun",ifNo:"#Copula",group:0,tag:"Adjective",reason:"that-past-noun"},{match:"too much",tag:"Adverb Adjective",reason:"bit-4"},{match:"a bit much",tag:"Determiner Adverb Adjective",reason:"bit-3"}],[{match:"#Adverb [#Adverb] (and|or|then)",group:0,tag:"Adjective",reason:"kinda-sparkly-and"},{match:"[(dark|bright|flat|light|soft|pale|dead|dim|faux|little|wee|sheer|most|near|good|extra|all)] #Adjective",group:0,tag:"Adverb",reason:"dark-green"}],[{match:"(a|an) [#Gerund]",group:0,tag:"Adjective",reason:"a|an"},{match:"as [#Gerund] as",group:0,tag:"Adjective",reason:"as-gerund-as"},{match:"more [#Gerund] than",group:0,tag:"Adjective",reason:"more-gerund-than"},{match:"(so|very|extremely) [#Gerund]",group:0,tag:"Adjective",reason:"so-gerund"},{match:"(found|found) it #Adverb? [#Gerund]",group:0,tag:"Adjective",reason:"found-it-gerund"},{match:"a (little|bit|wee) bit? [#Gerund]",group:0,tag:"Adjective",reason:"a-bit-gerund"}],[{match:"#Determiner [#Adjective] #Copula",group:0,tag:"Noun",reason:"the-adj-is"},{match:"#Adjective [#Adjective] #Copula",group:0,tag:"Noun",reason:"adj-adj-is"},{match:"(his|its) [%Adj|Noun%]",group:0,tag:"Noun",reason:"his-fine"},{match:"#Copula #Adverb? [all]",group:0,tag:"Noun",reason:"is-all"},{match:"(have|had) [#Adjective] #Preposition .",group:0,tag:"Noun",reason:"have-fun"},{match:"#Gerund (giant|capital|center|zone|application)",tag:"Noun",reason:"brewing-giant"}],[{match:"[still] #Adjective",group:0,tag:"Adverb",reason:"still-advb"},{match:"[still] #Verb",group:0,tag:"Adverb",reason:"still-verb"},{match:"[so] #Adjective",group:0,tag:"Adverb",reason:"so-adv"},{match:"[way] #Comparative",group:0,tag:"Adverb",reason:"way-adj"},{match:"[way] #Adverb #Adjective",group:0,tag:"Adverb",reason:"way-too-adj"},{match:"[all] #Verb",group:0,tag:"Adverb",reason:"all-verb"},{match:"#Verb [like]",group:0,ifNo:["#Modal","#PhrasalVerb"],tag:"Adverb",reason:"verb-like"},{match:"(barely|hardly) even",tag:"Adverb",reason:"barely-even"},{match:"[even] #Verb",group:0,tag:"Adverb",reason:"even-walk"},{match:"[even] (#Determiner|#Possessive)",group:0,tag:"#Adverb",reason:"even-the"},{match:"even left",tag:"#Adverb #Verb",reason:"even-left"},{match:"[way] #Adjective",group:0,tag:"#Adverb",reason:"way-over"},{match:"#PresentTense [(hard|quick|long|bright|slow|fast|backwards|forwards)]",ifNo:"#Copula",group:0,tag:"Adverb",reason:"lazy-ly"},{match:"[much] #Adjective",group:0,tag:"Adverb",reason:"bit-1"},{match:"#Copula [#Adverb]$",group:0,tag:"Adjective",reason:"is-well"},{match:"a [(little|bit|wee) bit?] #Adjective",group:0,tag:"Adverb",reason:"a-bit-cold"},{match:"[(super|pretty)] #Adjective",group:0,tag:"Adverb",reason:"super-strong"},{match:"(become|fall|grow) #Adverb? [#PastTense]",group:0,tag:"Adjective",reason:"overly-weakened"},{match:"(a|an) #Adverb [#Participle] #Noun",group:0,tag:"Adjective",reason:"completely-beaten"},{match:"#Determiner #Adverb? [close]",group:0,tag:"Adjective",reason:"a-close"},{match:"#Gerund #Adverb? [close]",group:0,tag:"Adverb",reason:"being-close"},{match:"(the|those|these|a|an) [#Participle] #Noun",group:0,tag:"Adjective",reason:"blown-motor"},{match:"(#PresentTense|#PastTense) [back]",group:0,tag:"Adverb",reason:"charge-back"}],[{match:"[sun] the #Ordinal",tag:"WeekDay",reason:"sun-the-5th"},{match:"[sun] #Date",group:0,tag:"WeekDay",reason:"sun-feb"},{match:"#Date (on|this|next|last|during)? [sun]",group:0,tag:"WeekDay",reason:"1pm-sun"},{match:"(in|by|before|during|on|until|after|of|within|all) [sat]",group:0,tag:"WeekDay",reason:"sat"},{match:"(in|by|before|during|on|until|after|of|within|all) [wed]",group:0,tag:"WeekDay",reason:"wed"},{match:"(in|by|before|during|on|until|after|of|within|all) [march]",group:0,tag:"Month",reason:"march"},{match:"[sat] #Date",group:0,tag:"WeekDay",reason:"sat-feb"},{match:"#Preposition [(march|may)]",group:0,tag:"Month",reason:"in-month"},{match:"(this|next|last) [(march|may)]",tag:"#Date #Month",reason:"this-month"},{match:"(march|may) the? #Value",tag:"#Month #Date #Date",reason:"march-5th"},{match:"#Value of? (march|may)",tag:"#Date #Date #Month",reason:"5th-of-march"},{match:"[(march|may)] .? #Date",group:0,tag:"Month",reason:"march-and-feb"},{match:"#Date .? [(march|may)]",group:0,tag:"Month",reason:"feb-and-march"},{match:"#Adverb [(march|may)]",group:0,tag:"Verb",reason:"quickly-march"},{match:"[(march|may)] #Adverb",group:0,tag:"Verb",reason:"march-quickly"}],[{match:"#Holiday (day|eve)",tag:"Holiday",reason:"holiday-day"},{match:"#Value of #Month",tag:"Date",reason:"value-of-month"},{match:"#Cardinal #Month",tag:"Date",reason:"cardinal-month"},{match:"#Month #Value to #Value",tag:"Date",reason:"value-to-value"},{match:"#Month the #Value",tag:"Date",reason:"month-the-value"},{match:"(#WeekDay|#Month) #Value",tag:"Date",reason:"date-value"},{match:"#Value (#WeekDay|#Month)",tag:"Date",reason:"value-date"},{match:"(#TextValue && #Date) #TextValue",tag:"Date",reason:"textvalue-date"},{match:"#Month #NumberRange",tag:"Date",reason:"aug 20-21"},{match:"#WeekDay #Month #Ordinal",tag:"Date",reason:"week mm-dd"},{match:"#Month #Ordinal #Cardinal",tag:"Date",reason:"mm-dd-yyy"},{match:"(#Place|#Demonmym|#Time) (standard|daylight|central|mountain)? time",tag:"Timezone",reason:"std-time"},{match:"(eastern|mountain|pacific|central|atlantic) (standard|daylight|summer)? time",tag:"Timezone",reason:"eastern-time"},{match:"#Time [(eastern|mountain|pacific|central|est|pst|gmt)]",group:0,tag:"Timezone",reason:"5pm-central"},{match:"(central|western|eastern) european time",tag:"Timezone",reason:"cet"}],[{match:"more #Noun",tag:"Noun",reason:"more-noun"},{match:"(right|rights) of .",tag:"Noun",reason:"right-of"},{match:"a [bit]",group:0,tag:"Noun",reason:"bit-2"},{match:"some [#Verb] #Plural",group:0,tag:"Noun",reason:"determiner6"},{match:"#Possessive #Ordinal [#PastTense]",group:0,tag:"Noun",reason:"first-thought"},{match:"(the|this|those|these) #Adjective [%Verb|Noun%]",group:0,tag:"Noun",ifNo:"#Copula",reason:"the-adj-verb"},{match:"(the|this|those|these) #Adverb #Adjective [#Verb]",group:0,tag:"Noun",reason:"determiner4"},{match:"the [#Verb] #Preposition .",group:0,tag:"Noun",reason:"determiner1"},{match:"#Determiner [#Verb] of",group:0,tag:"Noun",reason:"the-verb-of"},{match:"#Determiner #Noun of [#Verb]",group:0,tag:"Noun",ifNo:"#Gerund",reason:"noun-of-noun"},{match:"#PastTense #Preposition [#PresentTense]",group:0,ifNo:["#Gerund"],tag:"Noun",reason:"ended-in-ruins"},{match:"#Conjunction [u]",group:0,tag:"Pronoun",reason:"u-pronoun-2"},{match:"[u] #Verb",group:0,tag:"Pronoun",reason:"u-pronoun-1"},{match:"#Determiner [(western|eastern|northern|southern|central)] #Noun",group:0,tag:"Noun",reason:"western-line"},{match:"(#Singular && @hasHyphen) #PresentTense",tag:"Noun",reason:"hyphen-verb"},{match:"is no [#Verb]",group:0,tag:"Noun",reason:"is-no-verb"},{match:"do [so]",group:0,tag:"Noun",reason:"so-noun"},{match:"#Determiner [(shit|damn|hell)]",group:0,tag:"Noun",reason:"swears-noun"},{match:"to [(shit|hell)]",group:0,tag:"Noun",reason:"to-swears"},{match:"(the|these) [#Singular] (were|are)",group:0,tag:"Plural",reason:"singular-were"},{match:"a #Noun+ or #Adverb+? [#Verb]",group:0,tag:"Noun",reason:"noun-or-noun"},{match:"(the|those|these|a|an) #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"det-inf"},{match:"(the|those|these|a|an) #Adjective? [#PresentTense]",ifNo:["#Gerund","#Copula"],group:0,tag:"Noun",reason:"det-pres"},{match:"#Noun #Actor",tag:"Actor",reason:"thing-doer"},{match:"co #Singular",tag:"Actor",reason:"co-noun"},{match:"#Determiner [sun]",group:0,tag:"Singular",reason:"the-sun"},{match:"#Verb (a|an) [#Value]",group:0,tag:"Singular",reason:"did-a-value"},{match:"the [(can|will|may)]",group:0,tag:"Singular",reason:"the can"},{match:"#FirstName #Acronym? (#Possessive && #LastName)",tag:"Possessive",reason:"name-poss"},{match:"#Organization+ #Possessive",tag:"Possessive",reason:"org-possessive"},{match:"#Place+ #Possessive",tag:"Possessive",reason:"place-possessive"},{match:"#Value of a [second]",group:0,unTag:"Value",tag:"Singular",reason:"10th-of-a-second"},{match:"#Value [seconds]",group:0,unTag:"Value",tag:"Plural",reason:"10-seconds"},{match:"in [#Infinitive]",group:0,tag:"Singular",reason:"in-age"},{match:"a [#Adjective] #Preposition",group:0,tag:"Noun",reason:"a-minor-in"},{match:"#Determiner [#Singular] said",group:0,tag:"Actor",reason:"the-actor-said"},{match:"#Determiner #Noun [(feel|sense|process|rush|side|bomb|bully|challenge|cover|crush|dump|exchange|flow|function|issue|lecture|limit|march|process)] !(#Preposition|to|#Adverb)?",group:0,tag:"Noun",reason:"the-noun-sense"},{match:"[#PresentTense] (of|by|for) (a|an|the) #Noun #Copula",group:0,tag:"Plural",reason:"photographs-of"},{match:"#Infinitive and [%Noun|Verb%]",group:0,tag:"Infinitive",reason:"fight and win"},{match:"#Noun and [%Noun|Verb%]",group:0,tag:"Singular",ifNo:["#ProperNoun"],reason:"bride-and-groom"},{match:"#Determiner [%Adj|Noun%] #Noun",group:0,tag:"Adjective",ifNo:["#ProperNoun"],reason:"a-complex-relationship"}],[{match:"(this|that|the|a|an) [#Gerund #Infinitive]",group:0,tag:"Singular",reason:"the-planning-process"},{match:"(that|the) [#Gerund #PresentTense]",group:0,tag:"Plural",reason:"the-paving-stones"},{match:"(this|that|the) [#Gerund]",group:0,tag:"Noun",reason:"this-gerund"},{match:"#Pronoun #Infinitive [#Gerund] #PresentTense",group:0,tag:"Noun",reason:"tipping-sucks"},{match:"#Adjective [#Gerund]",group:0,tag:"Noun",reason:"early-warning"},{match:"[#Gerund] #Adverb? not? #Copula",group:0,tag:"Activity",reason:"gerund-copula"},{match:"[#Gerund] #Modal",group:0,tag:"Activity",reason:"gerund-modal"}],[{match:"#Infinitive (this|that|the) [#Infinitive]",group:0,tag:"Noun",reason:"do-this-dance"},{match:"#Gerund #Determiner [#Infinitive]",group:0,tag:"Noun",reason:"running-a-show"},{match:"#Determiner #Adverb [#Infinitive]",group:0,tag:"Noun",reason:"the-reason"},{match:"(the|this|a|an) [#Infinitive] #Adverb? #Verb",group:0,tag:"Noun",reason:"determiner5"},{match:"#Determiner [#Infinitive] #Noun",group:0,tag:"Noun",reason:"determiner7"},{match:"#Determiner #Adjective #Adjective? [#Infinitive]",group:0,tag:"Noun",reason:"a-nice-inf"},{match:"#Determiner #Demonym [#PresentTense]",group:0,tag:"Noun",reason:"mexican-train"},{match:"#Adjective #Noun+ [#Infinitive] #Copula",group:0,tag:"Noun",reason:"career-move"},{match:"at some [#Infinitive]",group:0,tag:"Noun",reason:"at-some-inf"},{match:"(go|goes|went) to [#Infinitive]",group:0,tag:"Noun",reason:"goes-to-verb"},{match:"(a|an) #Adjective? #Noun [#Infinitive] (#Preposition|#Noun)",group:0,tag:"Noun",reason:"a-noun-inf"},{match:"(a|an) #Noun [#Infinitive]$",group:0,tag:"Noun",reason:"a-noun-inf2"},{match:"#Copula [#Infinitive] #Noun",group:0,tag:"Noun",reason:"is-pres-noun"},{match:"#Gerund #Adjective? for [#Infinitive]",group:0,tag:"Noun",reason:"running-for"},{match:"#Gerund #Adjective to [#Infinitive]",group:0,tag:"Noun",reason:"running-to"},{match:"(one|1) [#Infinitive]",group:0,tag:"Singular",reason:"1-trains"},{match:"about [#Infinitive]",group:0,tag:"Singular",reason:"about-love"},{match:"on [#Infinitive]",group:0,tag:"Noun",reason:"on-stage"},{match:"any [#Infinitive]",group:0,tag:"Noun",reason:"any-charge"},{match:"no [#Infinitive]",group:0,tag:"Noun",reason:"no-doubt"},{match:"number of [#PresentTense]",group:0,tag:"Noun",reason:"number-of-x"},{match:"(taught|teaches|learns|learned) [#PresentTense]",group:0,tag:"Noun",reason:"teaches-x"},{match:"(try|use|attempt|build|make) [#Verb]",ifNo:["#Copula","#PhrasalVerb"],group:0,tag:"Noun",reason:"do-verb"},{match:"^[#Infinitive] (is|was)",group:0,tag:"Noun",reason:"checkmate-is"},{match:"#Infinitive much [#Infinitive]",group:0,tag:"Noun",reason:"get-much"},{match:"[cause] #Pronoun #Verb",group:0,tag:"Conjunction",reason:"cause-cuz"},{match:"the #Singular [#Infinitive] #Noun",group:0,tag:"Noun",reason:"cardio-dance"},{match:"#Determiner #Modal [#Noun]",group:0,tag:"PresentTense",reason:"should-smoke"},{match:"(this|that) [#Plural]",group:0,tag:"PresentTense",reason:"this-verbs"},{match:"(let|make|made) (him|her|it|#Person|#Place|#Organization)+ [#Singular] (a|an|the|it)",group:0,tag:"Infinitive",reason:"let-him-glue"},{match:"#Verb (all|every|each|most|some|no) [#PresentTense]",ifNo:"#Modal",group:0,tag:"Noun",reason:"all-presentTense"},{match:"(had|have|#PastTense) #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adj-presentTense"},{match:"#Value #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"one-big-reason"},{match:"#PastTense #Adjective+ [#PresentTense]",group:0,tag:"Noun",reason:"won-wide-support"},{match:"(many|few|several|couple) [#PresentTense]",group:0,tag:"Noun",reason:"many-poses"},{match:"#Adverb #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"very-big-dream"},{match:"#Adjective #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"adorable-little-store"},{match:"#Gerund #Adverb? #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"higher-costs"},{match:"(#Noun && @hasComma) #Noun (and|or) [#PresentTense]",group:0,tag:"Noun",reason:"noun-list"},{match:"(many|any|some|several) [#PresentTense] for",group:0,tag:"Noun",reason:"any-verbs-for"},{match:"to #PresentTense #Noun [#PresentTense] #Preposition",group:0,tag:"Noun",reason:"gas-exchange"},{match:"#PastTense (until|as|through|without) [#PresentTense]",group:0,tag:"Noun",reason:"waited-until-release"},{match:"#Gerund like #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"like-hot-cakes"},{match:"some #Adjective [#PresentTense]",group:0,tag:"Noun",reason:"some-reason"},{match:"for some [#PresentTense]",group:0,tag:"Noun",reason:"for-some-reason"},{match:"(same|some|the|that|a) kind of [#PresentTense]",group:0,tag:"Noun",reason:"some-kind-of"},{match:"(same|some|the|that|a) type of [#PresentTense]",group:0,tag:"Noun",reason:"some-type-of"},{match:"#Gerund #Adjective #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"doing-better-for-x"},{match:"(get|got|have|had) #Comparative [#PresentTense]",group:0,tag:"Noun",reason:"got-better-aim"},{match:"whose [#PresentTense] #Copula",group:0,tag:"Noun",reason:"whos-name-was"},{match:"#PhrasalVerb #PhrasalVerb #Preposition [#PresentTense]",group:0,tag:"Noun",reason:"given-up-on-x"},{match:"there (are|were) #Adjective? [#PresentTense]",group:0,tag:"Plural",reason:"there-are"},{match:"#Value [#PresentTense]",group:0,ifNo:["one","1","#Copula"],tag:"Plural",reason:"2-trains"},{match:"[#PresentTense] (are|were|was) #Adjective",group:0,tag:"Plural",reason:"compromises-are-possible"},{match:"^[(hope|guess|thought|think)] #Pronoun #Verb",group:0,tag:"Infinitive",reason:"suppose-i"},{match:"#PresentTense #Possessive [#PresentTense]",group:0,tag:"Plural",reason:"pursue-its-dreams"},{match:"#Possessive #Adjective [#Verb]",group:0,tag:"Noun",reason:"our-full-support"},{match:"(do|did|will) [#Singular] #Noun",group:0,tag:"PresentTense",reason:"do-serve-fish"},{match:"[(tastes|smells)] #Adverb? #Adjective",group:0,tag:"PresentTense",reason:"tastes-good"},{match:"^are #Pronoun [#Noun]",group:0,ifNo:["here","there"],tag:"Verb",reason:"are-you-x"},{match:"#Copula #Gerund [#PresentTense] !by?",group:0,tag:"Noun",ifNo:["going"],reason:"ignoring-commute"},{match:"#Determiner #Adjective? [(shed|thought|rose|bid|saw|spelt)]",group:0,tag:"Noun",reason:"noun-past"}],[{match:"#Money and #Money #Currency?",tag:"Money",reason:"money-and-money"},{match:"#Value #Currency [and] #Value (cents|ore|centavos|sens)",group:0,tag:"money",reason:"and-5-cents"},{match:"#Value (mark|rand|won|rub|ore)",tag:"#Money #Currency",reason:"4 mark"}],[{match:"[(half|quarter)] of? (a|an)",group:0,tag:"Fraction",reason:"millionth"},{match:"#Adverb [half]",group:0,tag:"Fraction",reason:"nearly-half"},{match:"[half] the",group:0,tag:"Fraction",reason:"half-the"},{match:"#Cardinal and a half",tag:"Fraction",reason:"and-a-half"},{match:"#Value (halves|halfs|quarters)",tag:"Fraction",reason:"two-halves"},{match:"a #Ordinal",tag:"Fraction",reason:"a-quarter"},{match:"[#Cardinal+] (#Fraction && /s$/)",tag:"Fraction",reason:"seven-fifths"},{match:"[#Cardinal+ #Ordinal] of .",group:0,tag:"Fraction",reason:"ordinal-of"},{match:"[(#NumericValue && #Ordinal)] of .",group:0,tag:"Fraction",reason:"num-ordinal-of"},{match:"(a|one) #Cardinal?+ #Ordinal",tag:"Fraction",reason:"a-ordinal"},{match:"#Cardinal+ out? of every? #Cardinal",tag:"Fraction",reason:"out-of"}],[{match:"#Cardinal [second]",tag:"Unit",reason:"one-second"},{match:"!once? [(a|an)] (#Duration|hundred|thousand|million|billion|trillion)",group:0,tag:"Value",reason:"a-is-one"},{match:"1 #Value #PhoneNumber",tag:"PhoneNumber",reason:"1-800-Value"},{match:"#NumericValue #PhoneNumber",tag:"PhoneNumber",reason:"(800) PhoneNumber"},{match:"#Demonym #Currency",tag:"Currency",reason:"demonym-currency"},{match:"#Value [(buck|bucks|grand)]",group:0,tag:"Currency",reason:"value-bucks"},{match:"[#Value+] #Currency",group:0,tag:"Money",reason:"15 usd"},{match:"[second] #Noun",group:0,tag:"Ordinal",reason:"second-noun"},{match:"#Value+ [#Currency]",group:0,tag:"Unit",reason:"5-yan"},{match:"#Value [(foot|feet)]",group:0,tag:"Unit",reason:"foot-unit"},{match:"#Value [#Abbreviation]",group:0,tag:"Unit",reason:"value-abbr"},{match:"#Value [k]",group:0,tag:"Unit",reason:"value-k"},{match:"#Unit an hour",tag:"Unit",reason:"unit-an-hour"},{match:"(minus|negative) #Value",tag:"Value",reason:"minus-value"},{match:"#Value (point|decimal) #Value",tag:"Value",reason:"value-point-value"},{match:"#Determiner [(half|quarter)] #Ordinal",group:0,tag:"Value",reason:"half-ordinal"},{match:"#Multiple+ and #Value",tag:"Value",reason:"magnitude-and-value"}],[{match:"[(1st|2nd|first|second)] #Honorific",group:0,tag:"Honorific",reason:"ordinal-honorific"},{match:"[(private|general|major|corporal|lord|lady|secretary|premier)] #Honorific? #Person",group:0,tag:"Honorific",reason:"ambg-honorifics"},{match:"#Copula [(#Noun|#PresentTense)] #LastName",group:0,tag:"FirstName",reason:"copula-noun-lastname"},{match:"(lady|queen|sister|king|pope|father) #ProperNoun",tag:"Person",reason:"lady-titlecase",safe:!0},{match:"#FirstName [#Determiner #Noun] #LastName",group:0,tag:"Person",reason:"first-noun-last"},{match:"#ProperNoun (b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) #ProperNoun",tag:"Person",reason:"titlecase-acronym-titlecase",safe:!0},{match:"#Acronym #LastName",tag:"Person",reason:"acronym-lastname",safe:!0},{match:"#Person (jr|sr|md)",tag:"Person",reason:"person-honorific"},{match:"#Honorific #Acronym",tag:"Person",reason:"Honorific-TitleCase"},{match:"#Person #Person the? #RomanNumeral",tag:"Person",reason:"roman-numeral"},{match:"#FirstName [/^[^aiurck]$/]",group:0,tag:["Acronym","Person"],reason:"john-e"},{match:"#Noun van der? #Noun",tag:"Person",reason:"van der noun",safe:!0},{match:"(king|queen|prince|saint|lady) of #Noun",tag:"Person",reason:"king-of-noun",safe:!0},{match:"(prince|lady) #Place",tag:"Person",reason:"lady-place"},{match:"(king|queen|prince|saint) #ProperNoun",tag:"Person",reason:"saint-foo"},{match:"al (#Person|#ProperNoun)",tag:"Person",reason:"al-borlen",safe:!0},{match:"#FirstName de #Noun",tag:"Person",reason:"bill-de-noun"},{match:"#FirstName (bin|al) #Noun",tag:"Person",reason:"bill-al-noun"},{match:"#FirstName #Acronym #ProperNoun",tag:"Person",reason:"bill-acronym-title"},{match:"#FirstName #FirstName #ProperNoun",tag:"Person",reason:"bill-firstname-title"},{match:"#Honorific #FirstName? #ProperNoun",tag:"Person",reason:"dr-john-Title"},{match:"#FirstName the #Adjective",tag:"Person",reason:"name-the-great"},{match:"#ProperNoun (van|al|bin) #ProperNoun",tag:"Person",reason:"title-van-title",safe:!0},{match:"#ProperNoun (de|du) la? #ProperNoun",tag:"Person",reason:"title-de-title"},{match:"#Singular #Acronym #LastName",tag:"#FirstName #Person .",reason:"title-acro-noun",safe:!0},{match:"[#ProperNoun] #Person",group:0,tag:"Person",reason:"proper-person",safe:!0},{match:"#Person [#ProperNoun #ProperNoun]",group:0,tag:"Person",ifNo:"#Possessive",reason:"three-name-person",safe:!0},{match:"#FirstName #Acronym? [#ProperNoun]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"firstname-titlecase"},{match:"#FirstName [#FirstName]",group:0,tag:"LastName",reason:"firstname-firstname"},{match:"#FirstName #Acronym #Noun",tag:"Person",reason:"n-acro-noun",safe:!0},{match:"#FirstName [(de|di|du|van|von)] #Person",group:0,tag:"LastName",reason:"de-firstname"},{match:"#ProperNoun [#Honorific]",group:0,tag:"Person",reason:"last-sr"},{match:"#Honorific #FirstName [#Singular]",group:0,tag:"LastName",ifNo:"#Possessive",reason:"dr-john-foo",safe:!0},{match:"[(his|her) (majesty|honour|worship|excellency|honorable)] #Person",group:0,tag:["Honorific","Person"],reason:"his-excellency"},{match:"#Honorific #Person",tag:"Person",reason:"honorific-person"}],[{match:"%Person|Date% #Acronym? #ProperNoun",tag:"Person",reason:"jan-thierson"},{match:"%Person|Noun% #Acronym? #ProperNoun",tag:"Person",reason:"switch-person",safe:!0},{match:"%Person|Noun% #Organization",tag:"Organization",reason:"olive-garden"},{match:"%Person|Verb% #Acronym? #ProperNoun",tag:"Person",reason:"verb-propernoun"},{match:"[%Person|Verb%] (will|had|has|said|says|told|did|learned|wants|wanted)",tag:"Person",reason:"person-said"},{match:"[%Person|Place%] (harbor|harbour|pier|town|city|place|dump|landfill)",tag:"Place",reason:"sydney-harbour"},{match:"(west|east|north|south) [%Person|Place%]",tag:"Place",reason:"east-sydney"},{match:hl+" #Person",tag:"Person",reason:"randy-smith"},{match:hl+" #Acronym? #ProperNoun",tag:"Person",reason:"rusty-smith"},{match:`#Adverb [${hl}]`,group:0,tag:"Adjective",reason:"really-rich"},{match:"#Modal [%Person|Verb%]",group:0,tag:"Verb",reason:"would-mark"},{match:"#Adverb [%Person|Verb%]",group:0,tag:"Verb",reason:"really-mark"},{match:"[%Person|Verb%] (#Adverb|#Comparative)",group:0,tag:"Verb",reason:"drew-closer"},{match:"%Person|Verb% #Person",tag:"Person",reason:"rob-smith"},{match:"%Person|Verb% #Acronym #ProperNoun",tag:"Person",reason:"rob-a-smith"},{match:"[will] #Verb",group:0,tag:"Modal",reason:"will-verb"},{match:"(will && @isTitleCase) #ProperNoun",tag:"Person",reason:"will-name"}],[{match:"#Copula (pretty|dead|full|well|sure) (#Adjective|#Noun)",tag:"#Copula #Adverb #Adjective",reason:"sometimes-adverb"},{match:"(#Pronoun|#Person) (had|#Adverb)? [better] #PresentTense",group:0,tag:"Modal",reason:"i-better"},{match:"(#Modal|i|they|we|do) not? [like]",group:0,tag:"PresentTense",reason:"modal-like"},{match:"do (simply|just|really|not)+ [(#Adjective|like)]",group:0,tag:"Verb",reason:"do-simply-like"},{match:"#Noun #Adverb? [left]",group:0,tag:"PastTense",reason:"left-verb"},{match:"will #Adverb? not? #Adverb? [be] #Gerund",group:0,tag:"Copula",reason:"will-be-copula"},{match:"will #Adverb? not? #Adverb? [be] #Adjective",group:0,tag:"Copula",reason:"be-copula"},{match:"[march] (up|down|back|toward)",notIf:["#Date"],group:0,tag:"Infinitive",reason:"march-to"},{match:"#Modal [march]",group:0,tag:"Infinitive",reason:"must-march"},{match:"[may] be",group:0,tag:"Verb",reason:"may-be"},{match:"[(subject|subjects|subjected)] to",group:0,tag:"Verb",reason:"subject to"},{match:"[home] to",group:0,tag:"PresentTense",reason:"home to"},{match:"[open] #Determiner",group:0,tag:"Infinitive",reason:"open-the"},{match:"(were|was) being [#PresentTense]",group:0,tag:"PastTense",reason:"was-being"},{match:"(had|has|have) [been /en$/]",group:0,tag:"Auxiliary Participle",reason:"had-been-broken"},{match:"(had|has|have) [been /ed$/]",group:0,tag:"Auxiliary PastTense",reason:"had-been-smoked"},{match:"(had|has) #Adverb? [been] #Adverb? #PastTense",group:0,tag:"Auxiliary",reason:"had-been-adj"},{match:"(had|has) to [#Noun] (#Determiner|#Possessive)",group:0,tag:"Infinitive",reason:"had-to-noun"},{match:"have [#PresentTense]",group:0,tag:"PastTense",ifNo:["come","gotten"],reason:"have-read"},{match:"(does|will|#Modal) that [work]",group:0,tag:"PastTense",reason:"does-that-work"},{match:"[(sound|sounds)] #Adjective",group:0,tag:"PresentTense",reason:"sounds-fun"},{match:"[(look|looks)] #Adjective",group:0,tag:"PresentTense",reason:"looks-good"},{match:"[(need|needs)] to #Infinitive",group:0,tag:"PresentTense",reason:"need-to-learn"},{match:"[(start|starts|stop|stops|begin|begins)] #Gerund",group:0,tag:"Verb",reason:"starts-thinking"},{match:"(is|was|were) [(under|over) #PastTense]",group:0,tag:"Adverb Adjective",reason:"was-under-cooked"},{match:"[shit] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear1-verb"},{match:"[damn] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear2-verb"},{match:"[fuck] (#Determiner|#Possessive|them)",group:0,tag:"Verb",reason:"swear3-verb"},{match:"#Plural that %Noun|Verb%",tag:". #Preposition #Infinitive",reason:"jobs-that-work"},{match:"[works] for me",group:0,tag:"#PresentTense",reason:"works-for-me"}],[{match:"(slowly|quickly) [#Adjective]",group:0,tag:"Verb",reason:"slowly-adj"},{match:"does (#Adverb|not)? [#Adjective]",group:0,tag:"PresentTense",reason:"does-mean"},{match:"[(fine|okay|cool|ok)] by me",group:0,tag:"Adjective",reason:"okay-by-me"},{match:"i (#Adverb|do)? not? [mean]",group:0,tag:"PresentTense",reason:"i-mean"},{match:"will #Adjective",tag:"Auxiliary Infinitive",reason:"will-adj"},{match:"#Pronoun [#Adjective] #Determiner #Adjective? #Noun",group:0,tag:"Verb",reason:"he-adj-the"},{match:"#Copula [%Adj|Present%] to #Verb",group:0,tag:"Verb",reason:"adj-to"},{match:"#Adjective and [#Gerund] !#Preposition?",group:0,tag:"Adjective",reason:"rude-and-x"},{match:"#Copula #Adverb? (over|under) [#PastTense]",group:0,tag:"Adjective",reason:"over-cooked"},{match:"#Copula #Adjective+ (and|or) [#PastTense]$",group:0,tag:"Adjective",reason:"bland-and-overcooked"},{match:"got #Adverb? [#PastTense] of",group:0,tag:"Adjective",reason:"got-tired-of"},{match:"(seem|seems|seemed|appear|appeared|appears|feel|feels|felt|sound|sounds|sounded) (#Adverb|#Adjective)? [#PastTense]",group:0,tag:"Adjective",reason:"felt-loved"}],[{match:"[#Copula] (#Adverb|not)+? (#Gerund|#PastTense)",group:0,tag:"Auxiliary",reason:"copula-walking"},{match:"#Adverb+? [(#Modal|did)+] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"modal-verb"},{match:"#Modal (#Adverb|not)+? [have] (#Adverb|not)+? [had] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-have"},{match:"[(has|had)] (#Adverb|not)+? #PastTense",group:0,tag:"Auxiliary",reason:"had-walked"},{match:"[(do|does|did|will|have|had|has|got)] (not|#Adverb)+? #Verb",group:0,tag:"Auxiliary",reason:"have-had"},{match:"[about to] #Adverb? #Verb",group:0,tag:["Auxiliary","Verb"],reason:"about-to"},{match:"#Modal (#Adverb|not)+? [be] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"would-be"},{match:"[(#Modal|had|has)] (#Adverb|not)+? [been] (#Adverb|not)+? #Verb",group:0,tag:"Auxiliary",reason:"had-been"},{match:"[(be|being|been)] #Participle",group:0,tag:"Auxiliary",reason:"being-driven"},{match:"[may] #Adverb? #Infinitive",group:0,tag:"Auxiliary",reason:"may-want"},{match:"#Copula (#Adverb|not)+? [(be|being|been)] #Adverb+? #PastTense",group:0,tag:"Auxiliary",reason:"being-walked"},{match:"will [be] #PastTense",group:0,tag:"Auxiliary",reason:"will-be-x"},{match:"[(be|been)] (#Adverb|not)+? #Gerund",group:0,tag:"Auxiliary",reason:"been-walking"},{match:"[used to] #PresentTense",group:0,tag:"Auxiliary",reason:"used-to-walk"},{match:"#Copula (#Adverb|not)+? [going to] #Adverb+? #PresentTense",group:0,tag:"Auxiliary",reason:"going-to-walk"},{match:"#Imperative [(me|him|her)]",group:0,tag:"Reflexive",reason:"tell-him"},{match:"(is|was) #Adverb? [no]",group:0,tag:"Negative",reason:"is-no"}],[{match:"(#Verb && @hasHyphen) up",tag:"PhrasalVerb",reason:"foo-up"},{match:"(#Verb && @hasHyphen) off",tag:"PhrasalVerb",reason:"foo-off"},{match:"(#Verb && @hasHyphen) over",tag:"PhrasalVerb",reason:"foo-over"},{match:"(#Verb && @hasHyphen) out",tag:"PhrasalVerb",reason:"foo-out"},{match:"[#Verb (in|out|up|down|off|back)] (on|in)",ifNo:["#Copula"],tag:"PhrasalVerb Particle",reason:"walk-in-on"},{match:"#PhrasalVerb [#PhrasalVerb]",group:0,tag:"Particle",reason:"phrasal-particle"},{match:"(lived|went|crept|go) [on] for",group:0,tag:"PhrasalVerb",reason:"went-on"},{match:"help [(stop|end|make|start)]",group:0,tag:"Infinitive",reason:"help-stop"},{match:"[(stop|start|finish|help)] #Gerund",group:0,tag:"Infinitive",reason:"start-listening"},{match:"#Verb (him|her|it|us|himself|herself|itself|everything|something) [(up|down)]",group:0,tag:"Adverb",reason:"phrasal-pronoun-advb"}],[{match:"^do not? [#Infinitive #Particle?]",notIf:gl,group:0,tag:"Imperative",reason:"do-eat"},{match:"^please do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"please-go"},{match:"^just do? not? [#Infinitive #Particle?]",group:0,tag:"Imperative",reason:"just-go"},{match:"^[#Infinitive] it #Comparative",notIf:gl,group:0,tag:"Imperative",reason:"do-it-better"},{match:"^[#Infinitive] it (please|now|again|plz)",notIf:gl,group:0,tag:"Imperative",reason:"do-it-please"},{match:"^[#Infinitive] (#Adjective|#Adverb)$",group:0,tag:"Imperative",ifNo:["so","such","rather","enough"],reason:"go-quickly"},{match:"^[#Infinitive] (up|down|over) #Determiner",group:0,tag:"Imperative",reason:"turn-down"},{match:"^[#Infinitive] (your|my|the|some|a|an)",group:0,ifNo:"like",tag:"Imperative",reason:"eat-my-shorts"},{match:"^[#Infinitive] (him|her|it|us|me)",group:0,tag:"Imperative",reason:"tell-him"},{match:"^[#Infinitive] #Adjective #Noun$",group:0,tag:"Imperative",reason:"avoid-loud-noises"},{match:"^(go|stop|wait|hurry) please?$",tag:"Imperative",reason:"go"},{match:"^(somebody|everybody) [#Infinitive]",group:0,tag:"Imperative",reason:"somebody-call"},{match:"^let (us|me) [#Infinitive]",group:0,tag:"Imperative",reason:"lets-leave"},{match:"^[(shut|close|open|start|stop|end|keep)] #Determiner #Noun",group:0,tag:"Imperative",reason:"shut-the-door"},{match:"^[go] to .",group:0,tag:"Imperative",reason:"go-to-toronto"},{match:"^never [#Infinitive]",group:0,tag:"Imperative",reason:"never-stop"},{match:"^stay (out|away|back)",tag:"Imperative",reason:"stay-away"},{match:"^[stay] #Adjective",tag:"Imperative",reason:"stay-cool"},{match:"^[keep it] #Adjective",group:0,tag:"Imperative",reason:"keep-it-cool"},{match:"^do not [#Infinitive]",group:0,tag:"Imperative",reason:"do-not-be"},{match:"[#Infinitive] (yourself|yourselves)",group:0,tag:"Imperative",reason:"allow-yourself"}],[{match:"(that|which) were [%Adj|Gerund%]",group:0,tag:"Gerund",reason:"that-were-growing"}],[{match:"u r",tag:"#Pronoun #Copula",reason:"u r"},{match:"#Noun [(who|whom)]",group:0,tag:"Determiner",reason:"captain-who"},{match:"[had] #Noun+ #PastTense",group:0,tag:"Condition",reason:"had-he"},{match:"[were] #Noun+ to #Infinitive",group:0,tag:"Condition",reason:"were-he"},{match:"holy (shit|fuck|hell)",tag:"Expression",reason:"swears-expression"},{match:"^(well|so|okay|now)",tag:"Expression",reason:"well-"},{match:"some sort of",tag:"Adjective Noun Conjunction",reason:"some-sort-of"},{match:"of some sort",tag:"Conjunction Adjective Noun",reason:"of-some-sort"},{match:"[such] (a|an|is)? #Noun",group:0,tag:"Determiner",reason:"such-skill"},{match:"(say|says|said) [sorry]",group:0,tag:"Expression",reason:"say-sorry"},{match:"#Verb [(out|for|through|about|around|in|down|up|on|off)] #Preposition",group:0,ifNo:["#Copula"],tag:"Particle",reason:"rush-out"},{match:"#Preposition [about]",group:0,tag:"Adjective",reason:"at-about"},{match:"^[(dude|man|girl)] #Pronoun",group:0,tag:"Expression",reason:"dude-i"}],[{match:"#Noun (&|n) #Noun",tag:"Organization",reason:"Noun-&-Noun"},{match:"#Organization of the? #ProperNoun",tag:"Organization",reason:"org-of-place",safe:!0},{match:"#Organization #Country",tag:"Organization",reason:"org-country"},{match:"#ProperNoun #Organization",tag:"Organization",reason:"titlecase-org"},{match:"#ProperNoun (ltd|co|inc|dept|assn|bros)",tag:"Organization",reason:"org-abbrv"},{match:"the [#Acronym]",group:0,tag:"Organization",reason:"the-acronym",safe:!0},{match:"(world|global|international|national|#Demonym) #Organization",tag:"Organization",reason:"global-org"},{match:"#Noun+ (public|private) school",tag:"School",reason:"noun-public-school"}],[{match:"(west|north|south|east|western|northern|southern|eastern)+ #Place",tag:"Region",reason:"west-norfolk"},{match:"#City [(al|ak|az|ar|ca|ct|dc|fl|ga|id|il|nv|nh|nj|ny|oh|pa|sc|tn|tx|ut|vt|pr)]",group:0,tag:"Region",reason:"us-state"},{match:"portland [or]",group:0,tag:"Region",reason:"portland-or"},{match:"#ProperNoun+ (district|region|province|county|prefecture|municipality|territory|burough|reservation)",tag:"Region",reason:"foo-district"},{match:"(district|region|province|municipality|territory|burough|state) of #ProperNoun",tag:"Region",reason:"district-of-Foo"},{match:"in [#ProperNoun] #Place",group:0,tag:"Place",reason:"propernoun-place"},{match:"#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)",tag:"Address",reason:"address-st"}],[{match:"[so] #Noun",group:0,tag:"Conjunction",reason:"so-conj"},{match:"[(who|what|where|why|how|when)] #Noun #Copula #Adverb? (#Verb|#Adjective)",group:0,tag:"Conjunction",reason:"how-he-is-x"},{match:"#Copula [(who|what|where|why|how|when)] #Noun",group:0,tag:"Conjunction",reason:"when-he"},{match:"#Verb [that] #Pronoun",group:0,tag:"Conjunction",reason:"said-that-he"},{match:"#Noun [that] #Copula",group:0,tag:"Conjunction",reason:"that-are"},{match:"#Noun [that] #Verb #Adjective",group:0,tag:"Conjunction",reason:"that-seem"},{match:"#Noun #Copula not? [that] #Adjective",group:0,tag:"Adverb",reason:"that-adj"},{match:"#Verb #Adverb? #Noun [(that|which)]",group:0,tag:"Preposition",reason:"that-prep"},{match:"@hasComma [which] (#Pronoun|#Verb)",group:0,tag:"Preposition",reason:"which-copula"},{match:"#Noun [like] #Noun",group:0,tag:"Preposition",reason:"noun-like"},{match:"^[like] #Determiner",group:0,tag:"Preposition",reason:"like-the"},{match:"#Adverb [like]",group:0,tag:"Verb",reason:"really-like"},{match:"(not|nothing|never) [like]",group:0,tag:"Preposition",reason:"nothing-like"},{match:"#Verb #Pronoun [like]",group:0,tag:"Preposition",reason:"treat-them-like"},{match:"[#QuestionWord] (#Pronoun|#Determiner)",group:0,tag:"Preposition",reason:"how-he"},{match:"[#QuestionWord] #Participle",group:0,tag:"Preposition",reason:"when-stolen"},{match:"[how] (#Determiner|#Copula|#Modal|#PastTense)",group:0,tag:"QuestionWord",reason:"how-is"},{match:"#Plural [(who|which|when)] .",group:0,tag:"Preposition",reason:"people-who"}]);let pl=null;var fl={api:function(e){e.prototype.confidence=function(){let e=0,t=0;return this.docs.forEach(n=>{n.forEach(n=>{t+=1,e+=n.confidence||1})}),0===t?1:(e=>Math.round(100*e)/100)(e/t)},e.prototype.tagger=function(){return this.compute(["preTagger","contractionTwo","postTagger"])}},compute:{postTagger:function(e){const{world:t}=e,{model:n,methods:a}=t;pl=pl||a.one.buildNet(n.two.matches,a);let r=a.two.quickSplit(e.document).map(e=>{let t=e[0];return[t.index[0],t.index[1],t.index[1]+e.length]}),o=e.update(r);return o.cache(),o.sweep(pl),e.uncache(),e}},model:{two:{matches:ml}},hooks:["postTagger"]};var bl=function(e,t){let n=t;e.has("#Infinitive")||(n=function(e,t){let n=(0,e.methods.two.transform.verbConjugate)(t,e.model);return e.has("#PastTense")?n.PastTense:e.has("#PresentTense")?n.PresentTense:e.has("#Gerund")?n.Gerund:t}(e,t)),e.replaceWith(n)};var yl=function(e,t,n){let a=this.match(`{${e}}`);return n&&(a=a.if(n)),a.has("#Verb")?bl(a,t):a.has("#Noun")?function(e,t){let n=t;e.has("#Plural")&&(n=(0,e.methods.two.transform.nounToPlural)(t,e.model));e.replaceWith(n)}(a,t):a.has("#Adverb")?function(e,t){let n=(0,e.methods.two.transform.adjToAdverb)(t);n&&e.replaceWith(n)}(a,t):this};var vl={api:function(e){e.prototype.swap=yl}};m.plugin(Us),m.plugin(dl),m.plugin(fl),m.plugin(vl);export{m as default}; diff --git a/changelog.md b/changelog.md index 25e82ac04..eae8deff1 100644 --- a/changelog.md +++ b/changelog.md @@ -12,6 +12,24 @@ While all _Major_ releases should be reviewed, our only two _large_ releases are --> +#### 14.2.0 [June 2021] +- **[fix]** - speed improvements +- **[fix]** - bug with fast-or possessive matches +- **[fix]** - bug with slow-or end-matches +- **[change]** - no-longer attempt 's contractions in compromise/one +- **[new]** - flag novel tags in world.one.tagSet +- **[new]** - .sweep() and nlp.buildNet() methods +- **[new]** - some typescript support in plugins #918 +- **[fix]** - better unicode support with Unicode property escapes +- **[fix]** - problems matching on cached documents +- **[fix]** - typescript fixes +- **[fix]** - suffix tagging issues +- **[fix]** - uncached matches missing in .sweep() +- **[fix]** - non-empty results when pointer is first repaired +- **[fix]** - nouns().toPlural() fix for #921 +- **[fix]** - drop deprecated .subst() method internally +- **[new]** - some support for .numbers().units() again #919 + #### 14.1.2 [April 2021] - **[new]** - add .harden() .soften() undocumented methods - **[fix]** - support pre-parsed matches in .has() .if() and .not() diff --git a/data/lexicon/adjectives/adjectives.js b/data/lexicon/adjectives/adjectives.js index 5ad8f58d5..69dcd3e3f 100644 --- a/data/lexicon/adjectives/adjectives.js +++ b/data/lexicon/adjectives/adjectives.js @@ -90,10 +90,7 @@ export default [ 'straight forward', 'straightforward', 'boldface', - 'bona fide', - 'offside', - 'inside', - 'outside', + 'avant garde', 'home made', 'wee', @@ -630,5 +627,20 @@ export default [ 'independent', 'seated', 'modest', + + // -ide + 'bona fide', + // -ate + 'affectionate', + 'alternate', + 'celebate', + 'corporate', + 'illegitimate', + 'inconsiderate', + 'inordinate', + 'proximate', + + 'renowned', + 'beside', ] diff --git a/data/lexicon/adjectives/comparables.js b/data/lexicon/adjectives/comparables.js index 615eec1a8..c6ccd71a9 100644 --- a/data/lexicon/adjectives/comparables.js +++ b/data/lexicon/adjectives/comparables.js @@ -67,7 +67,6 @@ export default [ 'fierce ', 'fierce', 'financial', - 'fine', 'foamy', 'formal', 'foul', diff --git a/data/lexicon/index.js b/data/lexicon/index.js index ec48af0c5..87e9a28f1 100644 --- a/data/lexicon/index.js +++ b/data/lexicon/index.js @@ -106,7 +106,7 @@ const data = [ [prepositions, 'Preposition'], [comparables, 'Comparable'], - [infinitives, 'Infinitive'], + [infinitives, 'Infinitive'],//3kb [modals, 'Modal'], [verbs, 'Verb'], [participles, 'Participle'], diff --git a/data/lexicon/misc/adverbs.js b/data/lexicon/misc/adverbs.js index 3226bdcc7..d37e8ee36 100644 --- a/data/lexicon/misc/adverbs.js +++ b/data/lexicon/misc/adverbs.js @@ -44,6 +44,7 @@ export default [ 'instead', 'just about', 'just', + 'likewise', 'kinda', 'maybe', 'meanwhile', diff --git a/data/lexicon/nouns/organizations.js b/data/lexicon/nouns/organizations.js index 578acb448..0d7d5d64f 100644 --- a/data/lexicon/nouns/organizations.js +++ b/data/lexicon/nouns/organizations.js @@ -216,6 +216,7 @@ export default [ 'safeway', 'salesforce', 'samsung', + 'seagate', 'sears', 'siemens', 'snp', diff --git a/data/lexicon/nouns/singulars.js b/data/lexicon/nouns/singulars.js index 8fdaa3b53..b777f3c9b 100644 --- a/data/lexicon/nouns/singulars.js +++ b/data/lexicon/nouns/singulars.js @@ -101,7 +101,6 @@ export default [ 'substrate', 'acetate', 'us state', - 'us state', 'estate', 'prostate', @@ -122,7 +121,6 @@ export default [ 'prostitute', 'plaque', 'cheque', - 'cheque', 'communique', 'torque', 'mosque', @@ -133,9 +131,7 @@ export default [ 'detective', 'disincentive', 'motive', - 'executive', 'haze', - 'size', 'egg', 'pig', @@ -161,31 +157,36 @@ export default [ 'death', 'mouth', 'shack', - 'luck', 'question mark', // -al - 'decal', - 'ordeal', + 'accrual', + 'acquittal', + 'burial', + 'capital', + 'cathedral', 'cereal', + 'corral', + 'decal', + 'deferral', 'denial', - 'material', - 'tutorial', - 'burial', + 'funeral', + 'hospital', 'mammal', - 'urinal', - 'deferral', - 'referral', - 'corral', + 'material', + 'metal', + 'mineral', 'mural', + 'ordeal', + 'pedestal', 'petal', + 'portal', + 'rebuttal', 'recital', - 'capital', + 'referral', 'subtotal', - 'pedestal', - 'acquittal', - 'rebuttal', - 'accrual', + 'tutorial', + 'urinal', 'record label', 'pencil', @@ -218,7 +219,6 @@ export default [ 'cousin', 'gelatin', 'tax return', - 'gun', 'home run', 'bro', 'burglar', @@ -315,7 +315,6 @@ export default [ 'columnist', 'soloist', - 'bout', 'bout', 'overview', 'tv show', @@ -374,7 +373,6 @@ export default [ 'biopsy', 'autopsy', 'city', - 'honesty', 'guy', 'school', 'bar', @@ -384,7 +382,21 @@ export default [ 'bride', 'menu', - 'owner' + 'owner', + 'coke', + 'conservatory', + 'caterpillar', + 'collar', + 'fetish', + + 'attic', + 'borough', + 'adjective', + 'initiative', + 'narrative', + 'perspective', + 'incentive', + 'parish', ] diff --git a/data/lexicon/nouns/uncountables.js b/data/lexicon/nouns/uncountables.js index 2dd2bb243..f3bd1c2b0 100644 --- a/data/lexicon/nouns/uncountables.js +++ b/data/lexicon/nouns/uncountables.js @@ -83,7 +83,6 @@ export default [ 'impatience', 'importance', 'information', - 'itself', 'jazz', 'jewelry', 'justice', @@ -142,7 +141,6 @@ export default [ 'sand', 'satish', 'scenery', - 'series', 'sheep', 'shingles', 'silk', @@ -180,6 +178,7 @@ export default [ 'wine', 'wood', 'water', + 'liver', 'wool', 'kindergarten', 'tyranny', @@ -229,4 +228,15 @@ export default [ 'presense', 'dope', 'appeal court', + + 'interstate', + 'fate', + 'karate', + 'senate', + 'coral', + 'vernacular', + + 'arithmetic', + 'static', + 'logic', ] diff --git a/data/lexicon/numbers/cardinals.js b/data/lexicon/numbers/cardinals.js index 93e597ffe..45be82d9b 100644 --- a/data/lexicon/numbers/cardinals.js +++ b/data/lexicon/numbers/cardinals.js @@ -28,15 +28,6 @@ export default [ 'seventy', 'eighty', 'ninety', - 'hundred', - 'thousand', - 'million', - 'billion', - 'trillion', - 'quadrillion', - 'quintillion', - 'sextillion', - 'septillion', // plural-multiples 'thousands', 'millions', diff --git a/data/lexicon/numbers/units.js b/data/lexicon/numbers/units.js index 249d5afcd..b52469294 100644 --- a/data/lexicon/numbers/units.js +++ b/data/lexicon/numbers/units.js @@ -21,6 +21,8 @@ export default [ 'cubic centimeter', 'cubic centimeters', 'cm3', + 'litre', + 'litres', 'liter', 'liters', // 'dl', diff --git a/data/lexicon/people/femaleNames.js b/data/lexicon/people/femaleNames.js index a5e3d1974..0e86e93f9 100644 --- a/data/lexicon/people/femaleNames.js +++ b/data/lexicon/people/femaleNames.js @@ -376,7 +376,6 @@ export default [ 'constanza', 'consuelo', 'cora', - 'coral', 'coralie', 'cordelia', 'cori', diff --git a/data/lexicon/people/honorifics.js b/data/lexicon/people/honorifics.js index c3818dffb..941eaa358 100644 --- a/data/lexicon/people/honorifics.js +++ b/data/lexicon/people/honorifics.js @@ -9,6 +9,7 @@ export default [ 'commander', 'congressman', 'congresswoman', + 'constable', 'councillor', 'count', 'doctor', diff --git a/data/lexicon/people/maleNames.js b/data/lexicon/people/maleNames.js index c32ea62db..567c89373 100644 --- a/data/lexicon/people/maleNames.js +++ b/data/lexicon/people/maleNames.js @@ -96,7 +96,6 @@ export default [ 'aryan', 'asahi', 'augustus', - 'austin', 'avery', 'ayaan', 'aykhan', @@ -719,6 +718,7 @@ export default [ 'myles', 'myron', 'nahom', + 'nate', 'nathan', 'nathanael', 'nathaniel', diff --git a/data/lexicon/switches/adj-gerund.js b/data/lexicon/switches/adj-gerund.js index c68fce28d..cd492bf6e 100644 --- a/data/lexicon/switches/adj-gerund.js +++ b/data/lexicon/switches/adj-gerund.js @@ -81,6 +81,7 @@ export default [ 'exacting', 'exciting', 'existing', + 'exploding', 'fading', 'fascinating', 'fetching', @@ -133,6 +134,7 @@ export default [ 'paying', 'perplexing', 'piercing', + 'plunging', 'preceding', 'pressing', 'prevailing', diff --git a/data/lexicon/switches/adj-noun.js b/data/lexicon/switches/adj-noun.js index 0be3f956c..834d5face 100644 --- a/data/lexicon/switches/adj-noun.js +++ b/data/lexicon/switches/adj-noun.js @@ -27,6 +27,7 @@ export default [ 'elite', 'excess', 'expert', + 'executive', 'fat', 'favorite', 'favourite', @@ -42,6 +43,7 @@ export default [ 'individual', 'innocent', 'juvenile', + 'justice', 'latter', 'liberal', 'light', @@ -52,6 +54,8 @@ export default [ 'miniature', 'minor', 'mobile', + 'moral', + 'mortal', 'nagging', 'novel', 'official', @@ -70,6 +74,7 @@ export default [ 'representative', 'republican', 'routine', + 'rubbish', 'secret', 'senior', 'serial', @@ -80,6 +85,7 @@ export default [ 'square', 'squat', 'standard', + 'stable', 'subject', 'subordinate', 'superior', @@ -106,4 +112,5 @@ export default [ 'communist', 'socialist', 'modernist', + ] \ No newline at end of file diff --git a/data/lexicon/switches/noun-verb.js b/data/lexicon/switches/noun-verb.js index 18a22d122..7c475b46e 100644 --- a/data/lexicon/switches/noun-verb.js +++ b/data/lexicon/switches/noun-verb.js @@ -9,8 +9,6 @@ export default [ 'addict', 'address', 'advance', - 'advocate', - 'affiliate', 'age', 'aid', 'aim', @@ -24,7 +22,6 @@ export default [ 'archive', 'armour', 'assist', - 'associate', 'attack', 'attempt', 'auction', @@ -120,10 +117,8 @@ export default [ 'complement', 'compound', 'compromise', - 'concentrate', 'concern', 'conduct', - 'conglomerate', 'construct', 'contact', 'contrast', @@ -154,15 +149,12 @@ export default [ 'dance', 'dare', 'dart', - 'date', 'deal', - 'debate', 'decline', 'decrease', 'defeat', 'defect', 'delay', - 'delegate', 'demand', 'deposit', 'design', @@ -172,7 +164,6 @@ export default [ 'dislike', 'display', 'dive', - 'divide', 'divorce', 'document', 'dodge', @@ -180,6 +171,7 @@ export default [ 'draft', 'drain', 'dream', + 'dress', 'drift', 'drink', 'drive', @@ -192,7 +184,6 @@ export default [ 'engineer', 'envy', 'escape', - 'estimate', 'excel', 'exchange', 'exercise', @@ -272,14 +263,12 @@ export default [ 'guard', 'gun', 'guess', - 'guide', 'hand', 'handle', 'harbour', 'harm', 'harness', 'harvest', - 'hate', 'head', 'heat', 'help', @@ -347,7 +336,6 @@ export default [ 'love', 'lump', 'mail', - 'mandate', 'manoeuvre', 'map', 'market', @@ -454,7 +442,6 @@ export default [ 'range', 'rank', 'rat', - 'rate', 'reason', 'recall', 'record', @@ -492,7 +479,6 @@ export default [ 'reverse', 'review', 'reward', - 'ride', 'ring', 'rip', 'rise', @@ -537,7 +523,6 @@ export default [ 'shock', 'shop', 'show', - 'side', 'sign', 'signal', 'size', @@ -577,7 +562,6 @@ export default [ 'star', 'stare', 'start', - 'state', 'stay', 'stem', 'step', @@ -648,7 +632,6 @@ export default [ 'twin', 'twist', 'type', - 'update', 'upgrade', 'usher', 'vacuum', @@ -701,5 +684,33 @@ export default [ 'order', 'reorder', + // -ide + 'divide', + 'guide', + 'pride', + 'ride', + 'side', + + // -ate + 'advocate', + 'affiliate', + 'associate', + 'concentrate', + 'conglomerate', + 'date', + 'debate', + 'delegate', + 'estimate', + 'hate', + 'mandate', + 'rate', + 'state', + 'update', + 'duplicate', + 'gate', + 'graduate', + 'relish', + 'polish', + 'stocking', ] \ No newline at end of file diff --git a/data/lexicon/switches/person-place.js b/data/lexicon/switches/person-place.js index b6e9cd414..84df222c5 100644 --- a/data/lexicon/switches/person-place.js +++ b/data/lexicon/switches/person-place.js @@ -1,6 +1,7 @@ // cities export default [ 'alexandria', + 'austin', 'darwin', 'hamilton', 'houston', diff --git a/data/lexicon/switches/person-verb.js b/data/lexicon/switches/person-verb.js index 23644acf4..4337439f7 100644 --- a/data/lexicon/switches/person-verb.js +++ b/data/lexicon/switches/person-verb.js @@ -2,6 +2,19 @@ export default [ // clues: [person, verb], // fallback: 'PresentTense', //maybe? - 'drew', 'pat', 'wade', 'ollie', 'rob', 'buck', 'sue', 'bob', 'mark', 'jack', 'chuck', 'mack', 'grant'//'sung' - // will, may + 'drew', + 'pat', + 'wade', + 'ollie', + 'rob', + 'buck', + 'sue', + 'bob', + 'mark', + 'jack', + 'chuck', + 'mack', + 'grant',//'sung' + // 'will', + // may ] diff --git a/data/lexicon/verbs/infinitives.js b/data/lexicon/verbs/infinitives.js index bb82fba17..0b4f5d1ed 100644 --- a/data/lexicon/verbs/infinitives.js +++ b/data/lexicon/verbs/infinitives.js @@ -1,7 +1,6 @@ export default [ 'abandon', 'abet', - 'abide', 'abolish', 'abort', 'abound', @@ -115,9 +114,7 @@ export default [ 'coerce', 'coexist', 'cohabit', - 'coincide', 'collect', - 'collide', 'collude', 'combust', 'come', @@ -130,7 +127,6 @@ export default [ 'condemn', 'condense', 'condone', - 'confide', 'configure', 'confront', 'confuse', @@ -164,7 +160,6 @@ export default [ 'debug', 'debunk', 'deceive', - 'decide', 'decimate', 'decipher', 'decode', @@ -337,7 +332,6 @@ export default [ 'happen', 'have', 'hear', - 'hide', 'hijack', 'hinder', 'hoist', @@ -463,7 +457,6 @@ export default [ 'prosper', 'protrude', 'prove', - 'provide', 'provoke', 'publish', 'puke', @@ -517,7 +510,6 @@ export default [ 'represent', 'require', 'resent', - 'reside', 'resign', 'resist', 'restart', @@ -568,7 +560,6 @@ export default [ 'sit', 'slam', 'slay', - 'slide', 'smash', 'smuggle', 'sneak', @@ -602,7 +593,6 @@ export default [ 'strive', 'sublimate', 'submerge', - 'subside', 'subsist', 'subvert', 'succumb', @@ -681,7 +671,6 @@ export default [ 'deduct', 'decommission', 'blaze', - 'merge', 'inform', 'intoxicate', @@ -700,5 +689,21 @@ export default [ 'profess', 'bathe', 'incite', - 'state chief', + + // -ide + 'abide', + 'bide', + 'coincide', + 'collide', + 'confide', + 'decide', + 'divide', + 'hide', + 'provide', + 'reside', + 'slide', + 'subside', + + 'squish', + 'vanish' ] diff --git a/data/pairs/PastTense.js b/data/pairs/PastTense.js index f179385dc..50d99d34f 100644 --- a/data/pairs/PastTense.js +++ b/data/pairs/PastTense.js @@ -2038,4 +2038,10 @@ export default [ ['levelled', 'level'], ['dared', 'dare'], ['swam', 'swim'], + ['collide', 'collided'], + ['slam', 'slammed'], + ['shun', 'shunned'], + ['prod', 'prodded'], + ['outgrow', 'outgrew'], + ['fulfil', 'fulfilled'], ] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d21b2ea8b..28a8b3478 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "compromise", - "version": "14.1.1", + "version": "14.2.0-rc2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "compromise", - "version": "14.1.1", + "version": "14.2.0-rc2", "license": "MIT", "dependencies": { "efrt": "2.6.0", @@ -15,12 +15,12 @@ }, "devDependencies": { "@rollup/plugin-alias": "3.1.9", - "@rollup/plugin-node-resolve": "13.2.1", + "@rollup/plugin-node-resolve": "13.3.0", "amble": "1.3.0", - "eslint": "8.14.0", + "eslint": "8.16.0", "eslint-plugin-regexp": "1.7.0", - "nlp-corpus": "^4.2.0", - "rollup": "2.70.2", + "nlp-corpus": "4.3.0", + "rollup": "2.75.5", "rollup-plugin-filesize-check": "0.0.1", "rollup-plugin-terser": "7.0.2", "shelljs": "0.8.5", @@ -67,19 +67,19 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.3.2", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { @@ -122,15 +122,15 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", - "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", "is-module": "^1.0.0", "resolve": "^1.19.0" }, @@ -349,9 +349,9 @@ "dev": true }, "node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, "engines": { "node": ">=6" @@ -667,12 +667,12 @@ } }, "node_modules/eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.2", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -683,14 +683,14 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.3.2", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -699,7 +699,7 @@ "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", @@ -894,13 +894,13 @@ } }, "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1140,9 +1140,9 @@ } }, "node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1350,6 +1350,18 @@ "node": ">= 0.4" } }, + "node_modules/is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", @@ -1653,9 +1665,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -1683,9 +1695,9 @@ "dev": true }, "node_modules/nlp-corpus": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/nlp-corpus/-/nlp-corpus-4.2.0.tgz", - "integrity": "sha512-lgxx4i+7vlmZZ3Wul+Qu3XD6W7oMDBn+S9p8X1/YUjxTpGc/xjenyn8HIcB/mk9acfl6EIolnxUES51+wYU68Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/nlp-corpus/-/nlp-corpus-4.3.0.tgz", + "integrity": "sha512-4KWYQfJrhvksqZmIYj/EEgTlaFCUWkN6ro/Z+5ISSckOkWmvOQki6hG6WRTOc135bUKQh0/3pUAyTGQN3kHXpg==", "dev": true }, "node_modules/normalize-path": { @@ -1980,9 +1992,9 @@ } }, "node_modules/rollup": { - "version": "2.70.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", - "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", + "version": "2.75.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.5.tgz", + "integrity": "sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -2531,19 +2543,19 @@ } }, "@eslint/eslintrc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.3.2", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, @@ -2574,15 +2586,15 @@ } }, "@rollup/plugin-node-resolve": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.2.1.tgz", - "integrity": "sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", "is-module": "^1.0.0", "resolve": "^1.19.0" } @@ -2750,9 +2762,9 @@ "dev": true }, "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true }, "call-bind": { @@ -3014,12 +3026,12 @@ "dev": true }, "eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.2", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -3030,14 +3042,14 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.3.2", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -3046,7 +3058,7 @@ "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", @@ -3182,13 +3194,13 @@ "dev": true }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "dev": true, "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { @@ -3379,9 +3391,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -3532,6 +3544,15 @@ "call-bind": "^1.0.0" } }, + "is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "requires": { + "builtin-modules": "^3.0.0" + } + }, "is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", @@ -3768,9 +3789,9 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -3795,9 +3816,9 @@ "dev": true }, "nlp-corpus": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/nlp-corpus/-/nlp-corpus-4.2.0.tgz", - "integrity": "sha512-lgxx4i+7vlmZZ3Wul+Qu3XD6W7oMDBn+S9p8X1/YUjxTpGc/xjenyn8HIcB/mk9acfl6EIolnxUES51+wYU68Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/nlp-corpus/-/nlp-corpus-4.3.0.tgz", + "integrity": "sha512-4KWYQfJrhvksqZmIYj/EEgTlaFCUWkN6ro/Z+5ISSckOkWmvOQki6hG6WRTOc135bUKQh0/3pUAyTGQN3kHXpg==", "dev": true }, "normalize-path": { @@ -4032,9 +4053,9 @@ } }, "rollup": { - "version": "2.70.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", - "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", + "version": "2.75.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.5.tgz", + "integrity": "sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==", "dev": true, "requires": { "fsevents": "~2.3.2" diff --git a/package.json b/package.json index c05622f19..d57aa112e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Spencer Kelly (http://spencermounta.in)", "name": "compromise", "description": "modest natural language processing", - "version": "14.1.2", + "version": "14.2.0", "main": "./src/three.js", "unpkg": "./builds/compromise.js", "type": "module", @@ -95,12 +95,12 @@ }, "devDependencies": { "@rollup/plugin-alias": "3.1.9", - "@rollup/plugin-node-resolve": "13.2.1", + "@rollup/plugin-node-resolve": "13.3.0", "amble": "1.3.0", - "eslint": "8.14.0", + "eslint": "8.16.0", "eslint-plugin-regexp": "1.7.0", - "nlp-corpus": "^4.2.0", - "rollup": "2.70.2", + "nlp-corpus": "4.3.0", + "rollup": "2.75.5", "rollup-plugin-filesize-check": "0.0.1", "rollup-plugin-terser": "7.0.2", "shelljs": "0.8.5", diff --git a/plugins/dates/builds/compromise-dates.cjs b/plugins/dates/builds/compromise-dates.cjs index fd1e94984..ac3ca7002 100644 --- a/plugins/dates/builds/compromise-dates.cjs +++ b/plugins/dates/builds/compromise-dates.cjs @@ -2767,7 +2767,7 @@ const methods$4 = { set: function (input, tz) { let s = this.clone(); - s = handleInput(s, input, null); + s = handleInput(s, input); if (tz) { this.tz = findTz(tz); } @@ -4948,12 +4948,12 @@ doc = doc.not(res.m); // parse 'tuesday' - res = doWeekday(doc, context); + res = doWeekday(doc); let weekDay = res.result; doc = doc.not(res.m); // parse 'start of x' - res = doSection(doc, context); + res = doSection(doc); let section = res.result; doc = doc.not(res.m); @@ -7435,9 +7435,10 @@ const api$2 = function (View) { class Times extends View { - constructor(document, pointer, groups) { + constructor(document, pointer, groups, opts) { super(document, pointer, groups); this.viewType = 'Times'; + this.opts = opts || {}; } get(n) { @@ -7934,6 +7935,8 @@ { match: '#Value #Duration #Conjunction', tag: 'Date', reason: 'val-duration-conjunction' }, //for four days { match: `${preps}? #Value #Duration`, tag: 'Date', reason: 'value-duration' }, + // 6-8 months + { match: 'in? #Value to #Value #Duration time?', tag: 'Date', reason: '6-to-8-years' }, //two years old { match: '#Value #Duration old', unTag: 'Date', reason: 'val-years-old' }, // @@ -7951,7 +7954,7 @@ //next feb { match: '(last|next|this|previous|current|upcoming|coming|the) #Date', tag: 'Date', reason: 'next-feb' }, //start of june - { match: `the? ${sections} of #Date`, tag: 'Date', reason: 'section-of' }, + { match: `#Preposition? the? ${sections} of #Date`, tag: 'Date', reason: 'section-of' }, //fifth week in 1998 { match: '#Ordinal #Duration in #Date', tag: 'Date', reason: 'duration-in' }, //early in june @@ -8074,7 +8077,7 @@ //'two days before'/ 'nine weeks frow now' { match: '(#Cardinal|a|an) #Duration (before|after|ago|from|hence|back)', tag: 'DateShift', reason: 'nine weeks frow now' }, // in two weeks - { match: 'in #Cardinal #Duration', tag: 'DateShift', reason: 'in two weeks' }, + { match: 'in (around|about|maybe|perhaps)? #Cardinal #Duration', tag: 'DateShift', reason: 'in two weeks' }, { match: 'in (a|an) #Duration', tag: 'DateShift', reason: 'in a week' }, // an hour from now { match: '[(a|an) #Duration from] #Date', group: 0, tag: 'DateShift', reason: 'an hour from now' }, @@ -8135,16 +8138,13 @@ ]; var matches$1 = matches; - let byGroup = null; - + let net = null; const doMatches = function (view) { - let { document, world } = view; + let { world } = view; const { methods } = world; - byGroup = byGroup || methods.two.compile(matches$1, methods); - let found = methods.two.bulkMatch(document, byGroup, methods); - // console.log(found.length, 'found') - methods.two.bulkTagger(found, document, world); + net = net || methods.one.buildNet(matches$1, methods); + view.sweep(net); }; // run each of the taggers @@ -8653,13 +8653,18 @@ ]; + // import matches from './compute/matches.js' + var plugin = { tags, words, compute: compute$1, api: api$1, mutate: (world) => { + world.model.two.regexText = world.model.two.regexText || []; world.model.two.regexText = world.model.two.regexText.concat(regex); + // net = net || methods.one.buildNet(matches, methods) + // world.model.two.matches = world.model.two.matches.concat(matches) }, hooks: ['dates'] }; diff --git a/plugins/dates/builds/compromise-dates.min.js b/plugins/dates/builds/compromise-dates.min.js index 4d33b7ac1..173b85fb2 100644 --- a/plugins/dates/builds/compromise-dates.min.js +++ b/plugins/dates/builds/compromise-dates.min.js @@ -1 +1 @@ -var e,t;e=this,t=function(){var e=function(e){let t=null;return e.has("^(between|within) #Date")?e:(e.has("#Month")&&(t=e.match("[#Month #Value] and? #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("[#Value #Month] and? #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("^[#Month] and? #Month #Ordinal?$",0),t.found&&(e=e.splitAfter(t)),t=e.match("[#Month #Value] #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t))),e.has("#WeekDay")&&(t=e.match("^[#WeekDay] and? #WeekDay$",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("#WeekDay #WeekDay and? #WeekDay"),t.found&&(e=e.splitOn("#WeekDay")),t=e.match("[#WeekDay] (and|or|this|next)? #WeekDay",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter("#WeekDay"))),t=e.match("(this|next) #Duration [(today|tomorrow|yesterday)]",0),t.found&&(e=e.splitBefore(t)),t=e.match("[(today|tomorrow|yesterday)] #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("[(today|tomorrow|yesterday)] (today|tomorrow|yesterday|#WeekDay)",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),e=e.not("^and"))},t=function(t){let a=t.match("#Date+");a=a.filter(e=>{let t=e.has("^#Duration+$")||e.has("^#Value #Duration+$");return!(!0!==t||!e.has("(#FinancialQuarter|quarter)"))||!1===t});let n=a.match("[#Cardinal #Duration (in|on|this|next|during|for)] #Date",0);return n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #WeekDay",0),n.found&&(a=a.not(n)),n=a.match("#Date [for #Value #Duration]$",0),n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #Date",0),n.found&&!a.has("#Cardinal #Duration] (ago|from|before|after|back)")&&(a=a.not(n)),n=a.match("for #Cardinal #Duration"),n.found&&(a=a.not(n)),a=a.notIf("^one (#WeekDay|#Month)$"),a=e(a),a=a.notIf("(#Money|#Percentage)"),a=a.notIf("^per #Duration"),a};const a={second:!0,minute:!0,hour:!0,day:!0,week:!0,weekend:!0,month:!0,season:!0,quarter:!0,year:!0},n={wk:"week",min:"minute",sec:"second",weekend:"week"},r=function(e){let t=e.match("#Duration").text("normal");return t=t.replace(/s$/,""),n.hasOwnProperty(t)&&(t=n[t]),t};var i=function(e){let t={},n=e.none(),i=e.match("#DateShift+");if(!1===i.found)return{res:t,m:n};if(i.match("#Cardinal #Duration").forEach(e=>{let n=e.match("#Cardinal").numbers().get()[0];if(n&&"number"==typeof n){let i=r(e);!0===a[i]&&(t[i]=n)}}),!0===i.has("(before|ago|hence|back)$")&&Object.keys(t).forEach(e=>t[e]*=-1),n=i.match("#Cardinal #Duration"),i=i.not(n),n=i.match("[#Duration] [(after|before)]"),n.found){let e=n.groups("unit").text("reduced"),a=n.groups("dir").text("reduced");"after"===a?t[e]=1:"before"===a&&(t[e]=-1)}if(n=i.match("half (a|an) [#Duration]",0),n.found){let e=r(n);t[e]=.5}return n=e.match("#DateShift+"),{result:t,m:n}};const o={minute:!0};var s=function(e){let t=e.match("[#Value] [#Duration+] (of|in)");if(t.found){let e=t.groups(),a=e.num.numbers().get()[0],n=e.unit.text("reduced"),r={unit:n,num:Number(a)||0};return o[n]||(r.num-=1),{result:r,m:t}}if(t=e.match("[(first|initial|last|final)] [#Duration+] (of|in)"),t.found){let e=t.groups(),a=e.dir.text("reduced"),n=e.unit.text("reduced");return"initial"===a&&(a="first"),"final"===a&&(a="last"),{result:{unit:n,dir:a},m:t}}return{result:null,m:e.none()}};const u=(e,t,a)=>{const[n,r]=e.split("/"),[i,o]=r.split(":");return Date.UTC(a,n-1,i,o)-36e5*t};var d=(e,t,a,n,r)=>{const i=new Date(e).getUTCFullYear(),o=u(t,r,i),s=u(a,n,i);return e>=o&&e{let t=e.timezones[e.tz];if(void 0===t)return console.warn("Warning: couldn't find timezone "+e.tz),0;if(void 0===t.dst)return t.offset;let a=t.offset,n=t.offset+1;"n"===t.hem&&(n=a-1);let r=t.dst.split("->");return!0===d(e.epoch,r[0],r[1],a,n)?a:n},m={"9|s":"2/dili,2/jayapura","9|n":"2/chita,2/khandyga,2/pyongyang,2/seoul,2/tokyo,11/palau,japan,rok","9.5|s|04/03:03->10/02:02":"4/adelaide,4/broken_hill,4/south,4/yancowinna","9.5|s":"4/darwin,4/north","8|s|03/08:01->10/04:00":"12/casey","8|s":"2/kuala_lumpur,2/makassar,2/singapore,4/perth,2/ujung_pandang,4/west,singapore","8|n":"2/brunei,2/choibalsan,2/hong_kong,2/irkutsk,2/kuching,2/macau,2/manila,2/shanghai,2/taipei,2/ulaanbaatar,2/chongqing,2/chungking,2/harbin,2/macao,2/ulan_bator,hongkong,prc,roc","8.75|s":"4/eucla","7|s":"12/davis,2/jakarta,9/christmas","7|n":"2/bangkok,2/barnaul,2/hovd,2/krasnoyarsk,2/novokuznetsk,2/novosibirsk,2/phnom_penh,2/pontianak,2/ho_chi_minh,2/tomsk,2/vientiane,2/saigon","6|s":"12/vostok","6|n":"2/almaty,2/bishkek,2/dhaka,2/omsk,2/qyzylorda,2/qostanay,2/thimphu,2/urumqi,9/chagos,2/dacca,2/kashgar,2/thimbu","6.5|n":"2/yangon,9/cocos,2/rangoon","5|s":"12/mawson,9/kerguelen","5|n":"2/aqtau,2/aqtobe,2/ashgabat,2/atyrau,2/dushanbe,2/karachi,2/oral,2/samarkand,2/tashkent,2/yekaterinburg,9/maldives,2/ashkhabad","5.75|n":"2/katmandu,2/kathmandu","5.5|n":"2/kolkata,2/colombo,2/calcutta","4|s":"9/reunion","4|n":"2/baku,2/dubai,2/muscat,2/tbilisi,2/yerevan,8/astrakhan,8/samara,8/saratov,8/ulyanovsk,8/volgograd,2/volgograd,9/mahe,9/mauritius","4.5|n|03/22:00->09/21:24":"2/tehran,iran","4.5|n":"2/kabul","3|s":"12/syowa,9/antananarivo","3|n|03/27:03->10/30:04":"2/famagusta,2/nicosia,8/athens,8/bucharest,8/helsinki,8/kiev,8/mariehamn,8/riga,8/sofia,8/tallinn,8/uzhgorod,8/vilnius,8/zaporozhye,8/nicosia","3|n|03/27:02->10/30:03":"8/chisinau,8/tiraspol","3|n|03/27:00->10/29:24":"2/beirut","3|n|03/27:00->10/28:01":"2/gaza,2/hebron","3|n|03/25:02->10/30:02":"2/jerusalem,2/tel_aviv,israel","3|n|03/25:00->10/27:24":"2/damascus","3|n|02/25:00->10/28:01":"2/amman","3|n":"0/addis_ababa,0/asmara,0/asmera,0/dar_es_salaam,0/djibouti,0/juba,0/kampala,0/mogadishu,0/nairobi,2/aden,2/baghdad,2/bahrain,2/kuwait,2/qatar,2/riyadh,8/istanbul,8/kirov,8/minsk,8/moscow,8/simferopol,9/comoro,9/mayotte,2/istanbul,turkey,w-su","2|s|03/27:02->10/30:02":"12/troll","2|s":"0/gaborone,0/harare,0/johannesburg,0/lubumbashi,0/lusaka,0/maputo,0/maseru,0/mbabane","2|n|03/27:02->10/30:03":"0/ceuta,arctic/longyearbyen,8/amsterdam,8/andorra,8/belgrade,8/berlin,8/bratislava,8/brussels,8/budapest,8/busingen,8/copenhagen,8/gibraltar,8/ljubljana,8/luxembourg,8/madrid,8/malta,8/monaco,8/oslo,8/paris,8/podgorica,8/prague,8/rome,8/san_marino,8/sarajevo,8/skopje,8/stockholm,8/tirane,8/vaduz,8/vatican,8/vienna,8/warsaw,8/zagreb,8/zurich,3/jan_mayen,poland","2|n":"0/blantyre,0/bujumbura,0/cairo,0/khartoum,0/kigali,0/tripoli,8/kaliningrad,egypt,libya","1|s":"0/brazzaville,0/kinshasa,0/luanda,0/windhoek","1|n|03/27:03->05/08:02":"0/casablanca,0/el_aaiun","1|n|03/27:01->10/30:02":"3/canary,3/faroe,3/madeira,8/dublin,8/guernsey,8/isle_of_man,8/jersey,8/lisbon,8/london,3/faeroe,eire,8/belfast,gb-eire,gb,portugal","1|n":"0/algiers,0/bangui,0/douala,0/lagos,0/libreville,0/malabo,0/ndjamena,0/niamey,0/porto-novo,0/tunis","14|n":"11/kiritimati","13|s|04/04:04->09/26:03":"11/apia","13|s|01/15:02->11/05:03":"11/tongatapu","13|n":"11/enderbury,11/fakaofo","12|s|04/03:03->09/25:02":"12/mcmurdo,11/auckland,12/south_pole,nz","12|s|01/17:03->11/14:02":"11/fiji","12|n":"2/anadyr,2/kamchatka,2/srednekolymsk,11/funafuti,11/kwajalein,11/majuro,11/nauru,11/tarawa,11/wake,11/wallis,kwajalein","12.75|s|04/03:03->04/03:02":"11/chatham,nz-chat","11|s|04/03:03->10/02:02":"12/macquarie","11|s":"11/bougainville","11|n":"2/magadan,2/sakhalin,11/efate,11/guadalcanal,11/kosrae,11/noumea,11/pohnpei,11/ponape","11.5|n|04/03:03->10/02:02":"11/norfolk","10|s|04/03:03->10/02:02":"4/currie,4/hobart,4/melbourne,4/sydney,4/act,4/canberra,4/nsw,4/tasmania,4/victoria","10|s":"12/dumontdurville,4/brisbane,4/lindeman,11/port_moresby,4/queensland","10|n":"2/ust-nera,2/vladivostok,2/yakutsk,11/guam,11/saipan,11/chuuk,11/truk,11/yap","10.5|s|04/03:01->10/02:02":"4/lord_howe,4/lhi","0|n|03/27:00->10/30:01":"1/scoresbysund,3/azores","0|n":"0/abidjan,0/accra,0/bamako,0/banjul,0/bissau,0/conakry,0/dakar,0/freetown,0/lome,0/monrovia,0/nouakchott,0/ouagadougou,0/sao_tome,1/danmarkshavn,3/reykjavik,3/st_helena,13/gmt,13/utc,0/timbuktu,13/greenwich,13/uct,13/universal,13/zulu,gmt-0,gmt+0,gmt0,greenwich,iceland,uct,universal,utc,zulu","-9|n|03/13:02->11/06:02":"1/adak,1/atka,us/aleutian","-9|n":"11/gambier","-9.5|n":"11/marquesas","-8|n|03/13:02->11/06:02":"1/anchorage,1/juneau,1/metlakatla,1/nome,1/sitka,1/yakutat,us/alaska","-8|n":"11/pitcairn","-7|n|03/13:02->11/06:02":"1/los_angeles,1/santa_isabel,1/tijuana,1/vancouver,1/ensenada,6/pacific,10/bajanorte,us/pacific-new,us/pacific","-7|n|03/08:02->11/01:01":"1/dawson,1/whitehorse,6/yukon","-7|n":"1/creston,1/dawson_creek,1/fort_nelson,1/hermosillo,1/phoenix,us/arizona","-6|s|04/02:22->09/03:22":"11/easter,7/easterisland","-6|n|04/03:02->10/30:02":"1/chihuahua,1/mazatlan,10/bajasur","-6|n|03/13:02->11/06:02":"1/boise,1/cambridge_bay,1/denver,1/edmonton,1/inuvik,1/ojinaga,1/yellowknife,1/shiprock,6/mountain,navajo,us/mountain","-6|n":"1/belize,1/costa_rica,1/el_salvador,1/guatemala,1/managua,1/regina,1/swift_current,1/tegucigalpa,11/galapagos,6/east-saskatchewan,6/saskatchewan","-5|s":"1/lima,1/rio_branco,1/porto_acre,5/acre","-5|n|04/03:02->10/30:02":"1/bahia_banderas,1/merida,1/mexico_city,1/monterrey,10/general","-5|n|03/13:02->11/06:02":"1/chicago,1/matamoros,1/menominee,1/rainy_river,1/rankin_inlet,1/resolute,1/winnipeg,1/indiana/knox,1/indiana/tell_city,1/north_dakota/beulah,1/north_dakota/center,1/north_dakota/new_salem,1/knox_in,6/central,us/central,us/indiana-starke","-5|n|03/12:03->11/05:01":"1/north_dakota","-5|n":"1/bogota,1/cancun,1/cayman,1/coral_harbour,1/eirunepe,1/guayaquil,1/jamaica,1/panama,1/atikokan,jamaica","-4|s|05/13:23->08/13:01":"12/palmer","-4|s|04/02:24->09/04:00":"1/santiago,7/continental","-4|s|03/26:24->10/02:00":"1/asuncion","-4|s|02/16:24->11/03:00":"1/campo_grande,1/cuiaba","-4|s":"1/la_paz,1/manaus,5/west","-4|n|03/13:02->11/06:02":"1/detroit,1/grand_turk,1/indianapolis,1/iqaluit,1/louisville,1/montreal,1/nassau,1/new_york,1/nipigon,1/pangnirtung,1/port-au-prince,1/thunder_bay,1/toronto,1/indiana/marengo,1/indiana/petersburg,1/indiana/vevay,1/indiana/vincennes,1/indiana/winamac,1/kentucky/monticello,1/fort_wayne,1/indiana/indianapolis,1/kentucky/louisville,6/eastern,us/east-indiana,us/eastern,us/michigan","-4|n|03/13:00->11/06:01":"1/havana,cuba","-4|n|03/12:03->11/05:01":"1/indiana,1/kentucky","-4|n":"1/anguilla,1/antigua,1/aruba,1/barbados,1/blanc-sablon,1/boa_vista,1/caracas,1/curacao,1/dominica,1/grenada,1/guadeloupe,1/guyana,1/kralendijk,1/lower_princes,1/marigot,1/martinique,1/montserrat,1/port_of_spain,1/porto_velho,1/puerto_rico,1/santo_domingo,1/st_barthelemy,1/st_kitts,1/st_lucia,1/st_thomas,1/st_vincent,1/tortola,1/virgin","-3|s":"1/argentina,1/buenos_aires,1/catamarca,1/cordoba,1/fortaleza,1/jujuy,1/mendoza,1/montevideo,1/punta_arenas,1/sao_paulo,12/rothera,3/stanley,1/argentina/la_rioja,1/argentina/rio_gallegos,1/argentina/salta,1/argentina/san_juan,1/argentina/san_luis,1/argentina/tucuman,1/argentina/ushuaia,1/argentina/comodrivadavia,1/argentina/buenos_aires,1/argentina/catamarca,1/argentina/cordoba,1/argentina/jujuy,1/argentina/mendoza,1/argentina/rosario,1/rosario,5/east","-3|n|03/13:02->11/06:02":"1/glace_bay,1/goose_bay,1/halifax,1/moncton,1/thule,3/bermuda,6/atlantic","-3|n":"1/araguaina,1/bahia,1/belem,1/cayenne,1/maceio,1/paramaribo,1/recife,1/santarem","-2|n|03/26:22->10/29:23":"1/nuuk,1/godthab","-2|n|03/13:02->11/06:02":"1/miquelon","-2|n":"1/noronha,3/south_georgia,5/denoronha","-2.5|n|03/13:02->11/06:02":"1/st_johns,6/newfoundland","-1|n":"3/cape_verde","-11|n":"11/midway,11/niue,11/pago_pago,11/samoa,us/samoa","-10|n":"11/honolulu,11/johnston,11/rarotonga,11/tahiti,us/hawaii"},h=["africa","america","asia","atlantic","australia","brazil","canada","chile","europe","indian","mexico","pacific","antarctica","etc"];let c={};Object.keys(m).forEach(e=>{let t=e.split("|"),a={offset:Number(t[0]),hem:t[1]};t[2]&&(a.dst=t[2]),m[e].split(",").forEach(e=>{e=e.replace(/(^[0-9]+)\//,(e,t)=>(t=Number(t),h[t]+"/")),c[e]=a})}),c.utc={offset:0,hem:"n"};for(let e=-14;e<=14;e+=.5){let t=e;t>0&&(t="+"+t);let a="etc/gmt"+t;c[a]={offset:-1*e,hem:"n"},a="utc/gmt"+t,c[a]={offset:-1*e,hem:"n"}}var f=c;const y=/(\-?[0-9]+)h(rs)?/i,p=/(\-?[0-9]+)/,g=/utc([\-+]?[0-9]+)/i,w=/gmt([\-+]?[0-9]+)/i,b=function(e){return(e=Number(e))>=-13&&e<=13?"etc/gmt"+(e=((e*=-1)>0?"+":"")+e):null};var k=function(e){let t=e.match(y);if(null!==t)return b(t[1]);if(t=e.match(g),null!==t)return b(t[1]);if(t=e.match(w),null!==t){let e=-1*Number(t[1]);return b(e)}return t=e.match(p),null!==t?b(t[1]):null};const D=(()=>{let e=(()=>{if("undefined"==typeof Intl||void 0===Intl.DateTimeFormat)return null;let e=Intl.DateTimeFormat();if(void 0===e||void 0===e.resolvedOptions)return null;let t=e.resolvedOptions().timeZone;return t?t.toLowerCase():null})();return null===e?"utc":e})(),v=Object.keys(f).reduce((e,t)=>{let a=t.split("/")[1]||"";return a=a.replace(/_/g," "),e[a]=t,e},{});var A=(e,t)=>{if(!e)return D;"string"!=typeof e&&console.error("Timezone must be a string - recieved: '",e,"'\n");let a=e.trim();if(a=a.toLowerCase(),!0===t.hasOwnProperty(a))return a;if(a=(e=>(e=(e=(e=(e=(e=e.replace(/ time/g,"")).replace(/ (standard|daylight|summer)/g,"")).replace(/\b(east|west|north|south)ern/g,"$1")).replace(/\b(africa|america|australia)n/g,"$1")).replace(/\beuropean/g,"europe")).replace(/\islands/g,"island"))(a),!0===t.hasOwnProperty(a))return a;if(!0===v.hasOwnProperty(a))return v[a];if(!0===/[0-9]/.test(a)){let e=k(a);if(e)return e}throw new Error("Spacetime: Cannot find timezone named: '"+e+"'. Please enter an IANA timezone id.")};function x(e){return e%4==0&&e%100!=0||e%400==0}function O(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.valueOf())}function M(e){return"[object Object]"===Object.prototype.toString.call(e)}function _(e,t=2){return(e+="").length>=t?e:new Array(t-e.length+1).join("0")+e}function j(e){let t=e%10,a=e%100;return 1===t&&11!==a?e+"st":2===t&&12!==a?e+"nd":3===t&&13!==a?e+"rd":e+"th"}function $(e){return e=(e=String(e)).replace(/([0-9])(st|nd|rd|th)$/i,"$1"),parseInt(e,10)}function z(e=""){return"day"===(e=(e=(e=(e=e.toLowerCase().trim()).replace(/ies$/,"y")).replace(/s$/,"")).replace(/-/g,""))||"days"===e?"date":"min"===e||"mins"===e?"minute":e}function T(e){return"number"==typeof e?e:O(e)?e.getTime():e.epoch?e.epoch:null}function E(e,t){return!1===M(e)?t.clone().set(e):e}function V(e,t=""){const a=e>0?"+":"-",n=Math.abs(e);return`${a}${_(parseInt(""+n,10))}${t}${_(n%1*60)}`}const q={year:(new Date).getFullYear(),month:0,date:1};var S={parseArray:(e,t,a)=>{if(0===t.length)return e;let n=["year","month","date","hour","minute","second","millisecond"];for(let r=0;r{if(0===Object.keys(t).length)return e;t=Object.assign({},q,a,t);let n=Object.keys(t);for(let r=0;r0&&t<25e8&&!1===e.silent&&(console.warn(" - Warning: You are setting the date to January 1970."),console.warn(" - did input seconds instead of milliseconds?")),e.epoch=t,e}};const C=function(e){return e.epoch=Date.now(),Object.keys(e._today||{}).forEach(t=>{"function"==typeof e[t]&&(e=e[t](e._today[t]))}),e},N={now:e=>C(e),today:e=>C(e),tonight:e=>e=(e=C(e)).hour(18),tomorrow:e=>e=(e=(e=C(e)).add(1,"day")).startOf("day"),yesterday:e=>e=(e=(e=C(e)).subtract(1,"day")).startOf("day"),christmas:e=>{let t=C(e).year();return e=e.set([t,11,25,18,0,0])},"new years":e=>{let t=C(e).year();return e=e.set([t,11,31,18,0,0])}};N["new years eve"]=N["new years"];var P=N,Y=function(e){return e=(e=(e=(e=e.replace(/\b(mon|tues?|wed|wednes|thur?s?|fri|sat|satur|sun)(day)?\b/i,"")).replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/,/g,"")).replace(/ +/g," ").trim()};let H={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5};H.date=H.day,H.month=25488e5,H.week=6048e5,H.year=3154e7,Object.keys(H).forEach(e=>{H[e+"s"]=H[e]});var B=H;const L=(e,t,a,n,r)=>{let i=e.d[a]();if(i===t)return;let o=null===r?null:e.d[r](),s=e.epoch,u=t-i;e.epoch+=B[n]*u,"day"===n&&Math.abs(u)>28&&t<28&&(e.epoch+=B.hour),null!==r&&o!==e.d[r]()&&(e.epoch=s);const d=B[n]/2;for(;e.d[a]()t;)e.epoch-=d;null!==r&&o!==e.d[r]()&&(e.epoch=s)},I={year:{valid:e=>e>-4e3&&e<4e3,walkTo:(e,t)=>L(e,t,"getFullYear","year",null)},month:{valid:e=>e>=0&&e<=11,walkTo:(e,t)=>{let a=e.d,n=a.getMonth(),r=e.epoch,i=a.getFullYear();if(n===t)return;let o=t-n;for(e.epoch+=B.day*(28*o),i!==e.d.getFullYear()&&(e.epoch=r);e.d.getMonth()t;)e.epoch-=B.day}},date:{valid:e=>e>0&&e<=31,walkTo:(e,t)=>L(e,t,"getDate","day","getMonth")},hour:{valid:e=>e>=0&&e<24,walkTo:(e,t)=>L(e,t,"getHours","hour","getDate")},minute:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>L(e,t,"getMinutes","minute","getHours")},second:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>{e.epoch=e.seconds(t).epoch}},millisecond:{valid:e=>e>=0&&e<1e3,walkTo:(e,t)=>{e.epoch=e.milliseconds(t).epoch}}};var W=(e,t)=>{let a=Object.keys(I),n=e.clone();for(let r=0;r{if(!t)return e;let a=0;if(/^[\+-]?[0-9]{2}:[0-9]{2}$/.test(t)&&(!0===/:00/.test(t)&&(t=t.replace(/:00/,"")),!0===/:30/.test(t)&&(t=t.replace(/:30/,".5"))),/^[\+-]?[0-9]{4}$/.test(t)&&(t=t.replace(/30$/,".5")),a=parseFloat(t),Math.abs(a)>100&&(a/=100),0===a||"Z"===t||"z"===t)return e.tz="etc/gmt",e;a*=-1,a>=0&&(a="+"+a);let n="etc/gmt"+a;return e.timezones[n]&&(e.tz=n),e},U=(e,t="")=>{let a=(t=t.replace(/^\s+/,"").toLowerCase()).match(/([0-9]{1,2}):([0-9]{1,2}):?([0-9]{1,2})?[:\.]?([0-9]{1,4})?/);if(null!==a){let n=Number(a[1]);if(n<0||n>24)return e.startOf("day");let r=Number(a[2]);if(a[2].length<2||r<0||r>59)return e.startOf("day");e=(e=(e=(e=e.hour(n)).minute(r)).seconds(a[3]||0)).millisecond(function(e=""){return(e=String(e)).length>3?e=e.substr(0,3):1===e.length?e+="00":2===e.length&&(e+="0"),Number(e)||0}(a[4]));let i=t.match(/[\b0-9] ?(am|pm)\b/);return null!==i&&i[1]&&(e=e.ampm(i[1])),e}if(a=t.match(/([0-9]+) ?(am|pm)/),null!==a&&a[1]){let t=Number(a[1]);return t>12||t<1?e.startOf("day"):e=(e=(e=e.hour(a[1]||0)).ampm(a[2])).startOf("hour")}return e=e.startOf("day")};let Z=Q();const X=e=>{if(!0!==F.hasOwnProperty(e.month))return!1;if(1===e.month)return!!(x(e.year)&&e.date<=29)||e.date<=28;let t=F[e.month]||0;return e.date<=t},ee=(e="",t)=>{if(e=e.trim(),!0===/^'[0-9][0-9]$/.test(e)){let t=Number(e.replace(/'/,""));return t>50?1900+t:2e3+t}let a=parseInt(e,10);return!a&&t&&(a=t.year),a=a||(new Date).getFullYear(),a},te=function(e){return"sept"===(e=e.toLowerCase().trim())?Z.sep:Z[e]};var ae=[].concat([{reg:/^(\-?0?0?[0-9]{3,4})-([0-9]{1,2})-([0-9]{1,2})[T| ]([0-9.:]+)(Z|[0-9\-\+:]+)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:t[3]};return!1===X(a)?(e.epoch=null,e):(G(e,t[5]),W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([0-9]{1,2})[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:parseInt(t[3],10)};return a.month>=12&&(a.date=parseInt(t[2],10),a.month=parseInt(t[3],10)-1),!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([a-z]+)[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[1],e._today),month:te(t[2]),date:$(t[3]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}}],[{reg:/^([0-9]{1,2})[\-\/.]([0-9]{1,2})[\-\/.]?([0-9]{4})?( [0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a=parseInt(t[1],10)-1,n=parseInt(t[2],10);(e.british||a>=12)&&(n=parseInt(t[1],10),a=parseInt(t[2],10)-1);let r={date:n,month:a,year:ee(t[3],e._today)||(new Date).getFullYear()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e,t[4]))}},{reg:/^([a-z]+)[\-\/\. ]([0-9]{1,2})[\-\/\. ]?([0-9]{4}|'[0-9]{2})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9]{4})?( ([0-9:]+( ?am| ?pm| ?gmt)?))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9:]+)?( \+[0-9]{4})?( [0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[5],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[3]))}}],[{reg:/^([0-9]{1,2})[\-\/]([a-z]+)[\-\/]?([0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{1,2})( [a-z]+)( [0-9]{4}| '[0-9]{2})? ?([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1])};return a.month&&!1!==X(a)?(W(e,a),e=U(e,t[4])):(e.epoch=null,e)}},{reg:/^([0-9]{1,2})[\. -/]([a-z]+)[\. -/]([0-9]{4})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={date:Number(t[1]),month:te(t[2]),year:Number(t[3])};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=e.startOf("day"),e=U(e,t[4]))}}],[{reg:/^([0-9]{4})[\-\/]([0-9]{2})$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{4})$/i,parse:(e,t)=>{let a={year:ee(t[2],e._today),month:te(t[1]),date:e._today.date||1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^(q[0-9])( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.quarter(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^(spring|summer|winter|fall|autumn)( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.season(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^[0-9,]+ ?b\.?c\.?$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/^([0-9,]+) ?b\.?c\.?$/i,"-$1");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9,]+ ?(a\.?d\.?|c\.?e\.?)$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/,/g,"");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9]{4}( ?a\.?d\.?)?$/i,parse:(e,t)=>{let a=e._today;a.month&&!a.date&&(a.date=1);let n=new Date,r={year:ee(t[0],a),month:a.month||n.getMonth(),date:a.date||n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}}]),ne=function(e,t,a){for(let n=0;n{let a=e._today||se;if("number"==typeof t)return oe(e,t);if(e.epoch=Date.now(),e._today&&M(e._today)&&Object.keys(e._today).length>0){let t=ie(e,a,se);t.isValid()&&(e.epoch=t.epoch)}return null==t||""===t?e:!0===O(t)?(e.epoch=t.getTime(),e):!0===function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t)?e=re(e,t,a):!0===M(t)?t.epoch?(e.epoch=t.epoch,e.tz=t.tz,e):e=ie(e,t,a):"string"!=typeof t?e:(t=Y(t),!0===P.hasOwnProperty(t)?e=P[t](e):ne(e,t))};let de=["sun","mon","tue","wed","thu","fri","sat"],le=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function me(){return de}function he(){return le}const ce={mo:1,tu:2,we:3,th:4,fr:5,sa:6,su:7,tues:2,weds:3,wedn:3,thur:4,thurs:4};let fe=!0;var ye=e=>{let t=e.timezone().current.offset;return t?V(t,":"):"Z"};const pe=e=>fe?function(e){return e?e[0].toUpperCase()+e.substr(1):""}(e):e,ge={day:e=>pe(e.dayName()),"day-short":e=>pe(me()[e.day()]),"day-number":e=>e.day(),"day-ordinal":e=>j(e.day()),"day-pad":e=>_(e.day()),date:e=>e.date(),"date-ordinal":e=>j(e.date()),"date-pad":e=>_(e.date()),month:e=>pe(e.monthName()),"month-short":e=>pe(R()[e.month()]),"month-number":e=>e.month(),"month-ordinal":e=>j(e.month()),"month-pad":e=>_(e.month()),"iso-month":e=>_(e.month()+1),year:e=>{let t=e.year();return t>0?t:(t=Math.abs(t),t+" BC")},"year-short":e=>{let t=e.year();return t>0?"'"+String(e.year()).substr(2,4):(t=Math.abs(t),t+" BC")},"iso-year":e=>{let t=e.year(),a=t<0,n=_(Math.abs(t),4);return a&&(n=_(n,6),n="-"+n),n},time:e=>e.time(),"time-24":e=>`${e.hour24()}:${_(e.minute())}`,hour:e=>e.hour12(),"hour-pad":e=>_(e.hour12()),"hour-24":e=>e.hour24(),"hour-24-pad":e=>_(e.hour24()),minute:e=>e.minute(),"minute-pad":e=>_(e.minute()),second:e=>e.second(),"second-pad":e=>_(e.second()),millisecond:e=>e.millisecond(),"millisecond-pad":e=>_(e.millisecond(),3),ampm:e=>e.ampm(),quarter:e=>"Q"+e.quarter(),season:e=>e.season(),era:e=>e.era(),json:e=>e.json(),timezone:e=>e.timezone().name,offset:e=>ye(e),numeric:e=>`${e.year()}/${_(e.month()+1)}/${_(e.date())}`,"numeric-us":e=>`${_(e.month()+1)}/${_(e.date())}/${e.year()}`,"numeric-uk":e=>`${_(e.date())}/${_(e.month()+1)}/${e.year()}`,"mm/dd":e=>`${_(e.month()+1)}/${_(e.date())}`,iso:e=>`${e.format("iso-year")}-${_(e.month()+1)}-${_(e.date())}T${_(e.h24())}:${_(e.minute())}:${_(e.second())}.${_(e.millisecond(),3)}${ye(e)}`,"iso-short":e=>{let t=_(e.month()+1),a=_(e.date());var n;return`${(n=e.year())>=0?_(n,4):"-"+_(n=Math.abs(n),4)}-${t}-${a}`},"iso-utc":e=>new Date(e.epoch).toISOString(),nice:e=>`${R()[e.month()]} ${j(e.date())}, ${e.time()}`,"nice-24":e=>`${R()[e.month()]} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`,"nice-year":e=>`${R()[e.month()]} ${j(e.date())}, ${e.year()}`,"nice-day":e=>`${me()[e.day()]} ${pe(R()[e.month()])} ${j(e.date())}`,"nice-full":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.time()}`,"nice-full-24":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`},we={"day-name":"day","month-name":"month","iso 8601":"iso","time-h24":"time-24","time-12":"time","time-h12":"time",tz:"timezone","day-num":"day-number","month-num":"month-number","month-iso":"iso-month","year-iso":"iso-year","nice-short":"nice","nice-short-24":"nice-24",mdy:"numeric-us",dmy:"numeric-uk",ymd:"numeric","yyyy/mm/dd":"numeric","mm/dd/yyyy":"numeric-us","dd/mm/yyyy":"numeric-us","little-endian":"numeric-uk","big-endian":"numeric","day-nice":"nice-day"};Object.keys(we).forEach(e=>ge[e]=ge[we[e]]);var be=(e,t="")=>{if(!0!==e.isValid())return"";if(ge.hasOwnProperty(t)){let a=ge[t](e)||"";return"json"!==t&&(a=String(a),"ampm"!==t&&(a=pe(a))),a}if(-1!==t.indexOf("{")){let a=/\{(.+?)\}/g;return t=t.replace(a,(t,a)=>{if(a=a.toLowerCase().trim(),ge.hasOwnProperty(a)){let t=String(ge[a](e));return"ampm"!==a?pe(t):t}return""})}return e.format("iso-short")};const ke={G:e=>e.era(),GG:e=>e.era(),GGG:e=>e.era(),GGGG:e=>"AD"===e.era()?"Anno Domini":"Before Christ",y:e=>e.year(),yy:e=>_(Number(String(e.year()).substr(2,4))),yyy:e=>e.year(),yyyy:e=>e.year(),yyyyy:e=>"0"+e.year(),Q:e=>e.quarter(),QQ:e=>e.quarter(),QQQ:e=>e.quarter(),QQQQ:e=>e.quarter(),M:e=>e.month()+1,MM:e=>_(e.month()+1),MMM:e=>e.format("month-short"),MMMM:e=>e.format("month"),w:e=>e.week(),ww:e=>_(e.week()),d:e=>e.date(),dd:e=>_(e.date()),D:e=>e.dayOfYear(),DD:e=>_(e.dayOfYear()),DDD:e=>_(e.dayOfYear(),3),E:e=>e.format("day-short"),EE:e=>e.format("day-short"),EEE:e=>e.format("day-short"),EEEE:e=>e.format("day"),EEEEE:e=>e.format("day")[0],e:e=>e.day(),ee:e=>e.day(),eee:e=>e.format("day-short"),eeee:e=>e.format("day"),eeeee:e=>e.format("day")[0],a:e=>e.ampm().toUpperCase(),aa:e=>e.ampm().toUpperCase(),aaa:e=>e.ampm().toUpperCase(),aaaa:e=>e.ampm().toUpperCase(),h:e=>e.h12(),hh:e=>_(e.h12()),H:e=>e.hour(),HH:e=>_(e.hour()),m:e=>e.minute(),mm:e=>_(e.minute()),s:e=>e.second(),ss:e=>_(e.second()),SSS:e=>_(e.millisecond(),3),A:e=>e.epoch-e.startOf("day").epoch,z:e=>e.timezone().name,zz:e=>e.timezone().name,zzz:e=>e.timezone().name,zzzz:e=>e.timezone().name,Z:e=>V(e.timezone().current.offset),ZZ:e=>V(e.timezone().current.offset),ZZZ:e=>V(e.timezone().current.offset),ZZZZ:e=>V(e.timezone().current.offset,":")},De=(e,t,a)=>{let n=e,r=t;for(let i=0;i{let a=t.split("");return a=function(e){for(let t=0;te)}(a),a=function(e){for(let t=0;te)).map(e=>("''"===e&&(e="'"),e))}(a),a.reduce((t,a)=>(void 0!==ke[a]?t+=ke[a](e)||"":(/^'.{1,}'$/.test(a)&&(a=a.replace(/'/g,"")),t+=a),t),"")};const Ae=["year","season","quarter","month","week","day","quarterHour","hour","minute"],xe=function(e,t){let a=e.clone().startOf(t),n=e.clone().endOf(t).epoch-a.epoch,r=(e.epoch-a.epoch)/n;return parseFloat(r.toFixed(2))};var Oe=(e,t)=>{if(t)return t=z(t),xe(e,t);let a={};return Ae.forEach(t=>{a[t]=xe(e,t)}),a},Me=(e,t)=>{let a=e.progress();return"quarterhour"===(t=z(t))&&(t="quarterHour"),void 0!==a[t]?(a[t]>.5&&(e=e.add(1,t)),e=e.startOf(t)):!1===e.silent&&console.warn("no known unit '"+t+"'"),e};const _e=(e,t,a)=>{let n=0;for(e=e.clone();e.isBefore(t);)e=e.add(1,a),n+=1;return e.isAfter(t,a)&&(n-=1),n};var je=(e,t,a)=>e.isBefore(t)?_e(e,t,a):-1*_e(t,e,a),$e=function(e,t){let a=t.epoch-e.epoch,n={milliseconds:a,seconds:parseInt(a/1e3,10)};n.minutes=parseInt(n.seconds/60,10),n.hours=parseInt(n.minutes/60,10);let r=e.clone();return n.years=((e,t)=>{let a=t.year()-e.year();return(e=e.year(t.year())).isAfter(t)&&(a-=1),a})(r,t),r=e.add(n.years,"year"),n.months=12*n.years,r=e.add(n.months,"month"),n.months+=je(r,t,"month"),n.weeks=52*n.years,r=e.add(n.weeks,"week"),n.weeks+=je(r,t,"week"),n.days=7*n.weeks,r=e.add(n.days,"day"),n.days+=je(r,t,"day"),n},ze=function(e,t,a){t=E(t,e);let n=!1;if(e.isAfter(t)){let a=e;e=t,t=a,n=!0}let r=$e(e,t);return n&&(r=function(e){return Object.keys(e).forEach(t=>{e[t]*=-1}),e}(r)),a?(a=z(a),!0!==/s$/.test(a)&&(a+="s"),"dates"===a&&(a="days"),r[a]):r};const Te=e=>Math.abs(e)||0;var Ee=function(e){let t="P";return t+=Te(e.years)+"Y",t+=Te(e.months)+"M",t+=Te(e.days)+"DT",t+=Te(e.hours)+"H",t+=Te(e.minutes)+"M",t+=Te(e.seconds)+"S",t};const Ve={months:{almost:10,over:4},days:{almost:25,over:10},hours:{almost:20,over:8},minutes:{almost:50,over:20},seconds:{almost:50,over:20}};function qe(e,t){return 1===e&&(t=t.slice(0,-1)),e+" "+t}var Se=function(e){let t=null,a=null,n=[],r=[];return Object.keys(e).forEach((i,o,s)=>{const u=Math.abs(e[i]);if(0===u)return;n.push(u+i[0]);const d=qe(u,i);if(r.push(d),!t){if(t=a=d,o>4)return;const n=s[o+1],r=Math.abs(e[n]);r>Ve[n].almost?(t=qe(u+1,i),a="almost "+t):r>Ve[n].over&&(a="over "+d)}}),{qualified:a,rounded:t,abbreviated:n,englishValues:r}},Ce=(e,t)=>{const a=function(e,t){const a=e.isBefore(t),n=a?t:e;let r=a?e:t;r=r.clone();const i={years:0,months:0,days:0,hours:0,minutes:0,seconds:0};return Object.keys(i).forEach(e=>{if(r.isSame(n,e))return;let t=r.diff(n,e);r=r.add(t,e),i[e]=t}),a&&Object.keys(i).forEach(e=>{0!==i[e]&&(i[e]*=-1)}),i}(e,t=E(t,e));if(!0===Object.keys(a).every(e=>!a[e]))return{diff:a,rounded:"now",qualified:"now",precise:"now",abbreviated:[],iso:"P0Y0M0DT0H0M0S",direction:"present"};let n,r="future",{rounded:i,qualified:o,englishValues:s,abbreviated:u}=Se(a);n=s.splice(0,2).join(", "),!0===e.isAfter(t)?(i+=" ago",o+=" ago",n+=" ago",r="past"):(i="in "+i,o="in "+o,n="in "+n);let d=Ee(a);return{diff:a,rounded:i,qualified:o,precise:n,abbreviated:u,iso:d,direction:r}},Ne={north:[["spring",2,1],["summer",5,1],["fall",8,1],["autumn",8,1],["winter",11,1]],south:[["fall",2,1],["autumn",2,1],["winter",5,1],["spring",8,1],["summer",11,1]]},Pe=[null,[0,1],[3,1],[6,1],[9,1]];const Ye={minute:e=>(W(e,{second:0,millisecond:0}),e),quarterhour:e=>{let t=e.minutes();return e=t>=45?e.minutes(45):t>=30?e.minutes(30):t>=15?e.minutes(15):e.minutes(0),W(e,{second:0,millisecond:0}),e},hour:e=>(W(e,{minute:0,second:0,millisecond:0}),e),day:e=>(W(e,{hour:0,minute:0,second:0,millisecond:0}),e),week:e=>{let t=e.clone();return(e=e.day(e._weekStart)).isAfter(t)&&(e=e.subtract(1,"week")),W(e,{hour:0,minute:0,second:0,millisecond:0}),e},month:e=>(W(e,{date:1,hour:0,minute:0,second:0,millisecond:0}),e),quarter:e=>{let t=e.quarter();return Pe[t]&&W(e,{month:Pe[t][0],date:Pe[t][1],hour:0,minute:0,second:0,millisecond:0}),e},season:e=>{let t=e.season(),a="north";"South"===e.hemisphere()&&(a="south");for(let n=0;n(W(e,{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}),e),decade:e=>{let t=(e=e.startOf("year")).year(),a=10*parseInt(t/10,10);return e=e.year(a)},century:e=>{let t=(e=e.startOf("year")).year(),a=100*parseInt(t/100,10);return e=e.year(a)}};Ye.date=Ye.day;var He=function(e,t,a){if(!t||!a)return[];if(t=z(t),a=e.clone().set(a),e.isAfter(a)){let t=e;e=a,a=t}let n=e.clone();!function(e){return!!me().find(t=>t===e)||!!he().find(t=>t===e)}(t)?n.startOf(t).isBefore(e)&&(n=n.next(t)):(n=n.next(t),t="week");let r=[];for(;n.isBefore(a);)r.push(n),n=n.add(1,t);return r},Be=e=>{let t=e.timezones,a=e.tz;if(!1===t.hasOwnProperty(a)&&(a=A(e.tz,t)),null===a)return!1===e.silent&&console.warn("Warn: could not find given or local timezone - '"+e.tz+"'"),{current:{epochShift:0}};let n=t[a],r={name:(i=a,i=(i=(i=i[0].toUpperCase()+i.substr(1)).replace(/\/gmt/,"/GMT")).replace(/[\/_]([a-z])/gi,e=>e.toUpperCase())),hasDst:Boolean(n.dst),default_offset:n.offset,hemisphere:"s"===n.hem?"South":"North",current:{}};var i,o;if(r.hasDst){let e=(o=n.dst)?o.split("->"):[];r.change={start:e[0],back:e[1]}}let s=n.offset,u=s;return!0===r.hasDst&&(u="North"===r.hemisphere?s-1:n.offset+1),!1===r.hasDst?(r.current.offset=s,r.current.isDST=!1):!0===d(e.epoch,r.change.start,r.change.back,s,u)?(r.current.offset=s,r.current.isDST="North"===r.hemisphere):(r.current.offset=u,r.current.isDST="South"===r.hemisphere),r};const Le=["century","decade","year","month","date","day","hour","minute","second","millisecond"],Ie={set:function(e,t){let a=this.clone();return a=ue(a,e,null),t&&(this.tz=A(t)),a},timezone:function(){return Be(this)},isDST:function(){return Be(this).current.isDST},hasDST:function(){return Be(this).hasDst},offset:function(){return 60*Be(this).current.offset},hemisphere:function(){return Be(this).hemisphere},format:function(e){return be(this,e)},unixFmt:function(e){return ve(this,e)},startOf:function(e){return((e,t)=>{let a=e.clone();return t=z(t),Ye[t]?Ye[t](a):"summer"===t||"winter"===t?(a=a.season(t),Ye.season(a)):a})(this,e)},endOf:function(e){return((e,t)=>{let a=e.clone();return t=z(t),Ye[t]?(a=Ye[t](a),a=a.add(1,t),a=a.subtract(1,"millisecond"),a):a})(this,e)},leapYear:function(){return x(this.year())},progress:function(e){return Oe(this,e)},nearest:function(e){return Me(this,e)},diff:function(e,t){return ze(this,e,t)},since:function(e){return e||(e=this.clone().set()),Ce(this,e)},next:function(e){return this.add(1,e).startOf(e)},last:function(e){return this.subtract(1,e).startOf(e)},isValid:function(){return!(!this.epoch&&0!==this.epoch||isNaN(this.d.getTime()))},goto:function(e){let t=this.clone();return t.tz=A(e,t.timezones),t},every:function(e,t){if("object"==typeof e&&"string"==typeof t){let a=t;t=e,e=a}return He(this,e,t)},isAwake:function(){let e=this.hour();return!(e<8||e>22)},isAsleep:function(){return!this.isAwake()},daysInMonth:function(){switch(this.month()){case 0:return 31;case 1:return this.leapYear()?29:28;case 2:return 31;case 3:return 30;case 4:return 31;case 5:return 30;case 6:case 7:return 31;case 8:return 30;case 9:return 31;case 10:return 30;case 11:return 31;default:throw new Error("Invalid Month state.")}},log:function(){return console.log(""),console.log(be(this,"nice-short")),this},logYear:function(){return console.log(""),console.log(be(this,"full-short")),this},json:function(){return Le.reduce((e,t)=>(e[t]=this[t](),e),{})},debug:function(){let e=this.timezone(),t=this.format("MM")+" "+this.format("date-ordinal")+" "+this.year();return t+="\n - "+this.format("time"),console.log("\n\n",t+"\n - "+e.name+" ("+e.current.offset+")"),this},from:function(e){return(e=this.clone().set(e)).since(this)},fromNow:function(){return this.clone().set(Date.now()).since(this)},weekStart:function(e){if("number"==typeof e)return this._weekStart=e,this;if("string"==typeof e){e=e.toLowerCase().trim();let t=me().indexOf(e);-1===t&&(t=he().indexOf(e)),-1===t&&(t=1),this._weekStart=t}else console.warn("Spacetime Error: Cannot understand .weekStart() input:",e);return this}};Ie.inDST=Ie.isDST,Ie.round=Ie.nearest,Ie.each=Ie.every;var We=Ie;const Fe=e=>("string"==typeof e&&(e=parseInt(e,10)),e),Je=["year","month","date","hour","minute","second","millisecond"],Ke=(e,t,a)=>{let n=Je.indexOf(a),r=Je.slice(n,Je.length);for(let a=0;a=24?t=24:t<0&&(t=0);let n=e.clone(),r=e.hour()-t,i=r*B.hour;return e.epoch-=i,e.date()!==n.date()&&(e=n.clone(),r>1&&(r-=1),r<1&&(r+=1),i=r*B.hour,e.epoch-=i),W(e,{hour:t}),Ke(e,n,"minute"),(e=Re(e,n,a,"day")).epoch},Ue=function(e,t){return"string"==typeof t&&/^'[0-9]{2}$/.test(t)&&(t=t.replace(/'/,"").trim(),t=(t=Number(t))>30?1900+t:2e3+t),t=Fe(t),W(e,{year:t}),e.epoch};let Ze="am",Xe="pm";var et={millisecond:function(e){if(void 0!==e){let t=this.clone();return t.epoch=function(e,t){t=Fe(t);let a=e.millisecond()-t;return e.epoch-a}(t,e),t}return this.d.getMilliseconds()},second:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone(),r=(e.second()-t)*B.second;return e.epoch=e.epoch-r,(e=Re(e,n,a,"minute")).epoch}(a,e,t),a}return this.d.getSeconds()},minute:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=Qe(a,e,t),a}return this.d.getMinutes()},hour:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone();return a.epoch=Ge(a,e,t),a}return a.getHours()},hourFloat:function(e,t){if(void 0!==e){let a=this.clone(),n=e%1;n*=60;let r=parseInt(e,10);return a.epoch=Ge(a,r,t),a.epoch=Qe(a,n,t),a}let a=this.d,n=a.getHours(),r=a.getMinutes();return r/=60,n+r},hour12:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone(),n=(e=""+e).match(/^([0-9]+)(am|pm)$/);if(n){let e=parseInt(n[1],10);"pm"===n[2]&&(e+=12),a.epoch=Ge(a,e,t)}return a}let n=a.getHours();return n>12&&(n-=12),0===n&&(n=12),n},time:function(e,t){if(void 0!==e){let a=this.clone();return e=e.toLowerCase().trim(),a.epoch=function(e,t,a){let n=t.match(/([0-9]{1,2})[:h]([0-9]{1,2})(:[0-9]{1,2})? ?(am|pm)?/);if(!n){if(n=t.match(/([0-9]{1,2}) ?(am|pm)/),!n)return e.epoch;n.splice(2,0,"0"),n.splice(3,0,"")}let r=!1,i=parseInt(n[1],10),o=parseInt(n[2],10);o>=60&&(o=59),i>12&&(r=!0),!1===r&&("am"===n[4]&&12===i&&(i=0),"pm"===n[4]&&i<12&&(i+=12)),n[3]=n[3]||"",n[3]=n[3].replace(/:/,"");let s=parseInt(n[3],10)||0,u=e.clone();return e=(e=(e=(e=e.hour(i)).minute(o)).second(s)).millisecond(0),(e=Re(e,u,a,"day")).epoch}(a,e,t),a}return`${this.h12()}:${_(this.minute())}${this.ampm()}`},ampm:function(e,t){let a=Ze,n=this.hour();if(n>=12&&(a=Xe),"string"!=typeof e)return a;let r=this.clone();return e=e.toLowerCase().trim(),n>=12&&"am"===e?(n-=12,r.hour(n,t)):n<12&&"pm"===e?(n+=12,r.hour(n,t)):r},dayTime:function(e,t){if(void 0!==e){const a={morning:"7:00am",breakfast:"7:00am",noon:"12:00am",lunch:"12:00pm",afternoon:"2:00pm",evening:"6:00pm",dinner:"6:00pm",night:"11:00pm",midnight:"23:59pm"};let n=this.clone();return e=(e=e||"").toLowerCase(),!0===a.hasOwnProperty(e)&&(n=n.time(a[e],t)),n}let a=this.hour();return a<6?"night":a<12?"morning":a<17?"afternoon":a<22?"evening":"night"},iso:function(e){return void 0!==e?this.set(e):this.format("iso")}},tt={date:function(e,t){if(void 0!==e){let a=this.clone();return(e=parseInt(e,10))&&(a.epoch=function(e,t,a){if((t=Fe(t))>28){let a=e.month(),n=F[a];1===a&&29===t&&x(e.year())&&(n=29),t>n&&(t=n)}t<=0&&(t=1);let n=e.clone();return W(e,{date:t}),(e=Re(e,n,a,"month")).epoch}(a,e,t)),a}return this.d.getDate()},day:function(e,t){if(void 0===e)return this.d.getDay();let a=this.clone(),n=e;"string"==typeof e&&(e=e.toLowerCase(),ce.hasOwnProperty(e)?n=ce[e]:(n=me().indexOf(e),-1===n&&(n=he().indexOf(e))));let r=this.d.getDay()-n;!0===t&&r>0&&(r-=7),!1===t&&r<0&&(r+=7);let i=this.subtract(r,"days");return W(i,{hour:a.hour(),minute:a.minute(),second:a.second()}),i},dayName:function(e,t){if(void 0===e)return he()[this.day()];let a=this.clone();return a=a.day(e,t),a}};const at=e=>e=(e=(e=e.minute(0)).second(0)).millisecond(1);var nt={dayOfYear:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone();return(t-=1)<=0?t=0:t>=365&&(t=364),e=(e=e.startOf("year")).add(t,"day"),Ke(e,n,"hour"),(e=Re(e,n,a,"year")).epoch}(a,e,t),a}let a,n=0,r=this.d.getMonth();for(let e=1;e<=r;e++)a=new Date,a.setDate(1),a.setFullYear(this.d.getFullYear()),a.setHours(1),a.setMinutes(1),a.setMonth(e),a.setHours(-2),n+=a.getDate();return n+this.d.getDate()},week:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){let n=e.clone();return t=Fe(t),"december"===(e=(e=(e=e.month(0)).date(1)).day("monday")).monthName()&&e.date()>=28&&(e=e.add(1,"week")),t-=1,e=e.add(t,"weeks"),(e=Re(e,n,a,"year")).epoch}(this,e,t),a=at(a),a}let a=this.clone();a=a.month(0),a=a.date(1),a=at(a),a=a.day("monday"),"december"===a.monthName()&&a.date()>=28&&(a=a.add(1,"week"));let n=1;1===a.date()&&(n=0),a=a.minus(1,"second");const r=this.epoch;if(a.epoch>r)return 1;let i=0,o=4*this.month();for(a.epoch+=B.week*o,i+=o;i<=52;i++){if(a.epoch>r)return i+n;a=a.add(1,"week")}return 52},month:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){"string"==typeof t&&("sept"===t&&(t="sep"),t=Q()[t.toLowerCase()]),(t=Fe(t))>=12&&(t=11),t<=0&&(t=0);let n=e.date();n>F[t]&&(n=F[t]);let r=e.clone();return W(e,{month:t,d:n}),(e=Re(e,r,a,"year")).epoch}(a,e,t),a}return this.d.getMonth()},monthName:function(e,t){if(void 0!==e){let a=this.clone();return a=a.month(e,t),a}return K[this.month()]},quarter:function(e,t){if(void 0!==e&&("string"==typeof e&&(e=e.replace(/^q/i,""),e=parseInt(e,10)),Pe[e])){let a=this.clone(),n=Pe[e][0];return a=a.month(n,t),a=a.date(1,t),a=a.startOf("day"),a}let a=this.d.getMonth();for(let e=1;e=Ne[a][e][1]&&n0&&(t.epoch=Ue(t,-1*a)),"ad"===e&&a<0&&(t.epoch=Ue(t,-1*a)),t}return this.d.getFullYear()<0?"BC":"AD"},decade:function(e){if(void 0!==e){if(!(e=(e=(e=String(e)).replace(/([0-9])'?s$/,"$1")).replace(/([0-9])(th|rd|st|nd)/,"$1")))return console.warn("Spacetime: Invalid decade input"),this;2===e.length&&/[0-9][0-9]/.test(e)&&(e="19"+e);let t=Number(e);return isNaN(t)?this:(t=10*Math.floor(t/10),this.year(t))}return this.startOf("decade").year()},century:function(e){if(void 0!==e){"string"==typeof e&&(e=(e=(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/([0-9]+) ?(b\.?c\.?|a\.?d\.?)/i,(e,t,a)=>(a.match(/b\.?c\.?/i)&&(t="-"+t),t))).replace(/c$/,""));let t=Number(e);return isNaN(e)?(console.warn("Spacetime: Invalid century input"),this):(0===t&&(t=1),t=t>=0?100*(t-1):100*(t+1),this.year(t))}let t=this.startOf("century").year();return t=Math.floor(t/100),t<0?t-1:t+1},millenium:function(e){if(void 0!==e){if("string"==typeof e&&(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1"),e=Number(e),isNaN(e)))return console.warn("Spacetime: Invalid millenium input"),this;e>0&&(e-=1);let t=1e3*e;return 0===t&&(t=1),this.year(t)}let t=Math.floor(this.year()/1e3);return t>=0&&(t+=1),t}};const rt=Object.assign({},et,tt,nt);rt.milliseconds=rt.millisecond,rt.seconds=rt.second,rt.minutes=rt.minute,rt.hours=rt.hour,rt.hour24=rt.hour,rt.h12=rt.hour12,rt.h24=rt.hour24,rt.days=rt.day;var it=e=>{Object.keys(rt).forEach(t=>{e.prototype[t]=rt[t]})};const ot=function(e,t){return 1===e&&x(t)?29:F[e]},st=(e,t)=>{if(e.month>0){let a=parseInt(e.month/12,10);e.year=t.year()+a,e.month=e.month%12}else if(e.month<0){let a=Math.abs(e.month),n=parseInt(a/12,10);a%12!=0&&(n+=1),e.year=t.year()-n,e.month=e.month%12,e.month=e.month+12,12===e.month&&(e.month=0)}return e},ut=(e,t,a)=>{let n=t.year(),r=t.month(),i=ot(r,n);for(;a>i;)a-=i,r+=1,r>=12&&(r-=12,n+=1),i=ot(r,n);return e.month=r,e.date=a,e},dt=(e,t,a)=>{e.year=t.year(),e.month=t.month();let n=t.date();for(e.date=n-Math.abs(a);e.date<1;){e.month-=1,e.month<0&&(e.month=11,e.year-=1);let t=ot(e.month,e.year);e.date+=t}return e},lt=["millisecond","second","minute","hour","date","month"];let mt={second:lt.slice(0,1),minute:lt.slice(0,2),quarterhour:lt.slice(0,2),hour:lt.slice(0,3),date:lt.slice(0,4),month:lt.slice(0,4),quarter:lt.slice(0,4),season:lt.slice(0,4),year:lt,decade:lt,century:lt};mt.week=mt.hour,mt.season=mt.date,mt.quarter=mt.date;const ht={year:!0,quarter:!0,season:!0,month:!0,week:!0,date:!0},ct={month:!0,quarter:!0,season:!0,year:!0};var ft=e=>{e.prototype.add=function(e,t){let a=this.clone();if(!t||0===e)return a;let n=this.clone();if("millisecond"===(t=z(t)))return a.epoch+=e,a;"fortnight"===t&&(e*=2,t="week"),B[t]?a.epoch+=B[t]*e:"week"===t||"weekend"===t?a.epoch+=B.day*(7*e):"quarter"===t||"season"===t?a.epoch+=B.month*(3*e):"quarterhour"===t&&(a.epoch+=15*B.minute*e);let r={};if(mt[t]&&mt[t].forEach(e=>{r[e]=n[e]()}),ht[t]){const e=n.timezone().current.offset-a.timezone().current.offset;a.epoch+=3600*e*1e3}if("month"===t&&(r.month=n.month()+e,r=st(r,n)),"week"===t){let t=n.date()+7*e;t<=28&&t>1&&(r.date=t)}if("weekend"===t&&"saturday"!==a.dayName())a=a.day("saturday",!0);else if("date"===t){if(e<0)r=dt(r,n,e);else{let t=n.date()+e;r=ut(r,n,t)}0!==e&&n.isSame(a,"day")&&(r.date=n.date()+e)}else if("quarter"===t){if(r.month=n.month()+3*e,r.year=n.year(),r.month<0){let e=Math.floor(r.month/12),t=r.month+12*Math.abs(e);r.month=t,r.year+=e}else if(r.month>=12){let e=Math.floor(r.month/12);r.month=r.month%12,r.year+=e}r.date=n.date()}else if("year"===t){let t=n.year()+e,r=a.year();if(rt){let t=Math.floor(e/4)||1;a.epoch+=B.day*t}}else"decade"===t?r.year=a.year()+10:"century"===t&&(r.year=a.year()+100);if(ct[t]){let e=F[r.month];r.date=n.date(),r.date>e&&(r.date=e)}return Object.keys(r).length>1&&W(a,r),a},e.prototype.subtract=function(e,t){return this.clone().add(-1*e,t)},e.prototype.minus=e.prototype.subtract,e.prototype.plus=e.prototype.add};const yt={millisecond:e=>e.epoch,second:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second()].join("-"),minute:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute()].join("-"),hour:e=>[e.year(),e.month(),e.date(),e.hour()].join("-"),day:e=>[e.year(),e.month(),e.date()].join("-"),week:e=>[e.year(),e.week()].join("-"),month:e=>[e.year(),e.month()].join("-"),quarter:e=>[e.year(),e.quarter()].join("-"),year:e=>e.year()};yt.date=yt.day;var pt=e=>{e.prototype.isSame=function(t,a,n=!0){let r=this;if(!a)return null;if("string"==typeof t&&"object"==typeof a){let e=t;t=a,a=e}return"string"!=typeof t&&"number"!=typeof t||(t=new e(t,this.timezone.name)),a=a.replace(/s$/,""),!0===n&&r.tz!==t.tz&&((t=t.clone()).tz=r.tz),yt[a]?yt[a](r)===yt[a](t):null}},gt=e=>{const t={isAfter:function(e){let t=T(e=E(e,this));return null===t?null:this.epoch>t},isBefore:function(e){let t=T(e=E(e,this));return null===t?null:this.epoch{e.prototype[a]=t[a]})},wt=e=>{const t={i18n:e=>{var t,a,n;M(e.days)&&(t=e.days,de=t.short||de,le=t.long||le),M(e.months)&&function(e){J=e.short||J,K=e.long||K}(e.months),n=e.useTitleCase,"[object Boolean]"===Object.prototype.toString.call(n)&&(a=e.useTitleCase,fe=a),M(e.ampm)&&function(e){Ze=e.am||Ze,Xe=e.pm||Xe}(e.ampm)}};Object.keys(t).forEach(a=>{e.prototype[a]=t[a]})};let bt=f;const kt=function(e,t,a={}){this.epoch=null,this.tz=A(t,bt),this.silent=void 0===a.silent||a.silent,this.british=a.dmy||a.british,this._weekStart=1,void 0!==a.weekStart&&(this._weekStart=a.weekStart),this._today={},void 0!==a.today&&(this._today=a.today),Object.defineProperty(this,"d",{get:function(){let e=l(this),t=(new Date(this.epoch).getTimezoneOffset()||0)+60*e;t=60*t*1e3;let a=this.epoch+t;return new Date(a)}}),Object.defineProperty(this,"timezones",{get:()=>bt,set:e=>(bt=e,e)});let n=ue(this,e);this.epoch=n.epoch};Object.keys(We).forEach(e=>{kt.prototype[e]=We[e]}),kt.prototype.clone=function(){return new kt(this.epoch,this.tz,{silent:this.silent,weekStart:this._weekStart,today:this._today,parsers:this.parsers})},kt.prototype.toLocalDate=function(){return this.toNativeDate()},kt.prototype.toNativeDate=function(){return new Date(this.epoch)},it(kt),ft(kt),pt(kt),gt(kt),wt(kt);var Dt=kt,vt=(e,t)=>{let a=new Dt(null),n=new Dt(null);a=a.time(e),n=t?n.time(t):a.add(59,"minutes");let r=a.hour(),i=n.hour();return Object.keys(a.timezones).filter(e=>{if(-1===e.indexOf("/"))return!1;let t=new Dt(null,e),o=t.hour();return o>=r&&o<=i&&!(o===r&&t.minute()n.minute())})};const At=(e,t,a)=>new Dt(e,t,a),xt=function(e){let t=e._today||{};return Object.keys(t).forEach(a=>{e=e[a](t[a])}),e};At.now=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a},At.today=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.startOf("day")},At.tomorrow=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.add(1,"day").startOf("day")},At.yesterday=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.subtract(1,"day").startOf("day")},At.extend=function(e={}){return Object.keys(e).forEach(t=>{Dt.prototype[t]=e[t]}),this},At.timezones=function(){return(new Dt).timezones},At.max=function(e,t){let a=new Dt(null,e,t);return a.epoch=864e13,a},At.min=function(e,t){let a=new Dt(null,e,t);return a.epoch=-864e13,a},At.whereIts=vt,At.version="7.1.4",At.plugin=At.extend;var Ot=At;const Mt={daybreak:"7:00am",breakfast:"8:00am",morning:"9:00am",noon:"12:00pm",midday:"12:00pm",afternoon:"2:00pm",lunchtime:"12:00pm",evening:"6:00pm",dinnertime:"6:00pm",night:"8:00pm",eod:"10:00pm",midnight:"12:00am",am:"9:00am",pm:"5:00pm"},_t={quarter:15,half:30},jt=function(e){let t=e.time("6:00am");return e.isBefore(t)?e.ampm("pm"):e};var $t=function(e,t){let a=e.match("(at|by|for|before|this|after)? #Time+");a=a.not("^(at|by|for|before|this|after)"),a=a.not("sharp"),a=a.not("on the dot");let n=Ot.now(t.timezone),r=n.clone(),i=a.not("in the").text("reduced");if(i=i.replace(/^@/,""),Mt.hasOwnProperty(i))return{result:Mt[i],m:a};let o=a.match("^#Cardinal oclock (am|pm)?");if(o.found&&(n=n.hour(o.text("reduced")),n=n.startOf("hour"),n.isValid()&&!n.isEqual(r))){let e=o.match("(am|pm)");return n=e.found?n.ampm(e.text("reduced")):jt(n),{result:n.time(),m:o}}if(o=a.match("(half|quarter|25|20|15|10|5) (past|after|to) #Cardinal"),o.found&&(n=function(e,t){let a=e.match("#Cardinal$"),n=e.not(a).match("(half|quarter|25|20|15|10|5)");a=a.text("reduced");let r=n.text("reduced");_t.hasOwnProperty(r)&&(r=_t[r]);let i=e.has("to");return t=(t=t.hour(a)).startOf("hour"),a<6&&(t=t.ampm("pm")),i?t.subtract(r,"minutes"):t.add(r,"minutes")}(o,n),n.isValid()&&!n.isEqual(r)))return n=jt(n),{result:n.time(),m:o};if(o=a.match("[(half|quarter|25|20|15|10|5)] (past|after)"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minute(e),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[(half|quarter|25|20|15|10|5)] to"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minus(e,"minutes"),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[