diff --git a/builds/compromise.es6.js b/builds/compromise.es6.js index ec5ff7547..bdf9fada6 100644 --- a/builds/compromise.es6.js +++ b/builds/compromise.es6.js @@ -3,7 +3,7 @@ module.exports={ "author": "Spencer Kelly (http://spencermounta.in)", "name": "compromise", "description": "natural language processing in the browser", - "version": "9.1.0", + "version": "10.0.0", "main": "./builds/compromise.js", "repository": { "type": "git", @@ -248,7 +248,6 @@ let arr = [ ]; module.exports = fns.uncompress_suffixes(arr, compressed); -// console.log(JSON.stringify(module.exports.sort(), null, 2)); },{"../fns":5}],3:[function(_dereq_,module,exports){ //adjectives that become verbs with +'en' (short->shorten) @@ -559,7 +558,7 @@ module.exports = lexicon; // console.log(lexicon['ugh']); -},{"../result/subset/adjectives/methods":42,"../result/subset/verbs/methods/conjugate/faster":104,"../result/subset/verbs/methods/toAdjective":114,"./fns":5,"./index":6}],8:[function(_dereq_,module,exports){ +},{"../result/subset/adjectives/methods":44,"../result/subset/verbs/methods/conjugate/faster":108,"../result/subset/verbs/methods/toAdjective":118,"./fns":5,"./index":6}],8:[function(_dereq_,module,exports){ module.exports = [ 'this', 'any', @@ -1150,7 +1149,8 @@ let main = [ ['radius', 'radii'], ['referendum', 'referenda'], ['thief', 'thieves'], - ['tooth', 'teeth'] + ['tooth', 'teeth'], + ['modulus', 'moduli'] ]; //decompress it main = main.map(function(a) { @@ -2564,7 +2564,7 @@ exports.printTerm = function(t) { for(let i = 0; i < tags.length; i++) { if (tagset[tags[i]]) { const color = tagset[tags[i]].color || 'black'; - return exports[color](t.plaintext); + return exports[color](t.out('text')); } } return c.reset + t.plaintext + c.reset; @@ -2583,7 +2583,7 @@ exports.isArray = function(arr) { return Object.prototype.toString.call(arr) === '[object Array]'; }; -},{"./tagset":163}],22:[function(_dereq_,module,exports){ +},{"./tagset":167}],22:[function(_dereq_,module,exports){ (function (global){ 'use strict'; const buildResult = _dereq_('./result/build'); @@ -2592,6 +2592,7 @@ const log = _dereq_('./log'); //the main thing const nlp = function (str, lexicon) { + // this.tagset = tagset; let r = buildResult(str, lexicon); r.tagger(); return r; @@ -2602,15 +2603,10 @@ nlp.tokenize = function(str) { return buildResult(str); }; -//this is handy +//this is useful nlp.version = pkg.version; -//so handy at times -nlp.lexicon = function() { - return _dereq_('./data/lexicon'); -}; - -//also this is much handy +//turn-on some debugging nlp.verbose = function(str) { log.enable(str); }; @@ -2633,9 +2629,48 @@ if (typeof module !== 'undefined') { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../package.json":1,"./data/lexicon":7,"./log":23,"./result/build":24}],23:[function(_dereq_,module,exports){ +},{"../package.json":1,"./log":24,"./result/build":26}],23:[function(_dereq_,module,exports){ 'use strict'; const fns = _dereq_('../fns'); + +// const colors = { +// 'Person': '#6393b9', +// 'Pronoun': '#81acce', +// 'Noun': 'steelblue', +// 'Verb': 'palevioletred', +// 'Adverb': '#f39c73', +// 'Adjective': '#b3d3c6', +// 'Determiner': '#d3c0b3', +// 'Preposition': '#9794a8', +// 'Conjunction': '#c8c9cf', +// 'Value': 'palegoldenrod', +// 'Expression': '#b3d3c6' +// }; + +const tag = (t, pos, reason) => { + let title = t.normal || '[' + t.silent_term + ']'; + title = fns.leftPad('\'' + title + '\'', 12); + title += ' -> ' + pos; + title += fns.rightPad((reason || ''), 15); + console.log('%c' + title, ' color: #a2c99c'); +}; +const untag = (t, pos, reason) => { + let title = t.normal || '[' + t.silent_term + ']'; + title = fns.leftPad('\'' + title + '\'', 12); + title += ' ~* ' + pos; + title += ' ' + (reason || ''); + console.log('%c' + title, ' color: #b66a6a'); +}; +module.exports = { + tag: tag, + untag: untag, +}; + +},{"../fns":21}],24:[function(_dereq_,module,exports){ +'use strict'; +const client = _dereq_('./client'); +const server = _dereq_('./server'); + let enable = false; module.exports = { @@ -2645,43 +2680,55 @@ module.exports = { } enable = str; }, - here: (path) => { - if (enable === true || enable === path) { - console.log(' ' + path); - } - }, - tell: (str, path) => { - if (enable === true || enable === path) { - if (typeof str === 'object') { - str = JSON.stringify(str); - } - str = ' ' + str; - console.log(str); - } - }, tag: (t, pos, reason) => { if (enable === true || enable === 'tagger') { - let title = t.normal || '[' + t.silent_term + ']'; - title = fns.yellow(title); - title = fns.leftPad('\'' + title + '\'', 20); - title += ' -> ' + fns.printTag(pos); - title = fns.leftPad(title, 54); - console.log(' ' + title + '(' + fns.cyan(reason || '') + ')'); + if (typeof window !== undefined) { + client.tag(t, pos, reason); + } else { + server.tag(t, pos, reason); + } } }, unTag: (t, pos, reason) => { if (enable === true || enable === 'tagger') { - let title = '-' + t.normal + '-'; - title = fns.red(title); - title = fns.leftPad(title, 20); - title += ' ~* ' + fns.red(pos); - title = fns.leftPad(title, 54); - console.log(' ' + title + '(' + fns.red(reason || '') + ')'); + if (typeof window !== undefined) { + client.untag(t, pos, reason); + } else { + server.untag(t, pos, reason); + } } } }; -},{"../fns":21}],24:[function(_dereq_,module,exports){ +},{"./client":23,"./server":25}],25:[function(_dereq_,module,exports){ +'use strict'; +const fns = _dereq_('../fns'); + +//use weird bash escape things for some colors +const tag = (t, pos, reason) => { + let title = t.normal || '[' + t.silent_term + ']'; + title = fns.yellow(title); + title = fns.leftPad('\'' + title + '\'', 20); + title += ' -> ' + fns.printTag(pos); + title = fns.leftPad(title, 54); + console.log(' ' + title + '(' + fns.cyan(reason || '') + ')'); +}; + +const untag = function(t, pos, reason) { + let title = '-' + t.normal + '-'; + title = fns.red(title); + title = fns.leftPad(title, 20); + title += ' ~* ' + fns.red(pos); + title = fns.leftPad(title, 54); + console.log(' ' + title + '(' + fns.red(reason || '') + ')'); +}; + +module.exports = { + tag: tag, + untag: untag, +}; + +},{"../fns":21}],26:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('./index'); const tokenize = _dereq_('./tokenize'); @@ -2732,7 +2779,7 @@ const fromString = (str, lexicon) => { }; module.exports = fromString; -},{"../term/methods/normalize/normalize":175,"./index":26,"./paths":38,"./tokenize":120}],25:[function(_dereq_,module,exports){ +},{"../term/methods/normalize/normalize":179,"./index":28,"./paths":40,"./tokenize":124}],27:[function(_dereq_,module,exports){ module.exports = { /** did it find anything? */ found: function() { @@ -2770,7 +2817,7 @@ module.exports = { }; -},{}],26:[function(_dereq_,module,exports){ +},{}],28:[function(_dereq_,module,exports){ 'use strict'; //a Text is an array of termLists const getters = _dereq_('./getters'); @@ -2843,7 +2890,7 @@ Object.keys(subset).forEach((k) => { }; }); -},{"./getters":25,"./methods/loops":27,"./methods/match":28,"./methods/misc":29,"./methods/normalize":30,"./methods/out":31,"./methods/sort":35,"./methods/split":37,"./subset/acronyms":39,"./subset/adjectives":40,"./subset/adverbs":48,"./subset/contractions":54,"./subset/dates":56,"./subset/ngrams":66,"./subset/ngrams/endGrams":63,"./subset/ngrams/startGrams":67,"./subset/nouns":69,"./subset/people":79,"./subset/sentences":81,"./subset/terms":86,"./subset/values":87,"./subset/verbs":100,"./subsets":119}],27:[function(_dereq_,module,exports){ +},{"./getters":27,"./methods/loops":29,"./methods/match":30,"./methods/misc":31,"./methods/normalize":32,"./methods/out":33,"./methods/sort":37,"./methods/split":39,"./subset/acronyms":41,"./subset/adjectives":42,"./subset/adverbs":50,"./subset/contractions":56,"./subset/dates":58,"./subset/ngrams":68,"./subset/ngrams/endGrams":65,"./subset/ngrams/startGrams":69,"./subset/nouns":71,"./subset/people":81,"./subset/sentences":83,"./subset/terms":88,"./subset/values":94,"./subset/verbs":104,"./subsets":123}],29:[function(_dereq_,module,exports){ 'use strict'; //this methods are simply loops around each termList object. const methods = [ @@ -2896,7 +2943,7 @@ const addMethods = (Text) => { module.exports = addMethods; -},{}],28:[function(_dereq_,module,exports){ +},{}],30:[function(_dereq_,module,exports){ 'use strict'; const syntaxParse = _dereq_('../../../terms/match/lib/syntax'); const Terms = _dereq_('../../../terms'); @@ -3010,18 +3057,54 @@ const splitMethods = (Text) => { } return false; }, + + /**find a match, and return everything infront of it*/ + before: function(reg) { + let list = []; + for(let i = 0; i < this.list.length; i++) { + let m = this.list[i].matchOne(reg); + if (m) { + let index = m[0].index(); + let found = this.list[i].slice(0, index); + if (found.length > 0) { + list.push(found); + } + } + } + let parent = this.parent || this; + return new Text(list, this.lexicon, parent); + }, + + /**find a match, and return everything after of it*/ + after: function(reg) { + let list = []; + for(let i = 0; i < this.list.length; i++) { + let m = this.list[i].matchOne(reg); + if (m) { + let lastTerm = m[m.length - 1]; + let index = lastTerm.index(); + let found = this.list[i].slice(index + 1, this.list[i].length); + if (found.length > 0) { + list.push(found); + } + } + } + let parent = this.parent || this; + return new Text(list, this.lexicon, parent); + } + }; //alias 'and' methods.and = methods.match; - //hook them into result.proto + //hook them into result.proto Text.addMethods(Text, methods); return Text; }; module.exports = splitMethods; -},{"../../../terms":189,"../../../terms/match/lib/syntax":196}],29:[function(_dereq_,module,exports){ +},{"../../../terms":194,"../../../terms/match/lib/syntax":202}],31:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../terms'); @@ -3120,6 +3203,7 @@ const miscMethods = (Text) => { } return this; }, + /** make it into one sentence/termlist */ flatten: function () { let terms = []; @@ -3144,13 +3228,29 @@ const miscMethods = (Text) => { return this; }, + /** sample part of the array */ + random: function(n) { + n = n || 1; + let r = Math.floor(Math.random() * this.list.length); + let arr = this.list.slice(r, r + n); + //if we're off the end, add some from the start + if (arr.length < n) { + let diff = n - arr.length; + if (diff > r) { + diff = r; //prevent it from going full-around + } + arr = arr.concat(this.list.slice(0, diff)); + } + return new Text(arr, this.lexicon, this.parent); + } + }; Text.addMethods(Text, methods); }; module.exports = miscMethods; -},{"../../terms":189}],30:[function(_dereq_,module,exports){ +},{"../../terms":194}],32:[function(_dereq_,module,exports){ 'use strict'; // const defaults = { @@ -3236,7 +3336,7 @@ const addMethods = (Text) => { }; module.exports = addMethods; -},{}],31:[function(_dereq_,module,exports){ +},{}],33:[function(_dereq_,module,exports){ 'use strict'; const topk = _dereq_('./topk'); const offset = _dereq_('./offset'); @@ -3367,7 +3467,7 @@ const addMethods = (Text) => { module.exports = addMethods; -},{"./indexes":32,"./offset":33,"./topk":34}],32:[function(_dereq_,module,exports){ +},{"./indexes":34,"./offset":35,"./topk":36}],34:[function(_dereq_,module,exports){ 'use strict'; //find where in the original text this match is found, by term-counts const termIndex = (r) => { @@ -3400,7 +3500,7 @@ const termIndex = (r) => { }; module.exports = termIndex; -},{}],33:[function(_dereq_,module,exports){ +},{}],35:[function(_dereq_,module,exports){ 'use strict'; /** say where in the original output string they are found*/ @@ -3465,7 +3565,7 @@ const allOffset = (r) => { }; module.exports = allOffset; -},{}],34:[function(_dereq_,module,exports){ +},{}],36:[function(_dereq_,module,exports){ 'use strict'; // const topk = function (r, n) { @@ -3503,7 +3603,7 @@ const topk = function (r, n) { module.exports = topk; -},{}],35:[function(_dereq_,module,exports){ +},{}],37:[function(_dereq_,module,exports){ 'use strict'; const sorter = _dereq_('./methods'); @@ -3560,7 +3660,7 @@ const addMethods = (Text) => { module.exports = addMethods; -},{"./methods":36}],36:[function(_dereq_,module,exports){ +},{"./methods":38}],38:[function(_dereq_,module,exports){ 'use strict'; //perform sort on pre-computed values @@ -3663,7 +3763,7 @@ exports.freq = function(r) { return r; }; -},{}],37:[function(_dereq_,module,exports){ +},{}],39:[function(_dereq_,module,exports){ 'use strict'; const splitMethods = (Text) => { @@ -3711,7 +3811,7 @@ const splitMethods = (Text) => { module.exports = splitMethods; -},{}],38:[function(_dereq_,module,exports){ +},{}],40:[function(_dereq_,module,exports){ module.exports = { fns: _dereq_('../fns'), data: _dereq_('../data'), @@ -3719,7 +3819,7 @@ module.exports = { tags: _dereq_('../tagset'), }; -},{"../data":6,"../fns":21,"../tagset":163,"../terms":189}],39:[function(_dereq_,module,exports){ +},{"../data":6,"../fns":21,"../tagset":167,"../terms":194}],41:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); //the Acronym() subset class @@ -3749,7 +3849,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26}],40:[function(_dereq_,module,exports){ +},{"../../index":28}],42:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const fns = _dereq_('./methods'); @@ -3782,7 +3882,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./methods":42}],41:[function(_dereq_,module,exports){ +},{"../../index":28,"./methods":44}],43:[function(_dereq_,module,exports){ 'use strict'; //an obj of adjectives that can be converted to superlative + comparative, via the lexicon data const data = _dereq_('../../../../data'); @@ -3798,7 +3898,7 @@ data.verbConverts.forEach((a) => { }); module.exports = convertables; -},{"../../../../data":6}],42:[function(_dereq_,module,exports){ +},{"../../../../data":6}],44:[function(_dereq_,module,exports){ 'use strict'; module.exports = { toNoun: _dereq_('./toNoun'), @@ -3808,7 +3908,7 @@ module.exports = { toVerb: _dereq_('./toVerb') }; -},{"./toAdverb":43,"./toComparative":44,"./toNoun":45,"./toSuperlative":46,"./toVerb":47}],43:[function(_dereq_,module,exports){ +},{"./toAdverb":45,"./toComparative":46,"./toNoun":47,"./toSuperlative":48,"./toVerb":49}],45:[function(_dereq_,module,exports){ //turn 'quick' into 'quickly' 'use strict'; const adj_to_adv = function(str) { @@ -3943,7 +4043,7 @@ const adj_to_adv = function(str) { module.exports = adj_to_adv; -},{}],44:[function(_dereq_,module,exports){ +},{}],46:[function(_dereq_,module,exports){ //turn 'quick' into 'quickly' 'use strict'; const convertables = _dereq_('./convertable'); @@ -4043,7 +4143,7 @@ const to_comparative = function(str) { module.exports = to_comparative; -},{"./convertable":41}],45:[function(_dereq_,module,exports){ +},{"./convertable":43}],47:[function(_dereq_,module,exports){ 'use strict'; //convert 'cute' to 'cuteness' const irregulars = { @@ -4113,7 +4213,7 @@ const to_noun = function(w) { module.exports = to_noun; // console.log(to_noun("great")) -},{}],46:[function(_dereq_,module,exports){ +},{}],48:[function(_dereq_,module,exports){ //turn 'quick' into 'quickest' 'use strict'; const convertables = _dereq_('./convertable'); @@ -4208,7 +4308,7 @@ const to_superlative = function(str) { module.exports = to_superlative; // console.log(to_superlative("great")) -},{"./convertable":41}],47:[function(_dereq_,module,exports){ +},{"./convertable":43}],49:[function(_dereq_,module,exports){ 'use strict'; const data = _dereq_('../../../../data'); //turn an adjective like 'soft' into a verb like 'soften' @@ -4241,7 +4341,7 @@ const toVerb = (str) => { }; module.exports = toVerb; -},{"../../../../data":6}],48:[function(_dereq_,module,exports){ +},{"../../../../data":6}],50:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const toAdjective = _dereq_('./toAdjective'); @@ -4272,7 +4372,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./toAdjective":49}],49:[function(_dereq_,module,exports){ +},{"../../index":28,"./toAdjective":51}],51:[function(_dereq_,module,exports){ //turns 'quickly' into 'quick' 'use strict'; const irregulars = { @@ -4335,7 +4435,7 @@ const toAdjective = function(str) { // console.log(toAdjective('marvelously') === 'marvelous') module.exports = toAdjective; -},{}],50:[function(_dereq_,module,exports){ +},{}],52:[function(_dereq_,module,exports){ 'use strict'; //the plumbing to turn two words into a contraction @@ -4414,7 +4514,7 @@ const contract = function(ts) { module.exports = contract; -},{}],51:[function(_dereq_,module,exports){ +},{}],53:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const contract = _dereq_('./contract'); @@ -4452,7 +4552,7 @@ ContractionCl.prototype.contract = function() { }; module.exports = ContractionCl; -},{"../../paths":38,"./contract":50,"./expand":52}],52:[function(_dereq_,module,exports){ +},{"../../paths":40,"./contract":52,"./expand":54}],54:[function(_dereq_,module,exports){ 'use strict'; //turn `i'd` into `i would` const expand = function(ts) { @@ -4475,7 +4575,7 @@ const expand = function(ts) { }; module.exports = expand; -},{}],53:[function(_dereq_,module,exports){ +},{}],55:[function(_dereq_,module,exports){ 'use strict'; //find contractable, expanded-contractions const find = (r) => { @@ -4491,7 +4591,7 @@ const find = (r) => { }; module.exports = find; -},{}],54:[function(_dereq_,module,exports){ +},{}],56:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const ContractionCl = _dereq_('./contraction'); @@ -4546,7 +4646,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./contraction":51,"./findPossible":53}],55:[function(_dereq_,module,exports){ +},{"../../index":28,"./contraction":53,"./findPossible":55}],57:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const parseDate = _dereq_('./parseDate'); @@ -4569,7 +4669,7 @@ Date.prototype.data = function() { module.exports = Date; -},{"../../paths":38,"./parseDate":59}],56:[function(_dereq_,module,exports){ +},{"../../paths":40,"./parseDate":61}],58:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Date = _dereq_('./date'); @@ -4614,7 +4714,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./date":55,"./month":58,"./weekday":62}],57:[function(_dereq_,module,exports){ +},{"../../index":28,"./date":57,"./month":60,"./weekday":64}],59:[function(_dereq_,module,exports){ //follow the javascript scheme //january is 0 exports.longMonths = { @@ -4648,7 +4748,7 @@ exports.shortMonths = { 'dec': 11, }; -},{}],58:[function(_dereq_,module,exports){ +},{}],60:[function(_dereq_,module,exports){ 'use strict'; const data = _dereq_('./data'); const shortMonths = data.shortMonths; @@ -4689,7 +4789,7 @@ module.exports = { }; -},{"./data":57}],59:[function(_dereq_,module,exports){ +},{"./data":59}],61:[function(_dereq_,module,exports){ 'use strict'; const parseTime = _dereq_('./parseTime'); const weekdays = _dereq_('./weekday'); @@ -4783,7 +4883,7 @@ const parseDate = (r) => { }; module.exports = parseDate; -},{"./month":58,"./parseTime":60,"./weekday":62}],60:[function(_dereq_,module,exports){ +},{"./month":60,"./parseTime":62,"./weekday":64}],62:[function(_dereq_,module,exports){ 'use strict'; const ampm = /([12]?[0-9]) ?(am|pm)/i; const hourMin = /([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i; @@ -4850,7 +4950,7 @@ const parseTime = (r) => { }; module.exports = parseTime; -},{}],61:[function(_dereq_,module,exports){ +},{}],63:[function(_dereq_,module,exports){ //follow the javascript scheme //sunday is 0 exports.longDays = { @@ -4861,18 +4961,19 @@ exports.longDays = { 'thursday': 4, 'friday': 5, 'saturday': 6, -} +}; exports.shortDays = { 'sun': 0, 'mon': 1, 'tues': 2, 'wed': 3, + 'weds': 3, 'thurs': 4, 'fri': 5, 'sat': 6, -} +}; -},{}],62:[function(_dereq_,module,exports){ +},{}],64:[function(_dereq_,module,exports){ 'use strict'; const data = _dereq_('./data'); const shortDays = data.shortDays; @@ -4910,7 +5011,7 @@ module.exports = { } }; -},{"./data":61}],63:[function(_dereq_,module,exports){ +},{"./data":63}],65:[function(_dereq_,module,exports){ 'use strict'; const Ngrams = _dereq_('./index'); const getGrams = _dereq_('./getGrams'); @@ -4946,7 +5047,7 @@ EndGrams.find = function(r, n, size) { }; module.exports = EndGrams; -},{"./getGrams":64,"./index":66}],64:[function(_dereq_,module,exports){ +},{"./getGrams":66,"./index":68}],66:[function(_dereq_,module,exports){ 'use strict'; const Gram = _dereq_('./gram'); @@ -5024,7 +5125,7 @@ const buildGrams = function(r, options) { module.exports = buildGrams; -},{"./gram":65}],65:[function(_dereq_,module,exports){ +},{"./gram":67}],67:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; @@ -5048,7 +5149,7 @@ Gram.prototype.inc = function() { module.exports = Gram; -},{"../../paths":38}],66:[function(_dereq_,module,exports){ +},{"../../paths":40}],68:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const getGrams = _dereq_('./getGrams'); @@ -5118,7 +5219,7 @@ const find = function(r, n, size) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./getGrams":64}],67:[function(_dereq_,module,exports){ +},{"../../index":28,"./getGrams":66}],69:[function(_dereq_,module,exports){ 'use strict'; const Ngrams = _dereq_('./index'); const getGrams = _dereq_('./getGrams'); @@ -5155,7 +5256,7 @@ StartGrams.find = function(r, n, size) { module.exports = StartGrams; -},{"./getGrams":64,"./index":66}],68:[function(_dereq_,module,exports){ +},{"./getGrams":66,"./index":68}],70:[function(_dereq_,module,exports){ 'use strict'; const uncountables = _dereq_('../../../tries').utils.uncountable; @@ -5193,7 +5294,7 @@ const hasPlural = function (t) { module.exports = hasPlural; -},{"../../../tries":231}],69:[function(_dereq_,module,exports){ +},{"../../../tries":238}],71:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Noun = _dereq_('./noun'); @@ -5232,7 +5333,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./noun":77}],70:[function(_dereq_,module,exports){ +},{"../../index":28,"./noun":79}],72:[function(_dereq_,module,exports){ 'use strict'; const irregulars = _dereq_('../../../data').irregular_plurals; const rules = _dereq_('./methods/data/indicators'); @@ -5310,7 +5411,7 @@ const isPlural = function (t) { module.exports = isPlural; // console.log(is_plural('octopus') === false) -},{"../../../data":6,"./methods/data/indicators":72}],71:[function(_dereq_,module,exports){ +},{"../../../data":6,"./methods/data/indicators":74}],73:[function(_dereq_,module,exports){ 'use strict'; //chooses an indefinite aricle 'a/an' for a word @@ -5372,7 +5473,7 @@ const makeArticle = function(t) { module.exports = makeArticle; -},{}],72:[function(_dereq_,module,exports){ +},{}],74:[function(_dereq_,module,exports){ 'use strict'; //similar to plural/singularize rules, but not the same const plural_indicators = [ @@ -5426,7 +5527,7 @@ module.exports = { plural_indicators: plural_indicators } -},{}],73:[function(_dereq_,module,exports){ +},{}],75:[function(_dereq_,module,exports){ //patterns for turning 'bus' to 'buses' module.exports = [ [/(ax|test)is$/i, '$1es'], @@ -5461,7 +5562,7 @@ module.exports = [ }; }); -},{}],74:[function(_dereq_,module,exports){ +},{}],76:[function(_dereq_,module,exports){ //patterns for turning 'dwarves' to 'dwarf' module.exports = [ [/([^v])ies$/i, '$1y'], @@ -5495,7 +5596,7 @@ module.exports = [ }; }); -},{}],75:[function(_dereq_,module,exports){ +},{}],77:[function(_dereq_,module,exports){ 'use strict'; const irregulars = _dereq_('../../../../data').irregular_plurals.toPlural; const pluralRules = _dereq_('./data/pluralRules'); @@ -5517,7 +5618,7 @@ const pluralize = function(str) { module.exports = pluralize; -},{"../../../../data":6,"./data/pluralRules":73}],76:[function(_dereq_,module,exports){ +},{"../../../../data":6,"./data/pluralRules":75}],78:[function(_dereq_,module,exports){ 'use strict'; const irregulars = _dereq_('../../../../data').irregular_plurals.toSingle; const singleRules = _dereq_('./data/singleRules'); @@ -5546,11 +5647,10 @@ const toSingle = function (str) { return null; }; -// console.log(toSingle('gases') === 'gas') module.exports = toSingle; // console.log(toSingle('days')) -},{"../../../../data":6,"./data/singleRules":74}],77:[function(_dereq_,module,exports){ +},{"../../../../data":6,"./data/singleRules":76}],79:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const hasPlural = _dereq_('./hasPlural'); @@ -5610,7 +5710,7 @@ Object.keys(methods).forEach((k) => { }); module.exports = Noun; -},{"../../paths":38,"./hasPlural":68,"./isPlural":70,"./makeArticle":71,"./methods/pluralize":75,"./methods/singularize":76}],78:[function(_dereq_,module,exports){ +},{"../../paths":40,"./hasPlural":70,"./isPlural":72,"./makeArticle":73,"./methods/pluralize":77,"./methods/singularize":78}],80:[function(_dereq_,module,exports){ 'use strict'; // make a statistical assumption about the gender of the person based on their given name // used for pronoun resolution only. @@ -5634,7 +5734,7 @@ const gender = function (firstName) { }; module.exports = gender; -},{}],79:[function(_dereq_,module,exports){ +},{}],81:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Person = _dereq_('./person'); @@ -5661,7 +5761,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./person":80}],80:[function(_dereq_,module,exports){ +},{"../../index":28,"./person":82}],82:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const guessGender = _dereq_('./guessGender'); @@ -5741,7 +5841,7 @@ Object.keys(methods).forEach((k) => { }); module.exports = Person; -},{"../../paths":38,"./guessGender":78}],81:[function(_dereq_,module,exports){ +},{"../../paths":40,"./guessGender":80}],83:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Sentence = _dereq_('./sentence'); @@ -5841,7 +5941,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./sentence":82}],82:[function(_dereq_,module,exports){ +},{"../../index":28,"./sentence":84}],84:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const toNegative = _dereq_('./toNegative'); @@ -5879,7 +5979,6 @@ const methods = { //this is really ugly.. let start = verb.out('normal'); verb.toPastTense(); - // console.log(verb.parentTerms.out() + '!'); let end = verb.out('normal'); let r = this.parentTerms.replace(start, end); return r; @@ -5959,7 +6058,7 @@ Object.keys(methods).forEach((k) => { }); module.exports = Sentence; -},{"../../paths":38,"../verbs/verb":118,"./smartInsert":83,"./toNegative":84,"./toPositive":85}],83:[function(_dereq_,module,exports){ +},{"../../paths":40,"../verbs/verb":122,"./smartInsert":85,"./toNegative":86,"./toPositive":87}],85:[function(_dereq_,module,exports){ 'use strict'; const hasCapital = /^[A-Z]/; @@ -6005,7 +6104,7 @@ module.exports = { prepend: prepend }; -},{}],84:[function(_dereq_,module,exports){ +},{}],86:[function(_dereq_,module,exports){ 'use strict'; //these terms are nicer ways to negate a sentence @@ -6038,7 +6137,7 @@ const toNegative = (ts) => { }; module.exports = toNegative; -},{}],85:[function(_dereq_,module,exports){ +},{}],87:[function(_dereq_,module,exports){ 'use strict'; //ie. john never walks -> john always walks @@ -6053,7 +6152,7 @@ const toPositive = (ts) => { if (m.found) { let str = m.out('normal'); if (logical[str]) { - ts = ts.match(str).replaceWith(logical[str]).list[0]; + ts = ts.match(str).replaceWith(logical[str], true).list[0]; return ts.parentTerms; } } @@ -6063,7 +6162,7 @@ const toPositive = (ts) => { }; module.exports = toPositive; -},{}],86:[function(_dereq_,module,exports){ +},{}],88:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Terms = _dereq_('../../paths').Terms; @@ -6106,10 +6205,251 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"../../paths":38}],87:[function(_dereq_,module,exports){ +},{"../../index":28,"../../paths":40}],89:[function(_dereq_,module,exports){ +const numOrdinal = _dereq_('./numOrdinal'); +const textOrdinal = _dereq_('./textOrdinal'); +const textCardinal = _dereq_('./textCardinal'); +const niceNumber = _dereq_('./niceNumber'); + +//make all the number formats +const fmt = { + nice: function(num) { + return niceNumber(num); + }, + ordinal: function(num) { + return numOrdinal(num); + }, + niceOrdinal: function(num) { + num = numOrdinal(num); + num = niceNumber(num); + return num; + }, + text: function(num) { + return textCardinal(num).join(' '); + }, + textOrdinal: function(num) { + return textOrdinal(num); + } +}; +module.exports = fmt; + +},{"./niceNumber":90,"./numOrdinal":91,"./textCardinal":92,"./textOrdinal":93}],90:[function(_dereq_,module,exports){ +'use strict'; +//put a comma or two in +const niceNumber = function (num) { + if (!num && num !== 0) { + return null; + } + num = '' + num; + let x = num.split('.'); + let x1 = x[0]; + let x2 = x.length > 1 ? '.' + x[1] : ''; + let rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, '$1' + ',' + '$2'); + } + return x1 + x2; +}; +module.exports = niceNumber; + +},{}],91:[function(_dereq_,module,exports){ +'use strict'; + +//turn a number like 5 into an ordinal like 5th +const numOrdinal = function(num) { + if (!num && num !== 0) { + return null; + } + //the teens are all 'th' + let tens = num % 100; + if (tens > 10 && tens < 20) { + return '' + num + 'th'; + } + //the rest of 'em + const mapping = { + 0: 'th', + 1: 'st', + 2: 'nd', + 3: 'rd' + }; + let str = '' + num; + let last = str.slice(str.length - 1, str.length); + if (mapping[last]) { + str += mapping[last]; + } else { + str += 'th'; + } + return str; +}; + +module.exports = numOrdinal; + +},{}],92:[function(_dereq_,module,exports){ +'use strict'; +// turns an integer/float into a textual number, like 'fifty-five' +const tens_mapping = [ + ['ninety', 90], + ['eighty', 80], + ['seventy', 70], + ['sixty', 60], + ['fifty', 50], + ['forty', 40], + ['thirty', 30], + ['twenty', 20] +]; +const ones_mapping = [ + '', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'ten', + 'eleven', + 'twelve', + 'thirteen', + 'fourteen', + 'fifteen', + 'sixteen', + 'seventeen', + 'eighteen', + 'nineteen' +]; +const sequence = [ + [1000000000, 'million'], + [100000000, 'hundred million'], + [1000000, 'million'], + [100000, 'hundred thousand'], + [1000, 'thousand'], + [100, 'hundred'], + [1, 'one'] +]; + +//turn number into an array of magnitudes, like [[5, million], [2, hundred]] +const breakdown_magnitudes = function(num) { + let working = num; + let have = []; + sequence.forEach((a) => { + if (num >= a[0]) { + let howmany = Math.floor(working / a[0]); + working -= howmany * a[0]; + if (howmany) { + have.push({ + unit: a[1], + count: howmany + }); + } + } + }); + return have; +}; + +//turn numbers from 100-0 into their text +const breakdown_hundred = function(num) { + let arr = []; + for (let i = 0; i < tens_mapping.length; i++) { + if (num >= tens_mapping[i][1]) { + num -= tens_mapping[i][1]; + arr.push(tens_mapping[i][0]); + } + } + //(hopefully) we should only have 20-0 now + if (ones_mapping[num]) { + arr.push(ones_mapping[num]); + } + return arr; +}; + +/** print-out 'point eight nine'*/ +const handle_decimal = (num) => { + const names = [ + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine' + ]; + let arr = []; + //parse it out like a string, because js math is such shit + let decimal = ('' + num).match(/\.([0-9]+)/); + if (!decimal || !decimal[0]) { + return arr; + } + arr.push('point'); + let decimals = decimal[0].split(''); + for (let i = 0; i < decimals.length; i++) { + arr.push(names[decimals[i]]); + } + return arr; +}; + +/** turns an integer into a textual number */ +const to_text = function(num) { + let arr = []; + //handle negative numbers + if (num < 0) { + arr.push('negative'); + num = Math.abs(num); + } + //break-down into units, counts + let units = breakdown_magnitudes(num); + //build-up the string from its components + for (let i = 0; i < units.length; i++) { + let unit_name = units[i].unit; + if (unit_name === 'one') { + unit_name = ''; + //put an 'and' in here + if (arr.length > 1) { + arr.push('and'); + } + } + arr = arr.concat(breakdown_hundred(units[i].count)); + arr.push(unit_name); + } + //also support decimals - 'point eight' + arr = arr.concat(handle_decimal(num)); + //remove empties + arr = arr.filter((s) => s); + if (arr.length === 0) { + arr[0] = ''; + } + return arr; +}; + +module.exports = to_text; + +// console.log(to_text(-1000.8)); + +},{}],93:[function(_dereq_,module,exports){ +'use strict'; +const textValue = _dereq_('./textCardinal'); +const ordinalWord = _dereq_('../../../paths').data.ordinalMap.toOrdinal; +// +const textOrdinal = (num) => { + let words = textValue(num); + //convert the last number to an ordinal + let last = words[words.length - 1]; + words[words.length - 1] = ordinalWord[last] || last; + return words.join(' '); +}; + +module.exports = textOrdinal; + +},{"../../../paths":40,"./textCardinal":92}],94:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Value = _dereq_('./value'); +const parse = _dereq_('./parse'); + //the Values() subset class const methods = { @@ -6130,9 +6470,9 @@ const methods = { return this; }, /**5 -> 'five' */ - toTextValue: function() { + toText: function() { this.list = this.list.map((ts) => { - return ts.toTextValue(); + return ts.toText(); }); return this; }, @@ -6151,12 +6491,36 @@ const methods = { return this; }, /**5900 -> 5,900 */ - toNiceNumber: function() { + toNice: function() { this.list = this.list.map((ts) => { - return ts.toNiceNumber(); + return ts.toNice(); }); return this; - } + }, + /**seven === 7th */ + isEqual: function(num) { + num = parse(num); + this.list = this.list.filter((ts) => { + return num !== null && ts.number() === num; + }); + return this; + }, + /**eight > 7th */ + greaterThan: function(num) { + num = parse(num); + this.list = this.list.filter((ts) => { + return num !== null && ts.number() > num; + }); + return this; + }, + /**five < 7th */ + lessThan: function(num) { + num = parse(num); + this.list = this.list.filter((ts) => { + return num !== null && ts.number() < num; + }); + return this; + }, }; const find = function(r, n) { @@ -6165,7 +6529,6 @@ const find = function(r, n) { //june 21st 1992 is two seperate values r.splitOn('#Year'); - // r.debug(); if (typeof n === 'number') { r = r.get(n); } @@ -6177,80 +6540,44 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./value":99}],88:[function(_dereq_,module,exports){ +},{"../../index":28,"./parse":95,"./value":103}],95:[function(_dereq_,module,exports){ 'use strict'; -const toNumber = _dereq_('../toNumber'); +const parseText = _dereq_('./parseText'); +// 2.5, $5.50, 3,432, etc - +const numeric = /^-?(\$|€|¥|£)?\.?[0-9]+[0-9,\.]*(st|nd|rd|th|rth)?$/; -//turn a number like 5 into an ordinal like 5th -const numOrdinal = function(ts) { - let num = toNumber(ts); - if (!num && num !== 0) { - return null; - } - //the teens are all 'th' - let tens = num % 100; - if (tens > 10 && tens < 20) { - return '' + num + 'th'; - } - //the rest of 'em - const mapping = { - 0: 'th', - 1: 'st', - 2: 'nd', - 3: 'rd' - }; - let str = '' + num; - let last = str.slice(str.length - 1, str.length); - if (mapping[last]) { - str += mapping[last]; - } else { - str += 'th'; +const parseString = function(str) { + if (numeric.test(str) === true) { + //clean up a number, like '$4,342.00' + str = str.replace(/,/g, ''); + str = str.replace(/^[\$|€|¥|£]/g, ''); + str = str.replace(/(st|nd|rd|th|rth)$/g, ''); + let num = parseFloat(str); + if (num || num === 0) { + return num; + } } - return str; -}; - -module.exports = numOrdinal; - -},{"../toNumber":94}],89:[function(_dereq_,module,exports){ -module.exports = _dereq_('../../paths'); - -},{"../../paths":38}],90:[function(_dereq_,module,exports){ -'use strict'; -const toNumber = _dereq_('../toNumber'); -const toText = _dereq_('../toText'); -const ordinalWord = _dereq_('../../../paths').data.ordinalMap.toOrdinal; -// -const textOrdinal = (ts) => { - let num = toNumber(ts); - let words = toText(num); - //convert the last number to an ordinal - let last = words[words.length - 1]; - words[words.length - 1] = ordinalWord[last] || last; - return words.join(' '); + return parseText(str); }; -module.exports = textOrdinal; - -},{"../../../paths":38,"../toNumber":94,"../toText":98}],91:[function(_dereq_,module,exports){ -'use strict'; - -const niceNumber = function (num) { - if (!num && num !== 0) { - return null; +//turn it all into a number +const parse = function(val) { + if (val === null || val === undefined || typeof val === 'number') { + return val; } - num = '' + num; - let x = num.split('.'); - let x1 = x[0]; - let x2 = x.length > 1 ? '.' + x[1] : ''; - let rgx = /(\d+)(\d{3})/; - while (rgx.test(x1)) { - x1 = x1.replace(rgx, '$1' + ',' + '$2'); + if (typeof val === 'string') { + return parseString(val); } - return x1 + x2; + //numerical values can only be one term + if (val.terms.length === 1 && val.terms[0].tags.TextValue !== true) { + let str = val.terms[0].normal; + return parseString(str); + } + return parseText(val.out('normal')); }; -module.exports = niceNumber; +module.exports = parse; -},{}],92:[function(_dereq_,module,exports){ +},{"./parseText":98}],96:[function(_dereq_,module,exports){ const p = _dereq_('../paths'); const numbers = p.data.numbers; const fns = p.fns; @@ -6267,7 +6594,7 @@ module.exports = { multiples: multiples }; -},{"../paths":89}],93:[function(_dereq_,module,exports){ +},{"../paths":102}],97:[function(_dereq_,module,exports){ 'use strict'; //support global multipliers, like 'half-million' by doing 'million' then multiplying by 0.5 @@ -6300,7 +6627,7 @@ const findModifiers = (str) => { module.exports = findModifiers; -},{}],94:[function(_dereq_,module,exports){ +},{}],98:[function(_dereq_,module,exports){ 'use strict'; const parseNumeric = _dereq_('./parseNumeric'); const findModifiers = _dereq_('./findModifiers'); @@ -6327,18 +6654,8 @@ const section_sum = (obj) => { }, 0); }; -const alreadyNumber = (ts) => { - for(let i = 0; i < ts.terms.length; i++) { - if (!ts.terms[i].tags.NumericValue) { - return false; - } - } - return true; -}; - //turn a string into a number -const parse = function(ts) { - let str = ts.out('normal'); +const parse = function(str) { //convert some known-numbers if (casualForms[str] !== undefined) { return casualForms[str]; @@ -6347,10 +6664,6 @@ const parse = function(ts) { if (str === 'a' || str === 'an') { return 1; } - //handle a string of mostly numbers - if (alreadyNumber(ts)) { - return parseNumeric(ts.out('normal')); - } const modifier = findModifiers(str); str = modifier.str; let last_mult = null; @@ -6446,7 +6759,7 @@ const parse = function(ts) { module.exports = parse; -},{"./data":92,"./findModifiers":93,"./parseDecimals":95,"./parseNumeric":96,"./validate":97}],95:[function(_dereq_,module,exports){ +},{"./data":96,"./findModifiers":97,"./parseDecimals":99,"./parseNumeric":100,"./validate":101}],99:[function(_dereq_,module,exports){ 'use strict'; const words = _dereq_('./data'); @@ -6472,7 +6785,7 @@ const parseDecimals = function(arr) { module.exports = parseDecimals; -},{"./data":92}],96:[function(_dereq_,module,exports){ +},{"./data":96}],100:[function(_dereq_,module,exports){ 'use strict'; //parse a string like "4,200.1" into Number 4200.1 const parseNumeric = (str) => { @@ -6494,7 +6807,7 @@ const parseNumeric = (str) => { module.exports = parseNumeric; -},{}],97:[function(_dereq_,module,exports){ +},{}],101:[function(_dereq_,module,exports){ 'use strict'; const words = _dereq_('./data'); @@ -6517,310 +6830,123 @@ const isValid = (w, has) => { }; module.exports = isValid; -},{"./data":92}],98:[function(_dereq_,module,exports){ -'use strict'; -// turns an integer/float into a textual number, like 'fifty-five' - -//turn number into an array of magnitudes, like [[5, million], [2, hundred]] -const breakdown_magnitudes = function(num) { - let working = num; - let have = []; - const sequence = [ - [1000000000, 'million'], - [100000000, 'hundred million'], - [1000000, 'million'], - [100000, 'hundred thousand'], - [1000, 'thousand'], - [100, 'hundred'], - [1, 'one'] - ]; - sequence.forEach((a) => { - if (num > a[0]) { - let howmany = Math.floor(working / a[0]); - working -= howmany * a[0]; - if (howmany) { - have.push({ - unit: a[1], - count: howmany - }); - } - } - }); - return have; -}; - -//turn numbers from 100-0 into their text -const breakdown_hundred = function(num) { - const tens_mapping = [ - ['ninety', 90], - ['eighty', 80], - ['seventy', 70], - ['sixty', 60], - ['fifty', 50], - ['forty', 40], - ['thirty', 30], - ['twenty', 20] - ]; - const ones_mapping = [ - '', - 'one', - 'two', - 'three', - 'four', - 'five', - 'six', - 'seven', - 'eight', - 'nine', - 'ten', - 'eleven', - 'twelve', - 'thirteen', - 'fourteen', - 'fifteen', - 'sixteen', - 'seventeen', - 'eighteen', - 'nineteen' - ]; - let arr = [] - for (let i = 0; i < tens_mapping.length; i++) { - if (num >= tens_mapping[i][1]) { - num -= tens_mapping[i][1]; - arr.push(tens_mapping[i][0]) - } - } - //(hopefully) we should only have 20-0 now - if (ones_mapping[num]) { - arr.push(ones_mapping[num]) - } - return arr -}; +},{"./data":96}],102:[function(_dereq_,module,exports){ +module.exports = _dereq_('../../paths'); -/** print-out 'point eight nine'*/ -const handle_decimal = (num) => { - const names = [ - 'zero', - 'one', - 'two', - 'three', - 'four', - 'five', - 'six', - 'seven', - 'eight', - 'nine' - ] - let arr = [] - //parse it out like a string, because js math is such shit - let decimal = ('' + num).match(/\.([0-9]+)/) - if (!decimal || !decimal[0]) { - return arr - } - arr.push('point') - let decimals = decimal[0].split('') - for (let i = 0; i < decimals.length; i++) { - arr.push(names[decimals[i]]) - } - return arr -} +},{"../../paths":40}],103:[function(_dereq_,module,exports){ +'use strict'; +const paths = _dereq_('../../paths'); +const Terms = paths.Terms; +const parse = _dereq_('./parse'); +const fmt = _dereq_('./format'); -/** turns an integer into a textual number */ -const to_text = function(num) { - let arr = [] - //handle negative numbers - if (num < 0) { - arr.push('negative') - num = Math.abs(num); - } - //break-down into units, counts - let units = breakdown_magnitudes(num); - //build-up the string from its components - for (let i = 0; i < units.length; i++) { - let unit_name = units[i].unit; - if (unit_name === 'one') { - unit_name = ''; - //put an 'and' in here - if (arr.length > 1) { - arr.push('and') +const unpackRange = function(ts) { + if (ts.has('#NumberRange')) { + ts.terms.forEach((t) => { + if (t.silent_term && !t._text) { + t.text = t.silent_term; } - } - arr = arr.concat(breakdown_hundred(units[i].count)) - arr.push(unit_name) - } - //also support decimals - 'point eight' - arr = arr.concat(handle_decimal(num)) - //remove empties - arr = arr.filter((s) => s) - if (arr.length === 0) { - arr[0] = 'zero' + }); } - return arr + return ts; }; -module.exports = to_text; - -// console.log(to_text(-1000.8)); - -},{}],99:[function(_dereq_,module,exports){ -'use strict'; -const paths = _dereq_('../../paths'); -const Terms = paths.Terms; -const parse = _dereq_('./toNumber'); -const toText = _dereq_('./toText'); -const toNiceNumber = _dereq_('./toNiceNumber'); -const numOrdinal = _dereq_('./numOrdinal'); -const textOrdinal = _dereq_('./textOrdinal'); - const Value = function(arr, lexicon, refText, refTerms) { Terms.call(this, arr, lexicon, refText, refTerms); this.val = this.match('#Value+').list[0]; + this.val = unpackRange(this.val); this.unit = this.match('#Unit$').list[0]; }; //Terms inheritence Value.prototype = Object.create(Terms.prototype); - -const isOrdinal = (ts) => { - let t = ts.terms[ts.terms.length - 1]; - if (!t) { - return false; - } - return t.tags.Ordinal === true; -}; -const isText = (ts) => { - for(let i = 0; i < ts.terms.length; i++) { - if (ts.terms[i].tags.TextValue) { - return true; - } - } - return false; -}; -const isNumber = (ts) => { - for(let i = 0; i < ts.terms.length; i++) { - let t = ts.terms[i]; - if (t.tags.TextValue || t.tags.NiceNumber || !t.tags.NumericValue) { - return false; - } - } - return true; -}; - - const methods = { - number: function() { + data: function() { let num = parse(this.val); - return num; + return { + number: num, + nice: fmt.nice(num), + ordinal: fmt.ordinal(num), + niceOrdinal: fmt.niceOrdinal(num), + text: fmt.text(num), + textOrdinal: fmt.textOrdinal(num) + }; }, - /** five -> '5' */ + number: function() { + return parse(this.val); + }, + // /** five -> '5' */ toNumber: function() { - let val = this.val; - // this.debug(); - //is already - if (isNumber(val)) { - return this; - } - //otherwise, - if (isOrdinal(val)) { - let num = numOrdinal(val); - this.replaceWith(num, 'Value'); - } else { - let num = parse(val); - // console.log(num); - if (num !== null) { - this.replaceWith('' + num, 'Value'); + let num = parse(this.val); + if (num !== null) { + let str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.ordinal(num); + } else { + str = num; } + this.replaceWith(str, true).tag('Value'); } return this; }, - /**5 -> 'five' */ - toTextValue: function() { - let val = this.val; - //is already - if (isText(val)) { - return this; - } - //otherwise, parse it - if (isOrdinal(val)) { - let str = textOrdinal(val); - return this.replaceWith(str, 'Value'); + // /**5 -> 'five' */ + toText: function() { + let num = parse(this.val); + if (num !== null) { + let str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.textOrdinal(num); + } else { + str = fmt.text(num); + } + this.replaceWith(str, true).tag('Value'); } - let num = '' + parse(val); - let str = toText(num).join(' '); - this.replaceWith(str, 'Value'); return this; }, - - /**5th -> 5 */ + // + // /**5th -> 5 */ toCardinal: function() { - let val = this.val; - //already - if (!isOrdinal(val)) { - return this; - } - //otherwise, - if (isText(val)) { - let num = '' + parse(val); - let str = toText(num).join(' '); - return this.replaceWith(str, 'Value'); - } - let num = '' + parse(val); - return this.replaceWith(num, 'Value'); - }, - - /**5 -> 5th */ - toOrdinal: function() { - let val = this.val; - //already - if (isOrdinal(val)) { - return this; - } - //otherwise, - if (isText(val)) { - let str = textOrdinal(val); - this.replaceWith(str, 'Value'); - } else { - //number-ordinal - let str = numOrdinal(val); - this.replaceWith(str, 'Value'); + let num = parse(this.val); + if (num !== null) { + let str = ''; + if (this.val.has('#TextValue')) { + str = fmt.text(num); + } else { + str = num; + } + this.replaceWith(str, true).tag('Value'); } return this; }, - - /**5900 -> 5,900 */ - toNiceNumber: function() { - let num = parse(this); - let str = toNiceNumber(num); - this.replaceWith(str, 'Value'); + // + // /**5 -> 5th */ + toOrdinal: function() { + let num = parse(this.val); + if (num !== null) { + let str = ''; + if (this.val.has('#TextValue')) { + str = fmt.textOrdinal(num); + } else { + str = fmt.ordinal(num); + } + this.replaceWith(str, true).tag('Value'); + } return this; }, - - data: function() { - let numV = this.clone().toNumber(); - let txtV = this.clone().toTextValue(); - let obj = { - NumericValue: { - cardinal: numV.toCardinal().out('text'), - ordinal: numV.toOrdinal().out('text'), - nicenumber: this.toNiceNumber().out('text'), - }, - TextValue : { - cardinal: txtV.toCardinal().out('text'), - ordinal: txtV.toOrdinal().out('text'), - }, - unit: '' - }; - if (this.unit) { - obj.unit = this.unit.out('text'); + // + // /**5900 -> 5,900 */ + toNice: function() { + let num = parse(this.val); + if (num !== null) { + let str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.niceOrdinal(num); + } else { + str = fmt.nice(num); + } + this.replaceWith(str, true).tag('Value'); } - obj.number = this.number(); - return obj; - }, - clone : function() { - let terms = this.terms.map((t) => { - return t.clone(); - }); - return new Value(terms, this.lexicon, this.refText, this.refTerms); + return this; } }; @@ -6830,7 +6956,7 @@ Object.keys(methods).forEach((k) => { }); module.exports = Value; -},{"../../paths":38,"./numOrdinal":88,"./textOrdinal":90,"./toNiceNumber":91,"./toNumber":94,"./toText":98}],100:[function(_dereq_,module,exports){ +},{"../../paths":40,"./format":89,"./parse":95}],104:[function(_dereq_,module,exports){ 'use strict'; const Text = _dereq_('../../index'); const Verb = _dereq_('./verb'); @@ -6932,7 +7058,7 @@ const find = function(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./verb":118}],101:[function(_dereq_,module,exports){ +},{"../../index":28,"./verb":122}],105:[function(_dereq_,module,exports){ 'use strict'; const predict = _dereq_('./methods/predict'); @@ -7034,7 +7160,7 @@ const interpret = (ts) => { }; module.exports = interpret; -},{"./methods/predict":112}],102:[function(_dereq_,module,exports){ +},{"./methods/predict":116}],106:[function(_dereq_,module,exports){ 'use strict'; const checkIrregulars = _dereq_('./irregulars'); const suffixPass = _dereq_('./suffixes'); @@ -7106,7 +7232,7 @@ const conjugate = function(t, verbose) { module.exports = conjugate; -},{"../predict":112,"../toInfinitive":115,"./generic":105,"./irregulars":107,"./suffixes":108,"./toActor":109,"./toBe":110}],103:[function(_dereq_,module,exports){ +},{"../predict":116,"../toInfinitive":119,"./generic":109,"./irregulars":111,"./suffixes":112,"./toActor":113,"./toBe":114}],107:[function(_dereq_,module,exports){ module.exports = [ { reg: /(eave)$/i, @@ -7286,7 +7412,7 @@ module.exports = [ } ]; -},{}],104:[function(_dereq_,module,exports){ +},{}],108:[function(_dereq_,module,exports){ 'use strict'; const checkIrregulars = _dereq_('./irregulars'); const suffixPass = _dereq_('./suffixes'); @@ -7329,7 +7455,7 @@ const fasterConjugate = (inf) => { module.exports = fasterConjugate; // console.log(fasterConjugate('walk')); -},{"./generic":105,"./irregulars":107,"./suffixes":108}],105:[function(_dereq_,module,exports){ +},{"./generic":109,"./irregulars":111,"./suffixes":112}],109:[function(_dereq_,module,exports){ 'use strict'; //non-specifc, 'hail-mary' transforms from infinitive, into other forms const hasY = /[bcdfghjklmnpqrstvwxz]y$/; @@ -7393,7 +7519,7 @@ const generic = { module.exports = generic; -},{}],106:[function(_dereq_,module,exports){ +},{}],110:[function(_dereq_,module,exports){ 'use strict'; const conjugate = _dereq_('./conjugate'); const toBe = _dereq_('./toBe'); @@ -7437,7 +7563,7 @@ const multiWord = (vb, verbose) => { }; module.exports = multiWord; -},{"./conjugate":102,"./toBe":110}],107:[function(_dereq_,module,exports){ +},{"./conjugate":106,"./toBe":114}],111:[function(_dereq_,module,exports){ 'use strict'; let irregulars = _dereq_('../../../../../data').irregular_verbs; //weeee! const fns = _dereq_('../../../../../fns'); //weeee! @@ -7476,7 +7602,7 @@ const checkIrregulars = function(str) { module.exports = checkIrregulars; // console.log(checkIrregulars('bit')); -},{"../../../../../data":6,"../../../../../fns":21}],108:[function(_dereq_,module,exports){ +},{"../../../../../data":6,"../../../../../fns":21}],112:[function(_dereq_,module,exports){ 'use strict'; const rules = _dereq_('./data/rules'); const mapping = { @@ -7508,7 +7634,7 @@ const suffixPass = function(inf) { module.exports = suffixPass; -},{"./data/rules":103}],109:[function(_dereq_,module,exports){ +},{"./data/rules":107}],113:[function(_dereq_,module,exports){ 'use strict'; //turn 'walk' into 'walker' const irregulars = { @@ -7572,7 +7698,7 @@ const toActor = function(inf) { module.exports = toActor; -},{}],110:[function(_dereq_,module,exports){ +},{}],114:[function(_dereq_,module,exports){ 'use strict'; //too many special cases for is/was/will be const toBe = (isPlural, isNegative) => { @@ -7603,7 +7729,7 @@ const toBe = (isPlural, isNegative) => { }; module.exports = toBe; -},{}],111:[function(_dereq_,module,exports){ +},{}],115:[function(_dereq_,module,exports){ 'use strict'; //sometimes you can tell if a verb is plural/singular, just by the verb // i am / we were @@ -7629,7 +7755,7 @@ const isPlural = (vb) => { }; module.exports = isPlural; -},{}],112:[function(_dereq_,module,exports){ +},{}],116:[function(_dereq_,module,exports){ 'use strict'; const suffix_rules = _dereq_('./suffix_rules'); @@ -7645,14 +7771,11 @@ const goodTypes = { Participle: true }; -const predictForm = function(term, verbose) { +const predictForm = function(term) { //do we already know the form? const keys = Object.keys(goodTypes); for (let i = 0; i < keys.length; i++) { if (term.tags[keys[i]]) { - if (verbose) { - console.log('predicted ' + keys[i] + ' from pos', path); - } return keys[i]; } } @@ -7669,7 +7792,7 @@ const predictForm = function(term, verbose) { module.exports = predictForm; -},{"./suffix_rules":113}],113:[function(_dereq_,module,exports){ +},{"./suffix_rules":117}],117:[function(_dereq_,module,exports){ 'use strict'; //suffix signals for verb tense, generated from test data const compact = { @@ -7780,7 +7903,7 @@ for (let i = 0; i < l; i++) { } module.exports = suffix_rules; -},{}],114:[function(_dereq_,module,exports){ +},{}],118:[function(_dereq_,module,exports){ 'use strict'; //turn a infinitiveVerb, like "walk" into an adjective like "walkable" @@ -7836,7 +7959,7 @@ const toAdjective = function(str) { module.exports = toAdjective; -},{}],115:[function(_dereq_,module,exports){ +},{}],119:[function(_dereq_,module,exports){ 'use strict'; //turn any verb into its infinitive form const rules = _dereq_('./rules'); @@ -7879,7 +8002,7 @@ const toInfinitive = function(t) { module.exports = toInfinitive; -},{"../../../../../data":6,"../predict":112,"./rules":116}],116:[function(_dereq_,module,exports){ +},{"../../../../../data":6,"../predict":116,"./rules":120}],120:[function(_dereq_,module,exports){ 'use strict'; //rules for turning a verb into infinitive form let rules = { @@ -8040,7 +8163,7 @@ let rules = { }; module.exports = rules; -},{}],117:[function(_dereq_,module,exports){ +},{}],121:[function(_dereq_,module,exports){ 'use strict'; //turns a verb negative - may not have enough information to do it properly // (eg 'did not eat' vs 'does not eat') - needs the noun @@ -8112,7 +8235,7 @@ const toNegative = (ts) => { }; module.exports = toNegative; -},{"./methods/toInfinitive":115}],118:[function(_dereq_,module,exports){ +},{"./methods/toInfinitive":119}],122:[function(_dereq_,module,exports){ 'use strict'; const Terms = _dereq_('../../paths').Terms; const conjugate = _dereq_('./methods/conjugate'); @@ -8191,15 +8314,21 @@ const methods = { /** conjugation **/ toPastTense: function() { let obj = this.conjugate(); - return this.replaceWith(obj.PastTense); + let r = this.replaceWith(obj.PastTense, false); + r.verb.tag('#PastTense'); + return r; }, toPresentTense: function() { let obj = this.conjugate(); - return this.replaceWith(obj.PresentTense); + let r = this.replaceWith(obj.PresentTense, false); + r.verb.tag('#PresentTense'); + return r; }, toFutureTense: function() { let obj = this.conjugate(); - return this.replaceWith(obj.FutureTense); + let r = this.replaceWith(obj.FutureTense, false); + r.verb.tag('#FutureTense'); + return r; }, toInfinitive: function() { let obj = this.conjugate(); @@ -8225,7 +8354,7 @@ Object.keys(methods).forEach((k) => { }); module.exports = Verb; -},{"../../paths":38,"./interpret":101,"./methods/conjugate":106,"./methods/isPlural":111,"./methods/toAdjective":114,"./toNegative":117}],119:[function(_dereq_,module,exports){ +},{"../../paths":40,"./interpret":105,"./methods/conjugate":110,"./methods/isPlural":115,"./methods/toAdjective":118,"./toNegative":121}],123:[function(_dereq_,module,exports){ 'use strict'; const addSubsets = (Text) => { @@ -8327,7 +8456,7 @@ const addSubsets = (Text) => { }; module.exports = addSubsets; -},{}],120:[function(_dereq_,module,exports){ +},{}],124:[function(_dereq_,module,exports){ //(Rule-based sentence boundary segmentation) - chop given text into its proper sentences. // Ignore periods/questions/exclamations used in acronyms/abbreviations/numbers, etc. // @spencermountain 2017 MIT @@ -8409,7 +8538,7 @@ const sentence_parser = function (text) { module.exports = sentence_parser; // console.log(sentence_parser('john f. kennedy')); -},{"../data":6}],121:[function(_dereq_,module,exports){ +},{"../data":6}],125:[function(_dereq_,module,exports){ 'use strict'; const fixContraction = _dereq_('./fix'); @@ -8455,6 +8584,7 @@ const irregulars = { 'imo': ['in', 'my', 'opinion'], 'til': ['today', 'i', 'learned'], 'rn': ['right', 'now'], + '@': ['at'], // 'idk': ['i', 'don\'t', 'know'], }; @@ -8474,7 +8604,7 @@ const checkIrregulars = (ts) => { }; module.exports = checkIrregulars; -},{"./fix":125}],122:[function(_dereq_,module,exports){ +},{"./fix":129}],126:[function(_dereq_,module,exports){ 'use strict'; const fixContraction = _dereq_('./fix'); const splitContraction = _dereq_('./split'); @@ -8549,7 +8679,7 @@ const hardOne = (ts) => { module.exports = hardOne; -},{"./fix":125,"./split":127}],123:[function(_dereq_,module,exports){ +},{"./fix":129,"./split":131}],127:[function(_dereq_,module,exports){ 'use strict'; const fixContraction = _dereq_('./fix'); const split = _dereq_('./split'); @@ -8614,7 +8744,7 @@ const easyOnes = (ts) => { }; module.exports = easyOnes; -},{"./fix":125,"./split":127}],124:[function(_dereq_,module,exports){ +},{"./fix":129,"./split":131}],128:[function(_dereq_,module,exports){ 'use strict'; const fixContraction = _dereq_('./fix'); const Term = _dereq_('../../term'); @@ -8638,13 +8768,14 @@ const numberRange = (ts) => { ts.terms[i + 1].tag('NumberRange'); return ts; } + //add a silent term if (t.tags.NumberRange) { let arr = t.text.split(/(-)/); arr[1] = 'to'; ts = fixContraction(ts, arr, i); - ts.terms[i].tag('NumberRange'); - ts.terms[i + 1].tag('NumberRange'); - ts.terms[i + 2].tag('NumberRange'); + ts.terms[i].tag('Value'); + ts.terms[i + 1].tag('Preposition'); + ts.terms[i + 2].tag(['Value', 'NumberRange']); i += 2; } } @@ -8652,7 +8783,7 @@ const numberRange = (ts) => { }; module.exports = numberRange; -},{"../../term":169,"./fix":125}],125:[function(_dereq_,module,exports){ +},{"../../term":173,"./fix":129}],129:[function(_dereq_,module,exports){ 'use strict'; const Term = _dereq_('../../term'); @@ -8682,14 +8813,16 @@ const fixContraction = (ts, parts, i) => { one.tag('Contraction', 'tagger-contraction'); //add a new empty term - let two = new Term(''); - two.silent_term = parts[1]; - two.tag('Contraction', 'tagger-contraction'); - ts.insertAt(i + 1, two); - //ensure new term has no auto-whitspace - two.whitespace.before = ''; - two.whitespace.after = ''; - easyTag(two); + if (parts[1]) { + let two = new Term(''); + two.silent_term = parts[1]; + two.tag('Contraction', 'tagger-contraction'); + ts.insertAt(i + 1, two); + //ensure new term has no auto-whitspace + two.whitespace.before = ''; + two.whitespace.after = ''; + easyTag(two); + } //potentially it's three-contracted-terms, like 'dunno' if (parts[2]) { @@ -8706,7 +8839,7 @@ const fixContraction = (ts, parts, i) => { module.exports = fixContraction; -},{"../../term":169}],126:[function(_dereq_,module,exports){ +},{"../../term":173}],130:[function(_dereq_,module,exports){ 'use strict'; const irregulars = _dereq_('./01-irregulars'); const hardOne = _dereq_('./02-hardOne'); @@ -8728,7 +8861,7 @@ const interpret = function(ts) { module.exports = interpret; -},{"./01-irregulars":121,"./02-hardOne":122,"./03-easyOnes":123,"./04-numberRange":124}],127:[function(_dereq_,module,exports){ +},{"./01-irregulars":125,"./02-hardOne":126,"./03-easyOnes":127,"./04-numberRange":128}],131:[function(_dereq_,module,exports){ 'use strict'; const contraction = /^([a-z]+)'([a-z][a-z]?)$/i; const possessive = /[a-z]s'$/i; @@ -8771,7 +8904,7 @@ const splitContraction = (t) => { }; module.exports = splitContraction; -},{}],128:[function(_dereq_,module,exports){ +},{}],132:[function(_dereq_,module,exports){ 'use strict'; //mostly pos-corections here @@ -8790,19 +8923,24 @@ const corrections = function (ts) { //Determiner-signals if (ts.has('#Determiner')) { //the wait to vote - ts.match('the #Verb #Preposition .').match('#Verb').tag('Noun', 'correction-determiner1'); + ts.match('(the|this) #Verb #Preposition .').term(1).tag('Noun', 'correction-determiner1'); //the swim - ts.match('the #Verb').match('#Verb').tag('Noun', 'correction-determiner2'); + ts.match('(the|those|these) (#Infinitive|#PresentTense)').term(1).tag('Noun', 'correction-determiner2'); + //a staggering cost + ts.match('(a|an) #Gerund').term(1).tag('Adjective', 'correction-a|an'); + ts.match('(a|an) #Adjective (#Infinitive|#PresentTense)').term(2).tag('Noun', 'correction-a|an2'); + //some pressing issues + ts.match('(some #Verb #Plural').term(1).tag('Noun', 'correction-determiner6'); //the nice swim - ts.match('the #Adjective #Verb').match('#Verb').tag('Noun', 'correction-determiner3'); + ts.match('(the|this|those|these) #Adjective #Verb').term(2).tag('Noun', 'correction-determiner3'); //the truly nice swim - ts.match('the #Adverb #Adjective #Verb').match('#Verb').tag('Noun', 'correction-determiner4'); + ts.match('(the|this|those|these) #Adverb #Adjective #Verb').term(3).tag('Noun', 'correction-determiner4'); //a stream runs ts.match('#Determiner #Infinitive #Adverb? #Verb').term(1).tag('Noun', 'correction-determiner5'); //a sense of ts.match('#Determiner #Verb of').term(1).tag('Noun', 'the-verb-of'); //the threat of force - ts.match('#Determiner #Noun of #Verb').match('#Verb').tag('Noun', 'noun-of-noun'); + ts.match('#Determiner #Noun of #Verb').term(3).tag('Noun', 'noun-of-noun'); } //like @@ -8821,7 +8959,7 @@ const corrections = function (ts) { ts.match('half a? #Value').tag('Value', 'half-a-value'); //quarter not ready ts.match('#Value and a (half|quarter)').tag('Value', 'value-and-a-half'); //all values are either ordinal or cardinal - ts.match('#Value').match('!#Ordinal').tag('#Cardinal', 'not-ordinal'); + // ts.match('#Value').match('!#Ordinal').tag('#Cardinal', 'not-ordinal'); //money ts.match('#Value+ #Currency').tag('Money', 'value-currency'); ts.match('#Money and #Money #Currency?').tag('Money', 'money-and-money'); @@ -8912,7 +9050,7 @@ const corrections = function (ts) { module.exports = corrections; -},{}],129:[function(_dereq_,module,exports){ +},{}],133:[function(_dereq_,module,exports){ 'use strict'; //the steps and processes of pos-tagging const step = { @@ -8938,7 +9076,7 @@ const step = { plural_step: _dereq_('./steps/21-plural_step'), lumper : _dereq_('./lumper'), - lexicon_lump : _dereq_('./lumper/lexicon_lump'), + multi : _dereq_('./lumper/lexicon_lump'), contraction: _dereq_('./contraction') }; const corrections = _dereq_('./corrections'); @@ -8948,7 +9086,8 @@ const tagger = function (ts) { ts = step.punctuation_step(ts); ts = step.emoji_step(ts); ts = step.lexicon_step(ts); - ts = step.lexicon_lump(ts); + ts = step.multi.defaultLex(ts); + ts = step.multi.userLex(ts); ts = step.web_step(ts); ts = step.suffix_step(ts); ts = step.neighbour_step(ts); @@ -8970,12 +9109,13 @@ const tagger = function (ts) { ts = step.lumper(ts); ts = corrections(ts); //2ms ts = tagPhrase(ts); + ts = step.multi.userLex(ts); return ts; }; module.exports = tagger; -},{"./contraction":126,"./corrections":128,"./lumper":131,"./lumper/lexicon_lump":132,"./phrase":135,"./steps/01-punctuation_step":136,"./steps/02-lexicon_step":137,"./steps/03-capital_step":138,"./steps/04-web_step":139,"./steps/05-suffix_step":140,"./steps/06-neighbour_step":141,"./steps/07-noun_fallback":142,"./steps/08-date_step":143,"./steps/09-auxiliary_step":144,"./steps/10-negation_step":145,"./steps/12-phrasal_step":146,"./steps/13-comma_step":147,"./steps/14-possessive_step":148,"./steps/15-value_step":149,"./steps/16-acronym_step":150,"./steps/17-emoji_step":151,"./steps/18-person_step":152,"./steps/19-quotation_step":153,"./steps/20-organization_step":154,"./steps/21-plural_step":155}],130:[function(_dereq_,module,exports){ +},{"./contraction":130,"./corrections":132,"./lumper":135,"./lumper/lexicon_lump":136,"./phrase":139,"./steps/01-punctuation_step":140,"./steps/02-lexicon_step":141,"./steps/03-capital_step":142,"./steps/04-web_step":143,"./steps/05-suffix_step":144,"./steps/06-neighbour_step":145,"./steps/07-noun_fallback":146,"./steps/08-date_step":147,"./steps/09-auxiliary_step":148,"./steps/10-negation_step":149,"./steps/12-phrasal_step":150,"./steps/13-comma_step":151,"./steps/14-possessive_step":152,"./steps/15-value_step":153,"./steps/16-acronym_step":154,"./steps/17-emoji_step":155,"./steps/18-person_step":156,"./steps/19-quotation_step":157,"./steps/20-organization_step":158,"./steps/21-plural_step":159}],134:[function(_dereq_,module,exports){ 'use strict'; //index a lexicon by its first-word // - used for the multiple-word-lumper @@ -8996,36 +9136,36 @@ const firstWord = (arr) => { }; module.exports = firstWord; -},{}],131:[function(_dereq_,module,exports){ +},{}],135:[function(_dereq_,module,exports){ 'use strict'; // const lumper = (ts) => { //John & Joe's - ts.match('#Noun (&|n) #Noun').lump().tag('Organization', 'Noun-&-Noun'); + ts.match('#Noun (&|n) #Noun').tag('Organization', 'Noun-&-Noun'); //1 800 PhoneNumber - ts.match('1 #Value #PhoneNumber').lump().tag('Organization', 'Noun-&-Noun'); + ts.match('1 #Value #PhoneNumber').tag('PhoneNumber', '1-800-Value'); + //(454) 232-9873 + ts.match('#NumericValue #PhoneNumber').tag('PhoneNumber', '(800) PhoneNumber'); //6 am - ts.match('#Holiday (day|eve)').lump().tag('Holiday', 'holiday-day'); + ts.match('#Holiday (day|eve)').tag('Holiday', 'holiday-day'); //Aircraft designer - ts.match('#Noun #Actor').lump().tag('Actor', 'thing-doer'); + ts.match('#Noun #Actor').tag('Actor', 'thing-doer'); //timezones - ts.match('(standard|daylight|summer|eastern|pacific|central|mountain) standard? time').lump().tag('Time', 'timezone'); + ts.match('(standard|daylight|summer|eastern|pacific|central|mountain) standard? time').tag('Time', 'timezone'); //canadian dollar, Brazilian pesos - ts.match('#Demonym #Currency').lump().tag('Currency', 'demonym-currency'); + ts.match('#Demonym #Currency').tag('Currency', 'demonym-currency'); - //(454) 232-9873 - ts.match('#NumericValue #PhoneNumber').lump().tag('PhoneNumber', '(800) PhoneNumber'); return ts; }; module.exports = lumper; -},{}],132:[function(_dereq_,module,exports){ +},{}],136:[function(_dereq_,module,exports){ 'use strict'; //check for "united" + "kingdom" in lexicon, and combine + tag it // const combine = require('./combine'); @@ -9064,17 +9204,20 @@ const tryAll = function(lexFirst, ts) { let tag = obj[ts.slice(i + 1, n).out('root')]; let slice = ts.slice(i, n); slice.tag(tag, 'lexicon-lump'); - slice.lump(); + // slice.lump(); } } } return ts; }; -const lexicon_lump = function (ts) { - //use default lexicon +//use default lexicon +const defaultLex = function (ts) { ts = tryAll(lexiconFirst, ts); - //try user's lexicon + return ts; +}; +//try user's lexicon +const userLex = function (ts) { if (ts.lexicon) { let uFirst = getFirstWords([ts.lexicon]); ts = tryAll(uFirst, ts); @@ -9082,9 +9225,12 @@ const lexicon_lump = function (ts) { return ts; }; -module.exports = lexicon_lump; +module.exports = { + defaultLex: defaultLex, + userLex: userLex +}; -},{"../paths":133,"./firstWord":130}],133:[function(_dereq_,module,exports){ +},{"../paths":137,"./firstWord":134}],137:[function(_dereq_,module,exports){ module.exports = { fns: _dereq_('../fns'), lexicon: _dereq_('../data/lexicon'), @@ -9093,7 +9239,7 @@ module.exports = { Terms: _dereq_('../terms'), }; -},{"../data":6,"../data/lexicon":7,"../fns":21,"../terms":189,"../tries":231}],134:[function(_dereq_,module,exports){ +},{"../data":6,"../data/lexicon":7,"../fns":21,"../terms":194,"../tries":238}],138:[function(_dereq_,module,exports){ 'use strict'; // @@ -9130,7 +9276,7 @@ const conditionPass = function(r) { module.exports = conditionPass; -},{}],135:[function(_dereq_,module,exports){ +},{}],139:[function(_dereq_,module,exports){ 'use strict'; const conditionPass = _dereq_('./00-conditionPass'); // const verbPhrase = require('./01-verbPhrase'); @@ -9147,7 +9293,7 @@ const phraseTag = function (Text) { module.exports = phraseTag; -},{"./00-conditionPass":134}],136:[function(_dereq_,module,exports){ +},{"./00-conditionPass":138}],140:[function(_dereq_,module,exports){ 'use strict'; const rules = _dereq_('./rules/punct_rules'); @@ -9174,12 +9320,17 @@ const oneLetters = { }; const punctuation_step = function (ts) { - ts.terms.forEach((t) => { + ts.terms.forEach((t, o) => { let str = t.text; //anything can be titlecase if (titleCase.test(str) === true) { t.tag('TitleCase', 'punct-rule'); } + //add hyphenation + if (t.whitespace.after === '-' && ts.terms[o + 1] && ts.terms[o + 1].whitespace.before === '') { + t.tag('Hyphenated', 'has-hyphen'); + ts.terms[o + 1].tag('Hyphenated', 'has-hyphen'); + } //ok, normalise it a little, str = str.replace(/[,\.\?]$/, ''); //do punctuation rules (on t.text) @@ -9194,7 +9345,7 @@ const punctuation_step = function (ts) { } } //terms like 'e' - if (str.length === 1 && !oneLetters[str.toLowerCase()]) { + if (str.length === 1 && ts.terms[o + 1] && /[A-Z]/.test(str) && !oneLetters[str.toLowerCase()]) { t.tag('Acronym', 'one-letter-acronym'); } //roman numerals (weak rn) @@ -9208,7 +9359,7 @@ const punctuation_step = function (ts) { module.exports = punctuation_step; -},{"./rules/punct_rules":159}],137:[function(_dereq_,module,exports){ +},{"./rules/punct_rules":163}],141:[function(_dereq_,module,exports){ 'use strict'; const p = _dereq_('../paths'); const split = _dereq_('../contraction/split'); @@ -9277,7 +9428,7 @@ const lexicon_pass = function (ts) { module.exports = lexicon_pass; -},{"../../tries":231,"../contraction/split":127,"../paths":133}],138:[function(_dereq_,module,exports){ +},{"../../tries":238,"../contraction/split":131,"../paths":137}],142:[function(_dereq_,module,exports){ 'use strict'; //titlecase is a signal for a noun @@ -9303,7 +9454,7 @@ const capital_logic = function (s) { module.exports = capital_logic; -},{}],139:[function(_dereq_,module,exports){ +},{}],143:[function(_dereq_,module,exports){ 'use strict'; //identify urls, hashtags, @mentions, emails //regs @@ -9335,7 +9486,7 @@ const web_pass = function(terms) { module.exports = web_pass; -},{}],140:[function(_dereq_,module,exports){ +},{}],144:[function(_dereq_,module,exports){ 'use strict'; const regs = _dereq_('./rules/regex_list'); const suffixes = _dereq_('./rules/suffix_lookup'); @@ -9345,13 +9496,14 @@ const misc = [ [/^(lol)+[sz]$/, 'Expression'], //lol [/^ma?cd[aeiou]/, 'LastName'], //macdonell - Last patterns https://en.wikipedia.org/wiki/List_of_family_name_affixes //starting-ones - [/^[0-9,\.]+$/, 'Cardinal'], //like 5 + [/^[0-9][0-9,]*(\.[0-9]+)?$/, 'Cardinal'], //like 5 [/^(un|de|re)\\-[a-z]../, 'Verb'], [/^[\-\+]?[0-9]+(\.[0-9]+)?$/, 'NumericValue'], [/^https?\:?\/\/[a-z0-9]/, 'Url'], //the colon is removed in normalisation [/^www\.[a-z0-9]/, 'Url'], //ending-ones - [/([0-9])([a-z]{1,2})$/, 'Cardinal'], //like 5kg + [/[0-9]+([a-z]{1,2})$/, 'Value'], //like 5kg + [/^[0-9]+(st|nd|rd|th)$/, 'Ordinal'], //like 5th [/(over|under)[a-z]{2,}$/, 'Adjective'], //middle (anywhere) [/[a-z]*\\-[a-z]*\\-/, 'Adjective'], @@ -9419,7 +9571,7 @@ const suffix_step = function(ts) { module.exports = suffix_step; -},{"./rules/regex_list":160,"./rules/suffix_lookup":161}],141:[function(_dereq_,module,exports){ +},{"./rules/regex_list":164,"./rules/suffix_lookup":165}],145:[function(_dereq_,module,exports){ 'use strict'; const markov = _dereq_('./rules/neighbours'); const afterThisWord = markov.afterThisWord; @@ -9475,7 +9627,7 @@ const neighbour_step = function (ts) { module.exports = neighbour_step; -},{"./rules/neighbours":158}],142:[function(_dereq_,module,exports){ +},{"./rules/neighbours":162}],146:[function(_dereq_,module,exports){ 'use strict'; //tag word as noun if we know nothing about it, still. @@ -9522,7 +9674,7 @@ const noun_fallback = function(s) { module.exports = noun_fallback; -},{}],143:[function(_dereq_,module,exports){ +},{}],147:[function(_dereq_,module,exports){ 'use strict'; //ambiguous 'may' and 'march' const maybeMonth = '(may|march|jan|april|sep)'; @@ -9572,6 +9724,8 @@ const datePass = function (ts) { ts.match('#Month #Value to #Value').tag('Date', 'value-to-value'); //march 12th 2018 ts.match('#Month #Value #Cardinal').tag('Date', 'month-value-cardinal'); + //march the 12th + ts.match('#Month the #Value').tag('Date', 'month-the-value'); } ts.match('in the (night|evening|morning|afternoon|day|daytime)').tag('Time', 'in-the-night'); @@ -9671,7 +9825,7 @@ const datePass = function (ts) { module.exports = datePass; -},{}],144:[function(_dereq_,module,exports){ +},{}],148:[function(_dereq_,module,exports){ 'use strict'; // @@ -9708,7 +9862,7 @@ const corrections = function(ts) { module.exports = corrections; -},{}],145:[function(_dereq_,module,exports){ +},{}],149:[function(_dereq_,module,exports){ 'use strict'; // 'not' is sometimes a verb, sometimes an adjective @@ -9734,7 +9888,7 @@ const negation_step = function(ts) { module.exports = negation_step; -},{}],146:[function(_dereq_,module,exports){ +},{}],150:[function(_dereq_,module,exports){ 'use strict'; const phrasals = _dereq_('../paths').tries.utils.phrasals; const toInfinitive = _dereq_('../../result/subset/verbs/methods/toInfinitive'); @@ -9792,7 +9946,7 @@ const phrasals_step = function(ts) { module.exports = phrasals_step; -},{"../../result/subset/verbs/methods/toInfinitive":115,"../paths":133}],147:[function(_dereq_,module,exports){ +},{"../../result/subset/verbs/methods/toInfinitive":119,"../paths":137}],151:[function(_dereq_,module,exports){ 'use strict'; //-types of comma-use- // PlaceComma - Hollywood, California @@ -9919,7 +10073,7 @@ const commaStep = function(ts) { module.exports = commaStep; -},{}],148:[function(_dereq_,module,exports){ +},{}],152:[function(_dereq_,module,exports){ 'use strict'; //decide if an apostrophe s is a contraction or not // 'spencer's nice' -> 'spencer is nice' @@ -9988,7 +10142,7 @@ const possessiveStep = function(terms) { }; module.exports = possessiveStep; -},{}],149:[function(_dereq_,module,exports){ +},{}],153:[function(_dereq_,module,exports){ 'use strict'; //regs- const cardinal = /^[0-9]([0-9]+,)*?(\.[0-9])$/; @@ -9997,13 +10151,13 @@ const hasText = /^[a-z]/; const value_step = function(ts) { for(let i = 0; i < ts.terms.length; i++) { let t = ts.terms[i]; - if (t.tags.Value === true) { + if (t.tag.Value === true) { //ordinal/cardinal if (t.tags.Ordinal === undefined && t.tags.Cardinal === undefined) { if (cardinal.test(t.normal) === true) { - t.tag('Cardinal', 'ordinal-regex'); - } else { t.tag('Cardinal', 'cardinal-regex'); + } else { + t.tag('Ordinal', 'not-cardinal'); } } //text/number @@ -10021,7 +10175,7 @@ const value_step = function(ts) { module.exports = value_step; -},{}],150:[function(_dereq_,module,exports){ +},{}],154:[function(_dereq_,module,exports){ 'use strict'; const acronym_step = function(ts) { @@ -10035,7 +10189,7 @@ const acronym_step = function(ts) { module.exports = acronym_step; -},{}],151:[function(_dereq_,module,exports){ +},{}],155:[function(_dereq_,module,exports){ 'use strict'; const emojiReg = _dereq_('./rules/emoji_regex'); const emoticon = _dereq_('./rules/emoticon_list'); @@ -10088,7 +10242,7 @@ const emojiStep = (ts) => { }; module.exports = emojiStep; -},{"./rules/emoji_regex":156,"./rules/emoticon_list":157}],152:[function(_dereq_,module,exports){ +},{"./rules/emoji_regex":160,"./rules/emoticon_list":161}],156:[function(_dereq_,module,exports){ 'use strict'; let titles = _dereq_('../paths').data.titles; @@ -10175,7 +10329,7 @@ const person_step = function (ts) { module.exports = person_step; -},{"../paths":133}],153:[function(_dereq_,module,exports){ +},{"../paths":137}],157:[function(_dereq_,module,exports){ 'use strict'; const startQuote = /^["'\u201B\u201C\u2033\u201F\u2018]/; const endQuote = /.["'\u201D\u2036\u2019]([;:,.])?$/; @@ -10209,7 +10363,7 @@ const quotation_step = (ts) => { }; module.exports = quotation_step; -},{}],154:[function(_dereq_,module,exports){ +},{}],158:[function(_dereq_,module,exports){ 'use strict'; //orgwords like 'bank' in 'Foo Bank' let orgWords = _dereq_('../paths').tries.utils.orgWords; @@ -10258,7 +10412,7 @@ const organization_step = (ts) => { }; module.exports = organization_step; -},{"../paths":133}],155:[function(_dereq_,module,exports){ +},{"../paths":137}],159:[function(_dereq_,module,exports){ 'use strict'; const isPlural = _dereq_('../../result/subset/nouns/isPlural'); @@ -10275,7 +10429,6 @@ const pluralStep = function(ts) { if (plural) { t.tag('Plural', 'pluralStep'); } else if (plural === false) { - // console.log(t.normal, plural); t.tag('Singular', 'pluralStep'); } } @@ -10285,12 +10438,12 @@ const pluralStep = function(ts) { module.exports = pluralStep; -},{"../../result/subset/nouns/isPlural":70}],156:[function(_dereq_,module,exports){ +},{"../../result/subset/nouns/isPlural":72}],160:[function(_dereq_,module,exports){ //yep, //https://github.com/mathiasbynens/emoji-regex/blob/master/index.js module.exports = /(?:0\u20E3\n1\u20E3|2\u20E3|3\u20E3|4\u20E3|5\u20E3|6\u20E3|7\u20E3|8\u20E3|9\u20E3|#\u20E3|\*\u20E3|\uD83C(?:\uDDE6\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF2|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFD|\uDDFF)|\uDDE7\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFC|\uDDFE|\uDDFF)|\uDDE8\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDE9\uD83C(?:\uDDEA|\uDDEC|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDFF)|\uDDEA\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDED|\uDDF7|\uDDF8|\uDDF9|\uDDFA)|\uDDEB\uD83C(?:\uDDEE|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDF7)|\uDDEC\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF1|\uDDF2|\uDDF3|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFE)|\uDDED\uD83C(?:\uDDF0|\uDDF2|\uDDF3|\uDDF7|\uDDF9|\uDDFA)|\uDDEE\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9)|\uDDEF\uD83C(?:\uDDEA|\uDDF2|\uDDF4|\uDDF5)|\uDDF0\uD83C(?:\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDF2|\uDDF3|\uDDF5|\uDDF7|\uDDFC|\uDDFE|\uDDFF)|\uDDF1\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDEE|\uDDF0|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFE)|\uDDF2\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDF3\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFF)|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C(?:\uDDE6|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF7|\uDDF8|\uDDF9|\uDDFC|\uDDFE)|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C(?:\uDDEA|\uDDF4|\uDDF8|\uDDFA|\uDDFC)|\uDDF8\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDE9|\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFD|\uDDFE|\uDDFF)|\uDDF9\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF9|\uDDFB|\uDDFC|\uDDFF)|\uDDFA\uD83C(?:\uDDE6|\uDDEC|\uDDF2|\uDDF8|\uDDFE|\uDDFF)|\uDDFB\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDEE|\uDDF3|\uDDFA)|\uDDFC\uD83C(?:\uDDEB|\uDDF8)|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C(?:\uDDEA|\uDDF9)|\uDDFF\uD83C(?:\uDDE6|\uDDF2|\uDDFC)))|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]/g; -},{}],157:[function(_dereq_,module,exports){ +},{}],161:[function(_dereq_,module,exports){ //just some of the most common emoticons //faster than //http://stackoverflow.com/questions/28077049/regex-matching-emoticons @@ -10348,7 +10501,7 @@ module.exports = { '<\\3': true }; -},{}],158:[function(_dereq_,module,exports){ +},{}],162:[function(_dereq_,module,exports){ 'use strict'; //markov-like stats about co-occurance, for hints about unknown terms //basically, a little-bit better than the noun-fallback @@ -10428,7 +10581,7 @@ module.exports = { afterThisPos: afterThisPos }; -},{}],159:[function(_dereq_,module,exports){ +},{}],163:[function(_dereq_,module,exports){ //these are regexes applied to t.text, instead of t.normal module.exports = [ //#funtime @@ -10476,7 +10629,7 @@ module.exports = [ }; }); -},{}],160:[function(_dereq_,module,exports){ +},{}],164:[function(_dereq_,module,exports){ 'use strict'; //regex suffix patterns and their most common parts of speech, //built using wordnet, by spencer kelly. @@ -10523,7 +10676,7 @@ module.exports = { [/.[^aeiou]ive$/, Adj], ], h: [ - [/[0-9](st|nd|rd|r?th)$/, 'Ordinal'], //like 5th + [/[0-9](st|nd|rd|r?th)$/, 'NumericValue'], //like 5th [/.[^aeiouf]ish$/, Adj], [/.v[iy]ch$/, Last], //east-europe [/^ug?h+$/, Exp], //uhh @@ -10598,13 +10751,14 @@ module.exports = { ], }; -},{}],161:[function(_dereq_,module,exports){ +},{}],165:[function(_dereq_,module,exports){ 'use strict'; //just a foolish lookup of known suffixes const Adj = 'Adjective'; const Inf = 'Infinitive'; const Pres = 'PresentTense'; const Sing = 'Singular'; +const Ord = 'Ordinal'; const Past = 'PastTense'; const AdVb = 'AdVerb'; const Plrl = 'Plural'; @@ -10646,6 +10800,16 @@ module.exports = [ ' so': AdVb, '\'ll': Modal, '\'re': 'Copula', + '1st': Ord, + '2nd': Ord, + '3rd': Ord, + '4th': Ord, + '5th': Ord, + '6th': Ord, + '7th': Ord, + '8th': Ord, + '9th': Ord, + '0th': Ord, }, { //4-letter 'teen': 'Value', @@ -10654,6 +10818,7 @@ module.exports = [ 'oses': Pres, 'fies': Pres, 'ects': Pres, + 'nded': Past, 'cede': Inf, 'tage': Inf, 'gate': Inf, @@ -10712,7 +10877,7 @@ module.exports = [ } ]; -},{}],162:[function(_dereq_,module,exports){ +},{}],166:[function(_dereq_,module,exports){ 'use strict'; //list of inconsistent parts-of-speech @@ -10741,7 +10906,8 @@ module.exports = [ ['NiceNumber', 'TextValue'], ['Ordinal', 'Currency'], //$5.50th //verbs - ['PastTense', 'PerfectTense', 'Pluperfect', 'FuturePerfect', 'Copula', 'Modal', 'Participle', 'Infinitive', 'Gerund'], + ['PastTense', 'PresentTense', 'FutureTense'], + ['Pluperfect', 'Copula', 'Modal', 'Participle', 'Infinitive', 'Gerund', 'FuturePerfect', 'PerfectTense'], //date ['Month', 'WeekDay', 'Year', 'Duration'], ['Particle', 'Conjunction', 'Adverb', 'Preposition'], @@ -10755,7 +10921,7 @@ module.exports = [ ['UpperCase', 'TitleCase', 'CamelCase'] ]; -},{}],163:[function(_dereq_,module,exports){ +},{}],167:[function(_dereq_,module,exports){ 'use strict'; // @@ -10769,6 +10935,7 @@ const misc = _dereq_('./tags/misc'); //used for pretty-printing on the server-side const colors = { Noun: 'blue', + 'Date': 'red', Value: 'red', Verb: 'green', Preposition: 'cyan', @@ -10848,9 +11015,8 @@ const build = () => { return tags; }; module.exports = build(); -// console.log(module.exports.Gerund.enemy); -},{"./conflicts":162,"./tags/dates":164,"./tags/misc":165,"./tags/nouns":166,"./tags/values":167,"./tags/verbs":168}],164:[function(_dereq_,module,exports){ +},{"./conflicts":166,"./tags/dates":168,"./tags/misc":169,"./tags/nouns":170,"./tags/values":171,"./tags/verbs":172}],168:[function(_dereq_,module,exports){ module.exports = { Date: {}, //not a noun, but usually is Month: { @@ -10881,7 +11047,7 @@ module.exports = { }, }; -},{}],165:[function(_dereq_,module,exports){ +},{}],169:[function(_dereq_,module,exports){ module.exports = { Adjective: {}, @@ -10892,6 +11058,9 @@ module.exports = { is: 'Adjective' }, + NumberRange: { + is: 'Contraction' + }, Adverb: {}, Currency: {}, @@ -10923,7 +11092,7 @@ module.exports = { }; -},{}],166:[function(_dereq_,module,exports){ +},{}],170:[function(_dereq_,module,exports){ module.exports = { Noun: {}, // - singular @@ -10998,7 +11167,7 @@ module.exports = { } }; -},{}],167:[function(_dereq_,module,exports){ +},{}],171:[function(_dereq_,module,exports){ module.exports = { Value: {}, Ordinal: { @@ -11024,14 +11193,10 @@ module.exports = { }, Money: { is: 'Value' - }, - NumberRange: { - is: 'Value', - also: 'Contraction' - }, + } }; -},{}],168:[function(_dereq_,module,exports){ +},{}],172:[function(_dereq_,module,exports){ module.exports = { Verb: {}, PresentTense: { @@ -11072,7 +11237,7 @@ module.exports = { }, }; -},{}],169:[function(_dereq_,module,exports){ +},{}],173:[function(_dereq_,module,exports){ 'use strict'; const fns = _dereq_('./paths').fns; const build_whitespace = _dereq_('./whitespace'); @@ -11090,6 +11255,7 @@ const Term = function(str) { this._text = parsed.text; this.parent = null; this.silent_term = ''; + this.lumped = false; //normalize the _text addNormal(this); addRoot(this); @@ -11152,7 +11318,7 @@ _dereq_('./methods/punctuation')(Term); module.exports = Term; -},{"./makeUID":170,"./methods/case":172,"./methods/misc":173,"./methods/normalize/normalize":175,"./methods/normalize/root":176,"./methods/out":178,"./methods/punctuation":180,"./methods/tag":182,"./paths":185,"./whitespace":186}],170:[function(_dereq_,module,exports){ +},{"./makeUID":174,"./methods/case":176,"./methods/misc":177,"./methods/normalize/normalize":179,"./methods/normalize/root":180,"./methods/out":183,"./methods/punctuation":185,"./methods/tag":187,"./paths":190,"./whitespace":191}],174:[function(_dereq_,module,exports){ 'use strict'; //this is a not-well-thought-out way to reduce our dependence on `object===object` reference stuff //generates a unique id for this term @@ -11166,7 +11332,7 @@ const uid = (str) => { }; module.exports = uid; -},{}],171:[function(_dereq_,module,exports){ +},{}],175:[function(_dereq_,module,exports){ 'use strict'; const tagSet = _dereq_('../paths').tags; const boringTags = { @@ -11198,7 +11364,7 @@ const bestTag = function(t) { }; module.exports = bestTag; -},{"../paths":185}],172:[function(_dereq_,module,exports){ +},{"../paths":190}],176:[function(_dereq_,module,exports){ 'use strict'; const addMethods = (Term) => { @@ -11266,11 +11432,10 @@ const addMethods = (Term) => { module.exports = addMethods; -},{}],173:[function(_dereq_,module,exports){ +},{}],177:[function(_dereq_,module,exports){ 'use strict'; -const bestTag = _dereq_('./bestTag'); const isAcronym = _dereq_('./normalize/isAcronym'); - +const bestTag = _dereq_('./bestTag'); //regs- const hasVowel = /[aeiouy]/i; @@ -11280,11 +11445,11 @@ const hasNumber = /[0-9]/; const addMethods = (Term) => { const methods = { - /** which tag best-represents this term?*/ bestTag: function () { return bestTag(this); }, + /** is this term like F.B.I. or NBA */ isAcronym: function () { return isAcronym(this._text); @@ -11327,7 +11492,7 @@ const addMethods = (Term) => { module.exports = addMethods; -},{"./bestTag":171,"./normalize/isAcronym":174}],174:[function(_dereq_,module,exports){ +},{"./bestTag":175,"./normalize/isAcronym":178}],178:[function(_dereq_,module,exports){ 'use strict'; //regs - const periodAcronym = /([A-Z]\.)+[A-Z]?$/; @@ -11352,7 +11517,7 @@ const isAcronym = function (str) { }; module.exports = isAcronym; -},{}],175:[function(_dereq_,module,exports){ +},{}],179:[function(_dereq_,module,exports){ 'use strict'; const killUnicode = _dereq_('./unicode'); const isAcronym = _dereq_('./isAcronym'); @@ -11363,6 +11528,7 @@ exports.normalize = function(str) { str = str || ''; str = str.toLowerCase(); str = str.trim(); + let original = str; //(very) rough asci transliteration - bjŏrk -> bjork str = killUnicode(str); //hashtags, atmentions @@ -11382,6 +11548,10 @@ exports.normalize = function(str) { str = str.replace(/['",\.!:;\?\)]$/g, ''); str = str.replace(/^['"\(]/g, ''); } + //oh shucks, + if (str === '') { + str = original; + } return str; }; @@ -11400,7 +11570,7 @@ exports.addNormal = function (term) { // console.log(normalize('Dr. V Cooper')); -},{"./isAcronym":174,"./unicode":177}],176:[function(_dereq_,module,exports){ +},{"./isAcronym":178,"./unicode":181}],180:[function(_dereq_,module,exports){ 'use strict'; // const rootForm = function(term) { @@ -11416,7 +11586,7 @@ const rootForm = function(term) { module.exports = rootForm; -},{}],177:[function(_dereq_,module,exports){ +},{}],181:[function(_dereq_,module,exports){ 'use strict'; //a hugely-ignorant, and widely subjective transliteration of latin, cryllic, greek unicode characters to english ascii. //approximate visual (not semantic or phonetic) relationship between unicode and ascii characters @@ -11473,10 +11643,59 @@ const killUnicode = (str) => { module.exports = killUnicode; // console.log(fixUnicode('bjŏȒk')); -},{}],178:[function(_dereq_,module,exports){ +},{}],182:[function(_dereq_,module,exports){ +'use strict'; +const fns = _dereq_('../../paths').fns; +const colors = { + 'Person': '#6393b9', + 'Pronoun': '#81acce', + 'Noun': 'steelblue', + 'Verb': 'palevioletred', + 'Adverb': '#f39c73', + 'Adjective': '#b3d3c6', + 'Determiner': '#d3c0b3', + 'Preposition': '#9794a8', + 'Conjunction': '#c8c9cf', + 'Value': 'palegoldenrod', + 'Expression': '#b3d3c6' +}; + +//a nicer logger for the client-side +const clientSide = (t) => { + let color = 'silver'; + let tags = Object.keys(t.tags); + for(let i = 0; i < tags.length; i++) { + if (colors[tags[i]]) { + color = colors[tags[i]]; + break; + } + } + let word = fns.leftPad(t.text, 12); + word += ' ' + tags; + console.log('%c ' + word, 'color: ' + color); +}; +module.exports = clientSide; + +},{"../../paths":190}],183:[function(_dereq_,module,exports){ 'use strict'; const renderHtml = _dereq_('./renderHtml'); const fns = _dereq_('../../paths').fns; +const clientDebug = _dereq_('./client'); + +const serverDebug = function(t) { + let tags = Object.keys(t.tags).map((tag) => { + return fns.printTag(tag); + }).join(', '); + let word = t.text; + word = '\'' + fns.yellow(word || '-') + '\''; + let silent = ''; + if (t.silent_term) { + silent = '[' + t.silent_term + ']'; + } + word = fns.leftPad(word, 25); + word += fns.leftPad(silent, 5); + console.log(' ' + word + ' ' + ' - ' + tags); +}; const methods = { /** a pixel-perfect reproduction of the input, with whitespace preserved */ @@ -11504,23 +11723,12 @@ const methods = { }; }, /** check-print information for the console */ - debug: function(r) { - let tags = Object.keys(r.tags).map((tag) => { - return fns.printTag(tag); - }).join(', '); - let word = r.text; - // word = r.whitespace.before + word + r.whitespace.after; - word = '\'' + fns.yellow(word || '-') + '\''; - // if (r.dirty) { - // word += fns.red('*'); - // } - let silent = ''; - if (r.silent_term) { - silent = '[' + r.silent_term + ']'; - } - word = fns.leftPad(word, 25); - word += fns.leftPad(silent, 5); - console.log(' ' + word + ' ' + ' - ' + tags); + debug: function(t) { + if (typeof window !== 'undefined') { + clientDebug(t); + } else { + serverDebug(t); + } } }; @@ -11537,7 +11745,7 @@ const addMethods = (Term) => { module.exports = addMethods; -},{"../../paths":185,"./renderHtml":179}],179:[function(_dereq_,module,exports){ +},{"../../paths":190,"./client":182,"./renderHtml":184}],184:[function(_dereq_,module,exports){ 'use strict'; //turn xml special characters into apersand-encoding. //i'm not sure this is perfectly safe. @@ -11593,7 +11801,7 @@ const renderHtml = function(t) { module.exports = renderHtml; -},{}],180:[function(_dereq_,module,exports){ +},{}],185:[function(_dereq_,module,exports){ 'use strict'; const endPunct = /([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i; const addMethods = (Term) => { @@ -11646,7 +11854,7 @@ const addMethods = (Term) => { module.exports = addMethods; -},{}],181:[function(_dereq_,module,exports){ +},{}],186:[function(_dereq_,module,exports){ 'use strict'; const path = _dereq_('../../paths'); const tagset = path.tags; @@ -11672,25 +11880,38 @@ const canBe = function(term, tag) { module.exports = canBe; -},{"../../paths":185}],182:[function(_dereq_,module,exports){ +},{"../../paths":190}],187:[function(_dereq_,module,exports){ 'use strict'; const setTag = _dereq_('./setTag'); const unTag = _dereq_('./unTag'); const canBe = _dereq_('./canBe'); +//symbols used in sequential taggers which mean 'do nothing' +//.tag('#Person #Place . #City') +const ignore = { + '.': true +}; const addMethods = (Term) => { const methods = { /** set the term as this part-of-speech */ tag: function(tag, reason) { - setTag(this, tag, reason); + if (ignore[tag] !== true) { + setTag(this, tag, reason); + } }, /** remove this part-of-speech from the term*/ unTag: function(tag, reason) { - unTag(this, tag, reason); + if (ignore[tag] !== true) { + unTag(this, tag, reason); + } }, /** is this tag compatible with this word */ canBe: function (tag) { + //everything can be '.' + if (ignore[tag] === true) { + return true; + } tag = tag || ''; tag = tag.replace(/^#/, ''); return canBe(this, tag); @@ -11706,14 +11927,15 @@ const addMethods = (Term) => { module.exports = addMethods; -},{"./canBe":181,"./setTag":183,"./unTag":184}],183:[function(_dereq_,module,exports){ +},{"./canBe":186,"./setTag":188,"./unTag":189}],188:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech const path = _dereq_('../../paths'); const log = path.log; -const tagset = path.tags; const fns = path.fns; const unTag = _dereq_('./unTag'); +// const tagset = path.tags; +const tagset = _dereq_('../../../tagset'); const putTag = (term, tag, reason) => { tag = tag.replace(/^#/, ''); @@ -11762,7 +11984,7 @@ const wrap = function (term, tag, reason) { module.exports = wrap; -},{"../../paths":185,"./unTag":184}],184:[function(_dereq_,module,exports){ +},{"../../../tagset":167,"../../paths":190,"./unTag":189}],189:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech const path = _dereq_('../../paths'); @@ -11800,17 +12022,18 @@ const wrap = (term, tag, reason) => { }; module.exports = wrap; -},{"../../paths":185}],185:[function(_dereq_,module,exports){ +},{"../../paths":190}],190:[function(_dereq_,module,exports){ module.exports = { fns: _dereq_('../fns'), log: _dereq_('../log'), tags: _dereq_('../tagset') }; -},{"../fns":21,"../log":23,"../tagset":163}],186:[function(_dereq_,module,exports){ +},{"../fns":21,"../log":24,"../tagset":167}],191:[function(_dereq_,module,exports){ 'use strict'; -//regs- +//punctuation regs- const before = /^(\s|-+|\.\.+)+/; +const minusNumber = /^( *)-(\$|€|¥|£)?([0-9])/; const after = /(\s+|-+|\.\.+)$/; //seperate the 'meat' from the trailing/leading whitespace. @@ -11821,10 +12044,17 @@ const build_whitespace = (str) => { after: '' }; //get before punctuation/whitespace - let m = str.match(before); + //mangle 'far - fetched', but don't mangle '-2' + let m = str.match(minusNumber); if (m !== null) { - whitespace.before = m[0]; - str = str.replace(before, ''); + whitespace.before = m[1]; + str = str.replace(/^ */, ''); + } else { + m = str.match(before); + if (m !== null) { + whitespace.before = str.match(before)[0]; + str = str.replace(before, ''); + } } //get after punctuation/whitespace m = str.match(after); @@ -11839,7 +12069,7 @@ const build_whitespace = (str) => { }; module.exports = build_whitespace; -},{}],187:[function(_dereq_,module,exports){ +},{}],192:[function(_dereq_,module,exports){ 'use strict'; const Term = _dereq_('../term'); const hasHyphen = /^([a-z]+)(-)([a-z0-9].*)/i; @@ -11897,7 +12127,7 @@ const fromString = function (str) { }; module.exports = fromString; -},{"../term":169}],188:[function(_dereq_,module,exports){ +},{"../term":173}],193:[function(_dereq_,module,exports){ //getters/setters for the Terms class module.exports = { @@ -11979,7 +12209,7 @@ module.exports = { }; -},{}],189:[function(_dereq_,module,exports){ +},{}],194:[function(_dereq_,module,exports){ 'use strict'; const build = _dereq_('./build'); const getters = _dereq_('./getters'); @@ -12014,6 +12244,7 @@ Terms.fromString = function(str, lexicon) { // Terms = require('./methods/lookup')(Terms); _dereq_('./match')(Terms); +_dereq_('./methods/tag')(Terms); _dereq_('./methods/loops')(Terms); _dereq_('./match/not')(Terms); _dereq_('./methods/delete')(Terms); @@ -12026,7 +12257,7 @@ _dereq_('./methods/transform')(Terms); _dereq_('./methods/lump')(Terms); module.exports = Terms; -},{"./build":187,"./getters":188,"./match":190,"./match/not":197,"./methods/delete":198,"./methods/insert":199,"./methods/loops":200,"./methods/lump":202,"./methods/misc":203,"./methods/out":204,"./methods/replace":205,"./methods/split":206,"./methods/transform":207}],190:[function(_dereq_,module,exports){ +},{"./build":192,"./getters":193,"./match":195,"./match/not":203,"./methods/delete":204,"./methods/insert":205,"./methods/loops":206,"./methods/lump":208,"./methods/misc":209,"./methods/out":210,"./methods/replace":211,"./methods/split":212,"./methods/tag":213,"./methods/transform":214}],195:[function(_dereq_,module,exports){ 'use strict'; const syntax = _dereq_('./lib/syntax'); const startHere = _dereq_('./lib/startHere'); @@ -12090,7 +12321,7 @@ const matchMethods = (Terms) => { module.exports = matchMethods; -},{"../../result":26,"./lib":192,"./lib/startHere":195,"./lib/syntax":196}],191:[function(_dereq_,module,exports){ +},{"../../result":28,"./lib":197,"./lib/startHere":201,"./lib/syntax":202}],196:[function(_dereq_,module,exports){ 'use strict'; // //find easy reasons to skip running the full match on this @@ -12098,7 +12329,8 @@ const fastPass = (ts, regs) => { for(let i = 0; i < regs.length; i++) { let reg = regs[i]; let found = false; - if (reg.optional === true || reg.negative === true) { + //we can't cheat on these fancy rules: + if (reg.optional === true || reg.negative === true || reg.minMax !== undefined) { continue; } //look-for missing term-matches @@ -12108,6 +12340,10 @@ const fastPass = (ts, regs) => { found = true; break; } + //we can't handle lumped-terms with this method + if (ts.terms[o].lumped === true) { + return false; + } } if (found === false) { return true; @@ -12130,7 +12366,7 @@ const fastPass = (ts, regs) => { }; module.exports = fastPass; -},{}],192:[function(_dereq_,module,exports){ +},{}],197:[function(_dereq_,module,exports){ 'use strict'; const syntax = _dereq_('./syntax'); const startHere = _dereq_('./startHere'); @@ -12168,7 +12404,7 @@ const match = (ts, reg, verbose) => { }; module.exports = match; -},{"./fastPass":191,"./startHere":195,"./syntax":196}],193:[function(_dereq_,module,exports){ +},{"./fastPass":196,"./startHere":201,"./syntax":202}],198:[function(_dereq_,module,exports){ 'use strict'; //compare 1 term to one reg @@ -12188,6 +12424,19 @@ const perfectMatch = (term, reg) => { if (reg.normal !== undefined) { return reg.normal === term.normal || reg.normal === term.silent_term; } + //suffix matches '-nny' + if (reg.suffix === true && reg.partial !== undefined) { + const len = term.normal.length; + return term.normal.substr(len - reg.partial.length, len) === reg.partial; + } + //prefix matches 'fun-' + if (reg.prefix === true && reg.partial !== undefined) { + return term.normal.substr(0, reg.partial.length) === reg.partial; + } + //infix matches '-nn-' + if (reg.infix === true && reg.partial !== undefined) { + return term.normal.indexOf(reg.partial) !== -1; + } //one-of term-match if (reg.oneOf !== undefined) { for(let i = 0; i < reg.oneOf.tagArr.length; i++) { @@ -12210,11 +12459,43 @@ const isMatch = (term, reg, verbose) => { }; module.exports = isMatch; -},{}],194:[function(_dereq_,module,exports){ -arguments[4][89][0].apply(exports,arguments) -},{"../../paths":209,"dup":89}],195:[function(_dereq_,module,exports){ +},{}],199:[function(_dereq_,module,exports){ +'use strict'; + +const almostMatch = (reg_str, term) => { + let want = term.normal.substr(0, reg_str.length); + return want === reg_str; +}; + +// match ['john', 'smith'] regs, when the term is lumped +const lumpMatch = function(term, regs, reg_i, verbose) { + let reg_str = regs[reg_i].normal; + //is this a partial match? 'tony'& 'tony hawk' + if (reg_str !== undefined && almostMatch(reg_str, term)) { + //try to grow it + reg_i = reg_i + 1; + for (reg_i; reg_i < regs.length; reg_i++) { + reg_str += ' ' + regs[reg_i].normal; + // is it now perfect? + if (reg_str === term.normal) { + return reg_i; + } + // is it still almost? + if (almostMatch(reg_str, term) === false) { + return null; + } + } + } + return null; +}; + +module.exports = lumpMatch; + +},{}],200:[function(_dereq_,module,exports){ +arguments[4][102][0].apply(exports,arguments) +},{"../../paths":216,"dup":102}],201:[function(_dereq_,module,exports){ 'use strict'; -// const lumpMatch = require('./lumpMatch'); +const lumpMatch = _dereq_('./lumpMatch'); const isMatch = _dereq_('./isMatch'); // match everything until this point - '*' @@ -12285,34 +12566,41 @@ const startHere = (ts, startAt, regs, verbose) => { continue; } - //support '{x,y}' + //support '#Noun{x,y}' if (regs[reg_i].minMax !== undefined) { - //on last reg? - if (!next_reg) { - let len = ts.length; - let max = regs[reg_i].minMax.max + startAt; - //if it must go to the end, but can't - if (regs[reg_i].ending && max < len) { + let min = regs[reg_i].minMax.min || 0; + let max = regs[reg_i].minMax.max; + let until = regs[reg_i + 1]; + for(let i = 0; i < max; i++) { //TODO: please clean this loop up.. + let t = ts.terms[term_i + i]; + //end here + if (isMatch(t, reg) === false) { return null; } - //dont grab past the end - if (max < len) { - len = max; + //should we be greedier? + if (i < min - 1) { + continue; //gotta keep going! + } + //we can end here, after the minimum + if (!until) { + term_i += 1; + break; + } + // we're greedy-to-now + if (i >= min && isMatch(t, until)) { + break; + } + //end with a greedy-match for next term + let nextT = ts.terms[term_i + i + 1]; + if (isMatch(nextT, until)) { + term_i += i + 2; + reg_i += 1; + break; + } else if (i === max - 1) { + //we've maxed-out + return null; } - return ts.terms.slice(startAt, len); - } - //otherwise, match until this next thing - let foundAt = greedyUntil(ts, term_i, next_reg); - if (!foundAt) { - return null; - } - //if it's too close/far.. - let minMax = regs[reg_i].minMax; - if (foundAt < minMax.min || foundAt > minMax.max) { - return null; } - term_i = foundAt + 1; - reg_i += 1; continue; } @@ -12346,13 +12634,12 @@ const startHere = (ts, startAt, regs, verbose) => { } //handle partial-matches of lumped terms - // let lumpUntil = lumpMatch(term, regs, reg_i); - // if (lumpUntil) { - // reg_i = lumpUntil; - // term_i += 1; - // continue; - // } - + let lumpUntil = lumpMatch(term, regs, reg_i, verbose); + if (lumpUntil !== null) { + reg_i = lumpUntil; + term_i += 1; + continue; + } //was it optional anways? if (reg.optional === true) { @@ -12365,10 +12652,12 @@ const startHere = (ts, startAt, regs, verbose) => { module.exports = startHere; -},{"./isMatch":193}],196:[function(_dereq_,module,exports){ +},{"./isMatch":198,"./lumpMatch":199}],202:[function(_dereq_,module,exports){ 'use strict'; // parse a search lookup term find the regex-like syntax in this term const fns = _dereq_('./paths').fns; +//regs- +const range = /\{[0-9,]+\}$/; //trim char#0 const noFirst = function(str) { @@ -12385,6 +12674,11 @@ const parse_term = function (term) { let reg = {}; //order matters here + //1-character hasta be a text-match + if (term.length === 1 && term !== '.' && term !== '*') { + reg.normal = term; + return reg; + } //negation ! flag if (term.charAt(0) === '!') { term = noFirst(term); @@ -12410,6 +12704,24 @@ const parse_term = function (term) { term = noLast(term); reg.consecutive = true; } + //prefix/suffix/infix matches + if (term.charAt(term.length - 1) === '_') { + term = noLast(term); + reg.prefix = true; + //try both '-match-' + if (term.charAt(0) === '_') { + term = noFirst(term); + reg.prefix = undefined; + reg.infix = true; + } + reg.partial = term; + term = ''; + } else if (term.charAt(0) === '_') { + term = noFirst(term); + reg.suffix = true; + reg.partial = term; + term = ''; + } //pos flag if (term.charAt(0) === '#') { term = noFirst(term); @@ -12438,13 +12750,13 @@ const parse_term = function (term) { term = ''; } //min/max any '{1,3}' - if (term.charAt(0) === '{' && term.charAt(term.length - 1) === '}') { + if (term.charAt(term.length - 1) === '}' && range.test(term) === true) { let m = term.match(/\{([0-9]+), ?([0-9]+)\}/); reg.minMax = { min: parseInt(m[1], 10), max: parseInt(m[2], 10) }; - term = ''; + term = term.replace(range, ''); } //a period means any one term if (term === '.') { @@ -12468,11 +12780,10 @@ const parse_all = function (reg) { reg = reg.split(/ +/); return reg.map(parse_term); }; -// console.log(parse_all('')); module.exports = parse_all; -},{"./paths":194}],197:[function(_dereq_,module,exports){ +},{"./paths":200}],203:[function(_dereq_,module,exports){ 'use strict'; // const syntax = _dereq_('./lib/syntax'); @@ -12569,7 +12880,7 @@ const addfns = (Terms) => { module.exports = addfns; -},{"../../result":26,"./lib/startHere":195,"./lib/syntax":196}],198:[function(_dereq_,module,exports){ +},{"../../result":28,"./lib/startHere":201,"./lib/syntax":202}],204:[function(_dereq_,module,exports){ 'use strict'; const mutate = _dereq_('../mutate'); @@ -12600,7 +12911,7 @@ const addMethod = (Terms) => { module.exports = addMethod; -},{"../mutate":208}],199:[function(_dereq_,module,exports){ +},{"../mutate":215}],205:[function(_dereq_,module,exports){ 'use strict'; const mutate = _dereq_('../mutate'); @@ -12705,15 +13016,15 @@ const insertMethods = (Terms) => { module.exports = insertMethods; -},{"../mutate":208}],200:[function(_dereq_,module,exports){ +},{"../mutate":215}],206:[function(_dereq_,module,exports){ 'use strict'; //these methods are simply term-methods called in a loop const addMethods = (Terms) => { const foreach = [ - ['tag'], - ['unTag'], + // ['tag'], + // ['unTag'], // ['canBe'], ['toUpperCase', 'UpperCase'], ['toLowerCase'], @@ -12741,7 +13052,7 @@ const addMethods = (Terms) => { module.exports = addMethods; -},{}],201:[function(_dereq_,module,exports){ +},{}],207:[function(_dereq_,module,exports){ 'use strict'; const Term = _dereq_('../../../term'); //merge two term objects.. carefully @@ -12761,6 +13072,7 @@ const combine = function(s, i) { let text = makeText(a, b); s.terms[i] = new Term(text, a.context); s.terms[i].normal = a.normal + ' ' + b.normal; + s.terms[i].lumped = true; s.terms[i].parentTerms = s.terms[i + 1].parentTerms; s.terms[i + 1] = null; s.terms = s.terms.filter((t) => t !== null); @@ -12769,7 +13081,7 @@ const combine = function(s, i) { module.exports = combine; -},{"../../../term":169}],202:[function(_dereq_,module,exports){ +},{"../../../term":173}],208:[function(_dereq_,module,exports){ 'use strict'; const combine = _dereq_('./combine'); const mutate = _dereq_('../../mutate'); @@ -12814,7 +13126,7 @@ const lumpMethods = (Terms) => { module.exports = lumpMethods; -},{"../../mutate":208,"./combine":201}],203:[function(_dereq_,module,exports){ +},{"../../mutate":215,"./combine":207}],209:[function(_dereq_,module,exports){ 'use strict'; const tagger = _dereq_('../../tagger'); @@ -12878,7 +13190,6 @@ const miscMethods = (Terms) => { if (!ref || !first) { return null; //maybe.. } - // console.log(ref); let n = 0; for(let i = 0; i < ref.list.length; i++) { let ts = ref.list[i]; @@ -12905,12 +13216,6 @@ const miscMethods = (Terms) => { return this.terms.length; }, - //which terms are consistent with this tag - canBe: function (tag) { - let terms = this.terms.filter((t) => t.canBe(tag)); - return new Terms(terms, this.lexicon, this.refText, this.refTerms); - }, - //this has term-order logic, so has to be here toCamelCase: function() { this.toTitleCase(); @@ -12934,7 +13239,7 @@ const miscMethods = (Terms) => { module.exports = miscMethods; -},{"../../tagger":129}],204:[function(_dereq_,module,exports){ +},{"../../tagger":133}],210:[function(_dereq_,module,exports){ 'use strict'; const fns = _dereq_('../paths').fns; @@ -13008,7 +13313,7 @@ const renderMethods = (Terms) => { module.exports = renderMethods; -},{"../paths":209}],205:[function(_dereq_,module,exports){ +},{"../paths":216}],211:[function(_dereq_,module,exports){ 'use strict'; const mutate = _dereq_('../mutate'); @@ -13016,27 +13321,33 @@ const replaceMethods = (Terms) => { const methods = { /**swap this for that */ - replace: function (str1, str2) { + replace: function (str1, str2, keepTags) { //in this form, we 'replaceWith' if (str2 === undefined) { - return this.replaceWith(str1); + return this.replaceWith(str1, keepTags); } - this.match(str1).replaceWith(str2); + this.match(str1).replaceWith(str2, keepTags); return this; }, /**swap this for that */ - replaceWith: function (str, tag) { - let toAdd = Terms.fromString(str); - toAdd.tagger(); - if (tag) { - toAdd.tag(tag, 'user-given'); + replaceWith: function (str, keepTags) { + let newTs = Terms.fromString(str); + newTs.tagger(); + //if instructed, apply old tags to new terms + if (keepTags) { + this.terms.forEach((t, i) => { + let tags = Object.keys(t.tags); + if (newTs.terms[i] !== undefined) { + tags.forEach((tg) => newTs.terms[i].tag(tg, 'from-memory')); + } + }); } let index = this.index(); this.parentTerms = mutate.deleteThese(this.parentTerms, this); - this.parentTerms.terms = mutate.insertAt(this.parentTerms.terms, index, toAdd); - this.terms = toAdd.terms; + this.parentTerms.terms = mutate.insertAt(this.parentTerms.terms, index, newTs); + this.terms = newTs.terms; return this; } @@ -13051,7 +13362,7 @@ const replaceMethods = (Terms) => { module.exports = replaceMethods; -},{"../mutate":208}],206:[function(_dereq_,module,exports){ +},{"../mutate":215}],212:[function(_dereq_,module,exports){ 'use strict'; //break apart a termlist into (before, match after) @@ -13173,7 +13484,69 @@ const splitMethods = (Terms) => { module.exports = splitMethods; exports = splitMethods; -},{}],207:[function(_dereq_,module,exports){ +},{}],213:[function(_dereq_,module,exports){ +'use strict'; +const addMethod = (Terms) => { + + const methods = { + + tag: function (tag, reason) { + let tags = []; + if (typeof tag === 'string') { + tags = tag.split(' '); + } + //fancy version: + if (tags.length > 1) { + //do indepenent tags for each term: + this.terms.forEach((t, i) => { + t.tag(tags[i], reason); + }); + return this; + } + //non-fancy version: + this.terms.forEach((t) => { + t.tag(tag, reason); + }); + return this; + }, + + unTag: function (tag, reason) { + let tags = []; + if (typeof tag === 'string') { + tags = tag.split(' '); + } + //fancy version: + if (tags.length > 1) { + //do indepenent tags for each term: + this.terms.forEach((t, i) => { + t.unTag(tags[i], reason); + }); + return this; + } + //non-fancy version: + this.terms.forEach((t) => { + t.unTag(tag, reason); + }); + return this; + }, + + //which terms are consistent with this tag + canBe: function (tag) { + let terms = this.terms.filter((t) => t.canBe(tag)); + return new Terms(terms, this.lexicon, this.refText, this.refTerms); + }, + + }; + //hook them into result.proto + Object.keys(methods).forEach((k) => { + Terms.prototype[k] = methods[k]; + }); + return Terms; +}; + +module.exports = addMethod; + +},{}],214:[function(_dereq_,module,exports){ 'use strict'; const transforms = (Terms) => { @@ -13216,7 +13589,7 @@ const transforms = (Terms) => { module.exports = transforms; -},{}],208:[function(_dereq_,module,exports){ +},{}],215:[function(_dereq_,module,exports){ 'use strict'; // const getTerms = (needle) => { @@ -13259,7 +13632,7 @@ exports.insertAt = (terms, i, needle) => { return terms; }; -},{}],209:[function(_dereq_,module,exports){ +},{}],216:[function(_dereq_,module,exports){ module.exports = { data: _dereq_('../data'), lexicon: _dereq_('../data'), @@ -13267,47 +13640,47 @@ module.exports = { Term: _dereq_('../term') }; -},{"../data":6,"../fns":21,"../term":169}],210:[function(_dereq_,module,exports){ +},{"../data":6,"../fns":21,"../term":173}],217:[function(_dereq_,module,exports){ module.exports="0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt" -},{}],211:[function(_dereq_,module,exports){ +},{}],218:[function(_dereq_,module,exports){ module.exports="a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori" -},{}],212:[function(_dereq_,module,exports){ +},{}],219:[function(_dereq_,module,exports){ module.exports="aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl" -},{}],213:[function(_dereq_,module,exports){ +},{}],220:[function(_dereq_,module,exports){ module.exports="a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dellín,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0̇zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg" -},{}],214:[function(_dereq_,module,exports){ +},{}],221:[function(_dereq_,module,exports){ module.exports="0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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" -},{}],215:[function(_dereq_,module,exports){ +},{}],222:[function(_dereq_,module,exports){ module.exports="0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an" -},{}],216:[function(_dereq_,module,exports){ +},{}],223:[function(_dereq_,module,exports){ module.exports="aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la" -},{}],217:[function(_dereq_,module,exports){ +},{}],224:[function(_dereq_,module,exports){ module.exports="0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il" -},{}],218:[function(_dereq_,module,exports){ +},{}],225:[function(_dereq_,module,exports){ module.exports="aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey" -},{}],219:[function(_dereq_,module,exports){ +},{}],226:[function(_dereq_,module,exports){ module.exports="0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve" -},{}],220:[function(_dereq_,module,exports){ +},{}],227:[function(_dereq_,module,exports){ module.exports="0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,ñ6;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams" -},{}],221:[function(_dereq_,module,exports){ +},{}],228:[function(_dereq_,module,exports){ module.exports="0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on" -},{}],222:[function(_dereq_,module,exports){ +},{}],229:[function(_dereq_,module,exports){ module.exports="ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s" -},{}],223:[function(_dereq_,module,exports){ +},{}],230:[function(_dereq_,module,exports){ module.exports="0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on" -},{}],224:[function(_dereq_,module,exports){ +},{}],231:[function(_dereq_,module,exports){ module.exports="0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,é;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c" -},{}],225:[function(_dereq_,module,exports){ +},{}],232:[function(_dereq_,module,exports){ module.exports="0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut" -},{}],226:[function(_dereq_,module,exports){ +},{}],233:[function(_dereq_,module,exports){ module.exports="'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut" -},{}],227:[function(_dereq_,module,exports){ +},{}],234:[function(_dereq_,module,exports){ module.exports="aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt" -},{}],228:[function(_dereq_,module,exports){ +},{}],235:[function(_dereq_,module,exports){ module.exports="0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls" -},{}],229:[function(_dereq_,module,exports){ +},{}],236:[function(_dereq_,module,exports){ module.exports="0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce" -},{}],230:[function(_dereq_,module,exports){ +},{}],237:[function(_dereq_,module,exports){ /* nlp-compromise/efrt v0.0.6 usage: unpack(myPackedString).has(word) by @spencermountain MIT @@ -13401,7 +13774,6 @@ var prefix = function(str, want) { } return want.slice(0, len) === str; }; -// console.log(module.exports('harvar', 'harvard')); //spin-out all words from this trie var unravel = function(trie) { @@ -13541,7 +13913,7 @@ var index = function(str) { module.exports = index; -},{}],231:[function(_dereq_,module,exports){ +},{}],238:[function(_dereq_,module,exports){ 'use strict'; //to change these packed files, edit ./data then run `node scripts/pack.js` const unpack = _dereq_('./efrt-unpack'); @@ -13631,5 +14003,5 @@ module.exports = { multiples: multiples, }; -},{"./_packed/_adjectives":210,"./_packed/_adverbs":211,"./_packed/_airports":212,"./_packed/_cities":213,"./_packed/_countries":214,"./_packed/_demonyms":215,"./_packed/_expressions":216,"./_packed/_female":217,"./_packed/_firstnames":218,"./_packed/_holidays":219,"./_packed/_lastnames":220,"./_packed/_male":221,"./_packed/_nouns":222,"./_packed/_orgWords":223,"./_packed/_organizations":224,"./_packed/_phrasals":225,"./_packed/_prepositions":226,"./_packed/_professions":227,"./_packed/_sportsTeams":228,"./_packed/_uncountables":229,"./efrt-unpack":230}]},{},[22])(22) +},{"./_packed/_adjectives":217,"./_packed/_adverbs":218,"./_packed/_airports":219,"./_packed/_cities":220,"./_packed/_countries":221,"./_packed/_demonyms":222,"./_packed/_expressions":223,"./_packed/_female":224,"./_packed/_firstnames":225,"./_packed/_holidays":226,"./_packed/_lastnames":227,"./_packed/_male":228,"./_packed/_nouns":229,"./_packed/_orgWords":230,"./_packed/_organizations":231,"./_packed/_phrasals":232,"./_packed/_prepositions":233,"./_packed/_professions":234,"./_packed/_sportsTeams":235,"./_packed/_uncountables":236,"./efrt-unpack":237}]},{},[22])(22) }); \ No newline at end of file diff --git a/builds/compromise.es6.min.js b/builds/compromise.es6.min.js index e8fb4e77e..b207a52e8 100644 --- a/builds/compromise.es6.min.js +++ b/builds/compromise.es6.min.js @@ -1,2 +1,2 @@ -(function(y){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=y();else if("function"==typeof define&&define.amd)define([],y);else{var T;T="undefined"==typeof window?"undefined"==typeof global?"undefined"==typeof self?this:self:global:window,T.nlp=y()}})(function(){var y;return function E(C,A,N){function D(j,V){if(!A[j]){if(!C[j]){var z="function"==typeof require&&require;if(!V&&z)return z(j,!0);if(_)return _(j,!0);var F=new Error("Cannot find module '"+j+"'");throw F.code="MODULE_NOT_FOUND",F}var $=A[j]={exports:{}};C[j][0].call($.exports,function(G){var O=C[j][1][G];return D(O?O:G)},$,$.exports,E,C,A,N)}return A[j].exports}for(var _="function"==typeof require&&require,B=0;B (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"9.1.0",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build/index.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js",lint:"node ./scripts/prepublish/linter.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"^6.24.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1","browserify-glob":"^0.2.0","bundle-collapser":"^1.2.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",efrt:"0.0.6",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(E,C){"use strict";const N=E("../fns");C.exports=N.uncompress_suffixes(["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"],{erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"})},{"../fns":5}],3:[function(E,C){C.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],4:[function(E,C){"use strict";let D=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(let V=0;6>=V;V++)D.push(D[V]+"s");let _=["millisecond","minute","hour","day","week","month","year","decade"],B=_.length;for(let V=0;V{return Object.keys(D).forEach((_)=>{N[_]=D[_]}),N},A.uncompress_suffixes=function(N,D){const _=Object.keys(D),B=_.length;for(let j=0;j{D.extendObj(V,O)},F=(O,H)=>{const M=O.length;for(let S=0;S1{V[O]="Infinitive";const H=N.irregular_verbs[O];Object.keys(H).forEach((S)=>{H[S]&&(V[H[S]]=S)});const M=j(O);Object.keys(M).forEach((S)=>{M[S]&&!V[M[S]]&&(V[M[S]]=S)})}),N.verbs.forEach((O)=>{const H=j(O);Object.keys(H).forEach((M)=>{H[M]&&!V[H[M]]&&(V[H[M]]=M)}),V[B(O)]="Adjective"}),N.superlatives.forEach((O)=>{V[_.toNoun(O)]="Noun",V[_.toAdverb(O)]="Adverb",V[_.toSuperlative(O)]="Superlative",V[_.toComparative(O)]="Comparative"}),N.verbConverts.forEach((O)=>{V[_.toNoun(O)]="Noun",V[_.toAdverb(O)]="Adverb",V[_.toSuperlative(O)]="Superlative",V[_.toComparative(O)]="Comparative";const H=_.toVerb(O);V[H]="Verb";const M=j(H);Object.keys(M).forEach((S)=>{M[S]&&!V[M[S]]&&(V[M[S]]=S)})}),F(N.notable_people.female,"FemaleName"),F(N.notable_people.male,"MaleName"),F(N.titles,"Singular"),F(N.verbConverts,"Adjective"),F(N.superlatives,"Adjective"),F(N.currencies,"Currency"),z(N.misc),delete V[""],delete V[" "],delete V[null],C.exports=V},{"../result/subset/adjectives/methods":42,"../result/subset/verbs/methods/conjugate/faster":104,"../result/subset/verbs/methods/toAdjective":114,"./fns":5,"./index":6}],8:[function(E,C){C.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],9:[function(E,C){"use strict";const N={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},D={Organization:["20th century fox","3m","7-eleven","g8","motel 6","vh1"],Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise","as far as","as if","in case","provided that","supposing","no matter","yet"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock","all day","at night"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:E("./determiners"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},_=Object.keys(D);for(let B=0;B<_.length;B++){const j=D[_[B]];for(let V=0;V{return B[j[1]]=j[0],B},{}),_=N.reduce((B,j)=>{return B[j[0]]=j[1],B},{});C.exports={toSingle:D,toPlural:_}},{}],12:[function(E,C,A){A.male=["messiaen","saddam hussain","virgin mary","van gogh","mitt romney","barack obama","kanye west","mubarek","lebron james","emeril lagasse","rush limbaugh","carson palmer","ray romano","ronaldinho","valentino rossi","rod stewart","kiefer sutherland","denzel washington","dick wolf","tiger woods","adolf hitler","hulk hogan","ashton kutcher","kobe bryant","cardinal wolsey","slobodan milosevic"],A.female=["jk rowling","oprah winfrey","reese witherspoon","tyra banks","halle berry","paris hilton","scarlett johansson"]},{}],13:[function(E,C){C.exports=["lord","lady","king","queen","prince","princess","dutchess","president","excellency","professor","chancellor","father","pastor","brother","sister","doctor","captain","commander","general","lieutenant","reverend","rabbi","ayatullah","councillor","secretary","sultan","mayor","congressman","congresswoman"]},{}],14:[function(E,C){"use strict";let D=["denar","dobra","forint","kwanza","kyat","lempira","pound sterling","riel","yen","zloty","dollar","cent","penny","dime","dinar","euro","lira","pound","pence","peso","baht","sterling","rouble","shekel","sheqel","yuan","franc","rupee","shilling","krona","dirham","bitcoin"];const _={yen:"yen",baht:"baht",riel:"riel",penny:"pennies"};let B=D.length;for(let j=0;j{let j=Object.keys(N.ordinal[B]),V=Object.keys(N.cardinal[B]);for(let z=0;z{Object.keys(N[_]).forEach((B)=>{1{D[B[0]]=B[1]}),Object.keys(N).forEach((B)=>{D[B]?D[B].Participle=N[B]:D[B]={Participle:N[B]}}),C.exports=D},{"./participles":19}],19:[function(E,C){C.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],20:[function(E,C){"use strict";const N=E("../fns");C.exports=N.uncompress_suffixes(["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"],{prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"})},{"../fns":5}],21:[function(E,C,A){"use strict";const N=E("./tagset"),D={reset:"\x1B[0m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",black:"\x1B[30m"};"undefined"==typeof C&&Object.keys(D).forEach((_)=>{D[_]=""}),A.ensureString=(_)=>{if("string"==typeof _)return _;return"number"==typeof _?""+_:""},A.ensureObject=(_)=>{return"object"==typeof _?null===_||_ instanceof Array?{}:_:{}},A.titleCase=(_)=>{return _.charAt(0).toUpperCase()+_.substr(1)},A.copy=(_)=>{let B={};return _=A.ensureObject(_),Object.keys(_).forEach((j)=>{B[j]=_[j]}),B},A.extend=(_,B)=>{_=A.copy(_);const j=Object.keys(B);for(let V=0;V{_===void 0&&(_=!0),D=_},here:(_)=>{(!0===D||D===_)&&console.log(" "+_)},tell:(_,B)=>{(!0===D||D===B)&&("object"==typeof _&&(_=JSON.stringify(_)),_=" "+_,console.log(_))},tag:(_,B,j)=>{if(!0===D||"tagger"===D){let V=_.normal||"["+_.silent_term+"]";V=N.yellow(V),V=N.leftPad("'"+V+"'",20),V+=" -> "+N.printTag(B),V=N.leftPad(V,54),console.log(" "+V+"("+N.cyan(j||"")+")")}},unTag:(_,B,j)=>{if(!0===D||"tagger"===D){let V="-"+_.normal+"-";V=N.red(V),V=N.leftPad(V,20),V+=" ~* "+N.red(B),V=N.leftPad(V,54),console.log(" "+V+"("+N.red(j||"")+")")}}}},{"../fns":21}],24:[function(E,C){"use strict";const N=E("./index"),D=E("./tokenize"),_=E("./paths"),B=_.Terms,j=_.fns,V=E("../term/methods/normalize/normalize").normalize,z=function($){return $=$||{},Object.keys($).reduce((G,O)=>{G[O]=$[O];let H=V(O);return H=H.replace(/\s+/," "),H=H.replace(/[.\?\!]/g,""),O!==H&&(G[H]=$[O]),G},{})};C.exports=($,G)=>{let O=[];j.isArray($)?O=$:($=j.ensureString($),O=D($)),G=z(G);let H=O.map((S)=>B.fromString(S,G)),M=new N(H,G);return M.list.forEach((S)=>{S.refText=M}),M}},{"../term/methods/normalize/normalize":175,"./index":26,"./paths":38,"./tokenize":120}],25:[function(E,C){C.exports={found:function(){return 0{return this.list.forEach((D)=>{D.whitespace.before(N)}),this},after:(N)=>{return this.list.forEach((D)=>{D.whitespace.after(N)}),this}}}}},{}],26:[function(E,C){"use strict";function N(B,j,V){this.list=B||[],this.lexicon=j,this.reference=V;let z=Object.keys(D);for(let F=0;F{N.prototype[B]=function(j,V){let z=_[B],F=z.find(this,j,V);return new _[B](F.list,this.lexicon,this.parent)}})},{"./getters":25,"./methods/loops":27,"./methods/match":28,"./methods/misc":29,"./methods/normalize":30,"./methods/out":31,"./methods/sort":35,"./methods/split":37,"./subset/acronyms":39,"./subset/adjectives":40,"./subset/adverbs":48,"./subset/contractions":54,"./subset/dates":56,"./subset/ngrams":66,"./subset/ngrams/endGrams":63,"./subset/ngrams/startGrams":67,"./subset/nouns":69,"./subset/people":79,"./subset/sentences":81,"./subset/terms":86,"./subset/values":87,"./subset/verbs":100,"./subsets":119}],27:[function(E,C){"use strict";const N=["toTitleCase","toUpperCase","toLowerCase","toCamelCase","hyphenate","dehyphenate","insertBefore","insertAfter","insertAt","replace","replaceWith","delete","lump","tagger","unTag"];C.exports=(_)=>{N.forEach((B)=>{_.prototype[B]=function(){for(let j=0;j{const j=function($,G,O){let H=[];G=N(G),$.list.forEach((S)=>{let I=S.match(G,O);I.list.forEach((q)=>{H.push(q)})});let M=$.parent||$;return new B(H,$.lexicon,M)},V=function($,G){let O=[];return $.list.forEach((H)=>{H.terms.forEach((M)=>{G[M.normal]&&O.push(M)})}),O=O.map((H)=>{return new D([H],$.lexicon,$,H.parentTerms)}),new B(O,$.lexicon,$.parent)},z=function($,G){let O=G.reduce((H,M)=>{return H[M]=!0,H},{});return V($,O)},F={match:function($,G){if(0===this.list.length||void 0===$||null===$){let H=this.parent||this;return new B([],this.lexicon,H)}if("string"==typeof $||"number"==typeof $)return j(this,$,G);let O=Object.prototype.toString.call($);return"[object Array]"===O?z(this,$):"[object Object]"===O?V(this,$):this},not:function($,G){let O=[];this.list.forEach((M)=>{let S=M.not($,G);O=O.concat(S.list)});let H=this.parent||this;return new B(O,this.lexicon,H)},if:function($){let G=[];for(let H=0;H{_.addMethods(_,{all:function(){return this.parent},index:function(){return this.list.map((j)=>j.index())},wordCount:function(){return this.terms().length},data:function(){return this.list.map((j)=>j.data())},debug:function(j){return out(this,"debug",j)},clone:function(){let j=this.list.map((V)=>{return V.clone()});return new _(j)},term:function(j){let V=this.list.map((z)=>{let F=[],$=z.terms[j];return $&&(F=[$]),new N(F,this.lexicon,this.refText,this.refTerms)});return new _(V,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(j,V){return this.list=this.list.slice(j,V),this},get:function(j){if(!j&&0!==j||!this.list[j])return new _([],this.lexicon,this.parent);let V=this.list[j];return new _([V],this.lexicon,this.parent)},first:function(j){return j||0===j?new _(this.list.slice(0,j),this.lexicon,this.parent):this.get(0)},last:function(j){if(!j&&0!==j)return this.get(this.list.length-1);let V=this.list.length;return new _(this.list.slice(V-j,V),this.lexicon,this.parent)},concat:function(){for(let j=0,V;j{j=j.concat(z.terms)}),!j.length)return new _(null,this.lexicon,this.parent);let V=new N(j,this.lexicon,this,null);return new _([V],this.lexicon,this.parent)},canBe:function(j){return this.list.forEach((V)=>{V.terms=V.terms.filter((z)=>{return z.canBe(j)})}),this}})}},{"../../terms":189}],30:[function(E,C){"use strict";const N={whitespace:!0,case:!0,numbers:!0,punctuation:!0,unicode:!0,contractions:!0},D={whitespace:(B)=>{return B.terms().list.forEach((j,V)=>{let z=j.terms[0];0{return B.list.forEach((j)=>{j.terms.forEach((V,z)=>{0===z||V.tags.Person||V.tags.Place||V.tags.Organization?j.toTitleCase():j.toLowerCase()})}),B},numbers:(B)=>{return B.values().toNumber()},punctuation:(B)=>{return B.list.forEach((j)=>{j.terms[0]._text=j.terms[0]._text.replace(/^¿/,"");for(let z=0,F;z{return B.contractions().expand()}};C.exports=(B)=>{B.prototype.normalize=function(j){return j=j||N,Object.keys(j).forEach((V)=>{void 0!==D[V]&&D[V](this)}),this}}},{}],31:[function(E,C){"use strict";const N=E("./topk"),D=E("./offset"),_=E("./indexes"),B={text:(V)=>{return V.list.reduce((z,F)=>{return z+=F.out("text"),z},"")},normal:(V)=>{return V.list.map((z)=>{let F=z.out("normal"),$=z.last();if($){let G=$.endPunctuation();("."===G||"!"===G||"?"===G)&&(F+=G)}return F}).join(" ")},root:(V)=>{return V.list.map((z)=>{return z.out("root")}).join(" ")},offsets:(V)=>{return D(V)},index:(V)=>{return _(V)},grid:(V)=>{return V.list.reduce((z,F)=>{return z+=F.out("grid"),z},"")},color:(V)=>{return V.list.reduce((z,F)=>{return z+=F.out("color"),z},"")},array:(V)=>{return V.list.reduce((z,F)=>{return z.push(F.out("normal")),z},[])},json:(V)=>{return V.list.reduce((z,F)=>{let $=F.terms.map((G)=>{return{text:G.text,normal:G.normal,tags:G.tag}});return z.push($),z},[])},html:(V)=>{let z=V.list.reduce((F,$)=>{let G=$.terms.reduce((O,H)=>{return O+="\n "+H.out("html"),O},"");return F+="\n "+G+"\n "},"");return" "+z+"\n"},terms:(V)=>{let z=[];return V.list.forEach((F)=>{F.terms.forEach(($)=>{z.push({text:$.text,normal:$.normal,tags:Object.keys($.tags)})})}),z},debug:(V)=>{return console.log("===="),V.list.forEach((z)=>{console.log(" --"),z.debug()}),V},topk:(V)=>{return N(V)}};B.plaintext=B.text,B.normalized=B.normal,B.colors=B.color,B.tags=B.terms,B.offset=B.offsets,B.idexes=B.index,B.frequency=B.topk,B.freq=B.topk,B.arr=B.array;C.exports=(V)=>{return V.prototype.out=function(z){return B[z]?B[z](this):B.text(this)},V.prototype.debug=function(){return B.debug(this)},V}},{"./indexes":32,"./offset":33,"./topk":34}],32:[function(E,C){"use strict";C.exports=(D)=>{let _=[],B={};D.terms().list.forEach((z)=>{B[z.terms[0].uid]=!0});let j=0,V=D.all();return V.list.forEach((z,F)=>{z.terms.forEach(($,G)=>{void 0!==B[$.uid]&&_.push({text:$.text,normal:$.normal,term:j,sentence:F,sentenceTerm:G}),j+=1})}),_}},{}],33:[function(E,C){"use strict";const N=(B,j)=>{let V=0;for(let z=0;z=j.length)return B.out("normal");let V=j[0].normal;for(let z=1,F;z{let j=B.all();return B.list.map((V)=>{let z=[];for(let M=0;M{let z=V.out("root");B[z]=B[z]||0,B[z]+=1});let j=[];return Object.keys(B).forEach((V)=>{j.push({normal:V,count:B[V]})}),j.forEach((V)=>{V.percent=parseFloat((100*(V.count/D.list.length)).toFixed(2))}),j=j.sort((V,z)=>{return V.count>z.count?-1:1}),_&&(j=j.splice(0,_)),j}},{}],35:[function(E,C){"use strict";const N=E("./methods");C.exports=(_)=>{return _.addMethods(_,{sort:function(j){return j=j||"alphabetical",j=j.toLowerCase(),j&&"alpha"!==j&&"alphabetical"!==j?"chron"===j||"chronological"===j?N.chron(this,_):"length"===j?N.lengthFn(this,_):"freq"===j||"frequency"===j?N.freq(this,_):"wordcount"===j?N.wordCount(this,_):this:N.alpha(this,_)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){let j={};return this.list=this.list.filter((V)=>{let z=V.out("root");return!j[z]&&(j[z]=!0,!0)}),this}}),_}},{"./methods":36}],36:[function(E,C,A){"use strict";const N=function(D){return D=D.sort((_,B)=>{return _.index>B.index?1:_.index===B.index?0:-1}),D.map((_)=>_.ts)};A.alpha=function(D){return D.list.sort((_,B)=>{if(_===B)return 0;if(_.terms[0]&&B.terms[0]){if(_.terms[0].root>B.terms[0].root)return 1;if(_.terms[0].rootB.out("root")?1:-1}),D},A.chron=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.termIndex()}});return D.list=N(_),D},A.lengthFn=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.chars()}});return D.list=N(_).reverse(),D},A.wordCount=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.length}});return D.list=N(_),D},A.freq=function(D){let _={};D.list.forEach((j)=>{let V=j.out("root");_[V]=_[V]||0,_[V]+=1});let B=D.list.map((j)=>{let V=_[j.out("root")]||0;return{ts:j,index:-1*V}});return D.list=N(B),D}},{}],37:[function(E,C){"use strict";C.exports=(D)=>{return D.addMethods(D,{splitAfter:function(B,j){let V=[];return this.list.forEach((z)=>{z.splitAfter(B,j).forEach((F)=>{V.push(F)})}),this.list=V,this},splitBefore:function(B,j){let V=[];return this.list.forEach((z)=>{z.splitBefore(B,j).forEach((F)=>{V.push(F)})}),this.list=V,this},splitOn:function(B,j){let V=[];return this.list.forEach((z)=>{z.splitOn(B,j).forEach((F)=>{V.push(F)})}),this.list=V,this}}),D}},{}],38:[function(E,C){C.exports={fns:E("../fns"),data:E("../data"),Terms:E("../terms"),tags:E("../tagset")}},{"../data":6,"../fns":21,"../tagset":163,"../terms":189}],39:[function(E,C){"use strict";const N=E("../../index");C.exports=N.makeSubset({data:function(){return this.terms().list.map((B)=>{let j=B.terms[0],V=j.text.toUpperCase().replace(/\./g).split("");return{periods:V.join("."),normal:V.join(""),text:j.text}})}},function(B,j){return B=B.match("#Acronym"),"number"==typeof j&&(B=B.get(j)),B})},{"../../index":26}],40:[function(E,C){"use strict";const N=E("../../index"),D=E("./methods");C.exports=N.makeSubset({data:function(){return this.list.map((j)=>{const V=j.out("normal");return{comparative:D.toComparative(V),superlative:D.toSuperlative(V),adverbForm:D.toAdverb(V),nounForm:D.toNoun(V),verbForm:D.toVerb(V),normal:V,text:this.out("text")}})}},function(j,V){return j=j.match("#Adjective"),"number"==typeof V&&(j=j.get(V)),j})},{"../../index":26,"./methods":42}],41:[function(E,C){"use strict";const N=E("../../../../data"),D={};N.superlatives=N.superlatives||[],N.superlatives.forEach((_)=>{D[_]=!0}),N.verbConverts=N.verbConverts||[],N.verbConverts.forEach((_)=>{D[_]=!0}),C.exports=D},{"../../../../data":6}],42:[function(E,C){"use strict";C.exports={toNoun:E("./toNoun"),toSuperlative:E("./toSuperlative"),toComparative:E("./toComparative"),toAdverb:E("./toAdverb"),toVerb:E("./toVerb")}},{"./toAdverb":43,"./toComparative":44,"./toNoun":45,"./toSuperlative":46,"./toVerb":47}],43:[function(E,C){"use strict";C.exports=function(D){const _={idle:"idly","public":"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},j=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],V=[/airs$/,/ll$/,/ee.$/,/ile$/];if(1==={foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,"super":1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1}[D])return null;if(void 0!==_[D])return _[D];if(3>=D.length)return null;for(let z=0;z{return j[V]=!0,j},{});C.exports=(j)=>{return _[j]?D[j]?D[j]:!0===/e$/.test(j)?j+"n":j+"en":j}},{"../../../../data":6}],48:[function(E,C){"use strict";const N=E("../../index"),D=E("./toAdjective");C.exports=N.makeSubset({data:function(){return this.terms().list.map((j)=>{let V=j.terms[0];return{adjectiveForm:D(V.normal),normal:V.normal,text:V.text}})}},function(j,V){return j=j.match("#Adverb+"),"number"==typeof V&&(j=j.get(V)),j})},{"../../index":26,"./toAdjective":49}],49:[function(E,C){"use strict";const N={idly:"idle",sporadically:"sporadic",basically:"basic",grammatically:"grammatical",alphabetically:"alphabetical",economically:"economical",conically:"conical",politically:"political",vertically:"vertical",practically:"practical",theoretically:"theoretical",critically:"critical",fantastically:"fantastic",mystically:"mystical",pornographically:"pornographic",fully:"full",jolly:"jolly",wholly:"whole"},D=[{reg:/bly$/i,repl:"ble"},{reg:/gically$/i,repl:"gical"},{reg:/([rsdh])ically$/i,repl:"$1ical"},{reg:/ically$/i,repl:"ic"},{reg:/uly$/i,repl:"ue"},{reg:/ily$/i,repl:"y"},{reg:/(.{3})ly$/i,repl:"$1"}];C.exports=function(B){if(N.hasOwnProperty(B))return N[B];for(let j=0;j{B.whitespace.after=_.whitespace.after,_.whitespace.after="",B.whitespace.before="",_.silent_term=_.text,B.silent_term=B.text,B.text="",_.tag("Contraction","new-contraction"),B.tag("Contraction","new-contraction")};C.exports=function(_){return!1===_.expanded||_.match("#Contraction").found?_:(_.match("(#Noun|#QuestionWord) is").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'s",B.contracted=!0}),_.match("#PronNoun did").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("#QuestionWord (did|do)").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("#Noun (could|would)").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("(they|we|you) are").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'re",B.contracted=!0}),_.match("i am").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'m",B.contracted=!0}),_.match("(#Noun|#QuestionWord) will").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'ll",B.contracted=!0}),_.match("(they|we|you|i) have").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'ve",B.contracted=!0}),_.match("(#Copula|#Modal|do) not").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="n't",B.contracted=!0}),_)}},{}],51:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./contract"),_=E("./expand"),B=function(j,V,z){N.call(this,j,V,z)};B.prototype=Object.create(N.prototype),B.prototype.data=function(){let j=_(this.clone()),V=D(this.clone());return{text:this.out("text"),normal:this.out("normal"),expanded:{normal:j.out("normal"),text:j.out("text")},contracted:{normal:V.out("normal"),text:V.out("text")},isContracted:!!this.contracted}},B.prototype.expand=function(){return _(this)},B.prototype.contract=function(){return D(this)},C.exports=B},{"../../paths":38,"./contract":50,"./expand":52}],52:[function(E,C){"use strict";C.exports=function(D){return!1===D.contracted?D:(D.terms.forEach((_)=>{_.silent_term&&(!_.text&&(_.whitespace.before=" "),_._text=_.silent_term,_.normalize(),_.silent_term=null,_.unTag("Contraction","expanded"))}),D)}},{}],53:[function(E,C){"use strict";C.exports=(D)=>{let _=D.not("#Contraction"),B=_.match("(#Noun|#QuestionWord) (#Copula|did|do|have|had|could|would|will)");return B.concat(_.match("(they|we|you|i) have")),B.concat(_.match("i am")),B.concat(_.match("(#Copula|#Modal|do) not")),B.list.forEach((j)=>{j.expanded=!0}),B}},{}],54:[function(E,C){"use strict";const N=E("../../index"),D=E("./contraction"),_=E("./findPossible");C.exports=N.makeSubset({contract:function(){return this.list.forEach((V)=>V.contract()),this},expand:function(){return this.list.forEach((V)=>V.expand()),this},contracted:function(){return this.list=this.list.filter((V)=>{return V.contracted}),this},expanded:function(){return this.list=this.list.filter((V)=>{return!V.contracted}),this}},function(V,z){let F=V.match("#Contraction #Contraction #Contraction?");F.list=F.list.map((G)=>{let O=new D(G.terms,G.lexicon,G.refText,G.refTerms);return O.contracted=!0,O});let $=_(V);return $.list.forEach((G)=>{let O=new D(G.terms,G.lexicon,G.refText,G.refTerms);O.contracted=!1,F.list.push(O)}),F.sort("chronological"),"number"==typeof z&&(F=F.get(z)),F})},{"../../index":26,"./contraction":51,"./findPossible":53}],55:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./parseDate"),_=function(B,j,V){N.call(this,B,j,V),this.month=this.match("#Month")};_.prototype=Object.create(N.prototype),_.prototype.data=function(){return{text:this.out("text"),normal:this.out("normal"),date:D(this)}},C.exports=_},{"../../paths":38,"./parseDate":59}],56:[function(E,C){"use strict";const N=E("../../index"),D=E("./date"),_=E("./weekday"),B=E("./month");C.exports=N.makeSubset({toShortForm:function(){return this.match("#Month").terms().list.forEach((z)=>{let F=z.terms[0];B.toShortForm(F)}),this.match("#WeekDay").terms().list.forEach((z)=>{let F=z.terms[0];_.toShortForm(F)}),this},toLongForm:function(){return this.match("#Month").terms().list.forEach((z)=>{let F=z.terms[0];B.toLongForm(F)}),this.match("#WeekDay").terms().list.forEach((z)=>{let F=z.terms[0];_.toLongForm(F)}),this}},function(z,F){let $=z.match("#Date+");return"number"==typeof F&&($=$.get(F)),$.list=$.list.map((G)=>{return new D(G.terms,G.lexicon,G.refText,G.refTerms)}),$})},{"../../index":26,"./date":55,"./month":58,"./weekday":62}],57:[function(E,C,A){A.longMonths={january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11},A.shortMonths={jan:0,feb:1,febr:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,sept:8,oct:9,nov:10,dec:11}},{}],58:[function(E,C){"use strict";const N=E("./data"),D=N.shortMonths,_=N.longMonths;C.exports={index:function(B){if(B.tags.Month){if(_[B.normal]!==void 0)return _[B.normal];if(void 0!==D[B.normal])return D[B.normal]}return null},toShortForm:function(B){if(void 0!==B.tags.Month&&void 0!==_[B.normal]){let j=Object.keys(D);B.text=j[_[B.normal]]}return B.dirty=!0,B},toLongForm:function(B){if(void 0!==B.tags.Month&&void 0!==D[B.normal]){let j=Object.keys(_);B.text=j[D[B.normal]]}return B.dirty=!0,B}}},{"./data":57}],59:[function(E,C){"use strict";const N=E("./parseTime"),D=E("./weekday"),_=E("./month"),B=(z)=>{return z&&31>z&&0{return z&&1e3z};C.exports=(z)=>{let F={month:null,date:null,weekday:null,year:null,named:null,time:null},$=z.match("(#Holiday|today|tomorrow|yesterday)");if($.found&&(F.named=$.out("normal")),$=z.match("#Month"),$.found&&(F.month=_.index($.list[0].terms[0])),$=z.match("#WeekDay"),$.found&&(F.weekday=D.index($.list[0].terms[0])),$=z.match("#Time"),$.found&&(F.time=N(z),z.not("#Time")),$=z.match("#Month #Value #Year"),$.found){let G=$.values().numbers();B(G[0])&&(F.date=G[0]);let O=parseInt(z.match("#Year").out("normal"),10);j(O)&&(F.year=O)}if(!$.found){if($=z.match("#Month #Value"),$.found){let G=$.values().numbers(),O=G[0];B(O)&&(F.date=O)}if($=z.match("#Month #Year"),$.found){let G=parseInt(z.match("#Year").out("normal"),10);j(G)&&(F.year=G)}}if($=z.match("#Value of #Month"),$.found){let G=$.values().numbers()[0];B(G)&&(F.date=G)}return F}},{"./month":58,"./parseTime":60,"./weekday":62}],60:[function(E,C){"use strict";const N=/([12]?[0-9]) ?(am|pm)/i,D=/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i,_=(V)=>{return V&&0V},B=(V)=>{return V&&0V};C.exports=(V)=>{let z={logic:null,hour:null,minute:null,second:null,timezone:null},F=V.match("(by|before|for|during|at|until|after) #Time").firstTerm();F.found&&(z.logic=F.out("normal"));let $=V.match("#Time");return $.terms().list.forEach((G)=>{let O=G.terms[0],H=O.text.match(N);null!==H&&(z.hour=parseInt(H[1],10),"pm"===H[2]&&(z.hour+=12),!1===_(z.hour)&&(z.hour=null)),H=O.text.match(D),null!==H&&(z.hour=parseInt(H[1],10),z.minute=parseInt(H[2],10),!B(z.minute)&&(z.minute=null),"pm"===H[3]&&(z.hour+=12),!1===_(z.hour)&&(z.hour=null))}),z}},{}],61:[function(E,C,A){A.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},A.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],62:[function(E,C){"use strict";const N=E("./data"),D=N.shortDays,_=N.longDays;C.exports={index:function(B){if(B.tags.WeekDay){if(_[B.normal]!==void 0)return _[B.normal];if(void 0!==D[B.normal])return D[B.normal]}return null},toShortForm:function(B){if(B.tags.WeekDay&&void 0!==_[B.normal]){let j=Object.keys(D);B.text=j[_[B.normal]]}return B},toLongForm:function(B){if(B.tags.WeekDay&&void 0!==D[B.normal]){let j=Object.keys(_);B.text=j[D[B.normal]]}return B}}},{"./data":61}],63:[function(E,C){"use strict";const N=E("./index"),D=E("./getGrams"),_=function(B,j,V){N.call(this,B,j,V)};_.prototype=Object.create(N.prototype),_.find=function(B,j,V){let z={size:[1,2,3,4],edge:"end"};V&&(z.size=[V]);let F=D(B,z);return B=new _(F),B.sort(),"number"==typeof j&&(B=B.get(j)),B},C.exports=_},{"./getGrams":64,"./index":66}],64:[function(E,C){"use strict";const N=E("./gram"),D=function(V,z){let F=V.terms;if(F.length{V.list.forEach((O)=>{let H=[];H="start"===z.edge?_(O,G):"end"===z.edge?B(O,G):D(O,G),H.forEach((M)=>{F[M.key]?F[M.key].inc():F[M.key]=M})})});let $=Object.keys(F).map((G)=>F[G]);return $}},{"./gram":65}],65:[function(E,C){"use strict";const N=E("../../paths").Terms,D=function(_,B,j){N.call(this,_,B,j),this.key=this.out("normal"),this.size=_.length,this.count=1};D.prototype=Object.create(N.prototype),D.prototype.inc=function(){this.count+=1},C.exports=D},{"../../paths":38}],66:[function(E,C){"use strict";const N=E("../../index"),D=E("./getGrams"),_=function(V){return V.list=V.list.sort((z,F)=>{return z.count>F.count?-1:z.count===F.count&&(z.size>F.size||z.key.length>F.key.length)?-1:1}),V};C.exports=N.makeSubset({data:function(){return this.list.map((V)=>{return{normal:V.out("normal"),count:V.count,size:V.size}})},unigrams:function(){return this.list=this.list.filter((V)=>1===V.size),this},bigrams:function(){return this.list=this.list.filter((V)=>2===V.size),this},trigrams:function(){return this.list=this.list.filter((V)=>3===V.size),this},sort:function(){return _(this)}},function(V,z,F){let $={size:[1,2,3,4]};F&&($.size=[F]);let G=D(V,$);return V=new N(G),V=_(V),"number"==typeof z&&(V=V.get(z)),V})},{"../../index":26,"./getGrams":64}],67:[function(E,C){"use strict";const N=E("./index"),D=E("./getGrams"),_=function(B,j,V){N.call(this,B,j,V)};_.prototype=Object.create(N.prototype),_.find=function(B,j,V){let z={size:[1,2,3,4],edge:"start"};V&&(z.size=[V]);let F=D(B,z);return B=new _(F),B.sort(),"number"==typeof j&&(B=B.get(j)),B},C.exports=_},{"./getGrams":64,"./index":66}],68:[function(E,C){"use strict";const N=E("../../../tries").utils.uncountable;C.exports=function(_){if(!_.tags.Noun)return!1;if(_.tags.Plural)return!0;const B=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"];for(let j=0;jj.isPlural())},hasPlural:function(){return this.list.map((j)=>j.hasPlural())},toPlural:function(){return this.list.forEach((j)=>j.toPlural()),this},toSingular:function(){return this.list.forEach((j)=>j.toSingular()),this}},function(j,V){return j=j.clauses(),j=j.match("#Noun+"),j=j.not("#Pronoun"),j=j.not("(#Month|#WeekDay)"),"number"==typeof V&&(j=j.get(V)),j.list=j.list.map((z)=>{return new D(z.terms,z.lexicon,z.refText,z.refTerms)}),j})},{"../../index":26,"./noun":77}],70:[function(E,C){"use strict";const N=E("../../../data").irregular_plurals,D=E("./methods/data/indicators"),_=/([a-z]*) (of|in|by|for) [a-z]/,B={i:!1,he:!1,she:!1,we:!0,they:!0},j=["Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],V=function(F){for(let $=0;${F.prototype[$]=z[$]}),C.exports=F},{"../../paths":38,"./hasPlural":68,"./isPlural":70,"./makeArticle":71,"./methods/pluralize":75,"./methods/singularize":76}],78:[function(E,C){"use strict";C.exports=function(D){return D?!0===/.(i|ee|[a|e]y|a)$/.test(D)?"Female":!0===/[ou]$/.test(D)?"Male":!0===/(nn|ll|tt)/.test(D)?"Female":null:null}},{}],79:[function(E,C){"use strict";const N=E("../../index"),D=E("./person");C.exports=N.makeSubset({pronoun:function(){return this.list.map((j)=>j.pronoun())}},function(j,V){let z=j.clauses();return z=z.match("#Person+"),"number"==typeof V&&(z=z.get(V)),z.list=z.list.map((F)=>{return new D(F.terms,F.lexicon,F.refText,F.refTerms)}),z})},{"../../index":26,"./person":80}],80:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./guessGender"),_=function(j,V,z,F){if(N.call(this,j,V,z,F),this.firstName=this.match("#FirstName+"),this.middleName=this.match("#Acronym+"),this.honorifics=this.match("#Honorific"),this.lastName=this.match("#LastName+"),!this.firstName.found&&1{_.prototype[j]=B[j]}),C.exports=_},{"../../paths":38,"./guessGender":78}],81:[function(E,C){"use strict";const N=E("../../index"),D=E("./sentence");C.exports=N.makeSubset({toPastTense:function(){return this.list=this.list.map((j)=>{return j=j.toPastTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toPresentTense:function(){return this.list=this.list.map((j)=>{return j=j.toPresentTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toFutureTense:function(){return this.list=this.list.map((j)=>{return j=j.toFutureTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toNegative:function(){return this.list=this.list.map((j)=>{return j=j.toNegative(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toPositive:function(){return this.list=this.list.map((j)=>{return j=j.toPositive(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},isPassive:function(){return this.list=this.list.filter((j)=>{return j.isPassive()}),this},prepend:function(j){return this.list=this.list.map((V)=>{return V.prepend(j)}),this},append:function(j){return this.list=this.list.map((V)=>{return V.append(j)}),this},toExclamation:function(){return this.list.forEach((j)=>{j.setPunctuation("!")}),this},toQuestion:function(){return this.list.forEach((j)=>{j.setPunctuation("?")}),this},toStatement:function(){return this.list.forEach((j)=>{j.setPunctuation(".")}),this}},function(j,V){return j=j.all(),"number"==typeof V&&(j=j.get(V)),j.list=j.list.map((z)=>{return new D(z.terms,z.lexicon,z.refText,z.refTerms)}),j})},{"../../index":26,"./sentence":82}],82:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./toNegative"),_=E("./toPositive"),B=E("../verbs/verb"),j=E("./smartInsert"),V={toSingular:function(){let F=this.match("#Noun").match("!#Pronoun").firstTerm();return F.things().toSingular(),this},toPlural:function(){let F=this.match("#Noun").match("!#Pronoun").firstTerm();return F.things().toPlural(),this},mainVerb:function(){let F=this.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb");return F.found?(F=F.list[0].terms,new B(F,this.lexicon,this.refText,this.refTerms)):null},toPastTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toPastTense();let G=F.out("normal"),O=this.parentTerms.replace($,G);return O}return this},toPresentTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toPresentTense();let G=F.out("normal");return this.parentTerms.replace($,G)}return this},toFutureTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toFutureTense();let G=F.out("normal");return this.parentTerms.replace($,G)}return this},isNegative:function(){return 1===this.match("#Negative").list.length},toNegative:function(){return this.isNegative()?this:D(this)},toPositive:function(){return this.isNegative()?_(this):this},append:function(F){return j.append(this,F)},prepend:function(F){return j.prepend(this,F)},setPunctuation:function(F){let $=this.terms[this.terms.length-1];$.setPunctuation(F)},getPunctuation:function(){let F=this.terms[this.terms.length-1];return F.getPunctuation()},isPassive:function(){return this.match("was #Adverb? #PastTense #Adverb? by").found}},z=function(F,$,G,O){N.call(this,F,$,G,O),this.t=this.terms[0]};z.prototype=Object.create(N.prototype),Object.keys(V).forEach((F)=>{z.prototype[F]=V[F]}),C.exports=z},{"../../paths":38,"../verbs/verb":118,"./smartInsert":83,"./toNegative":84,"./toPositive":85}],83:[function(E,C){"use strict";const N=/^[A-Z]/;C.exports={append:(B,j)=>{let V=B.terms[B.terms.length-1],z=V.endPunctuation();z&&V.killPunctuation(),B.insertAt(B.terms.length,j);let F=B.terms[B.terms.length-1];return z&&(F.text+=z),V.whitespace.after&&(F.whitespace.after=V.whitespace.after,V.whitespace.after=""),B},prepend:(B,j)=>{let V=B.terms[0];if(B.insertAt(0,j),N.test(V.text)){!1===V.needsTitleCase()&&V.toLowerCase();let z=B.terms[0];z.toTitleCase()}return B}}},{}],84:[function(E,C){"use strict";const N={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"};C.exports=(_)=>{let B=_.match("(everyone|everybody|someone|somebody|always)").first();if(B.found&&N[B.out("normal")]){let V=B.out("normal");return _=_.match(V).replaceWith(N[V]).list[0],_.parentTerms}let j=_.mainVerb();return j&&j.toNegative(),_}},{}],85:[function(E,C){"use strict";const N={never:"always",nothing:"everything"};C.exports=(_)=>{let B=_.match("(never|nothing)").first();if(B.found){let j=B.out("normal");if(N[j])return _=_.match(j).replaceWith(N[j]).list[0],_.parentTerms}return _.delete("#Negative"),_}},{}],86:[function(E,C){"use strict";const N=E("../../index"),D=E("../../paths").Terms;C.exports=N.makeSubset({data:function(){return this.list.map((j)=>{let V=j.terms[0];return{spaceBefore:V.whitespace.before,text:V.text,spaceAfter:V.whitespace.after,normal:V.normal,implicit:V.silent_term,bestTag:V.bestTag(),tags:Object.keys(V.tags)}})}},function(j,V){let z=[];return j.list.forEach((F)=>{F.terms.forEach(($)=>{z.push(new D([$],F.lexicon,j))})}),j=new N(z,j.lexicon,j.parent),"number"==typeof V&&(j=j.get(V)),j})},{"../../index":26,"../../paths":38}],87:[function(E,C){"use strict";const N=E("../../index"),D=E("./value");C.exports=N.makeSubset({noDates:function(){return this.not("#Date")},numbers:function(){return this.list.map((j)=>{return j.number()})},toNumber:function(){return this.list=this.list.map((j)=>{return j.toNumber()}),this},toTextValue:function(){return this.list=this.list.map((j)=>{return j.toTextValue()}),this},toCardinal:function(){return this.list=this.list.map((j)=>{return j.toCardinal()}),this},toOrdinal:function(){return this.list=this.list.map((j)=>{return j.toOrdinal()}),this},toNiceNumber:function(){return this.list=this.list.map((j)=>{return j.toNiceNumber()}),this}},function(j,V){return j=j.match("#Value+"),j.splitOn("#Year"),"number"==typeof V&&(j=j.get(V)),j.list=j.list.map((z)=>{return new D(z.terms,z.lexicon,z.refText,z.refTerms)}),j})},{"../../index":26,"./value":99}],88:[function(E,C){"use strict";const N=E("../toNumber");C.exports=function(_){let B=N(_);if(!B&&0!==B)return null;let j=B%100;if(10j)return""+B+"th";const V={0:"th",1:"st",2:"nd",3:"rd"};let z=""+B,F=z.slice(z.length-1,z.length);return z+=V[F]?V[F]:"th",z}},{"../toNumber":94}],89:[function(E,C){C.exports=E("../../paths")},{"../../paths":38}],90:[function(E,C){"use strict";const N=E("../toNumber"),D=E("../toText"),_=E("../../../paths").data.ordinalMap.toOrdinal;C.exports=(j)=>{let V=N(j),z=D(V),F=z[z.length-1];return z[z.length-1]=_[F]||F,z.join(" ")}},{"../../../paths":38,"../toNumber":94,"../toText":98}],91:[function(E,C){"use strict";C.exports=function(D){if(!D&&0!==D)return null;D=""+D;let _=D.split("."),B=_[0],j=1<_.length?"."+_[1]:"",V=/(\d+)(\d{3})/;for(;V.test(B);)B=B.replace(V,"$1,$2");return B+j}},{}],92:[function(E,C){const N=E("../paths"),D=N.data.numbers,_=N.fns,B=_.extend(D.ordinal.ones,D.cardinal.ones),j=_.extend(D.ordinal.teens,D.cardinal.teens),V=_.extend(D.ordinal.tens,D.cardinal.tens),z=_.extend(D.ordinal.multiples,D.cardinal.multiples);C.exports={ones:B,teens:j,tens:V,multiples:z}},{"../paths":89}],93:[function(E,C){"use strict";C.exports=(D)=>{const _=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:0.5}];for(let B=0;B<_.length;B++)if(!0===_[B].reg.test(D))return{amount:_[B].mult,str:D.replace(_[B].reg,"")};return{amount:1,str:D}}},{}],94:[function(E,C){"use strict";const N=E("./parseNumeric"),D=E("./findModifiers"),_=E("./data"),B=E("./validate"),j=E("./parseDecimals"),V=/^([0-9,\. ]+)\/([0-9,\. ]+)$/,z={"a couple":2,"a dozen":12,"two dozen":24,zero:0},F=(O)=>{return Object.keys(O).reduce((H,M)=>{return H+=O[M],H},0)},$=(O)=>{for(let H=0;H{return D=D.replace(/1st$/,"1"),D=D.replace(/2nd$/,"2"),D=D.replace(/3rd$/,"3"),D=D.replace(/([4567890])r?th$/,"$1"),D=D.replace(/^[$€¥£¢]/,""),D=D.replace(/[%$€¥£¢]$/,""),D=D.replace(/,/g,""),D=D.replace(/([0-9])([a-z]{1,2})$/,"$1"),parseFloat(D)}},{}],97:[function(E,C){"use strict";const N=E("./data");C.exports=(_,B)=>{if(N.ones[_]){if(B.ones||B.teens)return!1;}else if(N.teens[_]){if(B.ones||B.teens||B.tens)return!1;}else if(N.tens[_]&&(B.ones||B.teens||B.tens))return!1;return!0}},{"./data":92}],98:[function(E,C){"use strict";const N=function(j){let V=j,z=[];return[[1000000000,"million"],[100000000,"hundred million"],[1000000,"million"],[100000,"hundred thousand"],[1000,"thousand"],[100,"hundred"],[1,"one"]].forEach(($)=>{if(j>$[0]){let G=Math.floor(V/$[0]);V-=G*$[0],G&&z.push({unit:$[1],count:G})}}),z},D=function(j){const V=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],z=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"];let F=[];for(let $=0;$=V[$][1]&&(j-=V[$][1],F.push(V[$][0]));return z[j]&&F.push(z[j]),F},_=(j)=>{const V=["zero","one","two","three","four","five","six","seven","eight","nine"];let z=[],F=(""+j).match(/\.([0-9]+)/);if(!F||!F[0])return z;z.push("point");let $=F[0].split("");for(let G=0;G<$.length;G++)z.push(V[$[G]]);return z};C.exports=function(j){let V=[];0>j&&(V.push("negative"),j=Math.abs(j));let z=N(j);for(let F=0,$;FF),0===V.length&&(V[0]="zero"),V}},{}],99:[function(E,C){"use strict";const N=E("../../paths"),D=N.Terms,_=E("./toNumber"),B=E("./toText"),j=E("./toNiceNumber"),V=E("./numOrdinal"),z=E("./textOrdinal"),F=function(M,S,I,q){D.call(this,M,S,I,q),this.val=this.match("#Value+").list[0],this.unit=this.match("#Unit$").list[0]};F.prototype=Object.create(D.prototype);const $=(M)=>{let S=M.terms[M.terms.length-1];return!!S&&!0===S.tags.Ordinal},G=(M)=>{for(let S=0;S{for(let S=0,I;S{return S.clone()});return new F(M,this.lexicon,this.refText,this.refTerms)}};Object.keys(H).forEach((M)=>{F.prototype[M]=H[M]}),C.exports=F},{"../../paths":38,"./numOrdinal":88,"./textOrdinal":90,"./toNiceNumber":91,"./toNumber":94,"./toText":98}],100:[function(E,C){"use strict";const N=E("../../index"),D=E("./verb");C.exports=N.makeSubset({conjugation:function(j){return this.list.map((V)=>{return V.conjugation(j)})},conjugate:function(j){return this.list.map((V)=>{return V.conjugate(j)})},isPlural:function(){return this.list=this.list.filter((j)=>{return j.isPlural()}),this},isSingular:function(){return this.list=this.list.filter((j)=>{return!j.isPlural()}),this},isNegative:function(){return this.list=this.list.filter((j)=>{return j.isNegative()}),this},isPositive:function(){return this.list=this.list.filter((j)=>{return!j.isNegative()}),this},toNegative:function(){return this.list=this.list.map((j)=>{return j.toNegative()}),this},toPositive:function(){return this.list.forEach((j)=>{j.toPositive()}),this},toPastTense:function(){return this.list.forEach((j)=>{j.toPastTense()}),this},toPresentTense:function(){return this.list.forEach((j)=>{j.toPresentTense()}),this},toFutureTense:function(){return this.list.forEach((j)=>{j.toFutureTense()}),this},toInfinitive:function(){return this.list.forEach((j)=>{j.toInfinitive()}),this},asAdjective:function(){return this.list.map((j)=>j.asAdjective())}},function(j,V){return j=j.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb"),j=j.splitAfter("#Comma"),"number"==typeof V&&(j=j.get(V)),j.list=j.list.map((z)=>{return new D(z.terms,z.lexicon,z.refText,z.refTerms)}),new N(j.list,this.lexicon,this.parent)})},{"../../index":26,"./verb":118}],101:[function(E,C){"use strict";const N=E("./methods/predict"),D=function($){return $.match("#Gerund").found},_=function($){let G=$.match("#Negative").list;return 2!==G.length&&!(1!==G.length)},B=function($){return!!$.match("is being #PastTense").found||!!$.match("(had|has) been #PastTense").found||!!$.match("will have been #PastTense").found},j=function($){return!!$.match("^(had|have) #PastTense")},V=function($){let G=$.match("#Modal");return G.found?G.out("normal"):null},z=function($){if($.auxiliary.found){if($.match("will have #PastTense").found)return"Past";if($.auxiliary.match("will").found)return"Future";if($.auxiliary.match("was").found)return"Past"}if($.verb){let O=N($.verb);return{PastTense:"Past",FutureTense:"Future",FuturePerfect:"Future"}[O]||"Present"}return"Present"};C.exports=($)=>{let G=_($),O={negative:G,continuous:D($),passive:B($),perfect:j($),modal:V($),tense:z($)};return O}},{"./methods/predict":112}],102:[function(E,C){"use strict";const N=E("./irregulars"),D=E("./suffixes"),_=E("./toActor"),B=E("./generic"),j=E("../predict"),V=E("../toInfinitive"),z=E("./toBe");C.exports=function($,G){if("is"===$.normal||"was"===$.normal||"will"===$.normal)return z();$.tags.Contraction&&($.text=$.silent_term);let O={PastTense:null,PresentTense:null,Infinitive:null,Gerund:null,Actor:null},H=j($);H&&(O[H]=$.normal),"Infinitive"!==H&&(O.Infinitive=V($,G)||"");const M=N(O.Infinitive)||{};Object.keys(M).forEach((q)=>{M[q]&&!O[q]&&(O[q]=M[q])});let S=O.Infinitive||$.normal;const I=D(S);return Object.keys(I).forEach((q)=>{I[q]&&!O[q]&&(O[q]=I[q])}),O.Actor||(O.Actor=_(S)),Object.keys(O).forEach((q)=>{!O[q]&&B[q]&&(O[q]=B[q](O))}),O}},{"../predict":112,"../toInfinitive":115,"./generic":105,"./irregulars":107,"./suffixes":108,"./toActor":109,"./toBe":110}],103:[function(E,C){C.exports=[{reg:/(eave)$/i,repl:{pr:"$1s",pa:"$1d",gr:"eaving",ar:"$1r"}},{reg:/(ink)$/i,repl:{pr:"$1s",pa:"unk",gr:"$1ing",ar:"$1er"}},{reg:/(end)$/i,repl:{pr:"$1s",pa:"ent",gr:"$1ing",ar:"$1er"}},{reg:/(ide)$/i,repl:{pr:"$1s",pa:"ode",gr:"iding",ar:"ider"}},{reg:/(ake)$/i,repl:{pr:"$1s",pa:"ook",gr:"aking",ar:"$1r"}},{reg:/(eed)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing",ar:"$1er"}},{reg:/(e)(ep)$/i,repl:{pr:"$1$2s",pa:"$1pt",gr:"$1$2ing",ar:"$1$2er"}},{reg:/(a[tg]|i[zn]|ur|nc|gl|is)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing",prt:"$1en"}},{reg:/([i|f|rr])y$/i,repl:{pr:"$1ies",pa:"$1ied",gr:"$1ying"}},{reg:/([td]er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/([bd]l)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ish|tch|ess)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ion|end|e[nc]t)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(om)e$/i,repl:{pr:"$1es",pa:"ame",gr:"$1ing"}},{reg:/([aeiu])([pt])$/i,repl:{pr:"$1$2s",pa:"$1$2",gr:"$1$2$2ing"}},{reg:/(er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(en)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(..)(ow)$/i,repl:{pr:"$1$2s",pa:"$1ew",gr:"$1$2ing",prt:"$1$2n"}},{reg:/(..)([cs]h)$/i,repl:{pr:"$1$2es",pa:"$1$2ed",gr:"$1$2ing"}},{reg:/([^aeiou][ou])(g|d)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([^aeiou][aeiou])(b|t|p|m)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([aeiou]zz)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}}]},{}],104:[function(E,C){"use strict";const N=E("./irregulars"),D=E("./suffixes"),_=E("./generic"),B=["Gerund","PastTense","PresentTense"];C.exports=(V)=>{let z={Infinitive:V};const F=N(z.Infinitive);null!==F&&Object.keys(F).forEach((G)=>{F[G]&&!z[G]&&(z[G]=F[G])});const $=D(V);Object.keys($).forEach((G)=>{$[G]&&!z[G]&&(z[G]=$[G])});for(let G=0;G{const B=_.Infinitive;return"e"===B.charAt(B.length-1)?B.replace(/e$/,"ing"):B+"ing"},PresentTense:(_)=>{const B=_.Infinitive;return"s"===B.charAt(B.length-1)?B+"es":!0===N.test(B)?B.slice(0,-1)+"ies":B+"s"},PastTense:(_)=>{const B=_.Infinitive;return"e"===B.charAt(B.length-1)?B+"d":"ed"===B.substr(-2)?B:!0===N.test(B)?B.slice(0,-1)+"ied":B+"ed"}}},{}],106:[function(E,C){"use strict";const N=E("./conjugate"),D=E("./toBe");C.exports=(B,j)=>{let V=B.negative.found;if(B.verb.tags.Copula||"be"===B.verb.normal&&B.auxiliary.match("will").found)return D(!1,V);let F=N(B.verb,j);return B.particle.found&&Object.keys(F).forEach(($)=>{F[$]+=B.particle.out()}),B.adverbs.found&&Object.keys(F).forEach(($)=>{F[$]+=B.adverbs.out()}),V&&(F.PastTense="did not "+F.Infinitive,F.PresentTense="does not "+F.Infinitive),F.FutureTense||(V?F.FutureTense="will not "+F.Infinitive:F.FutureTense="will "+F.Infinitive),F}},{"./conjugate":102,"./toBe":110}],107:[function(E,C){"use strict";let N=E("../../../../../data").irregular_verbs;const D=E("../../../../../fns"),_=Object.keys(N),B=["Participle","Gerund","PastTense","PresentTense","FuturePerfect","PerfectTense","Actor"];C.exports=function(V){if(void 0!==N[V]){let z=D.copy(N[V]);return z.Infinitive=V,z}for(let z=0;z<_.length;z++)for(let F=0,$;F{let B={PastTense:"was",PresentTense:"is",FutureTense:"will be",Infinitive:"is",Gerund:"being",Actor:"",PerfectTense:"been",Pluperfect:"been"};return D&&(B.PastTense="were",B.PresentTense="are",B.Infinitive="are"),_&&(B.PastTense+=" not",B.PresentTense+=" not",B.FutureTense="will not be",B.Infinitive+=" not",B.PerfectTense="not "+B.PerfectTense,B.Pluperfect="not "+B.Pluperfect),B}},{}],111:[function(E,C){"use strict";C.exports=(D)=>{if(D.match("(are|were|does)").found)return!0;if(D.match("(is|am|do|was)").found)return!1;let _=D.getNoun();if(_&&_.found){if(_.match("#Plural").found)return!0;if(_.match("#Singular").found)return!1}return null}},{}],112:[function(E,C){"use strict";const N=E("./suffix_rules"),D={Infinitive:!0,Gerund:!0,PastTense:!0,PresentTense:!0,FutureTense:!0,PerfectTense:!0,Pluperfect:!0,FuturePerfect:!0,Participle:!0};C.exports=function(B,j){const V=Object.keys(D);for(let F=0;Fz[F].length)return N[z[F]]}return null}},{"./suffix_rules":113}],113:[function(E,C){"use strict";const N={Gerund:["ing"],Actor:["erer"],Infinitive:["ate","ize","tion","rify","then","ress","ify","age","nce","ect","ise","ine","ish","ace","ash","ure","tch","end","ack","and","ute","ade","ock","ite","ase","ose","use","ive","int","nge","lay","est","ain","ant","ent","eed","er","le","own","unk","ung","en"],PastTense:["ed","lt","nt","pt","ew","ld"],PresentTense:["rks","cks","nks","ngs","mps","tes","zes","ers","les","acks","ends","ands","ocks","lays","eads","lls","els","ils","ows","nds","ays","ams","ars","ops","ffs","als","urs","lds","ews","ips","es","ts","ns","s"]},D={},_=Object.keys(N),B=_.length;for(let j=0,V;j{return Object.keys(D).reduce((V,z)=>{return Object.keys(D[z]).forEach((F)=>{V[D[z][F]]=z}),V},{})})();C.exports=function(V){if(V.tags.Infinitive)return V.normal;if(D[V.normal])return D[V.normal];let z=_(V);if(N[z])for(let F=0,$;F{let B=_.match("#Auxiliary").first();if(B.found){let O=B.list[0].index();return _.parentTerms.insertAt(O+1,"not","Verb")}let j=_.match("(#Copula|will|has|had|do)").first();if(j.found){let O=j.list[0].index();return _.parentTerms.insertAt(O+1,"not","Verb")}let V=_.isPlural(),z=_.match("#PastTense").last();if(z.found){let O=z.list[0],H=O.index();return O.terms[0].text=N(O.terms[0]),V?_.parentTerms.insertAt(H,"do not","Verb"):_.parentTerms.insertAt(H,"did not","Verb")}let F=_.match("#PresentTense").first();if(F.found){let O=F.list[0],H=O.index();O.terms[0].text=N(O.terms[0]);let M=_.getNoun();return M.match("(i|we|they|you)").found?_.parentTerms.insertAt(H,"do not","Verb"):_.parentTerms.insertAt(H,"does not","Verb")}let $=_.match("#Gerund").last();if($.found){let O=$.list[0].index();return _.parentTerms.insertAt(O,"not","Verb")}let G=_.match("#Verb").last();if(G.found){G=G.list[0];let O=G.index();return G.terms[0].text=N(G.terms[0]),V?_.parentTerms.insertAt(O,"does not","Verb"):_.parentTerms.insertAt(O,"did not","Verb")}return _}},{"./methods/toInfinitive":115}],118:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./methods/conjugate"),_=E("./methods/toAdjective"),B=E("./interpret"),j=E("./toNegative"),V=E("./methods/isPlural"),z=function(G){G.negative=G.match("#Negative"),G.adverbs=G.match("#Adverb");let O=G.clone().not("(#Adverb|#Negative)");return G.verb=O.match("#Verb").not("#Particle").last(),G.particle=O.match("#Particle").last(),G.verb.found&&(G.verb=G.verb.list[0].terms[0]),G.auxiliary=O.match("#Auxiliary+"),G},F={parse:function(){return z(this)},data:function(G){return{text:this.out("text"),normal:this.out("normal"),parts:{negative:this.negative.out("normal"),auxiliary:this.auxiliary.out("normal"),verb:this.verb.out("normal"),adverbs:this.adverbs.out("normal")},interpret:B(this,G),conjugations:this.conjugate()}},getNoun:function(){if(!this.refTerms)return null;let G="#Adjective? #Noun+ "+this.out("normal");return this.refTerms.match(G).match("#Noun+")},conjugation:function(){return B(this,!1).tense},conjugate:function(G){return D(this,G)},isPlural:function(){return V(this)},isNegative:function(){return 1===this.match("#Negative").list.length},isPerfect:function(){return this.auxiliary.match("(have|had)").found},toNegative:function(){return this.isNegative()?this:j(this)},toPositive:function(){return this.match("#Negative").delete()},toPastTense:function(){let G=this.conjugate();return this.replaceWith(G.PastTense)},toPresentTense:function(){let G=this.conjugate();return this.replaceWith(G.PresentTense)},toFutureTense:function(){let G=this.conjugate();return this.replaceWith(G.FutureTense)},toInfinitive:function(){let G=this.conjugate();return this.terms[this.terms.length-1].text=G.Infinitive,this},asAdjective:function(){return _(this.verb.out("normal"))}},$=function(G,O,H,M){return N.call(this,G,O,H,M),z(this)};$.prototype=Object.create(N.prototype),Object.keys(F).forEach((G)=>{$.prototype[G]=F[G]}),C.exports=$},{"../../paths":38,"./interpret":101,"./methods/conjugate":106,"./methods/isPlural":111,"./methods/toAdjective":114,"./toNegative":117}],119:[function(E,C){"use strict";C.exports=(D)=>{const _={clauses:function(B){let j=this.splitAfter("#ClauseEnd");return"number"==typeof B&&(j=j.get(B)),j},hashTags:function(B){let j=this.match("#HashTag").terms();return"number"==typeof B&&(j=j.get(B)),j},organizations:function(B){let j=this.splitAfter("#Comma");return j=j.match("#Organization+"),"number"==typeof B&&(j=j.get(B)),j},phoneNumbers:function(B){let j=this.splitAfter("#Comma");return j=j.match("#PhoneNumber+"),"number"==typeof B&&(j=j.get(B)),j},places:function(B){let j=this.splitAfter("#Comma");return j=j.match("#Place+"),"number"==typeof B&&(j=j.get(B)),j},quotations:function(B){let j=this.match("#Quotation+");return"number"==typeof B&&(j=j.get(B)),j},topics:function(B){let j=this.clauses(),V=j.people();return V.concat(j.places()),V.concat(j.organizations()),V.sort("chronological"),"number"==typeof B&&(V=V.get(B)),V},urls:function(B){let j=this.match("#Url");return"number"==typeof B&&(j=j.get(B)),j},questions:function(B){let j=this.all();"number"==typeof B&&(j=j.get(B));let V=j.list.filter((z)=>{return"?"===z.last().endPunctuation()});return new D(V,this.lexicon,this.parent)},statements:function(B){let j=this.all();"number"==typeof B&&(j=j.get(B));let V=j.list.filter((z)=>{return"?"!==z.last().endPunctuation()});return new D(V,this.lexicon,this.parent)}};return Object.keys(_).forEach((B)=>{D.prototype[B]=_[B]}),D}},{}],120:[function(E,C){"use strict";const N=E("../data"),D=Object.keys(N.abbreviations),_=new RegExp("\\b("+D.join("|")+")[.!?] ?$","i"),B=/[ |.][A-Z].?( *)?$/i,j=/\.\.+( +)?$/,V=function(F){let $=[],G=F.split(/(\n+)/);for(let O=0,H;O{let j=Object.keys(D);for(let V=0;V{let F=V.terms[z],$=V.terms[z+1];return F.tags.Pronoun||F.tags.QuestionWord?!1:!_[F.normal]&&(!$||!$.tags.VerbPhrase&&(!!$.tags.Noun||$.tags.Adjective&&V.terms[z+2]&&V.terms[z+2].tags.Noun||($.tags.Adjective||$.tags.Adverb||$.tags.Verb)&&!1))};C.exports=(V)=>{for(let z=0;z{for(let V=0;V{for(let j=0,V;j{D[j.silent_term]&&j.tag(D[j.silent_term])};C.exports=(j,V,z)=>{let F=j.terms[z];F.silent_term=V[0],F.tag("Contraction","tagger-contraction");let $=new N("");if($.silent_term=V[1],$.tag("Contraction","tagger-contraction"),j.insertAt(z+1,$),$.whitespace.before="",$.whitespace.after="",_($),V[2]){let G=new N("");G.silent_term=V[2],j.insertAt(z+2,G),G.tag("Contraction","tagger-contraction"),_(G)}return j}},{"../../term":169}],126:[function(E,C){"use strict";const N=E("./01-irregulars"),D=E("./02-hardOne"),_=E("./03-easyOnes"),B=E("./04-numberRange");C.exports=function(V){return V=N(V),V=D(V),V=_(V),V=B(V),V}},{"./01-irregulars":121,"./02-hardOne":122,"./03-easyOnes":123,"./04-numberRange":124}],127:[function(E,C){"use strict";const N=/^([a-z]+)'([a-z][a-z]?)$/i,D=/[a-z]s'$/i,_={re:1,ve:1,ll:1,t:1,s:1,d:1,m:1};C.exports=(j)=>{let V=j.text.match(N);return V&&V[1]&&1===_[V[2]]?("t"===V[2]&&V[1].match(/[a-z]n$/)&&(V[1]=V[1].replace(/n$/,""),V[2]="n't"),!0===j.tags.TitleCase&&(V[1]=V[1].replace(/^[a-z]/,(z)=>z.toUpperCase())),{start:V[1],end:V[2]}):!0===D.test(j.text)?{start:j.normal.replace(/s'?$/,""),end:""}:null}},{}],128:[function(E,C){"use strict";C.exports=function(D){if(D.has("so")&&(D.match("so #Adjective").match("so").tag("Adverb","so-adv"),D.match("so #Noun").match("so").tag("Conjunction","so-conj"),D.match("do so").match("so").tag("Noun","so-noun")),D.has("#Determiner")&&(D.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),D.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),D.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),D.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),D.match("#Determiner #Infinitive #Adverb? #Verb").term(1).tag("Noun","correction-determiner5"),D.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),D.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun")),D.has("like")&&(D.match("just like").term(1).tag("Preposition","like-preposition"),D.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),D.match("#Verb like").term(1).tag("Adverb","verb-like"),D.match("#Adverb like").term(1).tag("Adverb","adverb-like")),D.has("#Value")&&(D.match("half a? #Value").tag("Value","half-a-value"),D.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),D.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),D.match("#Value+ #Currency").tag("Money","value-currency"),D.match("#Money and #Money #Currency?").tag("Money","money-and-money")),D.has("#Noun")&&(D.match("more #Noun").tag("Noun","more-noun"),D.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),D.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),D.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),D.has("#Organization")&&(D.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),D.match("#Organization #Country").tag("Organization","org-country"),D.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"))),D.has("#Verb")){D.match("still #Verb").term(0).tag("Adverb","still-verb"),D.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),D.match("is no #Verb").term(2).tag("Noun","is-no-verb"),D.match("#Verb than").term(0).tag("Noun","correction"),D.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),D.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),D.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question");let _="(#Adverb|not)+?";D.has(_)&&(D.match(`(has|had) ${_} #PastTense`).not("#Verb$").tag("Auxiliary","had-walked"),D.match(`#Copula ${_} #Gerund`).not("#Verb$").tag("Auxiliary","copula-walking"),D.match(`(be|been) ${_} #Gerund`).not("#Verb$").tag("Auxiliary","be-walking"),D.match(`(#Modal|did) ${_} #Verb`).not("#Verb$").tag("Auxiliary","modal-verb"),D.match(`#Modal ${_} have ${_} had ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-have"),D.match(`(#Modal) ${_} be ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-be"),D.match(`(#Modal|had|has) ${_} been ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-be"))}return D.has("#Adjective")&&(D.match("still #Adjective").match("still").tag("Adverb","still-advb"),D.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),D.match("will #Adjective").term(1).tag("Verb","will-adj")),D.match("(foot|feet)").tag("Noun","foot-noun"),D.match("#Value (foot|feet)").term(1).tag("Unit","foot-unit"),D.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),D.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),D.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),D.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),D.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),D.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),D.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),D}},{}],129:[function(E,C){"use strict";const N={punctuation_step:E("./steps/01-punctuation_step"),lexicon_step:E("./steps/02-lexicon_step"),capital_step:E("./steps/03-capital_step"),web_step:E("./steps/04-web_step"),suffix_step:E("./steps/05-suffix_step"),neighbour_step:E("./steps/06-neighbour_step"),noun_fallback:E("./steps/07-noun_fallback"),date_step:E("./steps/08-date_step"),auxiliary_step:E("./steps/09-auxiliary_step"),negation_step:E("./steps/10-negation_step"),phrasal_step:E("./steps/12-phrasal_step"),comma_step:E("./steps/13-comma_step"),possessive_step:E("./steps/14-possessive_step"),value_step:E("./steps/15-value_step"),acronym_step:E("./steps/16-acronym_step"),emoji_step:E("./steps/17-emoji_step"),person_step:E("./steps/18-person_step"),quotation_step:E("./steps/19-quotation_step"),organization_step:E("./steps/20-organization_step"),plural_step:E("./steps/21-plural_step"),lumper:E("./lumper"),lexicon_lump:E("./lumper/lexicon_lump"),contraction:E("./contraction")},D=E("./corrections"),_=E("./phrase");C.exports=function(j){return j=N.punctuation_step(j),j=N.emoji_step(j),j=N.lexicon_step(j),j=N.lexicon_lump(j),j=N.web_step(j),j=N.suffix_step(j),j=N.neighbour_step(j),j=N.capital_step(j),j=N.noun_fallback(j),j=N.contraction(j),j=N.date_step(j),j=N.auxiliary_step(j),j=N.negation_step(j),j=N.phrasal_step(j),j=N.comma_step(j),j=N.possessive_step(j),j=N.value_step(j),j=N.acronym_step(j),j=N.person_step(j),j=N.quotation_step(j),j=N.organization_step(j),j=N.plural_step(j),j=N.lumper(j),j=D(j),j=_(j),j}},{"./contraction":126,"./corrections":128,"./lumper":131,"./lumper/lexicon_lump":132,"./phrase":135,"./steps/01-punctuation_step":136,"./steps/02-lexicon_step":137,"./steps/03-capital_step":138,"./steps/04-web_step":139,"./steps/05-suffix_step":140,"./steps/06-neighbour_step":141,"./steps/07-noun_fallback":142,"./steps/08-date_step":143,"./steps/09-auxiliary_step":144,"./steps/10-negation_step":145,"./steps/12-phrasal_step":146,"./steps/13-comma_step":147,"./steps/14-possessive_step":148,"./steps/15-value_step":149,"./steps/16-acronym_step":150,"./steps/17-emoji_step":151,"./steps/18-person_step":152,"./steps/19-quotation_step":153,"./steps/20-organization_step":154,"./steps/21-plural_step":155}],130:[function(E,C){"use strict";C.exports=(D)=>{let _={};return D.forEach((B)=>{Object.keys(B).forEach((j)=>{let V=j.split(" ");if(1{return D.match("#Noun (&|n) #Noun").lump().tag("Organization","Noun-&-Noun"),D.match("1 #Value #PhoneNumber").lump().tag("Organization","Noun-&-Noun"),D.match("#Holiday (day|eve)").lump().tag("Holiday","holiday-day"),D.match("#Noun #Actor").lump().tag("Actor","thing-doer"),D.match("(standard|daylight|summer|eastern|pacific|central|mountain) standard? time").lump().tag("Time","timezone"),D.match("#Demonym #Currency").lump().tag("Currency","demonym-currency"),D.match("#NumericValue #PhoneNumber").lump().tag("PhoneNumber","(800) PhoneNumber"),D}},{}],132:[function(E,C){"use strict";const N=E("../paths"),D=N.lexicon,_=N.tries,B=E("./firstWord"),j=B([D,_.multiples()]),V=function($,G,O){let H=G+1;return O[$.slice(H,H+1).out("root")]?H+1:O[$.slice(H,H+2).out("root")]?H+2:O[$.slice(H,H+3).out("root")]?H+3:null},z=function($,G){for(let O=0,H;O{let $=F.text;!0===D.test($)&&F.tag("TitleCase","punct-rule"),$=$.replace(/[,\.\?]$/,"");for(let G=0,O;G{let $=F.lexicon||{};if($[z])return $[z];if(B[z])return B[z];let G=_.lookup(z);return G?G:null};C.exports=function(z){let F;for(let $=0,G;${let G=Object.keys(F.tags);if(0===G.length){let O=z.terms[$-1],H=z.terms[$+1];if(O&&D[O.normal])return void F.tag(D[O.normal],"neighbour-after-\""+O.normal+"\"");if(H&&_[H.normal])return void F.tag(_[H.normal],"neighbour-before-\""+H.normal+"\"");let M=[];if(O){M=Object.keys(O.tags);for(let S=0;S!N[V]).length)};C.exports=function(B){for(let j=0,V;j{$.list.forEach((O)=>{let H=parseInt(O.terms[0].normal,10);H&&1e3H&&O.terms[0].tag("Year",G)})},z=($,G)=>{$.list.forEach((O)=>{let H=parseInt(O.terms[0].normal,10);H&&1990H&&O.terms[0].tag("Year",G)})};C.exports=function($){if($.has(N)&&($.match(`${N} (#Determiner|#Value|#Date)`).term(0).tag("Month","correction-may"),$.match(`#Date ${N}`).term(1).tag("Month","correction-may"),$.match(`${D} ${N}`).term(1).tag("Month","correction-may"),$.match(`(next|this|last) ${N}`).term(1).tag("Month","correction-may")),$.has("#Month")&&($.match(`#Month #DateRange+`).tag("Date","correction-numberRange"),$.match("#Value of? #Month").tag("Date","value-of-month"),$.match("#Cardinal #Month").tag("Date","cardinal-month"),$.match("#Month #Value to #Value").tag("Date","value-to-value"),$.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal")),$.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),$.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),$.has("#Value")&&($.match("#Value #Abbreviation").tag("Value","value-abbr"),$.match("a #Value").tag("Value","a-value"),$.match("(minus|negative) #Value").tag("Value","minus-value"),$.match("#Value grand").tag("Value","value-grand"),$.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),$.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),$.match("#Value point #Value").tag("Value","value-point-value"),$.match(`${D}? #Value #Duration`).tag("Date","value-duration"),$.match("#Date #Value").tag("Date","date-value"),$.match("#Value #Date").tag("Date","value-date"),$.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction")),$.has("#Time")&&($.match("#Cardinal #Time").tag("Time","value-time"),$.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),$.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),$.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr")),$.has(j)&&($.match(`${D}? ${_} ${j}`).tag("Date","thisNext-season"),$.match(`the? ${B} of ${j}`).tag("Date","section-season")),$.has("#Date")&&($.match("#Date the? #Ordinal").tag("Date","correction-date"),$.match(`${_} #Date`).tag("Date","thisNext-date"),$.match("due? (by|before|after|until) #Date").tag("Date","by-date"),$.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),$.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),$.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),$.match("#Date #Preposition #Date").tag("Date","date-prep-date"),$.match(`the? ${B} of #Date`).tag("Date","section-of-date"),$.match("#Ordinal #Duration in #Date").tag("Date","duration-in-date"),$.match("(early|late) (at|in)? the? #Date").tag("Time","early-evening")),$.has("#Cardinal")){let G=$.match(`#Date #Value #Cardinal`).lastTerm();G.found&&V(G,"date-value-year"),G=$.match(`#Date+ #Cardinal`).lastTerm(),G.found&&V(G,"date-year"),G=$.match(`#Month #Value #Cardinal`).lastTerm(),G.found&&V(G,"month-value-year"),G=$.match(`#Month #Value to #Value #Cardinal`).lastTerm(),G.found&&V(G,"month-range-year"),G=$.match(`(in|of|by|during|before|starting|ending|for|year) #Cardinal`).lastTerm(),G.found&&V(G,"in-year"),G=$.match(`#Cardinal !#Plural`).firstTerm(),G.found&&z(G,"year-unsafe")}return $}},{}],144:[function(E,C){"use strict";const N={"do":!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0};C.exports=function(_){for(let B=0,j;B<_.terms.length;B++)if(j=_.terms[B],N[j.normal]||N[j.silent_term]){let V=_.terms[B+1];if(V&&(V.tags.Verb||V.tags.Adverb||V.tags.Negative)){j.tag("Auxiliary","corrections-Auxiliary");continue}}return _}},{}],145:[function(E,C){"use strict";C.exports=function(D){for(let _=0,B;_{let F=V.terms[z],$=V.terms[z+1];return $&&F.tags.Place&&!F.tags.Country&&$.tags.Country},D=(V)=>{return V.tags.Adjective?"Adjective":V.tags.Noun?"Noun":V.tags.Verb?"Verb":null},_=(V,z,F)=>{for(let $=z;$<=F;$++)V.terms[$].tags.List=!0},B=(V,z)=>{let F=z,$=D(V.terms[z]),G=0,O=0,H=!1;for(++z;z{_.isAcronym()&&_.tag("Acronym","acronym-step")}),D}},{}],151:[function(E,C){"use strict";const N=E("./rules/emoji_regex"),D=E("./rules/emoticon_list"),_=(V)=>{return!(":"!==V.text.charAt(0))&&null!==V.text.match(/:.?$/)&&!V.text.match(" ")&&!(35{let z=V.text.replace(/^[:;]/,":");return D[z]!==void 0};C.exports=(V)=>{for(let z=0,F;z{return _[B]=!0,_},{});C.exports=function(_){if(_.has("#FirstName")){let B=_.match("#FirstName #Noun").ifNo("^#Possessive").ifNo("#ClauseEnd .");B.lastTerm().canBe("#LastName").tag("#LastName","firstname-noun"),_.match("#FirstName de #Noun").canBe("#Person").tag("#Person","firstname-de-noun"),_.match("#FirstName (bin|al) #Noun").canBe("#Person").tag("#Person","firstname-al-noun"),_.match("#FirstName #Acronym #TitleCase").tag("Person","firstname-acronym-titlecase"),_.match("#FirstName #FirstName #TitleCase").tag("Person","firstname-firstname-titlecase"),_.match("#Honorific #FirstName? #TitleCase").tag("Person","Honorific-TitleCase"),_.match("#FirstName #TitleCase #TitleCase?").match("#Noun+").tag("Person","firstname-titlecase"),_.match("#FirstName the #Adjective").tag("Person","correction-determiner5"),_.match("#FirstName (green|white|brown|hall|young|king|hill|cook|gray|price)").tag("#Person","firstname-maybe"),_.match("#FirstName #Acronym #Noun").ifNo("#Date").tag("#Person","n-acro-noun").lastTerm().tag("#LastName","n-acro-noun"),_.match("#FirstName (#Singular|#Possessive)").ifNo("#Date").tag("#Person","first-possessive").lastTerm().tag("#LastName","first-possessive")}_.has("#LastName")&&(_.match("#Noun #LastName").firstTerm().canBe("#FirstName").tag("#FirstName","noun-lastname"),_.match("(will|may|april|june|said|rob|wade|ray|rusty|drew|miles|jack|chuck|randy|jan|pat|cliff|bill) #LastName").firstTerm().tag("#FirstName","maybe-lastname"),_.match("#TitleCase #Acronym? #LastName").ifNo("#Date").tag("#Person","title-acro-noun").lastTerm().tag("#LastName","title-acro-noun")),_.has("#TitleCase")&&(_.match("#Acronym #TitleCase").canBe("#Person").tag("#Person","acronym-titlecase"),_.match("#TitleCase (van|al|bin) #TitleCase").tag("Person","correction-titlecase-van-titlecase"),_.match("#TitleCase (de|du) la? #TitleCase").tag("Person","correction-titlecase-van-titlecase"),_.match("#Person #TitleCase").match("#TitleCase #Noun").tag("Person","correction-person-titlecase"),_.match("(lady|queen|sister) #TitleCase").ifNo("#Date").tag("#FemaleName","lady-titlecase"),_.match("(king|pope|father) #TitleCase").ifNo("#Date").tag("#MaleName","correction-poe")),_.match("#Noun van der? #Noun").canBe("#Person").tag("#Person","von der noun"),_.match("(king|queen|prince|saint|lady) of? #Noun").canBe("#Person").tag("#Person","king-of-noun"),_.match("#Honorific #Acronym").tag("Person","Honorific-TitleCase"),_.match("#Person #Person the? #RomanNumeral").tag("Person","correction-roman-numeral");for(let B=0,j;B<_.terms.length-1;B++)j=_.terms[B],N[j.normal]&&_.terms[B+1]&&_.terms[B+1].tags.Person&&j.tag("Person","title-person");return _.match("^#Honorific$").unTag("Person","single-honorific"),_}},{"../paths":133}],153:[function(E,C){"use strict";const N=/^["'\u201B\u201C\u2033\u201F\u2018]/,D=/.["'\u201D\u2036\u2019]([;:,.])?$/,_=function(j,V,z){j.terms.slice(V,z+1).forEach((F)=>{F.tag("Quotation","quotation_step")})};C.exports=(j)=>{for(let V=0,z;V{for(let j=0,V;j{S[I]=M[I]})},$=function(M){const S=Object.keys(M);S.forEach((I)=>{M[I].downward=[];for(let q=0;q{M[S].enemy={};for(let I=0,q;IL!==S),q.forEach((L)=>{M[S].enemy[L]=!0}));M[S].enemy=Object.keys(M[S].enemy)})},O=function(M){Object.keys(M).forEach((S)=>{return z[S]?void(M[S].color=z[S]):M[S].is&&z[M[S].is]?void(M[S].color=z[M[S].is]):void(M[S].is&&M[M[S].is].color&&(M[S].color=M[M[S].is].color))})};C.exports=(()=>{let M={};return F(D,M),F(_,M),F(B,M),F(j,M),F(V,M),$(M),G(M),O(M),M})()},{"./conflicts":162,"./tags/dates":164,"./tags/misc":165,"./tags/nouns":166,"./tags/values":167,"./tags/verbs":168}],164:[function(E,C){C.exports={Date:{},Month:{is:"Date",also:"Singular"},WeekDay:{is:"Date",also:"Noun"},RelativeDay:{is:"Date"},Year:{is:"Date"},Duration:{is:"Date",also:"Noun"},Time:{is:"Date",also:"Noun"},Holiday:{is:"Date",also:"Noun"}}},{}],165:[function(E,C){C.exports={Adjective:{},Comparative:{is:"Adjective"},Superlative:{is:"Adjective"},Adverb:{},Currency:{},Determiner:{},Conjunction:{},Preposition:{},QuestionWord:{},Expression:{},Url:{},PhoneNumber:{},HashTag:{},Emoji:{},Email:{},Condition:{},Auxiliary:{},Negative:{},Contraction:{},TitleCase:{},CamelCase:{},UpperCase:{},Hyphenated:{},Acronym:{},ClauseEnd:{},Quotation:{}}},{}],166:[function(E,C){C.exports={Noun:{},Singular:{is:"Noun"},Person:{is:"Singular"},FirstName:{is:"Person"},MaleName:{is:"FirstName"},FemaleName:{is:"FirstName"},LastName:{is:"Person"},Honorific:{is:"Person"},Place:{is:"Singular"},Country:{is:"Place"},City:{is:"Place"},Address:{is:"Place"},Organization:{is:"Singular"},SportsTeam:{is:"Organization"},Company:{is:"Organization"},School:{is:"Organization"},Plural:{is:"Noun"},Pronoun:{is:"Noun"},Actor:{is:"Noun"},Unit:{is:"Noun"},Demonym:{is:"Noun"},Possessive:{is:"Noun"}}},{}],167:[function(E,C){C.exports={Value:{},Ordinal:{is:"Value"},Cardinal:{is:"Value"},RomanNumeral:{is:"Cardinal"},Fraction:{is:"Value"},TextValue:{is:"Value"},NumericValue:{is:"Value"},NiceNumber:{is:"Value"},Money:{is:"Value"},NumberRange:{is:"Value",also:"Contraction"}}},{}],168:[function(E,C){C.exports={Verb:{},PresentTense:{is:"Verb"},Infinitive:{is:"PresentTense"},Gerund:{is:"PresentTense"},PastTense:{is:"Verb"},PerfectTense:{is:"Verb"},FuturePerfect:{is:"Verb"},Pluperfect:{is:"Verb"},Copula:{is:"Verb"},Modal:{is:"Verb"},Participle:{is:"Verb"},Particle:{is:"Verb"},PhrasalVerb:{is:"Verb"}}},{}],169:[function(E,C){"use strict";const N=E("./paths").fns,D=E("./whitespace"),_=E("./makeUID"),B=E("./methods/normalize/normalize").addNormal,j=E("./methods/normalize/root"),V=function(z){this._text=N.ensureString(z),this.tags={};let F=D(this._text);this.whitespace=F.whitespace,this._text=F.text,this.parent=null,this.silent_term="",B(this),j(this),this.dirty=!1,this.uid=_(this.normal),Object.defineProperty(this,"text",{get:function(){return this._text},set:function($){$=$||"",this._text=$.trim(),this.dirty=!0,this._text!==$&&(this.whitespace=D($)),this.normalize()}}),Object.defineProperty(this,"isA",{get:function(){return"Term"}})};V.prototype.normalize=function(){return B(this),j(this),this},V.prototype.index=function(){let z=this.parentTerms;return z?z.terms.indexOf(this):null},V.prototype.clone=function(){let z=new V(this._text,null);return z.tags=N.copy(this.tags),z.whitespace=N.copy(this.whitespace),z.silent_term=this.silent_term,z},E("./methods/misc")(V),E("./methods/out")(V),E("./methods/tag")(V),E("./methods/case")(V),E("./methods/punctuation")(V),C.exports=V},{"./makeUID":170,"./methods/case":172,"./methods/misc":173,"./methods/normalize/normalize":175,"./methods/normalize/root":176,"./methods/out":178,"./methods/punctuation":180,"./methods/tag":182,"./paths":185,"./whitespace":186}],170:[function(E,C){"use strict";C.exports=(D)=>{let _="";for(let B=0;5>B;B++)_+=parseInt(9*Math.random(),10);return D+"-"+_}},{}],171:[function(E,C){"use strict";const N=E("../paths").tags,D={Auxiliary:1,Possessive:1,TitleCase:1,ClauseEnd:1,Comma:1,CamelCase:1,UpperCase:1,Hyphenated:1};C.exports=function(B){let j=Object.keys(B.tags);return j=j.sort(),j=j.sort((V,z)=>{return!D[z]&&N[V]&&N[z]?N[V].downward.length>N[z].downward.length?-1:1:-1}),j[0]}},{"../paths":185}],172:[function(E,C){"use strict";C.exports=(D)=>{const _={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tag("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,(B)=>B.toUpperCase()),this.tag("#TitleCase","toTitleCase"),this},needsTitleCase:function(){const B=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(let V=0;V{D.prototype[B]=_[B]}),D}},{}],173:[function(E,C){"use strict";const N=E("./bestTag"),D=E("./normalize/isAcronym"),_=/[aeiouy]/i,B=/[a-z]/,j=/[0-9]/;C.exports=(z)=>{const F={bestTag:function(){return N(this)},isAcronym:function(){return D(this._text)},isWord:function(){let $=this;if($.silent_term)return!0;if(!1===/[a-z|A-Z|0-9]/.test($.text))return!1;if(1<$.normal.length&&!0===B.test($.normal)&&!1===_.test($.normal))return!1;if(!0===j.test($.normal)){if(!0===/[a-z][0-9][a-z]/.test($.normal))return!1;if(!1===/^([$-])*?([0-9,\.])*?([s\$%])*?$/.test($.normal))return!1}return!0}};return Object.keys(F).forEach(($)=>{z.prototype[$]=F[$]}),z}},{"./bestTag":171,"./normalize/isAcronym":174}],174:[function(E,C){"use strict";const N=/([A-Z]\.)+[A-Z]?$/,D=/^[A-Z]\.$/,_=/[A-Z]{3}$/;C.exports=function(j){return!(!0!==N.test(j))||!(!0!==D.test(j))||!(!0!==_.test(j))}},{}],175:[function(E,C,A){"use strict";const N=E("./unicode"),D=E("./isAcronym");A.normalize=function(_){return _=_||"",_=_.toLowerCase(),_=_.trim(),_=N(_),_=_.replace(/^[#@]/,""),_=_.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),_=_.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),_=_.replace(/\u2026/g,"..."),_=_.replace(/\u2013/g,"-"),!1===/^[:;]/.test(_)&&(_=_.replace(/\.{3,}$/g,""),_=_.replace(/['",\.!:;\?\)]$/g,""),_=_.replace(/^['"\(]/g,"")),_},A.addNormal=function(_){let B=_._text||"";B=A.normalize(B),D(_._text)&&(B=B.replace(/\./g,"")),B=B.replace(/([0-9]),([0-9])/g,"$1$2"),_.normal=B}},{"./isAcronym":174,"./unicode":177}],176:[function(E,C){"use strict";C.exports=function(D){let _=D.normal||D.silent_term||"";_=_.replace(/'s\b/,""),_=_.replace(/'\b/,""),D.root=_}},{}],177:[function(E,C){"use strict";let N={"!":"\xA1","?":"\xBF\u0241",a:"\xAA\xC0\xC1\xC2\xC3\xC4\xC5\xE0\xE1\xE2\xE3\xE4\xE5\u0100\u0101\u0102\u0103\u0104\u0105\u01CD\u01CE\u01DE\u01DF\u01E0\u01E1\u01FA\u01FB\u0200\u0201\u0202\u0203\u0226\u0227\u023A\u0386\u0391\u0394\u039B\u03AC\u03B1\u03BB\u0410\u0414\u0430\u0434\u0466\u0467\u04D0\u04D1\u04D2\u04D3\u019B\u0245\xE6",b:"\xDF\xFE\u0180\u0181\u0182\u0183\u0184\u0185\u0243\u0392\u03B2\u03D0\u03E6\u0411\u0412\u042A\u042C\u0431\u0432\u044A\u044C\u0462\u0463\u048C\u048D\u0494\u0495\u01A5\u01BE",c:"\xA2\xA9\xC7\xE7\u0106\u0107\u0108\u0109\u010A\u010B\u010C\u010D\u0186\u0187\u0188\u023B\u023C\u037B\u037C\u037D\u03F2\u03F9\u03FD\u03FE\u03FF\u0404\u0421\u0441\u0454\u0480\u0481\u04AA\u04AB",d:"\xD0\u010E\u010F\u0110\u0111\u0189\u018A\u0221\u018B\u018C\u01F7",e:"\xC8\xC9\xCA\xCB\xE8\xE9\xEA\xEB\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011A\u011B\u018E\u018F\u0190\u01DD\u0204\u0205\u0206\u0207\u0228\u0229\u0246\u0247\u0388\u0395\u039E\u03A3\u03AD\u03B5\u03BE\u03F1\u03F5\u03F6\u0400\u0401\u0415\u042D\u0435\u0450\u0451\u04BC\u04BD\u04BE\u04BF\u04D6\u04D7\u04D8\u04D9\u04DA\u04DB\u04EC\u04ED",f:"\u0191\u0192\u03DC\u03DD\u04FA\u04FB\u0492\u0493\u04F6\u04F7\u017F",g:"\u011C\u011D\u011E\u011F\u0120\u0121\u0122\u0123\u0193\u01E4\u01E5\u01E6\u01E7\u01F4\u01F5",h:"\u0124\u0125\u0126\u0127\u0195\u01F6\u021E\u021F\u0389\u0397\u0402\u040A\u040B\u041D\u043D\u0452\u045B\u04A2\u04A3\u04A4\u04A5\u04BA\u04BB\u04C9\u04CA",I:"\xCC\xCD\xCE\xCF",i:"\xEC\xED\xEE\xEF\u0128\u0129\u012A\u012B\u012C\u012D\u012E\u012F\u0130\u0131\u0196\u0197\u0208\u0209\u020A\u020B\u038A\u0390\u03AA\u03AF\u03B9\u03CA\u0406\u0407\u0456\u0457",j:"\u0134\u0135\u01F0\u0237\u0248\u0249\u03F3\u0408\u0458",k:"\u0136\u0137\u0138\u0198\u0199\u01E8\u01E9\u039A\u03BA\u040C\u0416\u041A\u0436\u043A\u045C\u049A\u049B\u049C\u049D\u049E\u049F\u04A0\u04A1",l:"\u0139\u013A\u013B\u013C\u013D\u013E\u013F\u0140\u0141\u0142\u019A\u01AA\u01C0\u01CF\u01D0\u0234\u023D\u0399\u04C0\u04CF",m:"\u039C\u03FA\u03FB\u041C\u043C\u04CD\u04CE",n:"\xD1\xF1\u0143\u0144\u0145\u0146\u0147\u0148\u0149\u014A\u014B\u019D\u019E\u01F8\u01F9\u0220\u0235\u039D\u03A0\u03AE\u03B7\u03DE\u040D\u0418\u0419\u041B\u041F\u0438\u0439\u043B\u043F\u045D\u048A\u048B\u04C5\u04C6\u04E2\u04E3\u04E4\u04E5\u03C0",o:"\xD2\xD3\xD4\xD5\xD6\xD8\xF0\xF2\xF3\xF4\xF5\xF6\xF8\u014C\u014D\u014E\u014F\u0150\u0151\u019F\u01A0\u01A1\u01D1\u01D2\u01EA\u01EB\u01EC\u01ED\u01FE\u01FF\u020C\u020D\u020E\u020F\u022A\u022B\u022C\u022D\u022E\u022F\u0230\u0231\u038C\u0398\u039F\u03B8\u03BF\u03C3\u03CC\u03D5\u03D8\u03D9\u03EC\u03ED\u03F4\u041E\u0424\u043E\u0472\u0473\u04E6\u04E7\u04E8\u04E9\u04EA\u04EB\xA4\u018D\u038F",p:"\u01A4\u01BF\u03A1\u03C1\u03F7\u03F8\u03FC\u0420\u0440\u048E\u048F\xDE",q:"\u024A\u024B",r:"\u0154\u0155\u0156\u0157\u0158\u0159\u01A6\u0210\u0211\u0212\u0213\u024C\u024D\u0403\u0413\u042F\u0433\u044F\u0453\u0490\u0491",s:"\u015A\u015B\u015C\u015D\u015E\u015F\u0160\u0161\u01A7\u01A8\u0218\u0219\u023F\u03C2\u03DA\u03DB\u03DF\u03E8\u03E9\u0405\u0455",t:"\u0162\u0163\u0164\u0165\u0166\u0167\u01AB\u01AC\u01AD\u01AE\u021A\u021B\u0236\u023E\u0393\u03A4\u03C4\u03EE\u03EF\u0422\u0442\u0482\u04AC\u04AD",u:"\xB5\xD9\xDA\xDB\xDC\xF9\xFA\xFB\xFC\u0168\u0169\u016A\u016B\u016C\u016D\u016E\u016F\u0170\u0171\u0172\u0173\u01AF\u01B0\u01B1\u01B2\u01D3\u01D4\u01D5\u01D6\u01D7\u01D8\u01D9\u01DA\u01DB\u01DC\u0214\u0215\u0216\u0217\u0244\u03B0\u03BC\u03C5\u03CB\u03CD\u03D1\u040F\u0426\u0427\u0446\u045F\u04B4\u04B5\u04B6\u04B7\u04CB\u04CC\u04C7\u04C8",v:"\u03BD\u0474\u0475\u0476\u0477",w:"\u0174\u0175\u019C\u03C9\u03CE\u03D6\u03E2\u03E3\u0428\u0429\u0448\u0449\u0461\u047F",x:"\xD7\u03A7\u03C7\u03D7\u03F0\u0425\u0445\u04B2\u04B3\u04FC\u04FD\u04FE\u04FF",y:"\xDD\xFD\xFF\u0176\u0177\u0178\u01B3\u01B4\u0232\u0233\u024E\u024F\u038E\u03A5\u03AB\u03B3\u03C8\u03D2\u03D3\u03D4\u040E\u0423\u0443\u0447\u045E\u0470\u0471\u04AE\u04AF\u04B0\u04B1\u04EE\u04EF\u04F0\u04F1\u04F2\u04F3",z:"\u0179\u017A\u017B\u017C\u017D\u017E\u01A9\u01B5\u01B6\u0224\u0225\u0240\u0396\u03B6"},D={};Object.keys(N).forEach(function(B){N[B].split("").forEach(function(j){D[j]=B})});C.exports=(B)=>{let j=B.split("");return j.forEach((V,z)=>{D[V]&&(j[z]=D[V])}),j.join("")}},{}],178:[function(E,C){"use strict";const N=E("./renderHtml"),D=E("../../paths").fns,_={text:function(j){return j.whitespace.before+j._text+j.whitespace.after},normal:function(j){return j.normal},root:function(j){return j.root||j.normal},html:function(j){return N(j)},tags:function(j){return{text:j.text,normal:j.normal,tags:Object.keys(j.tags)}},debug:function(j){let V=Object.keys(j.tags).map(($)=>{return D.printTag($)}).join(", "),z=j.text;z="'"+D.yellow(z||"-")+"'";let F="";j.silent_term&&(F="["+j.silent_term+"]"),z=D.leftPad(z,25),z+=D.leftPad(F,5),console.log(" "+z+" - "+V)}};C.exports=(j)=>{return j.prototype.out=function(V){return _[V]||(V="text"),_[V](this)},j}},{"../../paths":185,"./renderHtml":179}],179:[function(E,C){"use strict";const N=(B)=>{const j={"<":"<",">":">","&":"&","\"":""","'":"'"," ":" "};return B.replace(/[<>&"' ]/g,function(V){return j[V]})},D=(B)=>{const V=/<(?:!--(?:(?:-*[^->])*--+|-?)|script\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/script\s*|style\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/style\s*|\/?[a-z](?:[^"'>]|"[^"]*"|'[^']*')*)>/gi;let z;do z=B,B=B.replace(V,"");while(B!==z);return B.replace(/"Term"!==F);j=j.map((F)=>"nl-"+F),j=j.join(" ");let V=D(B.text);V=N(V);let z=""+V+"";return N(B.whitespace.before)+z+N(B.whitespace.after)}},{}],180:[function(E,C){"use strict";const N=/([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i;C.exports=(_)=>{const B={endPunctuation:function(){let j=this.text.match(N);if(j){if(void 0!=={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"}[j[2]])return j[2]}return null},setPunctuation:function(j){return this.killPunctuation(),this.text+=j,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(N,"$1"),this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{}],181:[function(E,C){"use strict";const N=E("../../paths"),D=N.tags,_=function(B,j){if(D[j]===void 0)return!0;let V=D[j].enemy||[];for(let z=0;z{const V={tag:function(z,F){N(this,z,F)},unTag:function(z,F){D(this,z,F)},canBe:function(z){return z=z||"",z=z.replace(/^#/,""),_(this,z)}};return Object.keys(V).forEach((z)=>{j.prototype[z]=V[z]}),j}},{"./canBe":181,"./setTag":183,"./unTag":184}],183:[function(E,C){"use strict";const N=E("../../paths"),D=N.log,_=N.tags,B=N.fns,j=E("./unTag"),V=(F,$,G)=>{if(($=$.replace(/^#/,""),!0!==F.tags[$])&&(F.tags[$]=!0,D.tag(F,$,G),_[$])){let O=_[$].enemy;for(let H=0;H "+$)}}};C.exports=function(F,$,G){return F&&$?B.isArray($)?void $.forEach((O)=>V(F,O,G)):void(V(F,$,G),_[$]&&_[$].also!==void 0&&V(F,_[$].also,G)):void 0}},{"../../paths":185,"./unTag":184}],184:[function(E,C){"use strict";const N=E("../../paths"),D=N.log,_=N.tags,B=(V,z,F)=>{if(V.tags[z]&&(D.unTag(V,z,F),delete V.tags[z],_[z])){let $=_[z].downward;for(let G=0;G<$.length;G++)B(V,$[G]," - - - ")}};C.exports=(V,z,F)=>{if(V&&z){if("*"===z)return void(V.tags={});B(V,z,F)}}},{"../../paths":185}],185:[function(E,C){C.exports={fns:E("../fns"),log:E("../log"),tags:E("../tagset")}},{"../fns":21,"../log":23,"../tagset":163}],186:[function(E,C){"use strict";const N=/^(\s|-+|\.\.+)+/,D=/(\s+|-+|\.\.+)$/;C.exports=(B)=>{let j={before:"",after:""},V=B.match(N);return null!==V&&(j.before=V[0],B=B.replace(N,"")),V=B.match(D),null!==V&&(B=B.replace(D,""),j.after=V[0]),{whitespace:j,text:B}}},{}],187:[function(E,C){"use strict";const N=E("../term"),D=/^([a-z]+)(-)([a-z0-9].*)/i,_=/\S/,B={"-":!0,"\u2013":!0,"--":!0,"...":!0};C.exports=function(V){let z=[],F=[];V=V||"","number"==typeof V&&(V=""+V);const $=V.split(/(\S+)/);for(let O=0;O<$.length;O++){const H=$[O];if(!0===D.test(H)){const M=H.split("-");for(let S=0;Snew N(O))}},{"../term":169}],188:[function(E,C){C.exports={parent:{get:function(){return this.refText||this},set:function(N){return this.refText=N,this}},parentTerms:{get:function(){return this.refTerms||this},set:function(N){return this.refTerms=N,this}},dirty:{get:function(){for(let N=0;N{D.dirty=N})}},refTerms:{get:function(){return this._refTerms||this},set:function(N){return this._refTerms=N,this}},found:{get:function(){return 0{return this.firstTerm().whitespace.before=N,this},after:(N)=>{return this.lastTerm().whitespace.after=N,this}}}}}},{}],189:[function(E,C){"use strict";const N=E("./build"),D=E("./getters"),_=function(B,j,V,z){this.terms=B,this.lexicon=j,this.refText=V,this._refTerms=z,this._cacheWords={},this.count=void 0,this.get=($)=>{return this.terms[$]};let F=Object.keys(D);for(let $=0;${F.parentTerms=z}),z},E("./match")(_),E("./methods/loops")(_),E("./match/not")(_),E("./methods/delete")(_),E("./methods/insert")(_),E("./methods/misc")(_),E("./methods/out")(_),E("./methods/replace")(_),E("./methods/split")(_),E("./methods/transform")(_),E("./methods/lump")(_),C.exports=_},{"./build":187,"./getters":188,"./match":190,"./match/not":197,"./methods/delete":198,"./methods/insert":199,"./methods/loops":200,"./methods/lump":202,"./methods/misc":203,"./methods/out":204,"./methods/replace":205,"./methods/split":206,"./methods/transform":207}],190:[function(E,C){"use strict";const N=E("./lib/syntax"),D=E("./lib/startHere"),_=E("../../result"),B=E("./lib");C.exports=(V)=>{const z={match:function(F,$){if(0===this.terms.length)return new _([],this.lexicon,this.parent);if(!F)return new _([],this.lexicon,this.parent);let G=B(this,F,$);return G=G.map((O)=>{return new V(O,this.lexicon,this.refText,this.refTerms)}),new _(G,this.lexicon,this.parent)},matchOne:function(F){if(0===this.terms.length)return null;let $=N(F);for(let G=0,O;G{V.prototype[F]=z[F]}),V}},{"../../result":26,"./lib":192,"./lib/startHere":195,"./lib/syntax":196}],191:[function(E,C){"use strict";C.exports=(D,_)=>{for(let B=0;B<_.length;B++){let j=_[B],V=!1;if(!0!==j.optional&&!0!==j.negative){if(void 0!==j.normal){for(let z=0;z{if("string"==typeof V&&(V=N(V)),!V||0===V.length)return[];if(!0===_(j,V,z))return[];let F=[];for(let $=0,G;${if(!_||!B)return!1;if(!0===B.anyOne)return!0;if(void 0!==B.tag)return _.tags[B.tag];if(void 0!==B.normal)return B.normal===_.normal||B.normal===_.silent_term;if(void 0!==B.oneOf){for(let j=0;j{let V=N(_,B,j);return B.negative&&(V=!!!V),V}},{}],194:[function(E,C,A){arguments[4][89][0].apply(A,arguments)},{"../../paths":209,dup:89}],195:[function(E,C){"use strict";const N=E("./isMatch"),D=(j,V,z)=>{for(V=V;V{for(V=V;V{let $=V;for(let G=0;GI.max)return null;$=S+1,G+=1;continue}if(!0===H.optional){let S=z[G+1];$=_(j,$,H,S);continue}if(N(O,H,F)){if($+=1,!0===H.consecutive){let S=z[G+1];$=_(j,$,H,S)}continue}if(O.silent_term&&!O.normal){if(0===G)return null;$+=1,G-=1;continue}if(!0!==H.optional)return null}return j.terms.slice(V,$)}},{"./isMatch":193}],196:[function(E,C){"use strict";const N=E("./paths").fns,D=function(V){return V.substr(1,V.length)},_=function(V){return V.substring(0,V.length-1)},B=function(V){V=V||"",V=V.trim();let z={};if("!"===V.charAt(0)&&(V=D(V),z.negative=!0),"^"===V.charAt(0)&&(V=D(V),z.starting=!0),"$"===V.charAt(V.length-1)&&(V=_(V),z.ending=!0),"?"===V.charAt(V.length-1)&&(V=_(V),z.optional=!0),"+"===V.charAt(V.length-1)&&(V=_(V),z.consecutive=!0),"#"===V.charAt(0)&&(V=D(V),z.tag=N.titleCase(V),V=""),"("===V.charAt(0)&&")"===V.charAt(V.length-1)){V=_(V),V=D(V);let F=V.split(/\|/g);z.oneOf={terms:{},tagArr:[]},F.forEach(($)=>{if("#"===$.charAt(0)){let G=$.substr(1,$.length);G=N.titleCase(G),z.oneOf.tagArr.push(G)}else z.oneOf.terms[$]=!0}),V=""}if("{"===V.charAt(0)&&"}"===V.charAt(V.length-1)){let F=V.match(/\{([0-9]+), ?([0-9]+)\}/);z.minMax={min:parseInt(F[1],10),max:parseInt(F[2],10)},V=""}return"."===V&&(z.anyOne=!0,V=""),"*"===V&&(z.astrix=!0,V=""),""!==V&&(z.normal=V.toLowerCase()),z};C.exports=function(V){return V=V||"",V=V.split(/ +/),V.map(B)}},{"./paths":194}],197:[function(E,C){"use strict";const N=E("./lib/syntax"),D=E("./lib/startHere"),_=E("../../result");C.exports=(j)=>{const V={notObj:function(z,F){let $=[],G=[];return z.terms.forEach((O)=>{F.hasOwnProperty(O.normal)?(G.length&&$.push(G),G=[]):G.push(O)}),G.length&&$.push(G),$=$.map((O)=>{return new j(O,z.lexicon,z.refText,z.refTerms)}),new _($,z.lexicon,z.parent)},notString:function(z,F,$){let G=[],O=N(F),H=[];for(let M=0,S;M{return new j(M,z.lexicon,z.refText,z.refTerms)}),new _(G,z.lexicon,z.parent)}};return V.notArray=function(z,F){let $=F.reduce((G,O)=>{return G[O]=!0,G},{});return V.notObj(z,$)},j.prototype.not=function(z,F){if("object"==typeof z){let $=Object.prototype.toString.call(z);if("[object Array]"===$)return V.notArray(this,z,F);if("[object Object]"===$)return V.notObj(this,z,F)}return"string"==typeof z?V.notString(this,z,F):this},j}},{"../../result":26,"./lib/startHere":195,"./lib/syntax":196}],198:[function(E,C){"use strict";const N=E("../mutate");C.exports=(_)=>{return _.prototype.delete=function(B){if(!this.found)return this;if(!B)return this.parentTerms=N.deleteThese(this.parentTerms,this),this;let j=this.match(B);if(j.found){let V=N.deleteThese(this,j);return V}return this.parentTerms},_}},{"../mutate":208}],199:[function(E,C){"use strict";const N=E("../mutate"),D=(B,j)=>{return B.terms.length&&B.terms[j]?(B.terms[j].whitespace.before=" ",B):B};C.exports=(B)=>{const j=function(z){if("Terms"===z.isA)return z;if("Term"===z.isA)return new B([z]);let F=B.fromString(z);return F.tagger(),F},V={insertBefore:function(z,F){let $=this.terms.length,G=j(z);F&&G.tag(F);let O=this.index();return D(this.parentTerms,O),0z&&(z=0);let G=this.terms.length,O=j(F);return $&&O.tag($),0{B.prototype[z]=V[z]}),B}},{"../mutate":208}],200:[function(E,C){"use strict";C.exports=(D)=>{return[["tag"],["unTag"],["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]].forEach((B)=>{let j=B[0],V=B[1];D.prototype[j]=function(){let F=arguments;return this.terms.forEach(($)=>{$[j].apply($,F)}),V&&this.tag(V,j),this}}),D}},{}],201:[function(E,C){"use strict";const N=E("../../../term"),D=(B,j)=>{let V=B.whitespace.before+B.text+B.whitespace.after;return V+=j.whitespace.before+j.text+j.whitespace.after,V};C.exports=function(B,j){let V=B.terms[j],z=B.terms[j+1];if(z){let F=D(V,z);return B.terms[j]=new N(F,V.context),B.terms[j].normal=V.normal+" "+z.normal,B.terms[j].parentTerms=B.terms[j+1].parentTerms,B.terms[j+1]=null,void(B.terms=B.terms.filter(($)=>null!==$))}}},{"../../../term":169}],202:[function(E,C){"use strict";const N=E("./combine"),D=E("../../mutate"),_=function(j,V){let z=j.terms.length;for(let $=0;${return j.prototype.lump=function(){let V=this.index(),z={};if(this.terms.forEach(($)=>{Object.keys($.tags).forEach((G)=>z[G]=!0)}),this.parentTerms===this){let $=_(this,z);return this.terms=[$],this}this.parentTerms=D.deleteThese(this.parentTerms,this);let F=_(this,z);return this.parentTerms.terms=D.insertAt(this.parentTerms.terms,V,F),this},j}},{"../../mutate":208,"./combine":201}],203:[function(E,C){"use strict";const N=E("../../tagger");C.exports=(_)=>{const B={tagger:function(){return N(this),this},firstTerm:function(){return this.terms[0]},lastTerm:function(){return this.terms[this.terms.length-1]},all:function(){return this.parent},data:function(){return{text:this.out("text"),normal:this.out("normal")}},term:function(j){return this.terms[j]},first:function(){let j=this.terms[0];return new _([j],this.lexicon,this.refText,this.refTerms)},last:function(){let j=this.terms[this.terms.length-1];return new _([j],this.lexicon,this.refText,this.refTerms)},slice:function(j,V){let z=this.terms.slice(j,V);return new _(z,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},index:function(){let j=this.parentTerms,V=this.terms[0];if(!j||!V)return null;for(let z=0;z{return j+=V.whitespace.before.length,j+=V.text.length,j+=V.whitespace.after.length,j},0)},wordCount:function(){return this.terms.length},canBe:function(j){let V=this.terms.filter((z)=>z.canBe(j));return new _(V,this.lexicon,this.refText,this.refTerms)},toCamelCase:function(){return this.toTitleCase(),this.terms.forEach((j,V)=>{0!==V&&(j.whitespace.before=""),j.whitespace.after=""}),this.tag("#CamelCase","toCamelCase"),this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{"../../tagger":129}],204:[function(E,C){"use strict";const N=E("../paths").fns,D={text:function(B){return B.terms.reduce((j,V)=>{return j+=V.out("text"),j},"")},normal:function(B){let j=B.terms.filter((V)=>{return V.text});return j=j.map((V)=>{return V.normal}),j.join(" ")},grid:function(B){var j=" ";return j+=B.terms.reduce((V,z)=>{return V+=N.leftPad(z.text,11),V},""),j+"\n\n"},color:function(B){return B.terms.reduce((j,V)=>{return j+=N.printTerm(V),j},"")},root:function(B){return B.terms.filter((j)=>j.text).map((j)=>j.root).join(" ").toLowerCase()},html:function(B){return B.terms.map((j)=>j.render.html()).join(" ")},debug:function(B){B.terms.forEach((j)=>{j.out("debug")})}};D.plaintext=D.text,D.normalize=D.normal,D.normalized=D.normal,D.colors=D.color,D.tags=D.terms;C.exports=(B)=>{return B.prototype.out=function(j){return D[j]?D[j](this):D.text(this)},B.prototype.debug=function(){return D.debug(this)},B}},{"../paths":209}],205:[function(E,C){"use strict";const N=E("../mutate");C.exports=(_)=>{const B={replace:function(j,V){return void 0===V?this.replaceWith(j):(this.match(j).replaceWith(V),this)},replaceWith:function(j,V){let z=_.fromString(j);z.tagger(),V&&z.tag(V,"user-given");let F=this.index();return this.parentTerms=N.deleteThese(this.parentTerms,this),this.parentTerms.terms=N.insertAt(this.parentTerms.terms,F,z),this.terms=z.terms,this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{"../mutate":208}],206:[function(E,C,A){"use strict";const N=(_,B)=>{let j=B.terms[0],V=B.terms.length;for(let z=0;z<_.length;z++)if(_[z]===j)return{before:_.slice(0,z),match:_.slice(z,z+V),after:_.slice(z+V,_.length)};return{after:_}},D=(_)=>{const B={splitAfter:function(j,V){let z=this.match(j,V),F=this.terms,$=[];return z.list.forEach((G)=>{let O=N(F,G);O.before&&O.match&&$.push(O.before.concat(O.match)),F=O.after}),F.length&&$.push(F),$=$.map((G)=>{let O=this.refText;return new _(G,this.lexicon,O,this.refTerms)}),$},splitOn:function(j,V){let z=this.match(j,V),F=this.terms,$=[];return z.list.forEach((G)=>{let O=N(F,G);O.before&&$.push(O.before),O.match&&$.push(O.match),F=O.after}),F.length&&$.push(F),$=$.filter((G)=>G&&G.length),$=$.map((G)=>new _(G,G.lexicon,G.refText,this.refTerms)),$},splitBefore:function(j,V){let z=this.match(j,V),F=this.terms,$=[];z.list.forEach((G)=>{let O=N(F,G);O.before&&$.push(O.before),O.match&&$.push(O.match),F=O.after}),F.length&&$.push(F);for(let G=0;G<$.length;G++)for(let O=0;OG&&G.length),$=$.map((G)=>new _(G,G.lexicon,G.refText,this.refTerms)),$}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_};C.exports=D,A=D},{}],207:[function(E,C){"use strict";C.exports=(D)=>{const _={clone:function(){let B=this.terms.map((j)=>{return j.clone()});return new D(B,this.lexicon,this.refText,null)},hyphenate:function(){return this.terms.forEach((B,j)=>{j!==this.terms.length-1&&(B.whitespace.after="-"),0!==j&&(B.whitespace.before="")}),this},dehyphenate:function(){return this.terms.forEach((B)=>{"-"===B.whitespace.after&&(B.whitespace.after=" ")}),this}};return Object.keys(_).forEach((B)=>{D.prototype[B]=_[B]}),D}},{}],208:[function(E,C,A){"use strict";const N=(D)=>{let _=[];return"Terms"===D.isA?_=D.terms:"Text"===D.isA?_=D.flatten().list[0].terms:"Term"===D.isA&&(_=[D]),_};A.deleteThese=(D,_)=>{let B=N(_);return D.terms=D.terms.filter((j)=>{for(let V=0;V{B.dirty=!0;let j=N(B);return 0<_&&j[0]&&!j[0].whitespace.before&&(j[0].whitespace.before=" "),Array.prototype.splice.apply(D,[_,0].concat(j)),D}},{}],209:[function(E,C){C.exports={data:E("../data"),lexicon:E("../data"),fns:E("../fns"),Term:E("../term")}},{"../data":6,"../fns":21,"../term":169}],210:[function(E,C){C.exports="0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt"},{}],211:[function(E,C){C.exports="a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori"},{}],212:[function(E,C){C.exports="aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl"},{}],213:[function(E,C){C.exports="a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dell\xEDn,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0\u0307zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg"},{}],214:[function(E,C){C.exports="0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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"},{}],215:[function(E,C){C.exports="0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an"},{}],216:[function(E,C){C.exports="aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la"},{}],217:[function(E,C){C.exports="0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il"},{}],218:[function(E,C){C.exports="aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey"},{}],219:[function(E,C){C.exports="0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve"},{}],220:[function(E,C){C.exports="0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,\xF16;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams"},{}],221:[function(E,C){C.exports="0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on"},{}],222:[function(E,C){C.exports="ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s"},{}],223:[function(E,C){C.exports="0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on"},{}],224:[function(E,C){C.exports="0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,\xE9;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c"},{}],225:[function(E,C){C.exports="0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut"},{}],226:[function(E,C){C.exports="'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut"},{}],227:[function(E,C){C.exports="aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt"},{}],228:[function(E,C){C.exports="0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls"},{}],229:[function(E,C){C.exports="0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce"},{}],230:[function(E,C){"use strict";const N=36,D="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",_=D.split("").reduce(function(I,q,L){return I[q]=L,I},{});var V={toAlphaCode:function(I){if(D[I]!==void 0)return D[I];let q=1,L=N,W="";for(;I>=L;I-=L,q++,L*=N);for(;q--;){const K=I%N;W=String.fromCharCode((10>K?48:55)+K)+W,I=(I-K)/N}return W},fromAlphaCode:function(I){if(_[I]!==void 0)return _[I];let q=0,L=1,W=N,K=1;for(;L=q.length)&&(1===L?I===q[0]:q.slice(0,L)===I)},$=function(I){let q={};const L=function(W,K){let J=I.nodes[W];"!"===J[0]&&(q[K]=!0,J=J.slice(1));let R=J.split(/([A-Z0-9,]+)/g);for(let U=0;U{D[z]=N(D[z]),D[z].cache()}),Object.keys(_).forEach((z)=>{_[z]=N(_[z]),_[z].cache()});C.exports={lookup:function(z){if(_.uncountable.has(z))return"Noun";if(_.orgWords.has(z))return"Noun";for(let F=0;F{let $=D[F]._cache;const G=Object.keys($);for(let O=0;O (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"10.0.0",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build/index.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js",lint:"node ./scripts/prepublish/linter.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"^6.24.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1","browserify-glob":"^0.2.0","bundle-collapser":"^1.2.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",efrt:"0.0.6",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(E,C){"use strict";const N=E("../fns");C.exports=N.uncompress_suffixes(["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"],{erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"})},{"../fns":5}],3:[function(E,C){C.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],4:[function(E,C){"use strict";let D=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(let z=0;6>=z;z++)D.push(D[z]+"s");let _=["millisecond","minute","hour","day","week","month","year","decade"],B=_.length;for(let z=0;z{return Object.keys(D).forEach((_)=>{N[_]=D[_]}),N},A.uncompress_suffixes=function(N,D){const _=Object.keys(D),B=_.length;for(let j=0;j{D.extendObj(z,O)},F=(O,H)=>{const M=O.length;for(let I=0;I1{z[O]="Infinitive";const H=N.irregular_verbs[O];Object.keys(H).forEach((I)=>{H[I]&&(z[H[I]]=I)});const M=j(O);Object.keys(M).forEach((I)=>{M[I]&&!z[M[I]]&&(z[M[I]]=I)})}),N.verbs.forEach((O)=>{const H=j(O);Object.keys(H).forEach((M)=>{H[M]&&!z[H[M]]&&(z[H[M]]=M)}),z[B(O)]="Adjective"}),N.superlatives.forEach((O)=>{z[_.toNoun(O)]="Noun",z[_.toAdverb(O)]="Adverb",z[_.toSuperlative(O)]="Superlative",z[_.toComparative(O)]="Comparative"}),N.verbConverts.forEach((O)=>{z[_.toNoun(O)]="Noun",z[_.toAdverb(O)]="Adverb",z[_.toSuperlative(O)]="Superlative",z[_.toComparative(O)]="Comparative";const H=_.toVerb(O);z[H]="Verb";const M=j(H);Object.keys(M).forEach((I)=>{M[I]&&!z[M[I]]&&(z[M[I]]=I)})}),F(N.notable_people.female,"FemaleName"),F(N.notable_people.male,"MaleName"),F(N.titles,"Singular"),F(N.verbConverts,"Adjective"),F(N.superlatives,"Adjective"),F(N.currencies,"Currency"),V(N.misc),delete z[""],delete z[" "],delete z[null],C.exports=z},{"../result/subset/adjectives/methods":44,"../result/subset/verbs/methods/conjugate/faster":108,"../result/subset/verbs/methods/toAdjective":118,"./fns":5,"./index":6}],8:[function(E,C){C.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],9:[function(E,C){"use strict";const N={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},D={Organization:["20th century fox","3m","7-eleven","g8","motel 6","vh1"],Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise","as far as","as if","in case","provided that","supposing","no matter","yet"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock","all day","at night"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:E("./determiners"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},_=Object.keys(D);for(let B=0;B<_.length;B++){const j=D[_[B]];for(let z=0;z{return B[j[1]]=j[0],B},{}),_=N.reduce((B,j)=>{return B[j[0]]=j[1],B},{});C.exports={toSingle:D,toPlural:_}},{}],12:[function(E,C,A){A.male=["messiaen","saddam hussain","virgin mary","van gogh","mitt romney","barack obama","kanye west","mubarek","lebron james","emeril lagasse","rush limbaugh","carson palmer","ray romano","ronaldinho","valentino rossi","rod stewart","kiefer sutherland","denzel washington","dick wolf","tiger woods","adolf hitler","hulk hogan","ashton kutcher","kobe bryant","cardinal wolsey","slobodan milosevic"],A.female=["jk rowling","oprah winfrey","reese witherspoon","tyra banks","halle berry","paris hilton","scarlett johansson"]},{}],13:[function(E,C){C.exports=["lord","lady","king","queen","prince","princess","dutchess","president","excellency","professor","chancellor","father","pastor","brother","sister","doctor","captain","commander","general","lieutenant","reverend","rabbi","ayatullah","councillor","secretary","sultan","mayor","congressman","congresswoman"]},{}],14:[function(E,C){"use strict";let D=["denar","dobra","forint","kwanza","kyat","lempira","pound sterling","riel","yen","zloty","dollar","cent","penny","dime","dinar","euro","lira","pound","pence","peso","baht","sterling","rouble","shekel","sheqel","yuan","franc","rupee","shilling","krona","dirham","bitcoin"];const _={yen:"yen",baht:"baht",riel:"riel",penny:"pennies"};let B=D.length;for(let j=0;j{let j=Object.keys(N.ordinal[B]),z=Object.keys(N.cardinal[B]);for(let V=0;V{Object.keys(N[_]).forEach((B)=>{1{D[B[0]]=B[1]}),Object.keys(N).forEach((B)=>{D[B]?D[B].Participle=N[B]:D[B]={Participle:N[B]}}),C.exports=D},{"./participles":19}],19:[function(E,C){C.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],20:[function(E,C){"use strict";const N=E("../fns");C.exports=N.uncompress_suffixes(["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"],{prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"})},{"../fns":5}],21:[function(E,C,A){"use strict";const N=E("./tagset"),D={reset:"\x1B[0m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",black:"\x1B[30m"};"undefined"==typeof C&&Object.keys(D).forEach((_)=>{D[_]=""}),A.ensureString=(_)=>{if("string"==typeof _)return _;return"number"==typeof _?""+_:""},A.ensureObject=(_)=>{return"object"==typeof _?null===_||_ instanceof Array?{}:_:{}},A.titleCase=(_)=>{return _.charAt(0).toUpperCase()+_.substr(1)},A.copy=(_)=>{let B={};return _=A.ensureObject(_),Object.keys(_).forEach((j)=>{B[j]=_[j]}),B},A.extend=(_,B)=>{_=A.copy(_);const j=Object.keys(B);for(let z=0;z{let V=B.normal||"["+B.silent_term+"]";V=N.leftPad("'"+V+"'",12),V+=" -> "+j,V+=N.rightPad(z||"",15),console.log("%c"+V," color: #a2c99c")},untag:(B,j,z)=>{let V=B.normal||"["+B.silent_term+"]";V=N.leftPad("'"+V+"'",12),V+=" ~* "+j,V+=" "+(z||""),console.log("%c"+V," color: #b66a6a")}}},{"../fns":21}],24:[function(E,C){"use strict";const N=E("./client"),D=E("./server");let _=!1;C.exports={enable:(B)=>{B===void 0&&(B=!0),_=B},tag:(B,j,z)=>{(!0===_||"tagger"===_)&&(typeof window===void 0?D.tag(B,j,z):N.tag(B,j,z))},unTag:(B,j,z)=>{(!0===_||"tagger"===_)&&(typeof window===void 0?D.untag(B,j,z):N.untag(B,j,z))}}},{"./client":23,"./server":25}],25:[function(E,C){"use strict";const N=E("../fns");C.exports={tag:(B,j,z)=>{let V=B.normal||"["+B.silent_term+"]";V=N.yellow(V),V=N.leftPad("'"+V+"'",20),V+=" -> "+N.printTag(j),V=N.leftPad(V,54),console.log(" "+V+"("+N.cyan(z||"")+")")},untag:function(B,j,z){let V="-"+B.normal+"-";V=N.red(V),V=N.leftPad(V,20),V+=" ~* "+N.red(j),V=N.leftPad(V,54),console.log(" "+V+"("+N.red(z||"")+")")}}},{"../fns":21}],26:[function(E,C){"use strict";const N=E("./index"),D=E("./tokenize"),_=E("./paths"),B=_.Terms,j=_.fns,z=E("../term/methods/normalize/normalize").normalize,V=function($){return $=$||{},Object.keys($).reduce((G,O)=>{G[O]=$[O];let H=z(O);return H=H.replace(/\s+/," "),H=H.replace(/[.\?\!]/g,""),O!==H&&(G[H]=$[O]),G},{})};C.exports=($,G)=>{let O=[];j.isArray($)?O=$:($=j.ensureString($),O=D($)),G=V(G);let H=O.map((I)=>B.fromString(I,G)),M=new N(H,G);return M.list.forEach((I)=>{I.refText=M}),M}},{"../term/methods/normalize/normalize":179,"./index":28,"./paths":40,"./tokenize":124}],27:[function(E,C){C.exports={found:function(){return 0{return this.list.forEach((D)=>{D.whitespace.before(N)}),this},after:(N)=>{return this.list.forEach((D)=>{D.whitespace.after(N)}),this}}}}},{}],28:[function(E,C){"use strict";function N(B,j,z){this.list=B||[],this.lexicon=j,this.reference=z;let V=Object.keys(D);for(let F=0;F{N.prototype[B]=function(j,z){let V=_[B],F=V.find(this,j,z);return new _[B](F.list,this.lexicon,this.parent)}})},{"./getters":27,"./methods/loops":29,"./methods/match":30,"./methods/misc":31,"./methods/normalize":32,"./methods/out":33,"./methods/sort":37,"./methods/split":39,"./subset/acronyms":41,"./subset/adjectives":42,"./subset/adverbs":50,"./subset/contractions":56,"./subset/dates":58,"./subset/ngrams":68,"./subset/ngrams/endGrams":65,"./subset/ngrams/startGrams":69,"./subset/nouns":71,"./subset/people":81,"./subset/sentences":83,"./subset/terms":88,"./subset/values":94,"./subset/verbs":104,"./subsets":123}],29:[function(E,C){"use strict";const N=["toTitleCase","toUpperCase","toLowerCase","toCamelCase","hyphenate","dehyphenate","insertBefore","insertAfter","insertAt","replace","replaceWith","delete","lump","tagger","unTag"];C.exports=(_)=>{N.forEach((B)=>{_.prototype[B]=function(){for(let j=0;j{const j=function($,G,O){let H=[];G=N(G),$.list.forEach((I)=>{let S=I.match(G,O);S.list.forEach((q)=>{H.push(q)})});let M=$.parent||$;return new B(H,$.lexicon,M)},z=function($,G){let O=[];return $.list.forEach((H)=>{H.terms.forEach((M)=>{G[M.normal]&&O.push(M)})}),O=O.map((H)=>{return new D([H],$.lexicon,$,H.parentTerms)}),new B(O,$.lexicon,$.parent)},V=function($,G){let O=G.reduce((H,M)=>{return H[M]=!0,H},{});return z($,O)},F={match:function($,G){if(0===this.list.length||void 0===$||null===$){let H=this.parent||this;return new B([],this.lexicon,H)}if("string"==typeof $||"number"==typeof $)return j(this,$,G);let O=Object.prototype.toString.call($);return"[object Array]"===O?V(this,$):"[object Object]"===O?z(this,$):this},not:function($,G){let O=[];this.list.forEach((M)=>{let I=M.not($,G);O=O.concat(I.list)});let H=this.parent||this;return new B(O,this.lexicon,H)},if:function($){let G=[];for(let H=0;H{_.addMethods(_,{all:function(){return this.parent},index:function(){return this.list.map((j)=>j.index())},wordCount:function(){return this.terms().length},data:function(){return this.list.map((j)=>j.data())},debug:function(j){return out(this,"debug",j)},clone:function(){let j=this.list.map((z)=>{return z.clone()});return new _(j)},term:function(j){let z=this.list.map((V)=>{let F=[],$=V.terms[j];return $&&(F=[$]),new N(F,this.lexicon,this.refText,this.refTerms)});return new _(z,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(j,z){return this.list=this.list.slice(j,z),this},get:function(j){if(!j&&0!==j||!this.list[j])return new _([],this.lexicon,this.parent);let z=this.list[j];return new _([z],this.lexicon,this.parent)},first:function(j){return j||0===j?new _(this.list.slice(0,j),this.lexicon,this.parent):this.get(0)},last:function(j){if(!j&&0!==j)return this.get(this.list.length-1);let z=this.list.length;return new _(this.list.slice(z-j,z),this.lexicon,this.parent)},concat:function(){for(let j=0,z;j{j=j.concat(V.terms)}),!j.length)return new _(null,this.lexicon,this.parent);let z=new N(j,this.lexicon,this,null);return new _([z],this.lexicon,this.parent)},canBe:function(j){return this.list.forEach((z)=>{z.terms=z.terms.filter((V)=>{return V.canBe(j)})}),this},random:function(j){j=j||1;let z=Math.floor(Math.random()*this.list.length),V=this.list.slice(z,z+j);if(V.lengthz&&(F=z),V=V.concat(this.list.slice(0,F))}return new _(V,this.lexicon,this.parent)}})}},{"../../terms":194}],32:[function(E,C){"use strict";const N={whitespace:!0,case:!0,numbers:!0,punctuation:!0,unicode:!0,contractions:!0},D={whitespace:(B)=>{return B.terms().list.forEach((j,z)=>{let V=j.terms[0];0{return B.list.forEach((j)=>{j.terms.forEach((z,V)=>{0===V||z.tags.Person||z.tags.Place||z.tags.Organization?j.toTitleCase():j.toLowerCase()})}),B},numbers:(B)=>{return B.values().toNumber()},punctuation:(B)=>{return B.list.forEach((j)=>{j.terms[0]._text=j.terms[0]._text.replace(/^¿/,"");for(let V=0,F;V{return B.contractions().expand()}};C.exports=(B)=>{B.prototype.normalize=function(j){return j=j||N,Object.keys(j).forEach((z)=>{void 0!==D[z]&&D[z](this)}),this}}},{}],33:[function(E,C){"use strict";const N=E("./topk"),D=E("./offset"),_=E("./indexes"),B={text:(z)=>{return z.list.reduce((V,F)=>{return V+=F.out("text"),V},"")},normal:(z)=>{return z.list.map((V)=>{let F=V.out("normal"),$=V.last();if($){let G=$.endPunctuation();("."===G||"!"===G||"?"===G)&&(F+=G)}return F}).join(" ")},root:(z)=>{return z.list.map((V)=>{return V.out("root")}).join(" ")},offsets:(z)=>{return D(z)},index:(z)=>{return _(z)},grid:(z)=>{return z.list.reduce((V,F)=>{return V+=F.out("grid"),V},"")},color:(z)=>{return z.list.reduce((V,F)=>{return V+=F.out("color"),V},"")},array:(z)=>{return z.list.reduce((V,F)=>{return V.push(F.out("normal")),V},[])},json:(z)=>{return z.list.reduce((V,F)=>{let $=F.terms.map((G)=>{return{text:G.text,normal:G.normal,tags:G.tag}});return V.push($),V},[])},html:(z)=>{let V=z.list.reduce((F,$)=>{let G=$.terms.reduce((O,H)=>{return O+="\n "+H.out("html"),O},"");return F+="\n "+G+"\n "},"");return" "+V+"\n"},terms:(z)=>{let V=[];return z.list.forEach((F)=>{F.terms.forEach(($)=>{V.push({text:$.text,normal:$.normal,tags:Object.keys($.tags)})})}),V},debug:(z)=>{return console.log("===="),z.list.forEach((V)=>{console.log(" --"),V.debug()}),z},topk:(z)=>{return N(z)}};B.plaintext=B.text,B.normalized=B.normal,B.colors=B.color,B.tags=B.terms,B.offset=B.offsets,B.idexes=B.index,B.frequency=B.topk,B.freq=B.topk,B.arr=B.array;C.exports=(z)=>{return z.prototype.out=function(V){return B[V]?B[V](this):B.text(this)},z.prototype.debug=function(){return B.debug(this)},z}},{"./indexes":34,"./offset":35,"./topk":36}],34:[function(E,C){"use strict";C.exports=(D)=>{let _=[],B={};D.terms().list.forEach((V)=>{B[V.terms[0].uid]=!0});let j=0,z=D.all();return z.list.forEach((V,F)=>{V.terms.forEach(($,G)=>{void 0!==B[$.uid]&&_.push({text:$.text,normal:$.normal,term:j,sentence:F,sentenceTerm:G}),j+=1})}),_}},{}],35:[function(E,C){"use strict";const N=(B,j)=>{let z=0;for(let V=0;V=j.length)return B.out("normal");let z=j[0].normal;for(let V=1,F;V{let j=B.all();return B.list.map((z)=>{let V=[];for(let M=0;M{let V=z.out("root");B[V]=B[V]||0,B[V]+=1});let j=[];return Object.keys(B).forEach((z)=>{j.push({normal:z,count:B[z]})}),j.forEach((z)=>{z.percent=parseFloat((100*(z.count/D.list.length)).toFixed(2))}),j=j.sort((z,V)=>{return z.count>V.count?-1:1}),_&&(j=j.splice(0,_)),j}},{}],37:[function(E,C){"use strict";const N=E("./methods");C.exports=(_)=>{return _.addMethods(_,{sort:function(j){return j=j||"alphabetical",j=j.toLowerCase(),j&&"alpha"!==j&&"alphabetical"!==j?"chron"===j||"chronological"===j?N.chron(this,_):"length"===j?N.lengthFn(this,_):"freq"===j||"frequency"===j?N.freq(this,_):"wordcount"===j?N.wordCount(this,_):this:N.alpha(this,_)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){let j={};return this.list=this.list.filter((z)=>{let V=z.out("root");return!j[V]&&(j[V]=!0,!0)}),this}}),_}},{"./methods":38}],38:[function(E,C,A){"use strict";const N=function(D){return D=D.sort((_,B)=>{return _.index>B.index?1:_.index===B.index?0:-1}),D.map((_)=>_.ts)};A.alpha=function(D){return D.list.sort((_,B)=>{if(_===B)return 0;if(_.terms[0]&&B.terms[0]){if(_.terms[0].root>B.terms[0].root)return 1;if(_.terms[0].rootB.out("root")?1:-1}),D},A.chron=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.termIndex()}});return D.list=N(_),D},A.lengthFn=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.chars()}});return D.list=N(_).reverse(),D},A.wordCount=function(D){let _=D.list.map((B)=>{return{ts:B,index:B.length}});return D.list=N(_),D},A.freq=function(D){let _={};D.list.forEach((j)=>{let z=j.out("root");_[z]=_[z]||0,_[z]+=1});let B=D.list.map((j)=>{let z=_[j.out("root")]||0;return{ts:j,index:-1*z}});return D.list=N(B),D}},{}],39:[function(E,C){"use strict";C.exports=(D)=>{return D.addMethods(D,{splitAfter:function(B,j){let z=[];return this.list.forEach((V)=>{V.splitAfter(B,j).forEach((F)=>{z.push(F)})}),this.list=z,this},splitBefore:function(B,j){let z=[];return this.list.forEach((V)=>{V.splitBefore(B,j).forEach((F)=>{z.push(F)})}),this.list=z,this},splitOn:function(B,j){let z=[];return this.list.forEach((V)=>{V.splitOn(B,j).forEach((F)=>{z.push(F)})}),this.list=z,this}}),D}},{}],40:[function(E,C){C.exports={fns:E("../fns"),data:E("../data"),Terms:E("../terms"),tags:E("../tagset")}},{"../data":6,"../fns":21,"../tagset":167,"../terms":194}],41:[function(E,C){"use strict";const N=E("../../index");C.exports=N.makeSubset({data:function(){return this.terms().list.map((B)=>{let j=B.terms[0],z=j.text.toUpperCase().replace(/\./g).split("");return{periods:z.join("."),normal:z.join(""),text:j.text}})}},function(B,j){return B=B.match("#Acronym"),"number"==typeof j&&(B=B.get(j)),B})},{"../../index":28}],42:[function(E,C){"use strict";const N=E("../../index"),D=E("./methods");C.exports=N.makeSubset({data:function(){return this.list.map((j)=>{const z=j.out("normal");return{comparative:D.toComparative(z),superlative:D.toSuperlative(z),adverbForm:D.toAdverb(z),nounForm:D.toNoun(z),verbForm:D.toVerb(z),normal:z,text:this.out("text")}})}},function(j,z){return j=j.match("#Adjective"),"number"==typeof z&&(j=j.get(z)),j})},{"../../index":28,"./methods":44}],43:[function(E,C){"use strict";const N=E("../../../../data"),D={};N.superlatives=N.superlatives||[],N.superlatives.forEach((_)=>{D[_]=!0}),N.verbConverts=N.verbConverts||[],N.verbConverts.forEach((_)=>{D[_]=!0}),C.exports=D},{"../../../../data":6}],44:[function(E,C){"use strict";C.exports={toNoun:E("./toNoun"),toSuperlative:E("./toSuperlative"),toComparative:E("./toComparative"),toAdverb:E("./toAdverb"),toVerb:E("./toVerb")}},{"./toAdverb":45,"./toComparative":46,"./toNoun":47,"./toSuperlative":48,"./toVerb":49}],45:[function(E,C){"use strict";C.exports=function(D){const _={idle:"idly","public":"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},j=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],z=[/airs$/,/ll$/,/ee.$/,/ile$/];if(1==={foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,"super":1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1}[D])return null;if(void 0!==_[D])return _[D];if(3>=D.length)return null;for(let V=0;V{return j[z]=!0,j},{});C.exports=(j)=>{return _[j]?D[j]?D[j]:!0===/e$/.test(j)?j+"n":j+"en":j}},{"../../../../data":6}],50:[function(E,C){"use strict";const N=E("../../index"),D=E("./toAdjective");C.exports=N.makeSubset({data:function(){return this.terms().list.map((j)=>{let z=j.terms[0];return{adjectiveForm:D(z.normal),normal:z.normal,text:z.text}})}},function(j,z){return j=j.match("#Adverb+"),"number"==typeof z&&(j=j.get(z)),j})},{"../../index":28,"./toAdjective":51}],51:[function(E,C){"use strict";const N={idly:"idle",sporadically:"sporadic",basically:"basic",grammatically:"grammatical",alphabetically:"alphabetical",economically:"economical",conically:"conical",politically:"political",vertically:"vertical",practically:"practical",theoretically:"theoretical",critically:"critical",fantastically:"fantastic",mystically:"mystical",pornographically:"pornographic",fully:"full",jolly:"jolly",wholly:"whole"},D=[{reg:/bly$/i,repl:"ble"},{reg:/gically$/i,repl:"gical"},{reg:/([rsdh])ically$/i,repl:"$1ical"},{reg:/ically$/i,repl:"ic"},{reg:/uly$/i,repl:"ue"},{reg:/ily$/i,repl:"y"},{reg:/(.{3})ly$/i,repl:"$1"}];C.exports=function(B){if(N.hasOwnProperty(B))return N[B];for(let j=0;j{B.whitespace.after=_.whitespace.after,_.whitespace.after="",B.whitespace.before="",_.silent_term=_.text,B.silent_term=B.text,B.text="",_.tag("Contraction","new-contraction"),B.tag("Contraction","new-contraction")};C.exports=function(_){return!1===_.expanded||_.match("#Contraction").found?_:(_.match("(#Noun|#QuestionWord) is").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'s",B.contracted=!0}),_.match("#PronNoun did").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("#QuestionWord (did|do)").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("#Noun (could|would)").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'d",B.contracted=!0}),_.match("(they|we|you) are").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'re",B.contracted=!0}),_.match("i am").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'m",B.contracted=!0}),_.match("(#Noun|#QuestionWord) will").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'ll",B.contracted=!0}),_.match("(they|we|you|i) have").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="'ve",B.contracted=!0}),_.match("(#Copula|#Modal|do) not").list.forEach((B)=>{N(B.terms[0],B.terms[1]),B.terms[0].text+="n't",B.contracted=!0}),_)}},{}],53:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./contract"),_=E("./expand"),B=function(j,z,V){N.call(this,j,z,V)};B.prototype=Object.create(N.prototype),B.prototype.data=function(){let j=_(this.clone()),z=D(this.clone());return{text:this.out("text"),normal:this.out("normal"),expanded:{normal:j.out("normal"),text:j.out("text")},contracted:{normal:z.out("normal"),text:z.out("text")},isContracted:!!this.contracted}},B.prototype.expand=function(){return _(this)},B.prototype.contract=function(){return D(this)},C.exports=B},{"../../paths":40,"./contract":52,"./expand":54}],54:[function(E,C){"use strict";C.exports=function(D){return!1===D.contracted?D:(D.terms.forEach((_)=>{_.silent_term&&(!_.text&&(_.whitespace.before=" "),_._text=_.silent_term,_.normalize(),_.silent_term=null,_.unTag("Contraction","expanded"))}),D)}},{}],55:[function(E,C){"use strict";C.exports=(D)=>{let _=D.not("#Contraction"),B=_.match("(#Noun|#QuestionWord) (#Copula|did|do|have|had|could|would|will)");return B.concat(_.match("(they|we|you|i) have")),B.concat(_.match("i am")),B.concat(_.match("(#Copula|#Modal|do) not")),B.list.forEach((j)=>{j.expanded=!0}),B}},{}],56:[function(E,C){"use strict";const N=E("../../index"),D=E("./contraction"),_=E("./findPossible");C.exports=N.makeSubset({contract:function(){return this.list.forEach((z)=>z.contract()),this},expand:function(){return this.list.forEach((z)=>z.expand()),this},contracted:function(){return this.list=this.list.filter((z)=>{return z.contracted}),this},expanded:function(){return this.list=this.list.filter((z)=>{return!z.contracted}),this}},function(z,V){let F=z.match("#Contraction #Contraction #Contraction?");F.list=F.list.map((G)=>{let O=new D(G.terms,G.lexicon,G.refText,G.refTerms);return O.contracted=!0,O});let $=_(z);return $.list.forEach((G)=>{let O=new D(G.terms,G.lexicon,G.refText,G.refTerms);O.contracted=!1,F.list.push(O)}),F.sort("chronological"),"number"==typeof V&&(F=F.get(V)),F})},{"../../index":28,"./contraction":53,"./findPossible":55}],57:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./parseDate"),_=function(B,j,z){N.call(this,B,j,z),this.month=this.match("#Month")};_.prototype=Object.create(N.prototype),_.prototype.data=function(){return{text:this.out("text"),normal:this.out("normal"),date:D(this)}},C.exports=_},{"../../paths":40,"./parseDate":61}],58:[function(E,C){"use strict";const N=E("../../index"),D=E("./date"),_=E("./weekday"),B=E("./month");C.exports=N.makeSubset({toShortForm:function(){return this.match("#Month").terms().list.forEach((V)=>{let F=V.terms[0];B.toShortForm(F)}),this.match("#WeekDay").terms().list.forEach((V)=>{let F=V.terms[0];_.toShortForm(F)}),this},toLongForm:function(){return this.match("#Month").terms().list.forEach((V)=>{let F=V.terms[0];B.toLongForm(F)}),this.match("#WeekDay").terms().list.forEach((V)=>{let F=V.terms[0];_.toLongForm(F)}),this}},function(V,F){let $=V.match("#Date+");return"number"==typeof F&&($=$.get(F)),$.list=$.list.map((G)=>{return new D(G.terms,G.lexicon,G.refText,G.refTerms)}),$})},{"../../index":28,"./date":57,"./month":60,"./weekday":64}],59:[function(E,C,A){A.longMonths={january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11},A.shortMonths={jan:0,feb:1,febr:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,sept:8,oct:9,nov:10,dec:11}},{}],60:[function(E,C){"use strict";const N=E("./data"),D=N.shortMonths,_=N.longMonths;C.exports={index:function(B){if(B.tags.Month){if(_[B.normal]!==void 0)return _[B.normal];if(void 0!==D[B.normal])return D[B.normal]}return null},toShortForm:function(B){if(void 0!==B.tags.Month&&void 0!==_[B.normal]){let j=Object.keys(D);B.text=j[_[B.normal]]}return B.dirty=!0,B},toLongForm:function(B){if(void 0!==B.tags.Month&&void 0!==D[B.normal]){let j=Object.keys(_);B.text=j[D[B.normal]]}return B.dirty=!0,B}}},{"./data":59}],61:[function(E,C){"use strict";const N=E("./parseTime"),D=E("./weekday"),_=E("./month"),B=(V)=>{return V&&31>V&&0{return V&&1e3V};C.exports=(V)=>{let F={month:null,date:null,weekday:null,year:null,named:null,time:null},$=V.match("(#Holiday|today|tomorrow|yesterday)");if($.found&&(F.named=$.out("normal")),$=V.match("#Month"),$.found&&(F.month=_.index($.list[0].terms[0])),$=V.match("#WeekDay"),$.found&&(F.weekday=D.index($.list[0].terms[0])),$=V.match("#Time"),$.found&&(F.time=N(V),V.not("#Time")),$=V.match("#Month #Value #Year"),$.found){let G=$.values().numbers();B(G[0])&&(F.date=G[0]);let O=parseInt(V.match("#Year").out("normal"),10);j(O)&&(F.year=O)}if(!$.found){if($=V.match("#Month #Value"),$.found){let G=$.values().numbers(),O=G[0];B(O)&&(F.date=O)}if($=V.match("#Month #Year"),$.found){let G=parseInt(V.match("#Year").out("normal"),10);j(G)&&(F.year=G)}}if($=V.match("#Value of #Month"),$.found){let G=$.values().numbers()[0];B(G)&&(F.date=G)}return F}},{"./month":60,"./parseTime":62,"./weekday":64}],62:[function(E,C){"use strict";const N=/([12]?[0-9]) ?(am|pm)/i,D=/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i,_=(z)=>{return z&&0z},B=(z)=>{return z&&0z};C.exports=(z)=>{let V={logic:null,hour:null,minute:null,second:null,timezone:null},F=z.match("(by|before|for|during|at|until|after) #Time").firstTerm();F.found&&(V.logic=F.out("normal"));let $=z.match("#Time");return $.terms().list.forEach((G)=>{let O=G.terms[0],H=O.text.match(N);null!==H&&(V.hour=parseInt(H[1],10),"pm"===H[2]&&(V.hour+=12),!1===_(V.hour)&&(V.hour=null)),H=O.text.match(D),null!==H&&(V.hour=parseInt(H[1],10),V.minute=parseInt(H[2],10),!B(V.minute)&&(V.minute=null),"pm"===H[3]&&(V.hour+=12),!1===_(V.hour)&&(V.hour=null))}),V}},{}],63:[function(E,C,A){A.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},A.shortDays={sun:0,mon:1,tues:2,wed:3,weds:3,thurs:4,fri:5,sat:6}},{}],64:[function(E,C){"use strict";const N=E("./data"),D=N.shortDays,_=N.longDays;C.exports={index:function(B){if(B.tags.WeekDay){if(_[B.normal]!==void 0)return _[B.normal];if(void 0!==D[B.normal])return D[B.normal]}return null},toShortForm:function(B){if(B.tags.WeekDay&&void 0!==_[B.normal]){let j=Object.keys(D);B.text=j[_[B.normal]]}return B},toLongForm:function(B){if(B.tags.WeekDay&&void 0!==D[B.normal]){let j=Object.keys(_);B.text=j[D[B.normal]]}return B}}},{"./data":63}],65:[function(E,C){"use strict";const N=E("./index"),D=E("./getGrams"),_=function(B,j,z){N.call(this,B,j,z)};_.prototype=Object.create(N.prototype),_.find=function(B,j,z){let V={size:[1,2,3,4],edge:"end"};z&&(V.size=[z]);let F=D(B,V);return B=new _(F),B.sort(),"number"==typeof j&&(B=B.get(j)),B},C.exports=_},{"./getGrams":66,"./index":68}],66:[function(E,C){"use strict";const N=E("./gram"),D=function(z,V){let F=z.terms;if(F.length{z.list.forEach((O)=>{let H=[];H="start"===V.edge?_(O,G):"end"===V.edge?B(O,G):D(O,G),H.forEach((M)=>{F[M.key]?F[M.key].inc():F[M.key]=M})})});let $=Object.keys(F).map((G)=>F[G]);return $}},{"./gram":67}],67:[function(E,C){"use strict";const N=E("../../paths").Terms,D=function(_,B,j){N.call(this,_,B,j),this.key=this.out("normal"),this.size=_.length,this.count=1};D.prototype=Object.create(N.prototype),D.prototype.inc=function(){this.count+=1},C.exports=D},{"../../paths":40}],68:[function(E,C){"use strict";const N=E("../../index"),D=E("./getGrams"),_=function(z){return z.list=z.list.sort((V,F)=>{return V.count>F.count?-1:V.count===F.count&&(V.size>F.size||V.key.length>F.key.length)?-1:1}),z};C.exports=N.makeSubset({data:function(){return this.list.map((z)=>{return{normal:z.out("normal"),count:z.count,size:z.size}})},unigrams:function(){return this.list=this.list.filter((z)=>1===z.size),this},bigrams:function(){return this.list=this.list.filter((z)=>2===z.size),this},trigrams:function(){return this.list=this.list.filter((z)=>3===z.size),this},sort:function(){return _(this)}},function(z,V,F){let $={size:[1,2,3,4]};F&&($.size=[F]);let G=D(z,$);return z=new N(G),z=_(z),"number"==typeof V&&(z=z.get(V)),z})},{"../../index":28,"./getGrams":66}],69:[function(E,C){"use strict";const N=E("./index"),D=E("./getGrams"),_=function(B,j,z){N.call(this,B,j,z)};_.prototype=Object.create(N.prototype),_.find=function(B,j,z){let V={size:[1,2,3,4],edge:"start"};z&&(V.size=[z]);let F=D(B,V);return B=new _(F),B.sort(),"number"==typeof j&&(B=B.get(j)),B},C.exports=_},{"./getGrams":66,"./index":68}],70:[function(E,C){"use strict";const N=E("../../../tries").utils.uncountable;C.exports=function(_){if(!_.tags.Noun)return!1;if(_.tags.Plural)return!0;const B=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"];for(let j=0;jj.isPlural())},hasPlural:function(){return this.list.map((j)=>j.hasPlural())},toPlural:function(){return this.list.forEach((j)=>j.toPlural()),this},toSingular:function(){return this.list.forEach((j)=>j.toSingular()),this}},function(j,z){return j=j.clauses(),j=j.match("#Noun+"),j=j.not("#Pronoun"),j=j.not("(#Month|#WeekDay)"),"number"==typeof z&&(j=j.get(z)),j.list=j.list.map((V)=>{return new D(V.terms,V.lexicon,V.refText,V.refTerms)}),j})},{"../../index":28,"./noun":79}],72:[function(E,C){"use strict";const N=E("../../../data").irregular_plurals,D=E("./methods/data/indicators"),_=/([a-z]*) (of|in|by|for) [a-z]/,B={i:!1,he:!1,she:!1,we:!0,they:!0},j=["Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],z=function(F){for(let $=0;${F.prototype[$]=V[$]}),C.exports=F},{"../../paths":40,"./hasPlural":70,"./isPlural":72,"./makeArticle":73,"./methods/pluralize":77,"./methods/singularize":78}],80:[function(E,C){"use strict";C.exports=function(D){return D?!0===/.(i|ee|[a|e]y|a)$/.test(D)?"Female":!0===/[ou]$/.test(D)?"Male":!0===/(nn|ll|tt)/.test(D)?"Female":null:null}},{}],81:[function(E,C){"use strict";const N=E("../../index"),D=E("./person");C.exports=N.makeSubset({pronoun:function(){return this.list.map((j)=>j.pronoun())}},function(j,z){let V=j.clauses();return V=V.match("#Person+"),"number"==typeof z&&(V=V.get(z)),V.list=V.list.map((F)=>{return new D(F.terms,F.lexicon,F.refText,F.refTerms)}),V})},{"../../index":28,"./person":82}],82:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./guessGender"),_=function(j,z,V,F){if(N.call(this,j,z,V,F),this.firstName=this.match("#FirstName+"),this.middleName=this.match("#Acronym+"),this.honorifics=this.match("#Honorific"),this.lastName=this.match("#LastName+"),!this.firstName.found&&1{_.prototype[j]=B[j]}),C.exports=_},{"../../paths":40,"./guessGender":80}],83:[function(E,C){"use strict";const N=E("../../index"),D=E("./sentence");C.exports=N.makeSubset({toPastTense:function(){return this.list=this.list.map((j)=>{return j=j.toPastTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toPresentTense:function(){return this.list=this.list.map((j)=>{return j=j.toPresentTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toFutureTense:function(){return this.list=this.list.map((j)=>{return j=j.toFutureTense(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toNegative:function(){return this.list=this.list.map((j)=>{return j=j.toNegative(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},toPositive:function(){return this.list=this.list.map((j)=>{return j=j.toPositive(),new D(j.terms,j.lexicon,j.refText,j.refTerms)}),this},isPassive:function(){return this.list=this.list.filter((j)=>{return j.isPassive()}),this},prepend:function(j){return this.list=this.list.map((z)=>{return z.prepend(j)}),this},append:function(j){return this.list=this.list.map((z)=>{return z.append(j)}),this},toExclamation:function(){return this.list.forEach((j)=>{j.setPunctuation("!")}),this},toQuestion:function(){return this.list.forEach((j)=>{j.setPunctuation("?")}),this},toStatement:function(){return this.list.forEach((j)=>{j.setPunctuation(".")}),this}},function(j,z){return j=j.all(),"number"==typeof z&&(j=j.get(z)),j.list=j.list.map((V)=>{return new D(V.terms,V.lexicon,V.refText,V.refTerms)}),j})},{"../../index":28,"./sentence":84}],84:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./toNegative"),_=E("./toPositive"),B=E("../verbs/verb"),j=E("./smartInsert"),z={toSingular:function(){let F=this.match("#Noun").match("!#Pronoun").firstTerm();return F.things().toSingular(),this},toPlural:function(){let F=this.match("#Noun").match("!#Pronoun").firstTerm();return F.things().toPlural(),this},mainVerb:function(){let F=this.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb");return F.found?(F=F.list[0].terms,new B(F,this.lexicon,this.refText,this.refTerms)):null},toPastTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toPastTense();let G=F.out("normal"),O=this.parentTerms.replace($,G);return O}return this},toPresentTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toPresentTense();let G=F.out("normal");return this.parentTerms.replace($,G)}return this},toFutureTense:function(){let F=this.mainVerb();if(F){let $=F.out("normal");F.toFutureTense();let G=F.out("normal");return this.parentTerms.replace($,G)}return this},isNegative:function(){return 1===this.match("#Negative").list.length},toNegative:function(){return this.isNegative()?this:D(this)},toPositive:function(){return this.isNegative()?_(this):this},append:function(F){return j.append(this,F)},prepend:function(F){return j.prepend(this,F)},setPunctuation:function(F){let $=this.terms[this.terms.length-1];$.setPunctuation(F)},getPunctuation:function(){let F=this.terms[this.terms.length-1];return F.getPunctuation()},isPassive:function(){return this.match("was #Adverb? #PastTense #Adverb? by").found}},V=function(F,$,G,O){N.call(this,F,$,G,O),this.t=this.terms[0]};V.prototype=Object.create(N.prototype),Object.keys(z).forEach((F)=>{V.prototype[F]=z[F]}),C.exports=V},{"../../paths":40,"../verbs/verb":122,"./smartInsert":85,"./toNegative":86,"./toPositive":87}],85:[function(E,C){"use strict";const N=/^[A-Z]/;C.exports={append:(B,j)=>{let z=B.terms[B.terms.length-1],V=z.endPunctuation();V&&z.killPunctuation(),B.insertAt(B.terms.length,j);let F=B.terms[B.terms.length-1];return V&&(F.text+=V),z.whitespace.after&&(F.whitespace.after=z.whitespace.after,z.whitespace.after=""),B},prepend:(B,j)=>{let z=B.terms[0];if(B.insertAt(0,j),N.test(z.text)){!1===z.needsTitleCase()&&z.toLowerCase();let V=B.terms[0];V.toTitleCase()}return B}}},{}],86:[function(E,C){"use strict";const N={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"};C.exports=(_)=>{let B=_.match("(everyone|everybody|someone|somebody|always)").first();if(B.found&&N[B.out("normal")]){let z=B.out("normal");return _=_.match(z).replaceWith(N[z]).list[0],_.parentTerms}let j=_.mainVerb();return j&&j.toNegative(),_}},{}],87:[function(E,C){"use strict";const N={never:"always",nothing:"everything"};C.exports=(_)=>{let B=_.match("(never|nothing)").first();if(B.found){let j=B.out("normal");if(N[j])return _=_.match(j).replaceWith(N[j],!0).list[0],_.parentTerms}return _.delete("#Negative"),_}},{}],88:[function(E,C){"use strict";const N=E("../../index"),D=E("../../paths").Terms;C.exports=N.makeSubset({data:function(){return this.list.map((j)=>{let z=j.terms[0];return{spaceBefore:z.whitespace.before,text:z.text,spaceAfter:z.whitespace.after,normal:z.normal,implicit:z.silent_term,bestTag:z.bestTag(),tags:Object.keys(z.tags)}})}},function(j,z){let V=[];return j.list.forEach((F)=>{F.terms.forEach(($)=>{V.push(new D([$],F.lexicon,j))})}),j=new N(V,j.lexicon,j.parent),"number"==typeof z&&(j=j.get(z)),j})},{"../../index":28,"../../paths":40}],89:[function(E,C){const N=E("./numOrdinal"),D=E("./textOrdinal"),_=E("./textCardinal"),B=E("./niceNumber");C.exports={nice:function(z){return B(z)},ordinal:function(z){return N(z)},niceOrdinal:function(z){return z=N(z),z=B(z),z},text:function(z){return _(z).join(" ")},textOrdinal:function(z){return D(z)}}},{"./niceNumber":90,"./numOrdinal":91,"./textCardinal":92,"./textOrdinal":93}],90:[function(E,C){"use strict";C.exports=function(D){if(!D&&0!==D)return null;D=""+D;let _=D.split("."),B=_[0],j=1<_.length?"."+_[1]:"",z=/(\d+)(\d{3})/;for(;z.test(B);)B=B.replace(z,"$1,$2");return B+j}},{}],91:[function(E,C){"use strict";C.exports=function(D){if(!D&&0!==D)return null;let _=D%100;if(10<_&&20>_)return""+D+"th";const B={0:"th",1:"st",2:"nd",3:"rd"};let j=""+D,z=j.slice(j.length-1,j.length);return j+=B[z]?B[z]:"th",j}},{}],92:[function(E,C){"use strict";const N=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],D=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],_=[[1000000000,"million"],[100000000,"hundred million"],[1000000,"million"],[100000,"hundred thousand"],[1000,"thousand"],[100,"hundred"],[1,"one"]],B=function(F){let $=F,G=[];return _.forEach((O)=>{if(F>=O[0]){let H=Math.floor($/O[0]);$-=H*O[0],H&&G.push({unit:O[1],count:H})}}),G},j=function(F){let $=[];for(let G=0;G=N[G][1]&&(F-=N[G][1],$.push(N[G][0]));return D[F]&&$.push(D[F]),$},z=(F)=>{const $=["zero","one","two","three","four","five","six","seven","eight","nine"];let G=[],O=(""+F).match(/\.([0-9]+)/);if(!O||!O[0])return G;G.push("point");let H=O[0].split("");for(let M=0;MF&&($.push("negative"),F=Math.abs(F));let G=B(F);for(let O=0,H;OO),0===$.length&&($[0]=""),$}},{}],93:[function(E,C){"use strict";const N=E("./textCardinal"),D=E("../../../paths").data.ordinalMap.toOrdinal;C.exports=(B)=>{let j=N(B),z=j[j.length-1];return j[j.length-1]=D[z]||z,j.join(" ")}},{"../../../paths":40,"./textCardinal":92}],94:[function(E,C){"use strict";const N=E("../../index"),D=E("./value"),_=E("./parse");C.exports=N.makeSubset({noDates:function(){return this.not("#Date")},numbers:function(){return this.list.map((z)=>{return z.number()})},toNumber:function(){return this.list=this.list.map((z)=>{return z.toNumber()}),this},toText:function(){return this.list=this.list.map((z)=>{return z.toText()}),this},toCardinal:function(){return this.list=this.list.map((z)=>{return z.toCardinal()}),this},toOrdinal:function(){return this.list=this.list.map((z)=>{return z.toOrdinal()}),this},toNice:function(){return this.list=this.list.map((z)=>{return z.toNice()}),this},isEqual:function(z){return z=_(z),this.list=this.list.filter((V)=>{return null!==z&&V.number()===z}),this},greaterThan:function(z){return z=_(z),this.list=this.list.filter((V)=>{return null!==z&&V.number()>z}),this},lessThan:function(z){return z=_(z),this.list=this.list.filter((V)=>{return null!==z&&V.number(){return new D(F.terms,F.lexicon,F.refText,F.refTerms)}),z})},{"../../index":28,"./parse":95,"./value":103}],95:[function(E,C){"use strict";const N=E("./parseText"),D=/^-?(\$|€|¥|£)?\.?[0-9]+[0-9,\.]*(st|nd|rd|th|rth)?$/,_=function(j){if(!0===D.test(j)){j=j.replace(/,/g,""),j=j.replace(/^[\$|€|¥|£]/g,""),j=j.replace(/(st|nd|rd|th|rth)$/g,"");let z=parseFloat(j);if(z||0===z)return z}return N(j)};C.exports=function(j){if(null===j||j===void 0||"number"==typeof j)return j;if("string"==typeof j)return _(j);if(1===j.terms.length&&!0!==j.terms[0].tags.TextValue){let z=j.terms[0].normal;return _(z)}return N(j.out("normal"))}},{"./parseText":98}],96:[function(E,C){const N=E("../paths"),D=N.data.numbers,_=N.fns,B=_.extend(D.ordinal.ones,D.cardinal.ones),j=_.extend(D.ordinal.teens,D.cardinal.teens),z=_.extend(D.ordinal.tens,D.cardinal.tens),V=_.extend(D.ordinal.multiples,D.cardinal.multiples);C.exports={ones:B,teens:j,tens:z,multiples:V}},{"../paths":102}],97:[function(E,C){"use strict";C.exports=(D)=>{const _=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:0.5}];for(let B=0;B<_.length;B++)if(!0===_[B].reg.test(D))return{amount:_[B].mult,str:D.replace(_[B].reg,"")};return{amount:1,str:D}}},{}],98:[function(E,C){"use strict";const N=E("./parseNumeric"),D=E("./findModifiers"),_=E("./data"),B=E("./validate"),j=E("./parseDecimals"),z=/^([0-9,\. ]+)\/([0-9,\. ]+)$/,V={"a couple":2,"a dozen":12,"two dozen":24,zero:0},F=(G)=>{return Object.keys(G).reduce((O,H)=>{return O+=G[H],O},0)};C.exports=function(G){if(void 0!==V[G])return V[G];if("a"===G||"an"===G)return 1;const O=D(G);G=O.str;let H=null,M={},I=0,S=!1;const q=G.split(/[ -]/);for(let L=0,W;L{return D=D.replace(/1st$/,"1"),D=D.replace(/2nd$/,"2"),D=D.replace(/3rd$/,"3"),D=D.replace(/([4567890])r?th$/,"$1"),D=D.replace(/^[$€¥£¢]/,""),D=D.replace(/[%$€¥£¢]$/,""),D=D.replace(/,/g,""),D=D.replace(/([0-9])([a-z]{1,2})$/,"$1"),parseFloat(D)}},{}],101:[function(E,C){"use strict";const N=E("./data");C.exports=(_,B)=>{if(N.ones[_]){if(B.ones||B.teens)return!1;}else if(N.teens[_]){if(B.ones||B.teens||B.tens)return!1;}else if(N.tens[_]&&(B.ones||B.teens||B.tens))return!1;return!0}},{"./data":96}],102:[function(E,C){C.exports=E("../../paths")},{"../../paths":40}],103:[function(E,C){"use strict";const N=E("../../paths"),D=N.Terms,_=E("./parse"),B=E("./format"),j=function(F){return F.has("#NumberRange")&&F.terms.forEach(($)=>{$.silent_term&&!$._text&&($.text=$.silent_term)}),F},z=function(F,$,G,O){D.call(this,F,$,G,O),this.val=this.match("#Value+").list[0],this.val=j(this.val),this.unit=this.match("#Unit$").list[0]};z.prototype=Object.create(D.prototype);const V={data:function(){let F=_(this.val);return{number:F,nice:B.nice(F),ordinal:B.ordinal(F),niceOrdinal:B.niceOrdinal(F),text:B.text(F),textOrdinal:B.textOrdinal(F)}},number:function(){return _(this.val)},toNumber:function(){let F=_(this.val);if(null!==F){let $="";$=this.val.has("#Ordinal")?B.ordinal(F):F,this.replaceWith($,!0).tag("Value")}return this},toText:function(){let F=_(this.val);if(null!==F){let $="";$=this.val.has("#Ordinal")?B.textOrdinal(F):B.text(F),this.replaceWith($,!0).tag("Value")}return this},toCardinal:function(){let F=_(this.val);if(null!==F){let $="";$=this.val.has("#TextValue")?B.text(F):F,this.replaceWith($,!0).tag("Value")}return this},toOrdinal:function(){let F=_(this.val);if(null!==F){let $="";$=this.val.has("#TextValue")?B.textOrdinal(F):B.ordinal(F),this.replaceWith($,!0).tag("Value")}return this},toNice:function(){let F=_(this.val);if(null!==F){let $="";$=this.val.has("#Ordinal")?B.niceOrdinal(F):B.nice(F),this.replaceWith($,!0).tag("Value")}return this}};Object.keys(V).forEach((F)=>{z.prototype[F]=V[F]}),C.exports=z},{"../../paths":40,"./format":89,"./parse":95}],104:[function(E,C){"use strict";const N=E("../../index"),D=E("./verb");C.exports=N.makeSubset({conjugation:function(j){return this.list.map((z)=>{return z.conjugation(j)})},conjugate:function(j){return this.list.map((z)=>{return z.conjugate(j)})},isPlural:function(){return this.list=this.list.filter((j)=>{return j.isPlural()}),this},isSingular:function(){return this.list=this.list.filter((j)=>{return!j.isPlural()}),this},isNegative:function(){return this.list=this.list.filter((j)=>{return j.isNegative()}),this},isPositive:function(){return this.list=this.list.filter((j)=>{return!j.isNegative()}),this},toNegative:function(){return this.list=this.list.map((j)=>{return j.toNegative()}),this},toPositive:function(){return this.list.forEach((j)=>{j.toPositive()}),this},toPastTense:function(){return this.list.forEach((j)=>{j.toPastTense()}),this},toPresentTense:function(){return this.list.forEach((j)=>{j.toPresentTense()}),this},toFutureTense:function(){return this.list.forEach((j)=>{j.toFutureTense()}),this},toInfinitive:function(){return this.list.forEach((j)=>{j.toInfinitive()}),this},asAdjective:function(){return this.list.map((j)=>j.asAdjective())}},function(j,z){return j=j.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb"),j=j.splitAfter("#Comma"),"number"==typeof z&&(j=j.get(z)),j.list=j.list.map((V)=>{return new D(V.terms,V.lexicon,V.refText,V.refTerms)}),new N(j.list,this.lexicon,this.parent)})},{"../../index":28,"./verb":122}],105:[function(E,C){"use strict";const N=E("./methods/predict"),D=function($){return $.match("#Gerund").found},_=function($){let G=$.match("#Negative").list;return 2!==G.length&&!(1!==G.length)},B=function($){return!!$.match("is being #PastTense").found||!!$.match("(had|has) been #PastTense").found||!!$.match("will have been #PastTense").found},j=function($){return!!$.match("^(had|have) #PastTense")},z=function($){let G=$.match("#Modal");return G.found?G.out("normal"):null},V=function($){if($.auxiliary.found){if($.match("will have #PastTense").found)return"Past";if($.auxiliary.match("will").found)return"Future";if($.auxiliary.match("was").found)return"Past"}if($.verb){let O=N($.verb);return{PastTense:"Past",FutureTense:"Future",FuturePerfect:"Future"}[O]||"Present"}return"Present"};C.exports=($)=>{let G=_($),O={negative:G,continuous:D($),passive:B($),perfect:j($),modal:z($),tense:V($)};return O}},{"./methods/predict":116}],106:[function(E,C){"use strict";const N=E("./irregulars"),D=E("./suffixes"),_=E("./toActor"),B=E("./generic"),j=E("../predict"),z=E("../toInfinitive"),V=E("./toBe");C.exports=function($,G){if("is"===$.normal||"was"===$.normal||"will"===$.normal)return V();$.tags.Contraction&&($.text=$.silent_term);let O={PastTense:null,PresentTense:null,Infinitive:null,Gerund:null,Actor:null},H=j($);H&&(O[H]=$.normal),"Infinitive"!==H&&(O.Infinitive=z($,G)||"");const M=N(O.Infinitive)||{};Object.keys(M).forEach((q)=>{M[q]&&!O[q]&&(O[q]=M[q])});let I=O.Infinitive||$.normal;const S=D(I);return Object.keys(S).forEach((q)=>{S[q]&&!O[q]&&(O[q]=S[q])}),O.Actor||(O.Actor=_(I)),Object.keys(O).forEach((q)=>{!O[q]&&B[q]&&(O[q]=B[q](O))}),O}},{"../predict":116,"../toInfinitive":119,"./generic":109,"./irregulars":111,"./suffixes":112,"./toActor":113,"./toBe":114}],107:[function(E,C){C.exports=[{reg:/(eave)$/i,repl:{pr:"$1s",pa:"$1d",gr:"eaving",ar:"$1r"}},{reg:/(ink)$/i,repl:{pr:"$1s",pa:"unk",gr:"$1ing",ar:"$1er"}},{reg:/(end)$/i,repl:{pr:"$1s",pa:"ent",gr:"$1ing",ar:"$1er"}},{reg:/(ide)$/i,repl:{pr:"$1s",pa:"ode",gr:"iding",ar:"ider"}},{reg:/(ake)$/i,repl:{pr:"$1s",pa:"ook",gr:"aking",ar:"$1r"}},{reg:/(eed)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing",ar:"$1er"}},{reg:/(e)(ep)$/i,repl:{pr:"$1$2s",pa:"$1pt",gr:"$1$2ing",ar:"$1$2er"}},{reg:/(a[tg]|i[zn]|ur|nc|gl|is)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing",prt:"$1en"}},{reg:/([i|f|rr])y$/i,repl:{pr:"$1ies",pa:"$1ied",gr:"$1ying"}},{reg:/([td]er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/([bd]l)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ish|tch|ess)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ion|end|e[nc]t)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(om)e$/i,repl:{pr:"$1es",pa:"ame",gr:"$1ing"}},{reg:/([aeiu])([pt])$/i,repl:{pr:"$1$2s",pa:"$1$2",gr:"$1$2$2ing"}},{reg:/(er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(en)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(..)(ow)$/i,repl:{pr:"$1$2s",pa:"$1ew",gr:"$1$2ing",prt:"$1$2n"}},{reg:/(..)([cs]h)$/i,repl:{pr:"$1$2es",pa:"$1$2ed",gr:"$1$2ing"}},{reg:/([^aeiou][ou])(g|d)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([^aeiou][aeiou])(b|t|p|m)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([aeiou]zz)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}}]},{}],108:[function(E,C){"use strict";const N=E("./irregulars"),D=E("./suffixes"),_=E("./generic"),B=["Gerund","PastTense","PresentTense"];C.exports=(z)=>{let V={Infinitive:z};const F=N(V.Infinitive);null!==F&&Object.keys(F).forEach((G)=>{F[G]&&!V[G]&&(V[G]=F[G])});const $=D(z);Object.keys($).forEach((G)=>{$[G]&&!V[G]&&(V[G]=$[G])});for(let G=0;G{const B=_.Infinitive;return"e"===B.charAt(B.length-1)?B.replace(/e$/,"ing"):B+"ing"},PresentTense:(_)=>{const B=_.Infinitive;return"s"===B.charAt(B.length-1)?B+"es":!0===N.test(B)?B.slice(0,-1)+"ies":B+"s"},PastTense:(_)=>{const B=_.Infinitive;return"e"===B.charAt(B.length-1)?B+"d":"ed"===B.substr(-2)?B:!0===N.test(B)?B.slice(0,-1)+"ied":B+"ed"}}},{}],110:[function(E,C){"use strict";const N=E("./conjugate"),D=E("./toBe");C.exports=(B,j)=>{let z=B.negative.found;if(B.verb.tags.Copula||"be"===B.verb.normal&&B.auxiliary.match("will").found)return D(!1,z);let F=N(B.verb,j);return B.particle.found&&Object.keys(F).forEach(($)=>{F[$]+=B.particle.out()}),B.adverbs.found&&Object.keys(F).forEach(($)=>{F[$]+=B.adverbs.out()}),z&&(F.PastTense="did not "+F.Infinitive,F.PresentTense="does not "+F.Infinitive),F.FutureTense||(z?F.FutureTense="will not "+F.Infinitive:F.FutureTense="will "+F.Infinitive),F}},{"./conjugate":106,"./toBe":114}],111:[function(E,C){"use strict";let N=E("../../../../../data").irregular_verbs;const D=E("../../../../../fns"),_=Object.keys(N),B=["Participle","Gerund","PastTense","PresentTense","FuturePerfect","PerfectTense","Actor"];C.exports=function(z){if(void 0!==N[z]){let V=D.copy(N[z]);return V.Infinitive=z,V}for(let V=0;V<_.length;V++)for(let F=0,$;F{let B={PastTense:"was",PresentTense:"is",FutureTense:"will be",Infinitive:"is",Gerund:"being",Actor:"",PerfectTense:"been",Pluperfect:"been"};return D&&(B.PastTense="were",B.PresentTense="are",B.Infinitive="are"),_&&(B.PastTense+=" not",B.PresentTense+=" not",B.FutureTense="will not be",B.Infinitive+=" not",B.PerfectTense="not "+B.PerfectTense,B.Pluperfect="not "+B.Pluperfect),B}},{}],115:[function(E,C){"use strict";C.exports=(D)=>{if(D.match("(are|were|does)").found)return!0;if(D.match("(is|am|do|was)").found)return!1;let _=D.getNoun();if(_&&_.found){if(_.match("#Plural").found)return!0;if(_.match("#Singular").found)return!1}return null}},{}],116:[function(E,C){"use strict";const N=E("./suffix_rules"),D={Infinitive:!0,Gerund:!0,PastTense:!0,PresentTense:!0,FutureTense:!0,PerfectTense:!0,Pluperfect:!0,FuturePerfect:!0,Participle:!0};C.exports=function(B){const j=Object.keys(D);for(let V=0;Vz[V].length)return N[z[V]]}return null}},{"./suffix_rules":117}],117:[function(E,C){"use strict";const N={Gerund:["ing"],Actor:["erer"],Infinitive:["ate","ize","tion","rify","then","ress","ify","age","nce","ect","ise","ine","ish","ace","ash","ure","tch","end","ack","and","ute","ade","ock","ite","ase","ose","use","ive","int","nge","lay","est","ain","ant","ent","eed","er","le","own","unk","ung","en"],PastTense:["ed","lt","nt","pt","ew","ld"],PresentTense:["rks","cks","nks","ngs","mps","tes","zes","ers","les","acks","ends","ands","ocks","lays","eads","lls","els","ils","ows","nds","ays","ams","ars","ops","ffs","als","urs","lds","ews","ips","es","ts","ns","s"]},D={},_=Object.keys(N),B=_.length;for(let j=0,z;j{return Object.keys(D).reduce((z,V)=>{return Object.keys(D[V]).forEach((F)=>{z[D[V][F]]=V}),z},{})})();C.exports=function(z){if(z.tags.Infinitive)return z.normal;if(D[z.normal])return D[z.normal];let V=_(z);if(N[V])for(let F=0,$;F{let B=_.match("#Auxiliary").first();if(B.found){let O=B.list[0].index();return _.parentTerms.insertAt(O+1,"not","Verb")}let j=_.match("(#Copula|will|has|had|do)").first();if(j.found){let O=j.list[0].index();return _.parentTerms.insertAt(O+1,"not","Verb")}let z=_.isPlural(),V=_.match("#PastTense").last();if(V.found){let O=V.list[0],H=O.index();return O.terms[0].text=N(O.terms[0]),z?_.parentTerms.insertAt(H,"do not","Verb"):_.parentTerms.insertAt(H,"did not","Verb")}let F=_.match("#PresentTense").first();if(F.found){let O=F.list[0],H=O.index();O.terms[0].text=N(O.terms[0]);let M=_.getNoun();return M.match("(i|we|they|you)").found?_.parentTerms.insertAt(H,"do not","Verb"):_.parentTerms.insertAt(H,"does not","Verb")}let $=_.match("#Gerund").last();if($.found){let O=$.list[0].index();return _.parentTerms.insertAt(O,"not","Verb")}let G=_.match("#Verb").last();if(G.found){G=G.list[0];let O=G.index();return G.terms[0].text=N(G.terms[0]),z?_.parentTerms.insertAt(O,"does not","Verb"):_.parentTerms.insertAt(O,"did not","Verb")}return _}},{"./methods/toInfinitive":119}],122:[function(E,C){"use strict";const N=E("../../paths").Terms,D=E("./methods/conjugate"),_=E("./methods/toAdjective"),B=E("./interpret"),j=E("./toNegative"),z=E("./methods/isPlural"),V=function(G){G.negative=G.match("#Negative"),G.adverbs=G.match("#Adverb");let O=G.clone().not("(#Adverb|#Negative)");return G.verb=O.match("#Verb").not("#Particle").last(),G.particle=O.match("#Particle").last(),G.verb.found&&(G.verb=G.verb.list[0].terms[0]),G.auxiliary=O.match("#Auxiliary+"),G},F={parse:function(){return V(this)},data:function(G){return{text:this.out("text"),normal:this.out("normal"),parts:{negative:this.negative.out("normal"),auxiliary:this.auxiliary.out("normal"),verb:this.verb.out("normal"),adverbs:this.adverbs.out("normal")},interpret:B(this,G),conjugations:this.conjugate()}},getNoun:function(){if(!this.refTerms)return null;let G="#Adjective? #Noun+ "+this.out("normal");return this.refTerms.match(G).match("#Noun+")},conjugation:function(){return B(this,!1).tense},conjugate:function(G){return D(this,G)},isPlural:function(){return z(this)},isNegative:function(){return 1===this.match("#Negative").list.length},isPerfect:function(){return this.auxiliary.match("(have|had)").found},toNegative:function(){return this.isNegative()?this:j(this)},toPositive:function(){return this.match("#Negative").delete()},toPastTense:function(){let G=this.conjugate(),O=this.replaceWith(G.PastTense,!1);return O.verb.tag("#PastTense"),O},toPresentTense:function(){let G=this.conjugate(),O=this.replaceWith(G.PresentTense,!1);return O.verb.tag("#PresentTense"),O},toFutureTense:function(){let G=this.conjugate(),O=this.replaceWith(G.FutureTense,!1);return O.verb.tag("#FutureTense"),O},toInfinitive:function(){let G=this.conjugate();return this.terms[this.terms.length-1].text=G.Infinitive,this},asAdjective:function(){return _(this.verb.out("normal"))}},$=function(G,O,H,M){return N.call(this,G,O,H,M),V(this)};$.prototype=Object.create(N.prototype),Object.keys(F).forEach((G)=>{$.prototype[G]=F[G]}),C.exports=$},{"../../paths":40,"./interpret":105,"./methods/conjugate":110,"./methods/isPlural":115,"./methods/toAdjective":118,"./toNegative":121}],123:[function(E,C){"use strict";C.exports=(D)=>{const _={clauses:function(B){let j=this.splitAfter("#ClauseEnd");return"number"==typeof B&&(j=j.get(B)),j},hashTags:function(B){let j=this.match("#HashTag").terms();return"number"==typeof B&&(j=j.get(B)),j},organizations:function(B){let j=this.splitAfter("#Comma");return j=j.match("#Organization+"),"number"==typeof B&&(j=j.get(B)),j},phoneNumbers:function(B){let j=this.splitAfter("#Comma");return j=j.match("#PhoneNumber+"),"number"==typeof B&&(j=j.get(B)),j},places:function(B){let j=this.splitAfter("#Comma");return j=j.match("#Place+"),"number"==typeof B&&(j=j.get(B)),j},quotations:function(B){let j=this.match("#Quotation+");return"number"==typeof B&&(j=j.get(B)),j},topics:function(B){let j=this.clauses(),z=j.people();return z.concat(j.places()),z.concat(j.organizations()),z.sort("chronological"),"number"==typeof B&&(z=z.get(B)),z},urls:function(B){let j=this.match("#Url");return"number"==typeof B&&(j=j.get(B)),j},questions:function(B){let j=this.all();"number"==typeof B&&(j=j.get(B));let z=j.list.filter((V)=>{return"?"===V.last().endPunctuation()});return new D(z,this.lexicon,this.parent)},statements:function(B){let j=this.all();"number"==typeof B&&(j=j.get(B));let z=j.list.filter((V)=>{return"?"!==V.last().endPunctuation()});return new D(z,this.lexicon,this.parent)}};return Object.keys(_).forEach((B)=>{D.prototype[B]=_[B]}),D}},{}],124:[function(E,C){"use strict";const N=E("../data"),D=Object.keys(N.abbreviations),_=new RegExp("\\b("+D.join("|")+")[.!?] ?$","i"),B=/[ |.][A-Z].?( *)?$/i,j=/\.\.+( +)?$/,z=function(F){let $=[],G=F.split(/(\n+)/);for(let O=0,H;O{let j=Object.keys(D);for(let z=0;z{let F=z.terms[V],$=z.terms[V+1];return F.tags.Pronoun||F.tags.QuestionWord?!1:!_[F.normal]&&(!$||!$.tags.VerbPhrase&&(!!$.tags.Noun||$.tags.Adjective&&z.terms[V+2]&&z.terms[V+2].tags.Noun||($.tags.Adjective||$.tags.Adverb||$.tags.Verb)&&!1))};C.exports=(z)=>{for(let V=0;V{for(let z=0;z{for(let j=0,z;j{D[j.silent_term]&&j.tag(D[j.silent_term])};C.exports=(j,z,V)=>{let F=j.terms[V];if(F.silent_term=z[0],F.tag("Contraction","tagger-contraction"),z[1]){let $=new N("");$.silent_term=z[1],$.tag("Contraction","tagger-contraction"),j.insertAt(V+1,$),$.whitespace.before="",$.whitespace.after="",_($)}if(z[2]){let $=new N("");$.silent_term=z[2],j.insertAt(V+2,$),$.tag("Contraction","tagger-contraction"),_($)}return j}},{"../../term":173}],130:[function(E,C){"use strict";const N=E("./01-irregulars"),D=E("./02-hardOne"),_=E("./03-easyOnes"),B=E("./04-numberRange");C.exports=function(z){return z=N(z),z=D(z),z=_(z),z=B(z),z}},{"./01-irregulars":125,"./02-hardOne":126,"./03-easyOnes":127,"./04-numberRange":128}],131:[function(E,C){"use strict";const N=/^([a-z]+)'([a-z][a-z]?)$/i,D=/[a-z]s'$/i,_={re:1,ve:1,ll:1,t:1,s:1,d:1,m:1};C.exports=(j)=>{let z=j.text.match(N);return z&&z[1]&&1===_[z[2]]?("t"===z[2]&&z[1].match(/[a-z]n$/)&&(z[1]=z[1].replace(/n$/,""),z[2]="n't"),!0===j.tags.TitleCase&&(z[1]=z[1].replace(/^[a-z]/,(V)=>V.toUpperCase())),{start:z[1],end:z[2]}):!0===D.test(j.text)?{start:j.normal.replace(/s'?$/,""),end:""}:null}},{}],132:[function(E,C){"use strict";C.exports=function(D){if(D.has("so")&&(D.match("so #Adjective").match("so").tag("Adverb","so-adv"),D.match("so #Noun").match("so").tag("Conjunction","so-conj"),D.match("do so").match("so").tag("Noun","so-noun")),D.has("#Determiner")&&(D.match("(the|this) #Verb #Preposition .").term(1).tag("Noun","correction-determiner1"),D.match("(the|those|these) (#Infinitive|#PresentTense)").term(1).tag("Noun","correction-determiner2"),D.match("(a|an) #Gerund").term(1).tag("Adjective","correction-a|an"),D.match("(a|an) #Adjective (#Infinitive|#PresentTense)").term(2).tag("Noun","correction-a|an2"),D.match("(some #Verb #Plural").term(1).tag("Noun","correction-determiner6"),D.match("(the|this|those|these) #Adjective #Verb").term(2).tag("Noun","correction-determiner3"),D.match("(the|this|those|these) #Adverb #Adjective #Verb").term(3).tag("Noun","correction-determiner4"),D.match("#Determiner #Infinitive #Adverb? #Verb").term(1).tag("Noun","correction-determiner5"),D.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),D.match("#Determiner #Noun of #Verb").term(3).tag("Noun","noun-of-noun")),D.has("like")&&(D.match("just like").term(1).tag("Preposition","like-preposition"),D.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),D.match("#Verb like").term(1).tag("Adverb","verb-like"),D.match("#Adverb like").term(1).tag("Adverb","adverb-like")),D.has("#Value")&&(D.match("half a? #Value").tag("Value","half-a-value"),D.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),D.match("#Value+ #Currency").tag("Money","value-currency"),D.match("#Money and #Money #Currency?").tag("Money","money-and-money")),D.has("#Noun")&&(D.match("more #Noun").tag("Noun","more-noun"),D.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),D.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),D.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),D.has("#Organization")&&(D.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),D.match("#Organization #Country").tag("Organization","org-country"),D.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"))),D.has("#Verb")){D.match("still #Verb").term(0).tag("Adverb","still-verb"),D.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),D.match("is no #Verb").term(2).tag("Noun","is-no-verb"),D.match("#Verb than").term(0).tag("Noun","correction"),D.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),D.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),D.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question");let _="(#Adverb|not)+?";D.has(_)&&(D.match(`(has|had) ${_} #PastTense`).not("#Verb$").tag("Auxiliary","had-walked"),D.match(`#Copula ${_} #Gerund`).not("#Verb$").tag("Auxiliary","copula-walking"),D.match(`(be|been) ${_} #Gerund`).not("#Verb$").tag("Auxiliary","be-walking"),D.match(`(#Modal|did) ${_} #Verb`).not("#Verb$").tag("Auxiliary","modal-verb"),D.match(`#Modal ${_} have ${_} had ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-have"),D.match(`(#Modal) ${_} be ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-be"),D.match(`(#Modal|had|has) ${_} been ${_} #Verb`).not("#Verb$").tag("Auxiliary","would-be"))}return D.has("#Adjective")&&(D.match("still #Adjective").match("still").tag("Adverb","still-advb"),D.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),D.match("will #Adjective").term(1).tag("Verb","will-adj")),D.match("(foot|feet)").tag("Noun","foot-noun"),D.match("#Value (foot|feet)").term(1).tag("Unit","foot-unit"),D.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),D.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),D.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),D.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),D.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),D.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),D.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),D}},{}],133:[function(E,C){"use strict";const N={punctuation_step:E("./steps/01-punctuation_step"),lexicon_step:E("./steps/02-lexicon_step"),capital_step:E("./steps/03-capital_step"),web_step:E("./steps/04-web_step"),suffix_step:E("./steps/05-suffix_step"),neighbour_step:E("./steps/06-neighbour_step"),noun_fallback:E("./steps/07-noun_fallback"),date_step:E("./steps/08-date_step"),auxiliary_step:E("./steps/09-auxiliary_step"),negation_step:E("./steps/10-negation_step"),phrasal_step:E("./steps/12-phrasal_step"),comma_step:E("./steps/13-comma_step"),possessive_step:E("./steps/14-possessive_step"),value_step:E("./steps/15-value_step"),acronym_step:E("./steps/16-acronym_step"),emoji_step:E("./steps/17-emoji_step"),person_step:E("./steps/18-person_step"),quotation_step:E("./steps/19-quotation_step"),organization_step:E("./steps/20-organization_step"),plural_step:E("./steps/21-plural_step"),lumper:E("./lumper"),multi:E("./lumper/lexicon_lump"),contraction:E("./contraction")},D=E("./corrections"),_=E("./phrase");C.exports=function(j){return j=N.punctuation_step(j),j=N.emoji_step(j),j=N.lexicon_step(j),j=N.multi.defaultLex(j),j=N.multi.userLex(j),j=N.web_step(j),j=N.suffix_step(j),j=N.neighbour_step(j),j=N.capital_step(j),j=N.noun_fallback(j),j=N.contraction(j),j=N.date_step(j),j=N.auxiliary_step(j),j=N.negation_step(j),j=N.phrasal_step(j),j=N.comma_step(j),j=N.possessive_step(j),j=N.value_step(j),j=N.acronym_step(j),j=N.person_step(j),j=N.quotation_step(j),j=N.organization_step(j),j=N.plural_step(j),j=N.lumper(j),j=D(j),j=_(j),j=N.multi.userLex(j),j}},{"./contraction":130,"./corrections":132,"./lumper":135,"./lumper/lexicon_lump":136,"./phrase":139,"./steps/01-punctuation_step":140,"./steps/02-lexicon_step":141,"./steps/03-capital_step":142,"./steps/04-web_step":143,"./steps/05-suffix_step":144,"./steps/06-neighbour_step":145,"./steps/07-noun_fallback":146,"./steps/08-date_step":147,"./steps/09-auxiliary_step":148,"./steps/10-negation_step":149,"./steps/12-phrasal_step":150,"./steps/13-comma_step":151,"./steps/14-possessive_step":152,"./steps/15-value_step":153,"./steps/16-acronym_step":154,"./steps/17-emoji_step":155,"./steps/18-person_step":156,"./steps/19-quotation_step":157,"./steps/20-organization_step":158,"./steps/21-plural_step":159}],134:[function(E,C){"use strict";C.exports=(D)=>{let _={};return D.forEach((B)=>{Object.keys(B).forEach((j)=>{let z=j.split(" ");if(1{return D.match("#Noun (&|n) #Noun").tag("Organization","Noun-&-Noun"),D.match("1 #Value #PhoneNumber").tag("PhoneNumber","1-800-Value"),D.match("#NumericValue #PhoneNumber").tag("PhoneNumber","(800) PhoneNumber"),D.match("#Holiday (day|eve)").tag("Holiday","holiday-day"),D.match("#Noun #Actor").tag("Actor","thing-doer"),D.match("(standard|daylight|summer|eastern|pacific|central|mountain) standard? time").tag("Time","timezone"),D.match("#Demonym #Currency").tag("Currency","demonym-currency"),D}},{}],136:[function(E,C){"use strict";const N=E("../paths"),D=N.lexicon,_=N.tries,B=E("./firstWord"),j=B([D,_.multiples()]),z=function(G,O,H){let M=O+1;return H[G.slice(M,M+1).out("root")]?M+1:H[G.slice(M,M+2).out("root")]?M+2:H[G.slice(M,M+3).out("root")]?M+3:null},V=function(G,O){for(let H=0,M;H{let G=F.text;!0===D.test(G)&&F.tag("TitleCase","punct-rule"),"-"===F.whitespace.after&&V.terms[$+1]&&""===V.terms[$+1].whitespace.before&&(F.tag("Hyphenated","has-hyphen"),V.terms[$+1].tag("Hyphenated","has-hyphen")),G=G.replace(/[,\.\?]$/,"");for(let O=0,H;O{let $=F.lexicon||{};if($[V])return $[V];if(B[V])return B[V];let G=_.lookup(V);return G?G:null};C.exports=function(V){let F;for(let $=0,G;${let G=Object.keys(F.tags);if(0===G.length){let O=V.terms[$-1],H=V.terms[$+1];if(O&&D[O.normal])return void F.tag(D[O.normal],"neighbour-after-\""+O.normal+"\"");if(H&&_[H.normal])return void F.tag(_[H.normal],"neighbour-before-\""+H.normal+"\"");let M=[];if(O){M=Object.keys(O.tags);for(let I=0;I!N[z]).length)};C.exports=function(B){for(let j=0,z;j{$.list.forEach((O)=>{let H=parseInt(O.terms[0].normal,10);H&&1e3H&&O.terms[0].tag("Year",G)})},V=($,G)=>{$.list.forEach((O)=>{let H=parseInt(O.terms[0].normal,10);H&&1990H&&O.terms[0].tag("Year",G)})};C.exports=function($){if($.has(N)&&($.match(`${N} (#Determiner|#Value|#Date)`).term(0).tag("Month","correction-may"),$.match(`#Date ${N}`).term(1).tag("Month","correction-may"),$.match(`${D} ${N}`).term(1).tag("Month","correction-may"),$.match(`(next|this|last) ${N}`).term(1).tag("Month","correction-may")),$.has("#Month")&&($.match(`#Month #DateRange+`).tag("Date","correction-numberRange"),$.match("#Value of? #Month").tag("Date","value-of-month"),$.match("#Cardinal #Month").tag("Date","cardinal-month"),$.match("#Month #Value to #Value").tag("Date","value-to-value"),$.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),$.match("#Month the #Value").tag("Date","month-the-value")),$.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),$.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),$.has("#Value")&&($.match("#Value #Abbreviation").tag("Value","value-abbr"),$.match("a #Value").tag("Value","a-value"),$.match("(minus|negative) #Value").tag("Value","minus-value"),$.match("#Value grand").tag("Value","value-grand"),$.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),$.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),$.match("#Value point #Value").tag("Value","value-point-value"),$.match(`${D}? #Value #Duration`).tag("Date","value-duration"),$.match("#Date #Value").tag("Date","date-value"),$.match("#Value #Date").tag("Date","value-date"),$.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction")),$.has("#Time")&&($.match("#Cardinal #Time").tag("Time","value-time"),$.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),$.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),$.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr")),$.has(j)&&($.match(`${D}? ${_} ${j}`).tag("Date","thisNext-season"),$.match(`the? ${B} of ${j}`).tag("Date","section-season")),$.has("#Date")&&($.match("#Date the? #Ordinal").tag("Date","correction-date"),$.match(`${_} #Date`).tag("Date","thisNext-date"),$.match("due? (by|before|after|until) #Date").tag("Date","by-date"),$.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),$.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),$.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),$.match("#Date #Preposition #Date").tag("Date","date-prep-date"),$.match(`the? ${B} of #Date`).tag("Date","section-of-date"),$.match("#Ordinal #Duration in #Date").tag("Date","duration-in-date"),$.match("(early|late) (at|in)? the? #Date").tag("Time","early-evening")),$.has("#Cardinal")){let G=$.match(`#Date #Value #Cardinal`).lastTerm();G.found&&z(G,"date-value-year"),G=$.match(`#Date+ #Cardinal`).lastTerm(),G.found&&z(G,"date-year"),G=$.match(`#Month #Value #Cardinal`).lastTerm(),G.found&&z(G,"month-value-year"),G=$.match(`#Month #Value to #Value #Cardinal`).lastTerm(),G.found&&z(G,"month-range-year"),G=$.match(`(in|of|by|during|before|starting|ending|for|year) #Cardinal`).lastTerm(),G.found&&z(G,"in-year"),G=$.match(`#Cardinal !#Plural`).firstTerm(),G.found&&V(G,"year-unsafe")}return $}},{}],148:[function(E,C){"use strict";const N={"do":!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0};C.exports=function(_){for(let B=0,j;B<_.terms.length;B++)if(j=_.terms[B],N[j.normal]||N[j.silent_term]){let z=_.terms[B+1];if(z&&(z.tags.Verb||z.tags.Adverb||z.tags.Negative)){j.tag("Auxiliary","corrections-Auxiliary");continue}}return _}},{}],149:[function(E,C){"use strict";C.exports=function(D){for(let _=0,B;_{let F=z.terms[V],$=z.terms[V+1];return $&&F.tags.Place&&!F.tags.Country&&$.tags.Country},D=(z)=>{return z.tags.Adjective?"Adjective":z.tags.Noun?"Noun":z.tags.Verb?"Verb":null},_=(z,V,F)=>{for(let $=V;$<=F;$++)z.terms[$].tags.List=!0},B=(z,V)=>{let F=V,$=D(z.terms[V]),G=0,O=0,H=!1;for(++V;V{_.isAcronym()&&_.tag("Acronym","acronym-step")}),D}},{}],155:[function(E,C){"use strict";const N=E("./rules/emoji_regex"),D=E("./rules/emoticon_list"),_=(z)=>{return!(":"!==z.text.charAt(0))&&null!==z.text.match(/:.?$/)&&!z.text.match(" ")&&!(35{let V=z.text.replace(/^[:;]/,":");return D[V]!==void 0};C.exports=(z)=>{for(let V=0,F;V{return _[B]=!0,_},{});C.exports=function(_){if(_.has("#FirstName")){let B=_.match("#FirstName #Noun").ifNo("^#Possessive").ifNo("#ClauseEnd .");B.lastTerm().canBe("#LastName").tag("#LastName","firstname-noun"),_.match("#FirstName de #Noun").canBe("#Person").tag("#Person","firstname-de-noun"),_.match("#FirstName (bin|al) #Noun").canBe("#Person").tag("#Person","firstname-al-noun"),_.match("#FirstName #Acronym #TitleCase").tag("Person","firstname-acronym-titlecase"),_.match("#FirstName #FirstName #TitleCase").tag("Person","firstname-firstname-titlecase"),_.match("#Honorific #FirstName? #TitleCase").tag("Person","Honorific-TitleCase"),_.match("#FirstName #TitleCase #TitleCase?").match("#Noun+").tag("Person","firstname-titlecase"),_.match("#FirstName the #Adjective").tag("Person","correction-determiner5"),_.match("#FirstName (green|white|brown|hall|young|king|hill|cook|gray|price)").tag("#Person","firstname-maybe"),_.match("#FirstName #Acronym #Noun").ifNo("#Date").tag("#Person","n-acro-noun").lastTerm().tag("#LastName","n-acro-noun"),_.match("#FirstName (#Singular|#Possessive)").ifNo("#Date").tag("#Person","first-possessive").lastTerm().tag("#LastName","first-possessive")}_.has("#LastName")&&(_.match("#Noun #LastName").firstTerm().canBe("#FirstName").tag("#FirstName","noun-lastname"),_.match("(will|may|april|june|said|rob|wade|ray|rusty|drew|miles|jack|chuck|randy|jan|pat|cliff|bill) #LastName").firstTerm().tag("#FirstName","maybe-lastname"),_.match("#TitleCase #Acronym? #LastName").ifNo("#Date").tag("#Person","title-acro-noun").lastTerm().tag("#LastName","title-acro-noun")),_.has("#TitleCase")&&(_.match("#Acronym #TitleCase").canBe("#Person").tag("#Person","acronym-titlecase"),_.match("#TitleCase (van|al|bin) #TitleCase").tag("Person","correction-titlecase-van-titlecase"),_.match("#TitleCase (de|du) la? #TitleCase").tag("Person","correction-titlecase-van-titlecase"),_.match("#Person #TitleCase").match("#TitleCase #Noun").tag("Person","correction-person-titlecase"),_.match("(lady|queen|sister) #TitleCase").ifNo("#Date").tag("#FemaleName","lady-titlecase"),_.match("(king|pope|father) #TitleCase").ifNo("#Date").tag("#MaleName","correction-poe")),_.match("#Noun van der? #Noun").canBe("#Person").tag("#Person","von der noun"),_.match("(king|queen|prince|saint|lady) of? #Noun").canBe("#Person").tag("#Person","king-of-noun"),_.match("#Honorific #Acronym").tag("Person","Honorific-TitleCase"),_.match("#Person #Person the? #RomanNumeral").tag("Person","correction-roman-numeral");for(let B=0,j;B<_.terms.length-1;B++)j=_.terms[B],N[j.normal]&&_.terms[B+1]&&_.terms[B+1].tags.Person&&j.tag("Person","title-person");return _.match("^#Honorific$").unTag("Person","single-honorific"),_}},{"../paths":137}],157:[function(E,C){"use strict";const N=/^["'\u201B\u201C\u2033\u201F\u2018]/,D=/.["'\u201D\u2036\u2019]([;:,.])?$/,_=function(j,z,V){j.terms.slice(z,V+1).forEach((F)=>{F.tag("Quotation","quotation_step")})};C.exports=(j)=>{for(let z=0,V;z{for(let j=0,z;j{I[S]=M[S]})},$=function(M){const I=Object.keys(M);I.forEach((S)=>{M[S].downward=[];for(let q=0;q{M[I].enemy={};for(let S=0,q;SL!==I),q.forEach((L)=>{M[I].enemy[L]=!0}));M[I].enemy=Object.keys(M[I].enemy)})},O=function(M){Object.keys(M).forEach((I)=>{return V[I]?void(M[I].color=V[I]):M[I].is&&V[M[I].is]?void(M[I].color=V[M[I].is]):void(M[I].is&&M[M[I].is].color&&(M[I].color=M[M[I].is].color))})};C.exports=(()=>{let M={};return F(D,M),F(_,M),F(B,M),F(j,M),F(z,M),$(M),G(M),O(M),M})()},{"./conflicts":166,"./tags/dates":168,"./tags/misc":169,"./tags/nouns":170,"./tags/values":171,"./tags/verbs":172}],168:[function(E,C){C.exports={Date:{},Month:{is:"Date",also:"Singular"},WeekDay:{is:"Date",also:"Noun"},RelativeDay:{is:"Date"},Year:{is:"Date"},Duration:{is:"Date",also:"Noun"},Time:{is:"Date",also:"Noun"},Holiday:{is:"Date",also:"Noun"}}},{}],169:[function(E,C){C.exports={Adjective:{},Comparative:{is:"Adjective"},Superlative:{is:"Adjective"},NumberRange:{is:"Contraction"},Adverb:{},Currency:{},Determiner:{},Conjunction:{},Preposition:{},QuestionWord:{},Expression:{},Url:{},PhoneNumber:{},HashTag:{},Emoji:{},Email:{},Condition:{},Auxiliary:{},Negative:{},Contraction:{},TitleCase:{},CamelCase:{},UpperCase:{},Hyphenated:{},Acronym:{},ClauseEnd:{},Quotation:{}}},{}],170:[function(E,C){C.exports={Noun:{},Singular:{is:"Noun"},Person:{is:"Singular"},FirstName:{is:"Person"},MaleName:{is:"FirstName"},FemaleName:{is:"FirstName"},LastName:{is:"Person"},Honorific:{is:"Person"},Place:{is:"Singular"},Country:{is:"Place"},City:{is:"Place"},Address:{is:"Place"},Organization:{is:"Singular"},SportsTeam:{is:"Organization"},Company:{is:"Organization"},School:{is:"Organization"},Plural:{is:"Noun"},Pronoun:{is:"Noun"},Actor:{is:"Noun"},Unit:{is:"Noun"},Demonym:{is:"Noun"},Possessive:{is:"Noun"}}},{}],171:[function(E,C){C.exports={Value:{},Ordinal:{is:"Value"},Cardinal:{is:"Value"},RomanNumeral:{is:"Cardinal"},Fraction:{is:"Value"},TextValue:{is:"Value"},NumericValue:{is:"Value"},NiceNumber:{is:"Value"},Money:{is:"Value"}}},{}],172:[function(E,C){C.exports={Verb:{},PresentTense:{is:"Verb"},Infinitive:{is:"PresentTense"},Gerund:{is:"PresentTense"},PastTense:{is:"Verb"},PerfectTense:{is:"Verb"},FuturePerfect:{is:"Verb"},Pluperfect:{is:"Verb"},Copula:{is:"Verb"},Modal:{is:"Verb"},Participle:{is:"Verb"},Particle:{is:"Verb"},PhrasalVerb:{is:"Verb"}}},{}],173:[function(E,C){"use strict";const N=E("./paths").fns,D=E("./whitespace"),_=E("./makeUID"),B=E("./methods/normalize/normalize").addNormal,j=E("./methods/normalize/root"),z=function(V){this._text=N.ensureString(V),this.tags={};let F=D(this._text);this.whitespace=F.whitespace,this._text=F.text,this.parent=null,this.silent_term="",this.lumped=!1,B(this),j(this),this.dirty=!1,this.uid=_(this.normal),Object.defineProperty(this,"text",{get:function(){return this._text},set:function($){$=$||"",this._text=$.trim(),this.dirty=!0,this._text!==$&&(this.whitespace=D($)),this.normalize()}}),Object.defineProperty(this,"isA",{get:function(){return"Term"}})};z.prototype.normalize=function(){return B(this),j(this),this},z.prototype.index=function(){let V=this.parentTerms;return V?V.terms.indexOf(this):null},z.prototype.clone=function(){let V=new z(this._text,null);return V.tags=N.copy(this.tags),V.whitespace=N.copy(this.whitespace),V.silent_term=this.silent_term,V},E("./methods/misc")(z),E("./methods/out")(z),E("./methods/tag")(z),E("./methods/case")(z),E("./methods/punctuation")(z),C.exports=z},{"./makeUID":174,"./methods/case":176,"./methods/misc":177,"./methods/normalize/normalize":179,"./methods/normalize/root":180,"./methods/out":183,"./methods/punctuation":185,"./methods/tag":187,"./paths":190,"./whitespace":191}],174:[function(E,C){"use strict";C.exports=(D)=>{let _="";for(let B=0;5>B;B++)_+=parseInt(9*Math.random(),10);return D+"-"+_}},{}],175:[function(E,C){"use strict";const N=E("../paths").tags,D={Auxiliary:1,Possessive:1,TitleCase:1,ClauseEnd:1,Comma:1,CamelCase:1,UpperCase:1,Hyphenated:1};C.exports=function(B){let j=Object.keys(B.tags);return j=j.sort(),j=j.sort((z,V)=>{return!D[V]&&N[z]&&N[V]?N[z].downward.length>N[V].downward.length?-1:1:-1}),j[0]}},{"../paths":190}],176:[function(E,C){"use strict";C.exports=(D)=>{const _={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tag("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,(B)=>B.toUpperCase()),this.tag("#TitleCase","toTitleCase"),this},needsTitleCase:function(){const B=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(let z=0;z{D.prototype[B]=_[B]}),D}},{}],177:[function(E,C){"use strict";const N=E("./normalize/isAcronym"),D=E("./bestTag"),_=/[aeiouy]/i,B=/[a-z]/,j=/[0-9]/;C.exports=(V)=>{const F={bestTag:function(){return D(this)},isAcronym:function(){return N(this._text)},isWord:function(){let $=this;if($.silent_term)return!0;if(!1===/[a-z|A-Z|0-9]/.test($.text))return!1;if(1<$.normal.length&&!0===B.test($.normal)&&!1===_.test($.normal))return!1;if(!0===j.test($.normal)){if(!0===/[a-z][0-9][a-z]/.test($.normal))return!1;if(!1===/^([$-])*?([0-9,\.])*?([s\$%])*?$/.test($.normal))return!1}return!0}};return Object.keys(F).forEach(($)=>{V.prototype[$]=F[$]}),V}},{"./bestTag":175,"./normalize/isAcronym":178}],178:[function(E,C){"use strict";const N=/([A-Z]\.)+[A-Z]?$/,D=/^[A-Z]\.$/,_=/[A-Z]{3}$/;C.exports=function(j){return!(!0!==N.test(j))||!(!0!==D.test(j))||!(!0!==_.test(j))}},{}],179:[function(E,C,A){"use strict";const N=E("./unicode"),D=E("./isAcronym");A.normalize=function(_){_=_||"",_=_.toLowerCase(),_=_.trim();let B=_;return _=N(_),_=_.replace(/^[#@]/,""),_=_.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),_=_.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),_=_.replace(/\u2026/g,"..."),_=_.replace(/\u2013/g,"-"),!1===/^[:;]/.test(_)&&(_=_.replace(/\.{3,}$/g,""),_=_.replace(/['",\.!:;\?\)]$/g,""),_=_.replace(/^['"\(]/g,"")),""===_&&(_=B),_},A.addNormal=function(_){let B=_._text||"";B=A.normalize(B),D(_._text)&&(B=B.replace(/\./g,"")),B=B.replace(/([0-9]),([0-9])/g,"$1$2"),_.normal=B}},{"./isAcronym":178,"./unicode":181}],180:[function(E,C){"use strict";C.exports=function(D){let _=D.normal||D.silent_term||"";_=_.replace(/'s\b/,""),_=_.replace(/'\b/,""),D.root=_}},{}],181:[function(E,C){"use strict";let N={"!":"\xA1","?":"\xBF\u0241",a:"\xAA\xC0\xC1\xC2\xC3\xC4\xC5\xE0\xE1\xE2\xE3\xE4\xE5\u0100\u0101\u0102\u0103\u0104\u0105\u01CD\u01CE\u01DE\u01DF\u01E0\u01E1\u01FA\u01FB\u0200\u0201\u0202\u0203\u0226\u0227\u023A\u0386\u0391\u0394\u039B\u03AC\u03B1\u03BB\u0410\u0414\u0430\u0434\u0466\u0467\u04D0\u04D1\u04D2\u04D3\u019B\u0245\xE6",b:"\xDF\xFE\u0180\u0181\u0182\u0183\u0184\u0185\u0243\u0392\u03B2\u03D0\u03E6\u0411\u0412\u042A\u042C\u0431\u0432\u044A\u044C\u0462\u0463\u048C\u048D\u0494\u0495\u01A5\u01BE",c:"\xA2\xA9\xC7\xE7\u0106\u0107\u0108\u0109\u010A\u010B\u010C\u010D\u0186\u0187\u0188\u023B\u023C\u037B\u037C\u037D\u03F2\u03F9\u03FD\u03FE\u03FF\u0404\u0421\u0441\u0454\u0480\u0481\u04AA\u04AB",d:"\xD0\u010E\u010F\u0110\u0111\u0189\u018A\u0221\u018B\u018C\u01F7",e:"\xC8\xC9\xCA\xCB\xE8\xE9\xEA\xEB\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011A\u011B\u018E\u018F\u0190\u01DD\u0204\u0205\u0206\u0207\u0228\u0229\u0246\u0247\u0388\u0395\u039E\u03A3\u03AD\u03B5\u03BE\u03F1\u03F5\u03F6\u0400\u0401\u0415\u042D\u0435\u0450\u0451\u04BC\u04BD\u04BE\u04BF\u04D6\u04D7\u04D8\u04D9\u04DA\u04DB\u04EC\u04ED",f:"\u0191\u0192\u03DC\u03DD\u04FA\u04FB\u0492\u0493\u04F6\u04F7\u017F",g:"\u011C\u011D\u011E\u011F\u0120\u0121\u0122\u0123\u0193\u01E4\u01E5\u01E6\u01E7\u01F4\u01F5",h:"\u0124\u0125\u0126\u0127\u0195\u01F6\u021E\u021F\u0389\u0397\u0402\u040A\u040B\u041D\u043D\u0452\u045B\u04A2\u04A3\u04A4\u04A5\u04BA\u04BB\u04C9\u04CA",I:"\xCC\xCD\xCE\xCF",i:"\xEC\xED\xEE\xEF\u0128\u0129\u012A\u012B\u012C\u012D\u012E\u012F\u0130\u0131\u0196\u0197\u0208\u0209\u020A\u020B\u038A\u0390\u03AA\u03AF\u03B9\u03CA\u0406\u0407\u0456\u0457",j:"\u0134\u0135\u01F0\u0237\u0248\u0249\u03F3\u0408\u0458",k:"\u0136\u0137\u0138\u0198\u0199\u01E8\u01E9\u039A\u03BA\u040C\u0416\u041A\u0436\u043A\u045C\u049A\u049B\u049C\u049D\u049E\u049F\u04A0\u04A1",l:"\u0139\u013A\u013B\u013C\u013D\u013E\u013F\u0140\u0141\u0142\u019A\u01AA\u01C0\u01CF\u01D0\u0234\u023D\u0399\u04C0\u04CF",m:"\u039C\u03FA\u03FB\u041C\u043C\u04CD\u04CE",n:"\xD1\xF1\u0143\u0144\u0145\u0146\u0147\u0148\u0149\u014A\u014B\u019D\u019E\u01F8\u01F9\u0220\u0235\u039D\u03A0\u03AE\u03B7\u03DE\u040D\u0418\u0419\u041B\u041F\u0438\u0439\u043B\u043F\u045D\u048A\u048B\u04C5\u04C6\u04E2\u04E3\u04E4\u04E5\u03C0",o:"\xD2\xD3\xD4\xD5\xD6\xD8\xF0\xF2\xF3\xF4\xF5\xF6\xF8\u014C\u014D\u014E\u014F\u0150\u0151\u019F\u01A0\u01A1\u01D1\u01D2\u01EA\u01EB\u01EC\u01ED\u01FE\u01FF\u020C\u020D\u020E\u020F\u022A\u022B\u022C\u022D\u022E\u022F\u0230\u0231\u038C\u0398\u039F\u03B8\u03BF\u03C3\u03CC\u03D5\u03D8\u03D9\u03EC\u03ED\u03F4\u041E\u0424\u043E\u0472\u0473\u04E6\u04E7\u04E8\u04E9\u04EA\u04EB\xA4\u018D\u038F",p:"\u01A4\u01BF\u03A1\u03C1\u03F7\u03F8\u03FC\u0420\u0440\u048E\u048F\xDE",q:"\u024A\u024B",r:"\u0154\u0155\u0156\u0157\u0158\u0159\u01A6\u0210\u0211\u0212\u0213\u024C\u024D\u0403\u0413\u042F\u0433\u044F\u0453\u0490\u0491",s:"\u015A\u015B\u015C\u015D\u015E\u015F\u0160\u0161\u01A7\u01A8\u0218\u0219\u023F\u03C2\u03DA\u03DB\u03DF\u03E8\u03E9\u0405\u0455",t:"\u0162\u0163\u0164\u0165\u0166\u0167\u01AB\u01AC\u01AD\u01AE\u021A\u021B\u0236\u023E\u0393\u03A4\u03C4\u03EE\u03EF\u0422\u0442\u0482\u04AC\u04AD",u:"\xB5\xD9\xDA\xDB\xDC\xF9\xFA\xFB\xFC\u0168\u0169\u016A\u016B\u016C\u016D\u016E\u016F\u0170\u0171\u0172\u0173\u01AF\u01B0\u01B1\u01B2\u01D3\u01D4\u01D5\u01D6\u01D7\u01D8\u01D9\u01DA\u01DB\u01DC\u0214\u0215\u0216\u0217\u0244\u03B0\u03BC\u03C5\u03CB\u03CD\u03D1\u040F\u0426\u0427\u0446\u045F\u04B4\u04B5\u04B6\u04B7\u04CB\u04CC\u04C7\u04C8",v:"\u03BD\u0474\u0475\u0476\u0477",w:"\u0174\u0175\u019C\u03C9\u03CE\u03D6\u03E2\u03E3\u0428\u0429\u0448\u0449\u0461\u047F",x:"\xD7\u03A7\u03C7\u03D7\u03F0\u0425\u0445\u04B2\u04B3\u04FC\u04FD\u04FE\u04FF",y:"\xDD\xFD\xFF\u0176\u0177\u0178\u01B3\u01B4\u0232\u0233\u024E\u024F\u038E\u03A5\u03AB\u03B3\u03C8\u03D2\u03D3\u03D4\u040E\u0423\u0443\u0447\u045E\u0470\u0471\u04AE\u04AF\u04B0\u04B1\u04EE\u04EF\u04F0\u04F1\u04F2\u04F3",z:"\u0179\u017A\u017B\u017C\u017D\u017E\u01A9\u01B5\u01B6\u0224\u0225\u0240\u0396\u03B6"},D={};Object.keys(N).forEach(function(B){N[B].split("").forEach(function(j){D[j]=B})});C.exports=(B)=>{let j=B.split("");return j.forEach((z,V)=>{D[z]&&(j[V]=D[z])}),j.join("")}},{}],182:[function(E,C){"use strict";const N=E("../../paths").fns,D={Person:"#6393b9",Pronoun:"#81acce",Noun:"steelblue",Verb:"palevioletred",Adverb:"#f39c73",Adjective:"#b3d3c6",Determiner:"#d3c0b3",Preposition:"#9794a8",Conjunction:"#c8c9cf",Value:"palegoldenrod",Expression:"#b3d3c6"};C.exports=(B)=>{let j="silver",z=Object.keys(B.tags);for(let F=0;F{return D.printTag(O)}).join(", "),$=V.text;$="'"+D.yellow($||"-")+"'";let G="";V.silent_term&&(G="["+V.silent_term+"]"),$=D.leftPad($,25),$+=D.leftPad(G,5),console.log(" "+$+" - "+F)},j={text:function(V){return V.whitespace.before+V._text+V.whitespace.after},normal:function(V){return V.normal},root:function(V){return V.root||V.normal},html:function(V){return N(V)},tags:function(V){return{text:V.text,normal:V.normal,tags:Object.keys(V.tags)}},debug:function(V){"undefined"==typeof window?B(V):_(V)}};C.exports=(V)=>{return V.prototype.out=function(F){return j[F]||(F="text"),j[F](this)},V}},{"../../paths":190,"./client":182,"./renderHtml":184}],184:[function(E,C){"use strict";const N=(B)=>{const j={"<":"<",">":">","&":"&","\"":""","'":"'"," ":" "};return B.replace(/[<>&"' ]/g,function(z){return j[z]})},D=(B)=>{const z=/<(?:!--(?:(?:-*[^->])*--+|-?)|script\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/script\s*|style\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/style\s*|\/?[a-z](?:[^"'>]|"[^"]*"|'[^']*')*)>/gi;let V;do V=B,B=B.replace(z,"");while(B!==V);return B.replace(/"Term"!==F);j=j.map((F)=>"nl-"+F),j=j.join(" ");let z=D(B.text);z=N(z);let V=""+z+"";return N(B.whitespace.before)+V+N(B.whitespace.after)}},{}],185:[function(E,C){"use strict";const N=/([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i;C.exports=(_)=>{const B={endPunctuation:function(){let j=this.text.match(N);if(j){if(void 0!=={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"}[j[2]])return j[2]}return null},setPunctuation:function(j){return this.killPunctuation(),this.text+=j,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(N,"$1"),this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{}],186:[function(E,C){"use strict";const N=E("../../paths"),D=N.tags,_=function(B,j){if(D[j]===void 0)return!0;let z=D[j].enemy||[];for(let V=0;V{const V={tag:function(F,$){!0!==B[F]&&N(this,F,$)},unTag:function(F,$){!0!==B[F]&&D(this,F,$)},canBe:function(F){return!0===B[F]||(F=F||"",F=F.replace(/^#/,""),_(this,F))}};return Object.keys(V).forEach((F)=>{z.prototype[F]=V[F]}),z}},{"./canBe":186,"./setTag":188,"./unTag":189}],188:[function(E,C){"use strict";const N=E("../../paths"),D=N.log,_=N.fns,B=E("./unTag"),j=E("../../../tagset"),z=(F,$,G)=>{if(($=$.replace(/^#/,""),!0!==F.tags[$])&&(F.tags[$]=!0,D.tag(F,$,G),j[$])){let O=j[$].enemy;for(let H=0;H "+$)}}};C.exports=function(F,$,G){return F&&$?_.isArray($)?void $.forEach((O)=>z(F,O,G)):void(z(F,$,G),j[$]&&j[$].also!==void 0&&z(F,j[$].also,G)):void 0}},{"../../../tagset":167,"../../paths":190,"./unTag":189}],189:[function(E,C){"use strict";const N=E("../../paths"),D=N.log,_=N.tags,B=(z,V,F)=>{if(z.tags[V]&&(D.unTag(z,V,F),delete z.tags[V],_[V])){let $=_[V].downward;for(let G=0;G<$.length;G++)B(z,$[G]," - - - ")}};C.exports=(z,V,F)=>{if(z&&V){if("*"===V)return void(z.tags={});B(z,V,F)}}},{"../../paths":190}],190:[function(E,C){C.exports={fns:E("../fns"),log:E("../log"),tags:E("../tagset")}},{"../fns":21,"../log":24,"../tagset":167}],191:[function(E,C){"use strict";const N=/^(\s|-+|\.\.+)+/,D=/^( *)-(\$|€|¥|£)?([0-9])/,_=/(\s+|-+|\.\.+)$/;C.exports=(j)=>{let z={before:"",after:""},V=j.match(D);return null===V?(V=j.match(N),null!==V&&(z.before=j.match(N)[0],j=j.replace(N,""))):(z.before=V[1],j=j.replace(/^ */,"")),V=j.match(_),null!==V&&(j=j.replace(_,""),z.after=V[0]),{whitespace:z,text:j}}},{}],192:[function(E,C){"use strict";const N=E("../term"),D=/^([a-z]+)(-)([a-z0-9].*)/i,_=/\S/,B={"-":!0,"\u2013":!0,"--":!0,"...":!0};C.exports=function(z){let V=[],F=[];z=z||"","number"==typeof z&&(z=""+z);const $=z.split(/(\S+)/);for(let O=0;O<$.length;O++){const H=$[O];if(!0===D.test(H)){const M=H.split("-");for(let I=0;Inew N(O))}},{"../term":173}],193:[function(E,C){C.exports={parent:{get:function(){return this.refText||this},set:function(N){return this.refText=N,this}},parentTerms:{get:function(){return this.refTerms||this},set:function(N){return this.refTerms=N,this}},dirty:{get:function(){for(let N=0;N{D.dirty=N})}},refTerms:{get:function(){return this._refTerms||this},set:function(N){return this._refTerms=N,this}},found:{get:function(){return 0{return this.firstTerm().whitespace.before=N,this},after:(N)=>{return this.lastTerm().whitespace.after=N,this}}}}}},{}],194:[function(E,C){"use strict";const N=E("./build"),D=E("./getters"),_=function(B,j,z,V){this.terms=B,this.lexicon=j,this.refText=z,this._refTerms=V,this._cacheWords={},this.count=void 0,this.get=($)=>{return this.terms[$]};let F=Object.keys(D);for(let $=0;${F.parentTerms=V}),V},E("./match")(_),E("./methods/tag")(_),E("./methods/loops")(_),E("./match/not")(_),E("./methods/delete")(_),E("./methods/insert")(_),E("./methods/misc")(_),E("./methods/out")(_),E("./methods/replace")(_),E("./methods/split")(_),E("./methods/transform")(_),E("./methods/lump")(_),C.exports=_},{"./build":192,"./getters":193,"./match":195,"./match/not":203,"./methods/delete":204,"./methods/insert":205,"./methods/loops":206,"./methods/lump":208,"./methods/misc":209,"./methods/out":210,"./methods/replace":211,"./methods/split":212,"./methods/tag":213,"./methods/transform":214}],195:[function(E,C){"use strict";const N=E("./lib/syntax"),D=E("./lib/startHere"),_=E("../../result"),B=E("./lib");C.exports=(z)=>{const V={match:function(F,$){if(0===this.terms.length)return new _([],this.lexicon,this.parent);if(!F)return new _([],this.lexicon,this.parent);let G=B(this,F,$);return G=G.map((O)=>{return new z(O,this.lexicon,this.refText,this.refTerms)}),new _(G,this.lexicon,this.parent)},matchOne:function(F){if(0===this.terms.length)return null;let $=N(F);for(let G=0,O;G{z.prototype[F]=V[F]}),z}},{"../../result":28,"./lib":197,"./lib/startHere":201,"./lib/syntax":202}],196:[function(E,C){"use strict";C.exports=(D,_)=>{for(let B=0;B<_.length;B++){let j=_[B],z=!1;if(!0!==j.optional&&!0!==j.negative&&void 0===j.minMax){if(void 0!==j.normal){for(let V=0;V{if("string"==typeof z&&(z=N(z)),!z||0===z.length)return[];if(!0===_(j,z,V))return[];let F=[];for(let $=0,G;${if(!_||!B)return!1;if(!0===B.anyOne)return!0;if(void 0!==B.tag)return _.tags[B.tag];if(void 0!==B.normal)return B.normal===_.normal||B.normal===_.silent_term;if(!0===B.suffix&&void 0!==B.partial){const j=_.normal.length;return _.normal.substr(j-B.partial.length,j)===B.partial}if(!0===B.prefix&&void 0!==B.partial)return _.normal.substr(0,B.partial.length)===B.partial;if(!0===B.infix&&void 0!==B.partial)return-1!==_.normal.indexOf(B.partial);if(void 0!==B.oneOf){for(let j=0;j{let z=N(_,B,j);return B.negative&&(z=!!!z),z}},{}],199:[function(E,C){"use strict";const N=(_,B)=>{let j=B.normal.substr(0,_.length);return j===_};C.exports=function(_,B,j){let V=B[j].normal;if(V!==void 0&&N(V,_))for(++j,j;j{for(V=V;V{for(V=V;V{let G=V;for(let O=0;O=q&&D(J,W))break;let R=z.terms[G+K+1];if(D(R,W)){G+=K+2,O+=1;break}else if(K===L-1)return null}}continue}if(!0===M.optional){let q=F[O+1];G=B(z,G,M,q);continue}if(D(H,M,$)){if(G+=1,!0===M.consecutive){let q=F[O+1];G=B(z,G,M,q)}continue}if(H.silent_term&&!H.normal){if(0===O)return null;G+=1,O-=1;continue}let S=N(H,F,O,$);if(null!==S){O=S,G+=1;continue}if(!0!==M.optional)return null}return z.terms.slice(V,G)}},{"./isMatch":198,"./lumpMatch":199}],202:[function(E,C){"use strict";const N=E("./paths").fns,D=/\{[0-9,]+\}$/,_=function(V){return V.substr(1,V.length)},B=function(V){return V.substring(0,V.length-1)},j=function(V){V=V||"",V=V.trim();let F={};if(1===V.length&&"."!==V&&"*"!==V)return F.normal=V,F;if("!"===V.charAt(0)&&(V=_(V),F.negative=!0),"^"===V.charAt(0)&&(V=_(V),F.starting=!0),"$"===V.charAt(V.length-1)&&(V=B(V),F.ending=!0),"?"===V.charAt(V.length-1)&&(V=B(V),F.optional=!0),"+"===V.charAt(V.length-1)&&(V=B(V),F.consecutive=!0),"_"===V.charAt(V.length-1)?(V=B(V),F.prefix=!0,"_"===V.charAt(0)&&(V=_(V),F.prefix=void 0,F.infix=!0),F.partial=V,V=""):"_"===V.charAt(0)&&(V=_(V),F.suffix=!0,F.partial=V,V=""),"#"===V.charAt(0)&&(V=_(V),F.tag=N.titleCase(V),V=""),"("===V.charAt(0)&&")"===V.charAt(V.length-1)){V=B(V),V=_(V);let $=V.split(/\|/g);F.oneOf={terms:{},tagArr:[]},$.forEach((G)=>{if("#"===G.charAt(0)){let O=G.substr(1,G.length);O=N.titleCase(O),F.oneOf.tagArr.push(O)}else F.oneOf.terms[G]=!0}),V=""}if("}"===V.charAt(V.length-1)&&!0===D.test(V)){let $=V.match(/\{([0-9]+), ?([0-9]+)\}/);F.minMax={min:parseInt($[1],10),max:parseInt($[2],10)},V=V.replace(D,"")}return"."===V&&(F.anyOne=!0,V=""),"*"===V&&(F.astrix=!0,V=""),""!==V&&(F.normal=V.toLowerCase()),F};C.exports=function(V){return V=V||"",V=V.split(/ +/),V.map(j)}},{"./paths":200}],203:[function(E,C){"use strict";const N=E("./lib/syntax"),D=E("./lib/startHere"),_=E("../../result");C.exports=(j)=>{const z={notObj:function(V,F){let $=[],G=[];return V.terms.forEach((O)=>{F.hasOwnProperty(O.normal)?(G.length&&$.push(G),G=[]):G.push(O)}),G.length&&$.push(G),$=$.map((O)=>{return new j(O,V.lexicon,V.refText,V.refTerms)}),new _($,V.lexicon,V.parent)},notString:function(V,F,$){let G=[],O=N(F),H=[];for(let M=0,I;M{return new j(M,V.lexicon,V.refText,V.refTerms)}),new _(G,V.lexicon,V.parent)}};return z.notArray=function(V,F){let $=F.reduce((G,O)=>{return G[O]=!0,G},{});return z.notObj(V,$)},j.prototype.not=function(V,F){if("object"==typeof V){let $=Object.prototype.toString.call(V);if("[object Array]"===$)return z.notArray(this,V,F);if("[object Object]"===$)return z.notObj(this,V,F)}return"string"==typeof V?z.notString(this,V,F):this},j}},{"../../result":28,"./lib/startHere":201,"./lib/syntax":202}],204:[function(E,C){"use strict";const N=E("../mutate");C.exports=(_)=>{return _.prototype.delete=function(B){if(!this.found)return this;if(!B)return this.parentTerms=N.deleteThese(this.parentTerms,this),this;let j=this.match(B);if(j.found){let z=N.deleteThese(this,j);return z}return this.parentTerms},_}},{"../mutate":215}],205:[function(E,C){"use strict";const N=E("../mutate"),D=(B,j)=>{return B.terms.length&&B.terms[j]?(B.terms[j].whitespace.before=" ",B):B};C.exports=(B)=>{const j=function(V){if("Terms"===V.isA)return V;if("Term"===V.isA)return new B([V]);let F=B.fromString(V);return F.tagger(),F},z={insertBefore:function(V,F){let $=this.terms.length,G=j(V);F&&G.tag(F);let O=this.index();return D(this.parentTerms,O),0V&&(V=0);let G=this.terms.length,O=j(F);return $&&O.tag($),0{B.prototype[V]=z[V]}),B}},{"../mutate":215}],206:[function(E,C){"use strict";C.exports=(D)=>{return[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]].forEach((B)=>{let j=B[0],z=B[1];D.prototype[j]=function(){let F=arguments;return this.terms.forEach(($)=>{$[j].apply($,F)}),z&&this.tag(z,j),this}}),D}},{}],207:[function(E,C){"use strict";const N=E("../../../term"),D=(B,j)=>{let z=B.whitespace.before+B.text+B.whitespace.after;return z+=j.whitespace.before+j.text+j.whitespace.after,z};C.exports=function(B,j){let z=B.terms[j],V=B.terms[j+1];if(V){let F=D(z,V);return B.terms[j]=new N(F,z.context),B.terms[j].normal=z.normal+" "+V.normal,B.terms[j].lumped=!0,B.terms[j].parentTerms=B.terms[j+1].parentTerms,B.terms[j+1]=null,void(B.terms=B.terms.filter(($)=>null!==$))}}},{"../../../term":173}],208:[function(E,C){"use strict";const N=E("./combine"),D=E("../../mutate"),_=function(j,z){let V=j.terms.length;for(let $=0;${return j.prototype.lump=function(){let z=this.index(),V={};if(this.terms.forEach(($)=>{Object.keys($.tags).forEach((G)=>V[G]=!0)}),this.parentTerms===this){let $=_(this,V);return this.terms=[$],this}this.parentTerms=D.deleteThese(this.parentTerms,this);let F=_(this,V);return this.parentTerms.terms=D.insertAt(this.parentTerms.terms,z,F),this},j}},{"../../mutate":215,"./combine":207}],209:[function(E,C){"use strict";const N=E("../../tagger");C.exports=(_)=>{const B={tagger:function(){return N(this),this},firstTerm:function(){return this.terms[0]},lastTerm:function(){return this.terms[this.terms.length-1]},all:function(){return this.parent},data:function(){return{text:this.out("text"),normal:this.out("normal")}},term:function(j){return this.terms[j]},first:function(){let j=this.terms[0];return new _([j],this.lexicon,this.refText,this.refTerms)},last:function(){let j=this.terms[this.terms.length-1];return new _([j],this.lexicon,this.refText,this.refTerms)},slice:function(j,z){let V=this.terms.slice(j,z);return new _(V,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},index:function(){let j=this.parentTerms,z=this.terms[0];if(!j||!z)return null;for(let V=0;V{return j+=z.whitespace.before.length,j+=z.text.length,j+=z.whitespace.after.length,j},0)},wordCount:function(){return this.terms.length},toCamelCase:function(){return this.toTitleCase(),this.terms.forEach((j,z)=>{0!==z&&(j.whitespace.before=""),j.whitespace.after=""}),this.tag("#CamelCase","toCamelCase"),this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{"../../tagger":133}],210:[function(E,C){"use strict";const N=E("../paths").fns,D={text:function(B){return B.terms.reduce((j,z)=>{return j+=z.out("text"),j},"")},normal:function(B){let j=B.terms.filter((z)=>{return z.text});return j=j.map((z)=>{return z.normal}),j.join(" ")},grid:function(B){var j=" ";return j+=B.terms.reduce((z,V)=>{return z+=N.leftPad(V.text,11),z},""),j+"\n\n"},color:function(B){return B.terms.reduce((j,z)=>{return j+=N.printTerm(z),j},"")},root:function(B){return B.terms.filter((j)=>j.text).map((j)=>j.root).join(" ").toLowerCase()},html:function(B){return B.terms.map((j)=>j.render.html()).join(" ")},debug:function(B){B.terms.forEach((j)=>{j.out("debug")})}};D.plaintext=D.text,D.normalize=D.normal,D.normalized=D.normal,D.colors=D.color,D.tags=D.terms;C.exports=(B)=>{return B.prototype.out=function(j){return D[j]?D[j](this):D.text(this)},B.prototype.debug=function(){return D.debug(this)},B}},{"../paths":216}],211:[function(E,C){"use strict";const N=E("../mutate");C.exports=(_)=>{const B={replace:function(j,z,V){return void 0===z?this.replaceWith(j,V):(this.match(j).replaceWith(z,V),this)},replaceWith:function(j,z){let V=_.fromString(j);V.tagger(),z&&this.terms.forEach(($,G)=>{let O=Object.keys($.tags);void 0!==V.terms[G]&&O.forEach((H)=>V.terms[G].tag(H,"from-memory"))});let F=this.index();return this.parentTerms=N.deleteThese(this.parentTerms,this),this.parentTerms.terms=N.insertAt(this.parentTerms.terms,F,V),this.terms=V.terms,this}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_}},{"../mutate":215}],212:[function(E,C,A){"use strict";const N=(_,B)=>{let j=B.terms[0],z=B.terms.length;for(let V=0;V<_.length;V++)if(_[V]===j)return{before:_.slice(0,V),match:_.slice(V,V+z),after:_.slice(V+z,_.length)};return{after:_}},D=(_)=>{const B={splitAfter:function(j,z){let V=this.match(j,z),F=this.terms,$=[];return V.list.forEach((G)=>{let O=N(F,G);O.before&&O.match&&$.push(O.before.concat(O.match)),F=O.after}),F.length&&$.push(F),$=$.map((G)=>{let O=this.refText;return new _(G,this.lexicon,O,this.refTerms)}),$},splitOn:function(j,z){let V=this.match(j,z),F=this.terms,$=[];return V.list.forEach((G)=>{let O=N(F,G);O.before&&$.push(O.before),O.match&&$.push(O.match),F=O.after}),F.length&&$.push(F),$=$.filter((G)=>G&&G.length),$=$.map((G)=>new _(G,G.lexicon,G.refText,this.refTerms)),$},splitBefore:function(j,z){let V=this.match(j,z),F=this.terms,$=[];V.list.forEach((G)=>{let O=N(F,G);O.before&&$.push(O.before),O.match&&$.push(O.match),F=O.after}),F.length&&$.push(F);for(let G=0;G<$.length;G++)for(let O=0;OG&&G.length),$=$.map((G)=>new _(G,G.lexicon,G.refText,this.refTerms)),$}};return Object.keys(B).forEach((j)=>{_.prototype[j]=B[j]}),_};C.exports=D,A=D},{}],213:[function(E,C){"use strict";C.exports=(D)=>{const _={tag:function(B,j){let z=[];return("string"==typeof B&&(z=B.split(" ")),1{V.tag(z[F],j)}),this):(this.terms.forEach((V)=>{V.tag(B,j)}),this)},unTag:function(B,j){let z=[];return("string"==typeof B&&(z=B.split(" ")),1{V.unTag(z[F],j)}),this):(this.terms.forEach((V)=>{V.unTag(B,j)}),this)},canBe:function(B){let j=this.terms.filter((z)=>z.canBe(B));return new D(j,this.lexicon,this.refText,this.refTerms)}};return Object.keys(_).forEach((B)=>{D.prototype[B]=_[B]}),D}},{}],214:[function(E,C){"use strict";C.exports=(D)=>{const _={clone:function(){let B=this.terms.map((j)=>{return j.clone()});return new D(B,this.lexicon,this.refText,null)},hyphenate:function(){return this.terms.forEach((B,j)=>{j!==this.terms.length-1&&(B.whitespace.after="-"),0!==j&&(B.whitespace.before="")}),this},dehyphenate:function(){return this.terms.forEach((B)=>{"-"===B.whitespace.after&&(B.whitespace.after=" ")}),this}};return Object.keys(_).forEach((B)=>{D.prototype[B]=_[B]}),D}},{}],215:[function(E,C,A){"use strict";const N=(D)=>{let _=[];return"Terms"===D.isA?_=D.terms:"Text"===D.isA?_=D.flatten().list[0].terms:"Term"===D.isA&&(_=[D]),_};A.deleteThese=(D,_)=>{let B=N(_);return D.terms=D.terms.filter((j)=>{for(let z=0;z{B.dirty=!0;let j=N(B);return 0<_&&j[0]&&!j[0].whitespace.before&&(j[0].whitespace.before=" "),Array.prototype.splice.apply(D,[_,0].concat(j)),D}},{}],216:[function(E,C){C.exports={data:E("../data"),lexicon:E("../data"),fns:E("../fns"),Term:E("../term")}},{"../data":6,"../fns":21,"../term":173}],217:[function(E,C){C.exports="0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt"},{}],218:[function(E,C){C.exports="a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori"},{}],219:[function(E,C){C.exports="aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl"},{}],220:[function(E,C){C.exports="a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dell\xEDn,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0\u0307zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg"},{}],221:[function(E,C){C.exports="0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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"},{}],222:[function(E,C){C.exports="0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an"},{}],223:[function(E,C){C.exports="aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la"},{}],224:[function(E,C){C.exports="0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il"},{}],225:[function(E,C){C.exports="aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey"},{}],226:[function(E,C){C.exports="0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve"},{}],227:[function(E,C){C.exports="0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,\xF16;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams"},{}],228:[function(E,C){C.exports="0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on"},{}],229:[function(E,C){C.exports="ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s"},{}],230:[function(E,C){C.exports="0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on"},{}],231:[function(E,C){C.exports="0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,\xE9;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c"},{}],232:[function(E,C){C.exports="0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut"},{}],233:[function(E,C){C.exports="'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut"},{}],234:[function(E,C){C.exports="aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt"},{}],235:[function(E,C){C.exports="0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls"},{}],236:[function(E,C){C.exports="0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce"},{}],237:[function(E,C){"use strict";const N=36,D="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",_=D.split("").reduce(function(S,q,L){return S[q]=L,S},{});var z={toAlphaCode:function(S){if(D[S]!==void 0)return D[S];let q=1,L=N,W="";for(;S>=L;S-=L,q++,L*=N);for(;q--;){const K=S%N;W=String.fromCharCode((10>K?48:55)+K)+W,S=(S-K)/N}return W},fromAlphaCode:function(S){if(_[S]!==void 0)return _[S];let q=0,L=1,W=N,K=1;for(;L=q.length)&&(1===L?S===q[0]:q.slice(0,L)===S)},$=function(S){let q={};const L=function(W,K){let J=S.nodes[W];"!"===J[0]&&(q[K]=!0,J=J.slice(1));let R=J.split(/([A-Z0-9,]+)/g);for(let U=0;U{D[V]=N(D[V]),D[V].cache()}),Object.keys(_).forEach((V)=>{_[V]=N(_[V]),_[V].cache()});C.exports={lookup:function(V){if(_.uncountable.has(V))return"Noun";if(_.orgWords.has(V))return"Noun";for(let F=0;F{let $=D[F]._cache;const G=Object.keys($);for(let O=0;O (http://spencermounta.in)", "name": "compromise", "description": "natural language processing in the browser", - "version": "9.1.0", + "version": "10.0.0", "main": "./builds/compromise.js", "repository": { "type": "git", @@ -88,7 +88,6 @@ var compressed = { var arr = ['absurd', 'aggressive', 'alert', 'alive', 'angry', 'attractive', 'awesome', 'beautiful', 'big', 'bitter', 'black', 'blue', 'bored', 'boring', 'brash', 'brave', 'brief', 'brown', 'calm', 'charming', 'cheap', 'check', 'clean', 'clear', 'close', 'cold', 'cool', 'cruel', 'curly', 'cute', 'dangerous', 'dear', 'dirty', 'drunk', 'dry', 'dull', 'eager', 'early', 'easy', 'efficient', 'empty', 'even', 'extreme', 'faint', 'fair', 'fanc', 'feeble', 'few', 'fierce', 'fine', 'firm', 'forgetful', 'formal', 'frail', 'free', 'full', 'funny', 'gentle', 'glad', 'glib', 'glad', 'grand', 'green', 'gruesome', 'handsome', 'happy', 'harsh', 'heavy', 'high', 'hollow', 'hot', 'hungry', 'impolite', 'important', 'innocent', 'intellegent', 'interesting', 'keen', 'kind', 'lame', 'large', 'late', 'lean', 'little', 'long', 'loud', 'low', 'lucky', 'lush', 'macho', 'mature', 'mean', 'meek', 'mellow', 'mundane', 'narrow', 'near', 'neat', 'new', 'nice', 'noisy', 'normal', 'odd', 'old', 'orange', 'pale', 'pink', 'plain', 'poor', 'proud', 'pure', 'purple', 'rapid', 'rare', 'raw', 'rich', 'rotten', 'round', 'rude', 'safe', 'scarce', 'scared', 'shallow', 'shrill', 'simple', 'slim', 'slow', 'small', 'smooth', 'solid', 'soon', 'sore', 'sour', 'square', 'stale', 'steep', 'strange', 'strict', 'strong', 'swift', 'tall', 'tame', 'tart', 'tender', 'tense', 'thin', 'thirsty', 'tired', 'true', 'vague', 'vast', 'vulgar', 'warm', 'weird', 'wet', 'wild', 'windy', 'wise', 'yellow', 'young']; module.exports = fns.uncompress_suffixes(arr, compressed); -// console.log(JSON.stringify(module.exports.sort(), null, 2)); },{"../fns":5}],3:[function(_dereq_,module,exports){ 'use strict'; @@ -317,7 +316,7 @@ module.exports = lexicon; // console.log(lexicon['ugh']); -},{"../result/subset/adjectives/methods":42,"../result/subset/verbs/methods/conjugate/faster":104,"../result/subset/verbs/methods/toAdjective":114,"./fns":5,"./index":6}],8:[function(_dereq_,module,exports){ +},{"../result/subset/adjectives/methods":44,"../result/subset/verbs/methods/conjugate/faster":108,"../result/subset/verbs/methods/toAdjective":118,"./fns":5,"./index":6}],8:[function(_dereq_,module,exports){ 'use strict'; module.exports = ['this', 'any', 'enough', 'each', 'whatever', 'every', 'these', 'another', 'plenty', 'whichever', 'neither', 'an', 'a', 'least', 'own', 'few', 'both', 'those', 'the', 'that', 'various', 'either', 'much', 'some', 'else', @@ -450,7 +449,7 @@ module.exports = abbreviations; //compressed with '_' to reduce some redundancy. 'use strict'; -var main = [['child', '_ren'], ['person', 'people'], ['leaf', 'leaves'], ['database', '_s'], ['quiz', '_zes'], ['stomach', '_s'], ['sex', '_es'], ['move', '_s'], ['shoe', '_s'], ['goose', 'geese'], ['phenomenon', 'phenomena'], ['barracks', '_'], ['deer', '_'], ['syllabus', 'syllabi'], ['index', 'indices'], ['appendix', 'appendices'], ['criterion', 'criteria'], ['man', 'men'], ['rodeo', '_s'], ['epoch', '_s'], ['zero', '_s'], ['avocado', '_s'], ['halo', '_s'], ['tornado', '_s'], ['tuxedo', '_s'], ['sombrero', '_s'], ['addendum', 'addenda'], ['alga', '_e'], ['alumna', '_e'], ['alumnus', 'alumni'], ['bacillus', 'bacilli'], ['cactus', 'cacti'], ['beau', '_x'], ['château', '_x'], ['chateau', '_x'], ['tableau', '_x'], ['corpus', 'corpora'], ['curriculum', 'curricula'], ['echo', '_es'], ['embargo', '_es'], ['foot', 'feet'], ['genus', 'genera'], ['hippopotamus', 'hippopotami'], ['larva', '_e'], ['libretto', 'libretti'], ['loaf', 'loaves'], ['matrix', 'matrices'], ['memorandum', 'memoranda'], ['mosquito', '_es'], ['opus', 'opera'], ['ovum', 'ova'], ['ox', '_en'], ['radius', 'radii'], ['referendum', 'referenda'], ['thief', 'thieves'], ['tooth', 'teeth']]; +var main = [['child', '_ren'], ['person', 'people'], ['leaf', 'leaves'], ['database', '_s'], ['quiz', '_zes'], ['stomach', '_s'], ['sex', '_es'], ['move', '_s'], ['shoe', '_s'], ['goose', 'geese'], ['phenomenon', 'phenomena'], ['barracks', '_'], ['deer', '_'], ['syllabus', 'syllabi'], ['index', 'indices'], ['appendix', 'appendices'], ['criterion', 'criteria'], ['man', 'men'], ['rodeo', '_s'], ['epoch', '_s'], ['zero', '_s'], ['avocado', '_s'], ['halo', '_s'], ['tornado', '_s'], ['tuxedo', '_s'], ['sombrero', '_s'], ['addendum', 'addenda'], ['alga', '_e'], ['alumna', '_e'], ['alumnus', 'alumni'], ['bacillus', 'bacilli'], ['cactus', 'cacti'], ['beau', '_x'], ['château', '_x'], ['chateau', '_x'], ['tableau', '_x'], ['corpus', 'corpora'], ['curriculum', 'curricula'], ['echo', '_es'], ['embargo', '_es'], ['foot', 'feet'], ['genus', 'genera'], ['hippopotamus', 'hippopotami'], ['larva', '_e'], ['libretto', 'libretti'], ['loaf', 'loaves'], ['matrix', 'matrices'], ['memorandum', 'memoranda'], ['mosquito', '_es'], ['opus', 'opera'], ['ovum', 'ova'], ['ox', '_en'], ['radius', 'radii'], ['referendum', 'referenda'], ['thief', 'thieves'], ['tooth', 'teeth'], ['modulus', 'moduli']]; //decompress it main = main.map(function (a) { a[1] = a[1].replace('_', a[0]); @@ -1600,7 +1599,7 @@ exports.printTerm = function (t) { for (var i = 0; i < tags.length; i++) { if (tagset[tags[i]]) { var color = tagset[tags[i]].color || 'black'; - return exports[color](t.plaintext); + return exports[color](t.out('text')); } } return c.reset + t.plaintext + c.reset; @@ -1619,7 +1618,7 @@ exports.isArray = function (arr) { return Object.prototype.toString.call(arr) === '[object Array]'; }; -},{"./tagset":163}],22:[function(_dereq_,module,exports){ +},{"./tagset":167}],22:[function(_dereq_,module,exports){ (function (global){ 'use strict'; @@ -1629,6 +1628,7 @@ var log = _dereq_('./log'); //the main thing var nlp = function nlp(str, lexicon) { + // this.tagset = tagset; var r = buildResult(str, lexicon); r.tagger(); return r; @@ -1639,15 +1639,10 @@ nlp.tokenize = function (str) { return buildResult(str); }; -//this is handy +//this is useful nlp.version = pkg.version; -//so handy at times -nlp.lexicon = function () { - return _dereq_('./data/lexicon'); -}; - -//also this is much handy +//turn-on some debugging nlp.verbose = function (str) { log.enable(str); }; @@ -1670,12 +1665,52 @@ if (typeof module !== 'undefined') { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../package.json":1,"./data/lexicon":7,"./log":23,"./result/build":24}],23:[function(_dereq_,module,exports){ +},{"../package.json":1,"./log":24,"./result/build":26}],23:[function(_dereq_,module,exports){ +'use strict'; + +var fns = _dereq_('../fns'); + +// const colors = { +// 'Person': '#6393b9', +// 'Pronoun': '#81acce', +// 'Noun': 'steelblue', +// 'Verb': 'palevioletred', +// 'Adverb': '#f39c73', +// 'Adjective': '#b3d3c6', +// 'Determiner': '#d3c0b3', +// 'Preposition': '#9794a8', +// 'Conjunction': '#c8c9cf', +// 'Value': 'palegoldenrod', +// 'Expression': '#b3d3c6' +// }; + +var tag = function tag(t, pos, reason) { + var title = t.normal || '[' + t.silent_term + ']'; + title = fns.leftPad('\'' + title + '\'', 12); + title += ' -> ' + pos; + title += fns.rightPad(reason || '', 15); + console.log('%c' + title, ' color: #a2c99c'); +}; +var untag = function untag(t, pos, reason) { + var title = t.normal || '[' + t.silent_term + ']'; + title = fns.leftPad('\'' + title + '\'', 12); + title += ' ~* ' + pos; + title += ' ' + (reason || ''); + console.log('%c' + title, ' color: #b66a6a'); +}; +module.exports = { + tag: tag, + untag: untag +}; + +},{"../fns":21}],24:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -var fns = _dereq_('../fns'); +var client = _dereq_('./client'); +var server = _dereq_('./server'); + var _enable = false; module.exports = { @@ -1685,43 +1720,56 @@ module.exports = { } _enable = str; }, - here: function here(path) { - if (_enable === true || _enable === path) { - console.log(' ' + path); - } - }, - tell: function tell(str, path) { - if (_enable === true || _enable === path) { - if ((typeof str === 'undefined' ? 'undefined' : _typeof(str)) === 'object') { - str = JSON.stringify(str); - } - str = ' ' + str; - console.log(str); - } - }, tag: function tag(t, pos, reason) { if (_enable === true || _enable === 'tagger') { - var title = t.normal || '[' + t.silent_term + ']'; - title = fns.yellow(title); - title = fns.leftPad('\'' + title + '\'', 20); - title += ' -> ' + fns.printTag(pos); - title = fns.leftPad(title, 54); - console.log(' ' + title + '(' + fns.cyan(reason || '') + ')'); + if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== undefined) { + client.tag(t, pos, reason); + } else { + server.tag(t, pos, reason); + } } }, unTag: function unTag(t, pos, reason) { if (_enable === true || _enable === 'tagger') { - var title = '-' + t.normal + '-'; - title = fns.red(title); - title = fns.leftPad(title, 20); - title += ' ~* ' + fns.red(pos); - title = fns.leftPad(title, 54); - console.log(' ' + title + '(' + fns.red(reason || '') + ')'); + if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== undefined) { + client.untag(t, pos, reason); + } else { + server.untag(t, pos, reason); + } } } }; -},{"../fns":21}],24:[function(_dereq_,module,exports){ +},{"./client":23,"./server":25}],25:[function(_dereq_,module,exports){ +'use strict'; + +var fns = _dereq_('../fns'); + +//use weird bash escape things for some colors +var tag = function tag(t, pos, reason) { + var title = t.normal || '[' + t.silent_term + ']'; + title = fns.yellow(title); + title = fns.leftPad('\'' + title + '\'', 20); + title += ' -> ' + fns.printTag(pos); + title = fns.leftPad(title, 54); + console.log(' ' + title + '(' + fns.cyan(reason || '') + ')'); +}; + +var untag = function untag(t, pos, reason) { + var title = '-' + t.normal + '-'; + title = fns.red(title); + title = fns.leftPad(title, 20); + title += ' ~* ' + fns.red(pos); + title = fns.leftPad(title, 54); + console.log(' ' + title + '(' + fns.red(reason || '') + ')'); +}; + +module.exports = { + tag: tag, + untag: untag +}; + +},{"../fns":21}],26:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('./index'); @@ -1775,7 +1823,7 @@ var fromString = function fromString(str, lexicon) { }; module.exports = fromString; -},{"../term/methods/normalize/normalize":175,"./index":26,"./paths":38,"./tokenize":120}],25:[function(_dereq_,module,exports){ +},{"../term/methods/normalize/normalize":179,"./index":28,"./paths":40,"./tokenize":124}],27:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -1817,7 +1865,7 @@ module.exports = { }; -},{}],26:[function(_dereq_,module,exports){ +},{}],28:[function(_dereq_,module,exports){ 'use strict'; //a Text is an array of termLists @@ -1891,7 +1939,7 @@ Object.keys(subset).forEach(function (k) { }; }); -},{"./getters":25,"./methods/loops":27,"./methods/match":28,"./methods/misc":29,"./methods/normalize":30,"./methods/out":31,"./methods/sort":35,"./methods/split":37,"./subset/acronyms":39,"./subset/adjectives":40,"./subset/adverbs":48,"./subset/contractions":54,"./subset/dates":56,"./subset/ngrams":66,"./subset/ngrams/endGrams":63,"./subset/ngrams/startGrams":67,"./subset/nouns":69,"./subset/people":79,"./subset/sentences":81,"./subset/terms":86,"./subset/values":87,"./subset/verbs":100,"./subsets":119}],27:[function(_dereq_,module,exports){ +},{"./getters":27,"./methods/loops":29,"./methods/match":30,"./methods/misc":31,"./methods/normalize":32,"./methods/out":33,"./methods/sort":37,"./methods/split":39,"./subset/acronyms":41,"./subset/adjectives":42,"./subset/adverbs":50,"./subset/contractions":56,"./subset/dates":58,"./subset/ngrams":68,"./subset/ngrams/endGrams":65,"./subset/ngrams/startGrams":69,"./subset/nouns":71,"./subset/people":81,"./subset/sentences":83,"./subset/terms":88,"./subset/values":94,"./subset/verbs":104,"./subsets":123}],29:[function(_dereq_,module,exports){ 'use strict'; //this methods are simply loops around each termList object. @@ -1925,7 +1973,7 @@ var addMethods = function addMethods(Text) { module.exports = addMethods; -},{}],28:[function(_dereq_,module,exports){ +},{}],30:[function(_dereq_,module,exports){ 'use strict'; var syntaxParse = _dereq_('../../../terms/match/lib/syntax'); @@ -2039,19 +2087,55 @@ var splitMethods = function splitMethods(Text) { } } return false; + }, + + /**find a match, and return everything infront of it*/ + before: function before(reg) { + var list = []; + for (var i = 0; i < this.list.length; i++) { + var m = this.list[i].matchOne(reg); + if (m) { + var index = m[0].index(); + var found = this.list[i].slice(0, index); + if (found.length > 0) { + list.push(found); + } + } + } + var parent = this.parent || this; + return new Text(list, this.lexicon, parent); + }, + + /**find a match, and return everything after of it*/ + after: function after(reg) { + var list = []; + for (var i = 0; i < this.list.length; i++) { + var m = this.list[i].matchOne(reg); + if (m) { + var lastTerm = m[m.length - 1]; + var index = lastTerm.index(); + var found = this.list[i].slice(index + 1, this.list[i].length); + if (found.length > 0) { + list.push(found); + } + } + } + var parent = this.parent || this; + return new Text(list, this.lexicon, parent); } + }; //alias 'and' methods.and = methods.match; - //hook them into result.proto + //hook them into result.proto Text.addMethods(Text, methods); return Text; }; module.exports = splitMethods; -},{"../../../terms":189,"../../../terms/match/lib/syntax":196}],29:[function(_dereq_,module,exports){ +},{"../../../terms":194,"../../../terms/match/lib/syntax":202}],31:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -2158,6 +2242,7 @@ var miscMethods = function miscMethods(Text) { } return this; }, + /** make it into one sentence/termlist */ flatten: function flatten() { var terms = []; @@ -2180,6 +2265,22 @@ var miscMethods = function miscMethods(Text) { }); }); return this; + }, + + /** sample part of the array */ + random: function random(n) { + n = n || 1; + var r = Math.floor(Math.random() * this.list.length); + var arr = this.list.slice(r, r + n); + //if we're off the end, add some from the start + if (arr.length < n) { + var diff = n - arr.length; + if (diff > r) { + diff = r; //prevent it from going full-around + } + arr = arr.concat(this.list.slice(0, diff)); + } + return new Text(arr, this.lexicon, this.parent); } }; @@ -2188,7 +2289,7 @@ var miscMethods = function miscMethods(Text) { module.exports = miscMethods; -},{"../../terms":189}],30:[function(_dereq_,module,exports){ +},{"../../terms":194}],32:[function(_dereq_,module,exports){ 'use strict'; // @@ -2277,7 +2378,7 @@ var addMethods = function addMethods(Text) { }; module.exports = addMethods; -},{}],31:[function(_dereq_,module,exports){ +},{}],33:[function(_dereq_,module,exports){ 'use strict'; var _topk = _dereq_('./topk'); @@ -2408,7 +2509,7 @@ var addMethods = function addMethods(Text) { module.exports = addMethods; -},{"./indexes":32,"./offset":33,"./topk":34}],32:[function(_dereq_,module,exports){ +},{"./indexes":34,"./offset":35,"./topk":36}],34:[function(_dereq_,module,exports){ 'use strict'; //find where in the original text this match is found, by term-counts @@ -2442,7 +2543,7 @@ var termIndex = function termIndex(r) { }; module.exports = termIndex; -},{}],33:[function(_dereq_,module,exports){ +},{}],35:[function(_dereq_,module,exports){ 'use strict'; /** say where in the original output string they are found*/ @@ -2506,7 +2607,7 @@ var allOffset = function allOffset(r) { }; module.exports = allOffset; -},{}],34:[function(_dereq_,module,exports){ +},{}],36:[function(_dereq_,module,exports){ 'use strict'; // @@ -2545,7 +2646,7 @@ var topk = function topk(r, n) { module.exports = topk; -},{}],35:[function(_dereq_,module,exports){ +},{}],37:[function(_dereq_,module,exports){ 'use strict'; var sorter = _dereq_('./methods'); @@ -2603,7 +2704,7 @@ var addMethods = function addMethods(Text) { module.exports = addMethods; -},{"./methods":36}],36:[function(_dereq_,module,exports){ +},{"./methods":38}],38:[function(_dereq_,module,exports){ 'use strict'; //perform sort on pre-computed values @@ -2709,7 +2810,7 @@ exports.freq = function (r) { return r; }; -},{}],37:[function(_dereq_,module,exports){ +},{}],39:[function(_dereq_,module,exports){ 'use strict'; var splitMethods = function splitMethods(Text) { @@ -2757,7 +2858,7 @@ var splitMethods = function splitMethods(Text) { module.exports = splitMethods; -},{}],38:[function(_dereq_,module,exports){ +},{}],40:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -2767,7 +2868,7 @@ module.exports = { tags: _dereq_('../tagset') }; -},{"../data":6,"../fns":21,"../tagset":163,"../terms":189}],39:[function(_dereq_,module,exports){ +},{"../data":6,"../fns":21,"../tagset":167,"../terms":194}],41:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -2797,7 +2898,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26}],40:[function(_dereq_,module,exports){ +},{"../../index":28}],42:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -2833,7 +2934,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./methods":42}],41:[function(_dereq_,module,exports){ +},{"../../index":28,"./methods":44}],43:[function(_dereq_,module,exports){ 'use strict'; //an obj of adjectives that can be converted to superlative + comparative, via the lexicon data @@ -2850,7 +2951,7 @@ data.verbConverts.forEach(function (a) { }); module.exports = convertables; -},{"../../../../data":6}],42:[function(_dereq_,module,exports){ +},{"../../../../data":6}],44:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -2861,7 +2962,7 @@ module.exports = { toVerb: _dereq_('./toVerb') }; -},{"./toAdverb":43,"./toComparative":44,"./toNoun":45,"./toSuperlative":46,"./toVerb":47}],43:[function(_dereq_,module,exports){ +},{"./toAdverb":45,"./toComparative":46,"./toNoun":47,"./toSuperlative":48,"./toVerb":49}],45:[function(_dereq_,module,exports){ //turn 'quick' into 'quickly' 'use strict'; @@ -2992,7 +3093,7 @@ var adj_to_adv = function adj_to_adv(str) { module.exports = adj_to_adv; -},{}],44:[function(_dereq_,module,exports){ +},{}],46:[function(_dereq_,module,exports){ //turn 'quick' into 'quickly' 'use strict'; @@ -3079,7 +3180,7 @@ var to_comparative = function to_comparative(str) { module.exports = to_comparative; -},{"./convertable":41}],45:[function(_dereq_,module,exports){ +},{"./convertable":43}],47:[function(_dereq_,module,exports){ 'use strict'; //convert 'cute' to 'cuteness' @@ -3150,7 +3251,7 @@ var to_noun = function to_noun(w) { module.exports = to_noun; // console.log(to_noun("great")) -},{}],46:[function(_dereq_,module,exports){ +},{}],48:[function(_dereq_,module,exports){ //turn 'quick' into 'quickest' 'use strict'; @@ -3233,7 +3334,7 @@ var to_superlative = function to_superlative(str) { module.exports = to_superlative; // console.log(to_superlative("great")) -},{"./convertable":41}],47:[function(_dereq_,module,exports){ +},{"./convertable":43}],49:[function(_dereq_,module,exports){ 'use strict'; var data = _dereq_('../../../../data'); @@ -3266,7 +3367,7 @@ var toVerb = function toVerb(str) { }; module.exports = toVerb; -},{"../../../../data":6}],48:[function(_dereq_,module,exports){ +},{"../../../../data":6}],50:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -3297,7 +3398,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./toAdjective":49}],49:[function(_dereq_,module,exports){ +},{"../../index":28,"./toAdjective":51}],51:[function(_dereq_,module,exports){ //turns 'quickly' into 'quick' 'use strict'; @@ -3361,7 +3462,7 @@ var toAdjective = function toAdjective(str) { // console.log(toAdjective('marvelously') === 'marvelous') module.exports = toAdjective; -},{}],50:[function(_dereq_,module,exports){ +},{}],52:[function(_dereq_,module,exports){ 'use strict'; //the plumbing to turn two words into a contraction @@ -3441,7 +3542,7 @@ var contract = function contract(ts) { module.exports = contract; -},{}],51:[function(_dereq_,module,exports){ +},{}],53:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -3480,7 +3581,7 @@ ContractionCl.prototype.contract = function () { }; module.exports = ContractionCl; -},{"../../paths":38,"./contract":50,"./expand":52}],52:[function(_dereq_,module,exports){ +},{"../../paths":40,"./contract":52,"./expand":54}],54:[function(_dereq_,module,exports){ 'use strict'; //turn `i'd` into `i would` @@ -3504,7 +3605,7 @@ var expand = function expand(ts) { }; module.exports = expand; -},{}],53:[function(_dereq_,module,exports){ +},{}],55:[function(_dereq_,module,exports){ 'use strict'; //find contractable, expanded-contractions @@ -3521,7 +3622,7 @@ var find = function find(r) { }; module.exports = find; -},{}],54:[function(_dereq_,module,exports){ +},{}],56:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -3581,7 +3682,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./contraction":51,"./findPossible":53}],55:[function(_dereq_,module,exports){ +},{"../../index":28,"./contraction":53,"./findPossible":55}],57:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -3605,7 +3706,7 @@ Date.prototype.data = function () { module.exports = Date; -},{"../../paths":38,"./parseDate":59}],56:[function(_dereq_,module,exports){ +},{"../../paths":40,"./parseDate":61}],58:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -3651,7 +3752,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./date":55,"./month":58,"./weekday":62}],57:[function(_dereq_,module,exports){ +},{"../../index":28,"./date":57,"./month":60,"./weekday":64}],59:[function(_dereq_,module,exports){ 'use strict'; //follow the javascript scheme @@ -3687,7 +3788,7 @@ exports.shortMonths = { 'dec': 11 }; -},{}],58:[function(_dereq_,module,exports){ +},{}],60:[function(_dereq_,module,exports){ 'use strict'; var data = _dereq_('./data'); @@ -3729,7 +3830,7 @@ module.exports = { }; -},{"./data":57}],59:[function(_dereq_,module,exports){ +},{"./data":59}],61:[function(_dereq_,module,exports){ 'use strict'; var parseTime = _dereq_('./parseTime'); @@ -3824,7 +3925,7 @@ var parseDate = function parseDate(r) { }; module.exports = parseDate; -},{"./month":58,"./parseTime":60,"./weekday":62}],60:[function(_dereq_,module,exports){ +},{"./month":60,"./parseTime":62,"./weekday":64}],62:[function(_dereq_,module,exports){ 'use strict'; var ampm = /([12]?[0-9]) ?(am|pm)/i; @@ -3891,7 +3992,7 @@ var parseTime = function parseTime(r) { }; module.exports = parseTime; -},{}],61:[function(_dereq_,module,exports){ +},{}],63:[function(_dereq_,module,exports){ 'use strict'; //follow the javascript scheme @@ -3910,12 +4011,13 @@ exports.shortDays = { 'mon': 1, 'tues': 2, 'wed': 3, + 'weds': 3, 'thurs': 4, 'fri': 5, 'sat': 6 }; -},{}],62:[function(_dereq_,module,exports){ +},{}],64:[function(_dereq_,module,exports){ 'use strict'; var data = _dereq_('./data'); @@ -3954,7 +4056,7 @@ module.exports = { } }; -},{"./data":61}],63:[function(_dereq_,module,exports){ +},{"./data":63}],65:[function(_dereq_,module,exports){ 'use strict'; var Ngrams = _dereq_('./index'); @@ -3991,7 +4093,7 @@ EndGrams.find = function (r, n, size) { }; module.exports = EndGrams; -},{"./getGrams":64,"./index":66}],64:[function(_dereq_,module,exports){ +},{"./getGrams":66,"./index":68}],66:[function(_dereq_,module,exports){ 'use strict'; var Gram = _dereq_('./gram'); @@ -4068,7 +4170,7 @@ var buildGrams = function buildGrams(r, options) { module.exports = buildGrams; -},{"./gram":65}],65:[function(_dereq_,module,exports){ +},{"./gram":67}],67:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -4093,7 +4195,7 @@ Gram.prototype.inc = function () { module.exports = Gram; -},{"../../paths":38}],66:[function(_dereq_,module,exports){ +},{"../../paths":40}],68:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -4170,7 +4272,7 @@ var find = function find(r, n, size) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./getGrams":64}],67:[function(_dereq_,module,exports){ +},{"../../index":28,"./getGrams":66}],69:[function(_dereq_,module,exports){ 'use strict'; var Ngrams = _dereq_('./index'); @@ -4207,7 +4309,7 @@ StartGrams.find = function (r, n, size) { module.exports = StartGrams; -},{"./getGrams":64,"./index":66}],68:[function(_dereq_,module,exports){ +},{"./getGrams":66,"./index":68}],70:[function(_dereq_,module,exports){ 'use strict'; var uncountables = _dereq_('../../../tries').utils.uncountable; @@ -4237,7 +4339,7 @@ var hasPlural = function hasPlural(t) { module.exports = hasPlural; -},{"../../../tries":231}],69:[function(_dereq_,module,exports){ +},{"../../../tries":238}],71:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -4285,7 +4387,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./noun":77}],70:[function(_dereq_,module,exports){ +},{"../../index":28,"./noun":79}],72:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('../../../data').irregular_plurals; @@ -4357,7 +4459,7 @@ var isPlural = function isPlural(t) { module.exports = isPlural; // console.log(is_plural('octopus') === false) -},{"../../../data":6,"./methods/data/indicators":72}],71:[function(_dereq_,module,exports){ +},{"../../../data":6,"./methods/data/indicators":74}],73:[function(_dereq_,module,exports){ 'use strict'; //chooses an indefinite aricle 'a/an' for a word @@ -4418,7 +4520,7 @@ var makeArticle = function makeArticle(t) { module.exports = makeArticle; -},{}],72:[function(_dereq_,module,exports){ +},{}],74:[function(_dereq_,module,exports){ 'use strict'; //similar to plural/singularize rules, but not the same @@ -4431,7 +4533,7 @@ module.exports = { plural_indicators: plural_indicators }; -},{}],73:[function(_dereq_,module,exports){ +},{}],75:[function(_dereq_,module,exports){ 'use strict'; //patterns for turning 'bus' to 'buses' @@ -4442,7 +4544,7 @@ module.exports = [[/(ax|test)is$/i, '$1es'], [/(octop|vir|radi|nucle|fung|cact|s }; }); -},{}],74:[function(_dereq_,module,exports){ +},{}],76:[function(_dereq_,module,exports){ 'use strict'; //patterns for turning 'dwarves' to 'dwarf' @@ -4453,7 +4555,7 @@ module.exports = [[/([^v])ies$/i, '$1y'], [/ises$/i, 'isis'], [/(kn|[^o]l|w)ives }; }); -},{}],75:[function(_dereq_,module,exports){ +},{}],77:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('../../../../data').irregular_plurals.toPlural; @@ -4476,7 +4578,7 @@ var pluralize = function pluralize(str) { module.exports = pluralize; -},{"../../../../data":6,"./data/pluralRules":73}],76:[function(_dereq_,module,exports){ +},{"../../../../data":6,"./data/pluralRules":75}],78:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('../../../../data').irregular_plurals.toSingle; @@ -4506,11 +4608,10 @@ var toSingle = function toSingle(str) { return null; }; -// console.log(toSingle('gases') === 'gas') module.exports = toSingle; // console.log(toSingle('days')) -},{"../../../../data":6,"./data/singleRules":74}],77:[function(_dereq_,module,exports){ +},{"../../../../data":6,"./data/singleRules":76}],79:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -4571,7 +4672,7 @@ Object.keys(methods).forEach(function (k) { }); module.exports = Noun; -},{"../../paths":38,"./hasPlural":68,"./isPlural":70,"./makeArticle":71,"./methods/pluralize":75,"./methods/singularize":76}],78:[function(_dereq_,module,exports){ +},{"../../paths":40,"./hasPlural":70,"./isPlural":72,"./makeArticle":73,"./methods/pluralize":77,"./methods/singularize":78}],80:[function(_dereq_,module,exports){ 'use strict'; // make a statistical assumption about the gender of the person based on their given name // used for pronoun resolution only. @@ -4599,7 +4700,7 @@ var gender = function gender(firstName) { }; module.exports = gender; -},{}],79:[function(_dereq_,module,exports){ +},{}],81:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -4629,7 +4730,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./person":80}],80:[function(_dereq_,module,exports){ +},{"../../index":28,"./person":82}],82:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -4710,7 +4811,7 @@ Object.keys(methods).forEach(function (k) { }); module.exports = Person; -},{"../../paths":38,"./guessGender":78}],81:[function(_dereq_,module,exports){ +},{"../../paths":40,"./guessGender":80}],83:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -4811,7 +4912,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./sentence":82}],82:[function(_dereq_,module,exports){ +},{"../../index":28,"./sentence":84}],84:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -4850,7 +4951,6 @@ var methods = { //this is really ugly.. var start = verb.out('normal'); verb.toPastTense(); - // console.log(verb.parentTerms.out() + '!'); var end = verb.out('normal'); var r = this.parentTerms.replace(start, end); return r; @@ -4930,7 +5030,7 @@ Object.keys(methods).forEach(function (k) { }); module.exports = Sentence; -},{"../../paths":38,"../verbs/verb":118,"./smartInsert":83,"./toNegative":84,"./toPositive":85}],83:[function(_dereq_,module,exports){ +},{"../../paths":40,"../verbs/verb":122,"./smartInsert":85,"./toNegative":86,"./toPositive":87}],85:[function(_dereq_,module,exports){ 'use strict'; var hasCapital = /^[A-Z]/; @@ -4977,7 +5077,7 @@ module.exports = { prepend: prepend }; -},{}],84:[function(_dereq_,module,exports){ +},{}],86:[function(_dereq_,module,exports){ 'use strict'; //these terms are nicer ways to negate a sentence @@ -5011,7 +5111,7 @@ var toNegative = function toNegative(ts) { }; module.exports = toNegative; -},{}],85:[function(_dereq_,module,exports){ +},{}],87:[function(_dereq_,module,exports){ 'use strict'; //ie. john never walks -> john always walks @@ -5027,7 +5127,7 @@ var toPositive = function toPositive(ts) { if (m.found) { var str = m.out('normal'); if (logical[str]) { - ts = ts.match(str).replaceWith(logical[str]).list[0]; + ts = ts.match(str).replaceWith(logical[str], true).list[0]; return ts.parentTerms; } } @@ -5037,7 +5137,7 @@ var toPositive = function toPositive(ts) { }; module.exports = toPositive; -},{}],86:[function(_dereq_,module,exports){ +},{}],88:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -5080,11 +5180,210 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"../../paths":38}],87:[function(_dereq_,module,exports){ +},{"../../index":28,"../../paths":40}],89:[function(_dereq_,module,exports){ +'use strict'; + +var numOrdinal = _dereq_('./numOrdinal'); +var _textOrdinal = _dereq_('./textOrdinal'); +var textCardinal = _dereq_('./textCardinal'); +var niceNumber = _dereq_('./niceNumber'); + +//make all the number formats +var fmt = { + nice: function nice(num) { + return niceNumber(num); + }, + ordinal: function ordinal(num) { + return numOrdinal(num); + }, + niceOrdinal: function niceOrdinal(num) { + num = numOrdinal(num); + num = niceNumber(num); + return num; + }, + text: function text(num) { + return textCardinal(num).join(' '); + }, + textOrdinal: function textOrdinal(num) { + return _textOrdinal(num); + } +}; +module.exports = fmt; + +},{"./niceNumber":90,"./numOrdinal":91,"./textCardinal":92,"./textOrdinal":93}],90:[function(_dereq_,module,exports){ +'use strict'; +//put a comma or two in + +var niceNumber = function niceNumber(num) { + if (!num && num !== 0) { + return null; + } + num = '' + num; + var x = num.split('.'); + var x1 = x[0]; + var x2 = x.length > 1 ? '.' + x[1] : ''; + var rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, '$1' + ',' + '$2'); + } + return x1 + x2; +}; +module.exports = niceNumber; + +},{}],91:[function(_dereq_,module,exports){ +'use strict'; + +//turn a number like 5 into an ordinal like 5th + +var numOrdinal = function numOrdinal(num) { + if (!num && num !== 0) { + return null; + } + //the teens are all 'th' + var tens = num % 100; + if (tens > 10 && tens < 20) { + return '' + num + 'th'; + } + //the rest of 'em + var mapping = { + 0: 'th', + 1: 'st', + 2: 'nd', + 3: 'rd' + }; + var str = '' + num; + var last = str.slice(str.length - 1, str.length); + if (mapping[last]) { + str += mapping[last]; + } else { + str += 'th'; + } + return str; +}; + +module.exports = numOrdinal; + +},{}],92:[function(_dereq_,module,exports){ +'use strict'; +// turns an integer/float into a textual number, like 'fifty-five' + +var tens_mapping = [['ninety', 90], ['eighty', 80], ['seventy', 70], ['sixty', 60], ['fifty', 50], ['forty', 40], ['thirty', 30], ['twenty', 20]]; +var ones_mapping = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']; +var sequence = [[1000000000, 'million'], [100000000, 'hundred million'], [1000000, 'million'], [100000, 'hundred thousand'], [1000, 'thousand'], [100, 'hundred'], [1, 'one']]; + +//turn number into an array of magnitudes, like [[5, million], [2, hundred]] +var breakdown_magnitudes = function breakdown_magnitudes(num) { + var working = num; + var have = []; + sequence.forEach(function (a) { + if (num >= a[0]) { + var howmany = Math.floor(working / a[0]); + working -= howmany * a[0]; + if (howmany) { + have.push({ + unit: a[1], + count: howmany + }); + } + } + }); + return have; +}; + +//turn numbers from 100-0 into their text +var breakdown_hundred = function breakdown_hundred(num) { + var arr = []; + for (var i = 0; i < tens_mapping.length; i++) { + if (num >= tens_mapping[i][1]) { + num -= tens_mapping[i][1]; + arr.push(tens_mapping[i][0]); + } + } + //(hopefully) we should only have 20-0 now + if (ones_mapping[num]) { + arr.push(ones_mapping[num]); + } + return arr; +}; + +/** print-out 'point eight nine'*/ +var handle_decimal = function handle_decimal(num) { + var names = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']; + var arr = []; + //parse it out like a string, because js math is such shit + var decimal = ('' + num).match(/\.([0-9]+)/); + if (!decimal || !decimal[0]) { + return arr; + } + arr.push('point'); + var decimals = decimal[0].split(''); + for (var i = 0; i < decimals.length; i++) { + arr.push(names[decimals[i]]); + } + return arr; +}; + +/** turns an integer into a textual number */ +var to_text = function to_text(num) { + var arr = []; + //handle negative numbers + if (num < 0) { + arr.push('negative'); + num = Math.abs(num); + } + //break-down into units, counts + var units = breakdown_magnitudes(num); + //build-up the string from its components + for (var i = 0; i < units.length; i++) { + var unit_name = units[i].unit; + if (unit_name === 'one') { + unit_name = ''; + //put an 'and' in here + if (arr.length > 1) { + arr.push('and'); + } + } + arr = arr.concat(breakdown_hundred(units[i].count)); + arr.push(unit_name); + } + //also support decimals - 'point eight' + arr = arr.concat(handle_decimal(num)); + //remove empties + arr = arr.filter(function (s) { + return s; + }); + if (arr.length === 0) { + arr[0] = ''; + } + return arr; +}; + +module.exports = to_text; + +// console.log(to_text(-1000.8)); + +},{}],93:[function(_dereq_,module,exports){ +'use strict'; + +var textValue = _dereq_('./textCardinal'); +var ordinalWord = _dereq_('../../../paths').data.ordinalMap.toOrdinal; +// +var textOrdinal = function textOrdinal(num) { + var words = textValue(num); + //convert the last number to an ordinal + var last = words[words.length - 1]; + words[words.length - 1] = ordinalWord[last] || last; + return words.join(' '); +}; + +module.exports = textOrdinal; + +},{"../../../paths":40,"./textCardinal":92}],94:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); var Value = _dereq_('./value'); +var parse = _dereq_('./parse'); //the Values() subset class var methods = { @@ -5105,9 +5404,9 @@ var methods = { return this; }, /**5 -> 'five' */ - toTextValue: function toTextValue() { + toText: function toText() { this.list = this.list.map(function (ts) { - return ts.toTextValue(); + return ts.toText(); }); return this; }, @@ -5126,9 +5425,33 @@ var methods = { return this; }, /**5900 -> 5,900 */ - toNiceNumber: function toNiceNumber() { + toNice: function toNice() { this.list = this.list.map(function (ts) { - return ts.toNiceNumber(); + return ts.toNice(); + }); + return this; + }, + /**seven === 7th */ + isEqual: function isEqual(num) { + num = parse(num); + this.list = this.list.filter(function (ts) { + return num !== null && ts.number() === num; + }); + return this; + }, + /**eight > 7th */ + greaterThan: function greaterThan(num) { + num = parse(num); + this.list = this.list.filter(function (ts) { + return num !== null && ts.number() > num; + }); + return this; + }, + /**five < 7th */ + lessThan: function lessThan(num) { + num = parse(num); + this.list = this.list.filter(function (ts) { + return num !== null && ts.number() < num; }); return this; } @@ -5140,7 +5463,6 @@ var find = function find(r, n) { //june 21st 1992 is two seperate values r.splitOn('#Year'); - // r.debug(); if (typeof n === 'number') { r = r.get(n); } @@ -5152,84 +5474,45 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./value":99}],88:[function(_dereq_,module,exports){ +},{"../../index":28,"./parse":95,"./value":103}],95:[function(_dereq_,module,exports){ 'use strict'; -var toNumber = _dereq_('../toNumber'); +var parseText = _dereq_('./parseText'); +// 2.5, $5.50, 3,432, etc - +var numeric = /^-?(\$|€|¥|£)?\.?[0-9]+[0-9,\.]*(st|nd|rd|th|rth)?$/; -//turn a number like 5 into an ordinal like 5th -var numOrdinal = function numOrdinal(ts) { - var num = toNumber(ts); - if (!num && num !== 0) { - return null; - } - //the teens are all 'th' - var tens = num % 100; - if (tens > 10 && tens < 20) { - return '' + num + 'th'; - } - //the rest of 'em - var mapping = { - 0: 'th', - 1: 'st', - 2: 'nd', - 3: 'rd' - }; - var str = '' + num; - var last = str.slice(str.length - 1, str.length); - if (mapping[last]) { - str += mapping[last]; - } else { - str += 'th'; +var parseString = function parseString(str) { + if (numeric.test(str) === true) { + //clean up a number, like '$4,342.00' + str = str.replace(/,/g, ''); + str = str.replace(/^[\$|€|¥|£]/g, ''); + str = str.replace(/(st|nd|rd|th|rth)$/g, ''); + var num = parseFloat(str); + if (num || num === 0) { + return num; + } } - return str; -}; - -module.exports = numOrdinal; - -},{"../toNumber":94}],89:[function(_dereq_,module,exports){ -'use strict'; - -module.exports = _dereq_('../../paths'); - -},{"../../paths":38}],90:[function(_dereq_,module,exports){ -'use strict'; - -var toNumber = _dereq_('../toNumber'); -var toText = _dereq_('../toText'); -var ordinalWord = _dereq_('../../../paths').data.ordinalMap.toOrdinal; -// -var textOrdinal = function textOrdinal(ts) { - var num = toNumber(ts); - var words = toText(num); - //convert the last number to an ordinal - var last = words[words.length - 1]; - words[words.length - 1] = ordinalWord[last] || last; - return words.join(' '); + return parseText(str); }; -module.exports = textOrdinal; - -},{"../../../paths":38,"../toNumber":94,"../toText":98}],91:[function(_dereq_,module,exports){ -'use strict'; - -var niceNumber = function niceNumber(num) { - if (!num && num !== 0) { - return null; +//turn it all into a number +var parse = function parse(val) { + if (val === null || val === undefined || typeof val === 'number') { + return val; } - num = '' + num; - var x = num.split('.'); - var x1 = x[0]; - var x2 = x.length > 1 ? '.' + x[1] : ''; - var rgx = /(\d+)(\d{3})/; - while (rgx.test(x1)) { - x1 = x1.replace(rgx, '$1' + ',' + '$2'); + if (typeof val === 'string') { + return parseString(val); } - return x1 + x2; + //numerical values can only be one term + if (val.terms.length === 1 && val.terms[0].tags.TextValue !== true) { + var str = val.terms[0].normal; + return parseString(str); + } + return parseText(val.out('normal')); }; -module.exports = niceNumber; +module.exports = parse; -},{}],92:[function(_dereq_,module,exports){ +},{"./parseText":98}],96:[function(_dereq_,module,exports){ 'use strict'; var p = _dereq_('../paths'); @@ -5248,7 +5531,7 @@ module.exports = { multiples: multiples }; -},{"../paths":89}],93:[function(_dereq_,module,exports){ +},{"../paths":102}],97:[function(_dereq_,module,exports){ 'use strict'; //support global multipliers, like 'half-million' by doing 'million' then multiplying by 0.5 @@ -5277,7 +5560,7 @@ var findModifiers = function findModifiers(str) { module.exports = findModifiers; -},{}],94:[function(_dereq_,module,exports){ +},{}],98:[function(_dereq_,module,exports){ 'use strict'; var parseNumeric = _dereq_('./parseNumeric'); @@ -5305,18 +5588,8 @@ var section_sum = function section_sum(obj) { }, 0); }; -var alreadyNumber = function alreadyNumber(ts) { - for (var i = 0; i < ts.terms.length; i++) { - if (!ts.terms[i].tags.NumericValue) { - return false; - } - } - return true; -}; - //turn a string into a number -var parse = function parse(ts) { - var str = ts.out('normal'); +var parse = function parse(str) { //convert some known-numbers if (casualForms[str] !== undefined) { return casualForms[str]; @@ -5325,10 +5598,6 @@ var parse = function parse(ts) { if (str === 'a' || str === 'an') { return 1; } - //handle a string of mostly numbers - if (alreadyNumber(ts)) { - return parseNumeric(ts.out('normal')); - } var modifier = findModifiers(str); str = modifier.str; var last_mult = null; @@ -5424,7 +5693,7 @@ var parse = function parse(ts) { module.exports = parse; -},{"./data":92,"./findModifiers":93,"./parseDecimals":95,"./parseNumeric":96,"./validate":97}],95:[function(_dereq_,module,exports){ +},{"./data":96,"./findModifiers":97,"./parseDecimals":99,"./parseNumeric":100,"./validate":101}],99:[function(_dereq_,module,exports){ 'use strict'; var words = _dereq_('./data'); @@ -5451,7 +5720,7 @@ var parseDecimals = function parseDecimals(arr) { module.exports = parseDecimals; -},{"./data":92}],96:[function(_dereq_,module,exports){ +},{"./data":96}],100:[function(_dereq_,module,exports){ 'use strict'; //parse a string like "4,200.1" into Number 4200.1 @@ -5474,7 +5743,7 @@ var parseNumeric = function parseNumeric(str) { module.exports = parseNumeric; -},{}],97:[function(_dereq_,module,exports){ +},{}],101:[function(_dereq_,module,exports){ 'use strict'; var words = _dereq_('./data'); @@ -5498,263 +5767,126 @@ var isValid = function isValid(w, has) { }; module.exports = isValid; -},{"./data":92}],98:[function(_dereq_,module,exports){ +},{"./data":96}],102:[function(_dereq_,module,exports){ 'use strict'; -// turns an integer/float into a textual number, like 'fifty-five' -//turn number into an array of magnitudes, like [[5, million], [2, hundred]] - -var breakdown_magnitudes = function breakdown_magnitudes(num) { - var working = num; - var have = []; - var sequence = [[1000000000, 'million'], [100000000, 'hundred million'], [1000000, 'million'], [100000, 'hundred thousand'], [1000, 'thousand'], [100, 'hundred'], [1, 'one']]; - sequence.forEach(function (a) { - if (num > a[0]) { - var howmany = Math.floor(working / a[0]); - working -= howmany * a[0]; - if (howmany) { - have.push({ - unit: a[1], - count: howmany - }); - } - } - }); - return have; -}; +module.exports = _dereq_('../../paths'); -//turn numbers from 100-0 into their text -var breakdown_hundred = function breakdown_hundred(num) { - var tens_mapping = [['ninety', 90], ['eighty', 80], ['seventy', 70], ['sixty', 60], ['fifty', 50], ['forty', 40], ['thirty', 30], ['twenty', 20]]; - var ones_mapping = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']; - var arr = []; - for (var i = 0; i < tens_mapping.length; i++) { - if (num >= tens_mapping[i][1]) { - num -= tens_mapping[i][1]; - arr.push(tens_mapping[i][0]); - } - } - //(hopefully) we should only have 20-0 now - if (ones_mapping[num]) { - arr.push(ones_mapping[num]); - } - return arr; -}; +},{"../../paths":40}],103:[function(_dereq_,module,exports){ +'use strict'; -/** print-out 'point eight nine'*/ -var handle_decimal = function handle_decimal(num) { - var names = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']; - var arr = []; - //parse it out like a string, because js math is such shit - var decimal = ('' + num).match(/\.([0-9]+)/); - if (!decimal || !decimal[0]) { - return arr; - } - arr.push('point'); - var decimals = decimal[0].split(''); - for (var i = 0; i < decimals.length; i++) { - arr.push(names[decimals[i]]); - } - return arr; -}; +var paths = _dereq_('../../paths'); +var Terms = paths.Terms; +var parse = _dereq_('./parse'); +var fmt = _dereq_('./format'); -/** turns an integer into a textual number */ -var to_text = function to_text(num) { - var arr = []; - //handle negative numbers - if (num < 0) { - arr.push('negative'); - num = Math.abs(num); - } - //break-down into units, counts - var units = breakdown_magnitudes(num); - //build-up the string from its components - for (var i = 0; i < units.length; i++) { - var unit_name = units[i].unit; - if (unit_name === 'one') { - unit_name = ''; - //put an 'and' in here - if (arr.length > 1) { - arr.push('and'); +var unpackRange = function unpackRange(ts) { + if (ts.has('#NumberRange')) { + ts.terms.forEach(function (t) { + if (t.silent_term && !t._text) { + t.text = t.silent_term; } - } - arr = arr.concat(breakdown_hundred(units[i].count)); - arr.push(unit_name); - } - //also support decimals - 'point eight' - arr = arr.concat(handle_decimal(num)); - //remove empties - arr = arr.filter(function (s) { - return s; - }); - if (arr.length === 0) { - arr[0] = 'zero'; + }); } - return arr; + return ts; }; -module.exports = to_text; - -// console.log(to_text(-1000.8)); - -},{}],99:[function(_dereq_,module,exports){ -'use strict'; - -var paths = _dereq_('../../paths'); -var Terms = paths.Terms; -var parse = _dereq_('./toNumber'); -var toText = _dereq_('./toText'); -var _toNiceNumber = _dereq_('./toNiceNumber'); -var numOrdinal = _dereq_('./numOrdinal'); -var textOrdinal = _dereq_('./textOrdinal'); - var Value = function Value(arr, lexicon, refText, refTerms) { Terms.call(this, arr, lexicon, refText, refTerms); this.val = this.match('#Value+').list[0]; + this.val = unpackRange(this.val); this.unit = this.match('#Unit$').list[0]; }; //Terms inheritence Value.prototype = Object.create(Terms.prototype); -var isOrdinal = function isOrdinal(ts) { - var t = ts.terms[ts.terms.length - 1]; - if (!t) { - return false; - } - return t.tags.Ordinal === true; -}; -var isText = function isText(ts) { - for (var i = 0; i < ts.terms.length; i++) { - if (ts.terms[i].tags.TextValue) { - return true; - } - } - return false; -}; -var isNumber = function isNumber(ts) { - for (var i = 0; i < ts.terms.length; i++) { - var t = ts.terms[i]; - if (t.tags.TextValue || t.tags.NiceNumber || !t.tags.NumericValue) { - return false; - } - } - return true; -}; - var methods = { - number: function number() { + data: function data() { var num = parse(this.val); - return num; + return { + number: num, + nice: fmt.nice(num), + ordinal: fmt.ordinal(num), + niceOrdinal: fmt.niceOrdinal(num), + text: fmt.text(num), + textOrdinal: fmt.textOrdinal(num) + }; }, - /** five -> '5' */ + number: function number() { + return parse(this.val); + }, + // /** five -> '5' */ toNumber: function toNumber() { - var val = this.val; - // this.debug(); - //is already - if (isNumber(val)) { - return this; - } - //otherwise, - if (isOrdinal(val)) { - var num = numOrdinal(val); - this.replaceWith(num, 'Value'); - } else { - var _num = parse(val); - // console.log(num); - if (_num !== null) { - this.replaceWith('' + _num, 'Value'); + var num = parse(this.val); + if (num !== null) { + var str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.ordinal(num); + } else { + str = num; } + this.replaceWith(str, true).tag('Value'); } return this; }, - /**5 -> 'five' */ - toTextValue: function toTextValue() { - var val = this.val; - //is already - if (isText(val)) { - return this; - } - //otherwise, parse it - if (isOrdinal(val)) { - var _str = textOrdinal(val); - return this.replaceWith(_str, 'Value'); + // /**5 -> 'five' */ + toText: function toText() { + var num = parse(this.val); + if (num !== null) { + var str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.textOrdinal(num); + } else { + str = fmt.text(num); + } + this.replaceWith(str, true).tag('Value'); } - var num = '' + parse(val); - var str = toText(num).join(' '); - this.replaceWith(str, 'Value'); return this; }, - - /**5th -> 5 */ + // + // /**5th -> 5 */ toCardinal: function toCardinal() { - var val = this.val; - //already - if (!isOrdinal(val)) { - return this; - } - //otherwise, - if (isText(val)) { - var _num2 = '' + parse(val); - var str = toText(_num2).join(' '); - return this.replaceWith(str, 'Value'); - } - var num = '' + parse(val); - return this.replaceWith(num, 'Value'); - }, - - /**5 -> 5th */ - toOrdinal: function toOrdinal() { - var val = this.val; - //already - if (isOrdinal(val)) { - return this; - } - //otherwise, - if (isText(val)) { - var str = textOrdinal(val); - this.replaceWith(str, 'Value'); - } else { - //number-ordinal - var _str2 = numOrdinal(val); - this.replaceWith(_str2, 'Value'); + var num = parse(this.val); + if (num !== null) { + var str = ''; + if (this.val.has('#TextValue')) { + str = fmt.text(num); + } else { + str = num; + } + this.replaceWith(str, true).tag('Value'); } return this; }, - - /**5900 -> 5,900 */ - toNiceNumber: function toNiceNumber() { - var num = parse(this); - var str = _toNiceNumber(num); - this.replaceWith(str, 'Value'); + // + // /**5 -> 5th */ + toOrdinal: function toOrdinal() { + var num = parse(this.val); + if (num !== null) { + var str = ''; + if (this.val.has('#TextValue')) { + str = fmt.textOrdinal(num); + } else { + str = fmt.ordinal(num); + } + this.replaceWith(str, true).tag('Value'); + } return this; }, - - data: function data() { - var numV = this.clone().toNumber(); - var txtV = this.clone().toTextValue(); - var obj = { - NumericValue: { - cardinal: numV.toCardinal().out('text'), - ordinal: numV.toOrdinal().out('text'), - nicenumber: this.toNiceNumber().out('text') - }, - TextValue: { - cardinal: txtV.toCardinal().out('text'), - ordinal: txtV.toOrdinal().out('text') - }, - unit: '' - }; - if (this.unit) { - obj.unit = this.unit.out('text'); + // + // /**5900 -> 5,900 */ + toNice: function toNice() { + var num = parse(this.val); + if (num !== null) { + var str = ''; + if (this.val.has('#Ordinal')) { + str = fmt.niceOrdinal(num); + } else { + str = fmt.nice(num); + } + this.replaceWith(str, true).tag('Value'); } - obj.number = this.number(); - return obj; - }, - clone: function clone() { - var terms = this.terms.map(function (t) { - return t.clone(); - }); - return new Value(terms, this.lexicon, this.refText, this.refTerms); + return this; } }; @@ -5763,7 +5895,7 @@ Object.keys(methods).forEach(function (k) { }); module.exports = Value; -},{"../../paths":38,"./numOrdinal":88,"./textOrdinal":90,"./toNiceNumber":91,"./toNumber":94,"./toText":98}],100:[function(_dereq_,module,exports){ +},{"../../paths":40,"./format":89,"./parse":95}],104:[function(_dereq_,module,exports){ 'use strict'; var Text = _dereq_('../../index'); @@ -5868,7 +6000,7 @@ var find = function find(r, n) { module.exports = Text.makeSubset(methods, find); -},{"../../index":26,"./verb":118}],101:[function(_dereq_,module,exports){ +},{"../../index":28,"./verb":122}],105:[function(_dereq_,module,exports){ 'use strict'; var predict = _dereq_('./methods/predict'); @@ -5971,7 +6103,7 @@ var interpret = function interpret(ts) { }; module.exports = interpret; -},{"./methods/predict":112}],102:[function(_dereq_,module,exports){ +},{"./methods/predict":116}],106:[function(_dereq_,module,exports){ 'use strict'; var checkIrregulars = _dereq_('./irregulars'); @@ -6044,7 +6176,7 @@ var conjugate = function conjugate(t, verbose) { module.exports = conjugate; -},{"../predict":112,"../toInfinitive":115,"./generic":105,"./irregulars":107,"./suffixes":108,"./toActor":109,"./toBe":110}],103:[function(_dereq_,module,exports){ +},{"../predict":116,"../toInfinitive":119,"./generic":109,"./irregulars":111,"./suffixes":112,"./toActor":113,"./toBe":114}],107:[function(_dereq_,module,exports){ 'use strict'; module.exports = [{ @@ -6212,7 +6344,7 @@ module.exports = [{ } }]; -},{}],104:[function(_dereq_,module,exports){ +},{}],108:[function(_dereq_,module,exports){ 'use strict'; var checkIrregulars = _dereq_('./irregulars'); @@ -6252,7 +6384,7 @@ var fasterConjugate = function fasterConjugate(inf) { module.exports = fasterConjugate; // console.log(fasterConjugate('walk')); -},{"./generic":105,"./irregulars":107,"./suffixes":108}],105:[function(_dereq_,module,exports){ +},{"./generic":109,"./irregulars":111,"./suffixes":112}],109:[function(_dereq_,module,exports){ 'use strict'; //non-specifc, 'hail-mary' transforms from infinitive, into other forms @@ -6296,7 +6428,7 @@ var generic = { module.exports = generic; -},{}],106:[function(_dereq_,module,exports){ +},{}],110:[function(_dereq_,module,exports){ 'use strict'; var conjugate = _dereq_('./conjugate'); @@ -6341,7 +6473,7 @@ var multiWord = function multiWord(vb, verbose) { }; module.exports = multiWord; -},{"./conjugate":102,"./toBe":110}],107:[function(_dereq_,module,exports){ +},{"./conjugate":106,"./toBe":114}],111:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('../../../../../data').irregular_verbs; //weeee! @@ -6373,7 +6505,7 @@ var checkIrregulars = function checkIrregulars(str) { module.exports = checkIrregulars; // console.log(checkIrregulars('bit')); -},{"../../../../../data":6,"../../../../../fns":21}],108:[function(_dereq_,module,exports){ +},{"../../../../../data":6,"../../../../../fns":21}],112:[function(_dereq_,module,exports){ 'use strict'; var rules = _dereq_('./data/rules'); @@ -6406,7 +6538,7 @@ var suffixPass = function suffixPass(inf) { module.exports = suffixPass; -},{"./data/rules":103}],109:[function(_dereq_,module,exports){ +},{"./data/rules":107}],113:[function(_dereq_,module,exports){ 'use strict'; //turn 'walk' into 'walker' @@ -6471,7 +6603,7 @@ var toActor = function toActor(inf) { module.exports = toActor; -},{}],110:[function(_dereq_,module,exports){ +},{}],114:[function(_dereq_,module,exports){ 'use strict'; //too many special cases for is/was/will be @@ -6503,7 +6635,7 @@ var toBe = function toBe(isPlural, isNegative) { }; module.exports = toBe; -},{}],111:[function(_dereq_,module,exports){ +},{}],115:[function(_dereq_,module,exports){ 'use strict'; //sometimes you can tell if a verb is plural/singular, just by the verb // i am / we were @@ -6530,7 +6662,7 @@ var isPlural = function isPlural(vb) { }; module.exports = isPlural; -},{}],112:[function(_dereq_,module,exports){ +},{}],116:[function(_dereq_,module,exports){ 'use strict'; var suffix_rules = _dereq_('./suffix_rules'); @@ -6547,14 +6679,11 @@ var goodTypes = { Participle: true }; -var predictForm = function predictForm(term, verbose) { +var predictForm = function predictForm(term) { //do we already know the form? var keys = Object.keys(goodTypes); for (var i = 0; i < keys.length; i++) { if (term.tags[keys[i]]) { - if (verbose) { - console.log('predicted ' + keys[i] + ' from pos', path); - } return keys[i]; } } @@ -6571,7 +6700,7 @@ var predictForm = function predictForm(term, verbose) { module.exports = predictForm; -},{"./suffix_rules":113}],113:[function(_dereq_,module,exports){ +},{"./suffix_rules":117}],117:[function(_dereq_,module,exports){ 'use strict'; //suffix signals for verb tense, generated from test data @@ -6594,7 +6723,7 @@ for (var i = 0; i < l; i++) { } module.exports = suffix_rules; -},{}],114:[function(_dereq_,module,exports){ +},{}],118:[function(_dereq_,module,exports){ 'use strict'; //turn a infinitiveVerb, like "walk" into an adjective like "walkable" @@ -6648,7 +6777,7 @@ var toAdjective = function toAdjective(str) { module.exports = toAdjective; -},{}],115:[function(_dereq_,module,exports){ +},{}],119:[function(_dereq_,module,exports){ 'use strict'; //turn any verb into its infinitive form @@ -6692,7 +6821,7 @@ var toInfinitive = function toInfinitive(t) { module.exports = toInfinitive; -},{"../../../../../data":6,"../predict":112,"./rules":116}],116:[function(_dereq_,module,exports){ +},{"../../../../../data":6,"../predict":116,"./rules":120}],120:[function(_dereq_,module,exports){ 'use strict'; //rules for turning a verb into infinitive form @@ -6846,7 +6975,7 @@ var rules = { }; module.exports = rules; -},{}],117:[function(_dereq_,module,exports){ +},{}],121:[function(_dereq_,module,exports){ 'use strict'; //turns a verb negative - may not have enough information to do it properly // (eg 'did not eat' vs 'does not eat') - needs the noun @@ -6919,7 +7048,7 @@ var toNegative = function toNegative(ts) { }; module.exports = toNegative; -},{"./methods/toInfinitive":115}],118:[function(_dereq_,module,exports){ +},{"./methods/toInfinitive":119}],122:[function(_dereq_,module,exports){ 'use strict'; var Terms = _dereq_('../../paths').Terms; @@ -6999,15 +7128,21 @@ var methods = { /** conjugation **/ toPastTense: function toPastTense() { var obj = this.conjugate(); - return this.replaceWith(obj.PastTense); + var r = this.replaceWith(obj.PastTense, false); + r.verb.tag('#PastTense'); + return r; }, toPresentTense: function toPresentTense() { var obj = this.conjugate(); - return this.replaceWith(obj.PresentTense); + var r = this.replaceWith(obj.PresentTense, false); + r.verb.tag('#PresentTense'); + return r; }, toFutureTense: function toFutureTense() { var obj = this.conjugate(); - return this.replaceWith(obj.FutureTense); + var r = this.replaceWith(obj.FutureTense, false); + r.verb.tag('#FutureTense'); + return r; }, toInfinitive: function toInfinitive() { var obj = this.conjugate(); @@ -7033,7 +7168,7 @@ Object.keys(methods).forEach(function (k) { }); module.exports = Verb; -},{"../../paths":38,"./interpret":101,"./methods/conjugate":106,"./methods/isPlural":111,"./methods/toAdjective":114,"./toNegative":117}],119:[function(_dereq_,module,exports){ +},{"../../paths":40,"./interpret":105,"./methods/conjugate":110,"./methods/isPlural":115,"./methods/toAdjective":118,"./toNegative":121}],123:[function(_dereq_,module,exports){ 'use strict'; var addSubsets = function addSubsets(Text) { @@ -7135,7 +7270,7 @@ var addSubsets = function addSubsets(Text) { }; module.exports = addSubsets; -},{}],120:[function(_dereq_,module,exports){ +},{}],124:[function(_dereq_,module,exports){ //(Rule-based sentence boundary segmentation) - chop given text into its proper sentences. // Ignore periods/questions/exclamations used in acronyms/abbreviations/numbers, etc. // @spencermountain 2017 MIT @@ -7220,7 +7355,7 @@ var sentence_parser = function sentence_parser(text) { module.exports = sentence_parser; // console.log(sentence_parser('john f. kennedy')); -},{"../data":6}],121:[function(_dereq_,module,exports){ +},{"../data":6}],125:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -7266,7 +7401,8 @@ var irregulars = { 'tbh': ['to', 'be', 'honest'], 'imo': ['in', 'my', 'opinion'], 'til': ['today', 'i', 'learned'], - 'rn': ['right', 'now'] + 'rn': ['right', 'now'], + '@': ['at'] }; //check irregulars @@ -7285,7 +7421,7 @@ var checkIrregulars = function checkIrregulars(ts) { }; module.exports = checkIrregulars; -},{"./fix":125}],122:[function(_dereq_,module,exports){ +},{"./fix":129}],126:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -7359,7 +7495,7 @@ var hardOne = function hardOne(ts) { module.exports = hardOne; -},{"./fix":125,"./split":127}],123:[function(_dereq_,module,exports){ +},{"./fix":129,"./split":131}],127:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -7416,7 +7552,7 @@ var easyOnes = function easyOnes(ts) { }; module.exports = easyOnes; -},{"./fix":125,"./split":127}],124:[function(_dereq_,module,exports){ +},{"./fix":129,"./split":131}],128:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -7441,13 +7577,14 @@ var numberRange = function numberRange(ts) { ts.terms[i + 1].tag('NumberRange'); return ts; } + //add a silent term if (t.tags.NumberRange) { var arr = t.text.split(/(-)/); arr[1] = 'to'; ts = fixContraction(ts, arr, i); - ts.terms[i].tag('NumberRange'); - ts.terms[i + 1].tag('NumberRange'); - ts.terms[i + 2].tag('NumberRange'); + ts.terms[i].tag('Value'); + ts.terms[i + 1].tag('Preposition'); + ts.terms[i + 2].tag(['Value', 'NumberRange']); i += 2; } } @@ -7455,7 +7592,7 @@ var numberRange = function numberRange(ts) { }; module.exports = numberRange; -},{"../../term":169,"./fix":125}],125:[function(_dereq_,module,exports){ +},{"../../term":173,"./fix":129}],129:[function(_dereq_,module,exports){ 'use strict'; var Term = _dereq_('../../term'); @@ -7485,14 +7622,16 @@ var fixContraction = function fixContraction(ts, parts, i) { one.tag('Contraction', 'tagger-contraction'); //add a new empty term - var two = new Term(''); - two.silent_term = parts[1]; - two.tag('Contraction', 'tagger-contraction'); - ts.insertAt(i + 1, two); - //ensure new term has no auto-whitspace - two.whitespace.before = ''; - two.whitespace.after = ''; - easyTag(two); + if (parts[1]) { + var two = new Term(''); + two.silent_term = parts[1]; + two.tag('Contraction', 'tagger-contraction'); + ts.insertAt(i + 1, two); + //ensure new term has no auto-whitspace + two.whitespace.before = ''; + two.whitespace.after = ''; + easyTag(two); + } //potentially it's three-contracted-terms, like 'dunno' if (parts[2]) { @@ -7509,7 +7648,7 @@ var fixContraction = function fixContraction(ts, parts, i) { module.exports = fixContraction; -},{"../../term":169}],126:[function(_dereq_,module,exports){ +},{"../../term":173}],130:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('./01-irregulars'); @@ -7532,7 +7671,7 @@ var interpret = function interpret(ts) { module.exports = interpret; -},{"./01-irregulars":121,"./02-hardOne":122,"./03-easyOnes":123,"./04-numberRange":124}],127:[function(_dereq_,module,exports){ +},{"./01-irregulars":125,"./02-hardOne":126,"./03-easyOnes":127,"./04-numberRange":128}],131:[function(_dereq_,module,exports){ 'use strict'; var contraction = /^([a-z]+)'([a-z][a-z]?)$/i; @@ -7578,7 +7717,7 @@ var splitContraction = function splitContraction(t) { }; module.exports = splitContraction; -},{}],128:[function(_dereq_,module,exports){ +},{}],132:[function(_dereq_,module,exports){ 'use strict'; //mostly pos-corections here @@ -7598,19 +7737,24 @@ var corrections = function corrections(ts) { //Determiner-signals if (ts.has('#Determiner')) { //the wait to vote - ts.match('the #Verb #Preposition .').match('#Verb').tag('Noun', 'correction-determiner1'); + ts.match('(the|this) #Verb #Preposition .').term(1).tag('Noun', 'correction-determiner1'); //the swim - ts.match('the #Verb').match('#Verb').tag('Noun', 'correction-determiner2'); + ts.match('(the|those|these) (#Infinitive|#PresentTense)').term(1).tag('Noun', 'correction-determiner2'); + //a staggering cost + ts.match('(a|an) #Gerund').term(1).tag('Adjective', 'correction-a|an'); + ts.match('(a|an) #Adjective (#Infinitive|#PresentTense)').term(2).tag('Noun', 'correction-a|an2'); + //some pressing issues + ts.match('(some #Verb #Plural').term(1).tag('Noun', 'correction-determiner6'); //the nice swim - ts.match('the #Adjective #Verb').match('#Verb').tag('Noun', 'correction-determiner3'); + ts.match('(the|this|those|these) #Adjective #Verb').term(2).tag('Noun', 'correction-determiner3'); //the truly nice swim - ts.match('the #Adverb #Adjective #Verb').match('#Verb').tag('Noun', 'correction-determiner4'); + ts.match('(the|this|those|these) #Adverb #Adjective #Verb').term(3).tag('Noun', 'correction-determiner4'); //a stream runs ts.match('#Determiner #Infinitive #Adverb? #Verb').term(1).tag('Noun', 'correction-determiner5'); //a sense of ts.match('#Determiner #Verb of').term(1).tag('Noun', 'the-verb-of'); //the threat of force - ts.match('#Determiner #Noun of #Verb').match('#Verb').tag('Noun', 'noun-of-noun'); + ts.match('#Determiner #Noun of #Verb').term(3).tag('Noun', 'noun-of-noun'); } //like @@ -7629,7 +7773,7 @@ var corrections = function corrections(ts) { ts.match('half a? #Value').tag('Value', 'half-a-value'); //quarter not ready ts.match('#Value and a (half|quarter)').tag('Value', 'value-and-a-half'); //all values are either ordinal or cardinal - ts.match('#Value').match('!#Ordinal').tag('#Cardinal', 'not-ordinal'); + // ts.match('#Value').match('!#Ordinal').tag('#Cardinal', 'not-ordinal'); //money ts.match('#Value+ #Currency').tag('Money', 'value-currency'); ts.match('#Money and #Money #Currency?').tag('Money', 'money-and-money'); @@ -7720,7 +7864,7 @@ var corrections = function corrections(ts) { module.exports = corrections; -},{}],129:[function(_dereq_,module,exports){ +},{}],133:[function(_dereq_,module,exports){ 'use strict'; //the steps and processes of pos-tagging @@ -7747,7 +7891,7 @@ var step = { plural_step: _dereq_('./steps/21-plural_step'), lumper: _dereq_('./lumper'), - lexicon_lump: _dereq_('./lumper/lexicon_lump'), + multi: _dereq_('./lumper/lexicon_lump'), contraction: _dereq_('./contraction') }; var corrections = _dereq_('./corrections'); @@ -7757,7 +7901,8 @@ var tagger = function tagger(ts) { ts = step.punctuation_step(ts); ts = step.emoji_step(ts); ts = step.lexicon_step(ts); - ts = step.lexicon_lump(ts); + ts = step.multi.defaultLex(ts); + ts = step.multi.userLex(ts); ts = step.web_step(ts); ts = step.suffix_step(ts); ts = step.neighbour_step(ts); @@ -7779,12 +7924,13 @@ var tagger = function tagger(ts) { ts = step.lumper(ts); ts = corrections(ts); //2ms ts = tagPhrase(ts); + ts = step.multi.userLex(ts); return ts; }; module.exports = tagger; -},{"./contraction":126,"./corrections":128,"./lumper":131,"./lumper/lexicon_lump":132,"./phrase":135,"./steps/01-punctuation_step":136,"./steps/02-lexicon_step":137,"./steps/03-capital_step":138,"./steps/04-web_step":139,"./steps/05-suffix_step":140,"./steps/06-neighbour_step":141,"./steps/07-noun_fallback":142,"./steps/08-date_step":143,"./steps/09-auxiliary_step":144,"./steps/10-negation_step":145,"./steps/12-phrasal_step":146,"./steps/13-comma_step":147,"./steps/14-possessive_step":148,"./steps/15-value_step":149,"./steps/16-acronym_step":150,"./steps/17-emoji_step":151,"./steps/18-person_step":152,"./steps/19-quotation_step":153,"./steps/20-organization_step":154,"./steps/21-plural_step":155}],130:[function(_dereq_,module,exports){ +},{"./contraction":130,"./corrections":132,"./lumper":135,"./lumper/lexicon_lump":136,"./phrase":139,"./steps/01-punctuation_step":140,"./steps/02-lexicon_step":141,"./steps/03-capital_step":142,"./steps/04-web_step":143,"./steps/05-suffix_step":144,"./steps/06-neighbour_step":145,"./steps/07-noun_fallback":146,"./steps/08-date_step":147,"./steps/09-auxiliary_step":148,"./steps/10-negation_step":149,"./steps/12-phrasal_step":150,"./steps/13-comma_step":151,"./steps/14-possessive_step":152,"./steps/15-value_step":153,"./steps/16-acronym_step":154,"./steps/17-emoji_step":155,"./steps/18-person_step":156,"./steps/19-quotation_step":157,"./steps/20-organization_step":158,"./steps/21-plural_step":159}],134:[function(_dereq_,module,exports){ 'use strict'; //index a lexicon by its first-word // - used for the multiple-word-lumper @@ -7806,37 +7952,37 @@ var firstWord = function firstWord(arr) { }; module.exports = firstWord; -},{}],131:[function(_dereq_,module,exports){ +},{}],135:[function(_dereq_,module,exports){ 'use strict'; // var lumper = function lumper(ts) { //John & Joe's - ts.match('#Noun (&|n) #Noun').lump().tag('Organization', 'Noun-&-Noun'); + ts.match('#Noun (&|n) #Noun').tag('Organization', 'Noun-&-Noun'); //1 800 PhoneNumber - ts.match('1 #Value #PhoneNumber').lump().tag('Organization', 'Noun-&-Noun'); + ts.match('1 #Value #PhoneNumber').tag('PhoneNumber', '1-800-Value'); + //(454) 232-9873 + ts.match('#NumericValue #PhoneNumber').tag('PhoneNumber', '(800) PhoneNumber'); //6 am - ts.match('#Holiday (day|eve)').lump().tag('Holiday', 'holiday-day'); + ts.match('#Holiday (day|eve)').tag('Holiday', 'holiday-day'); //Aircraft designer - ts.match('#Noun #Actor').lump().tag('Actor', 'thing-doer'); + ts.match('#Noun #Actor').tag('Actor', 'thing-doer'); //timezones - ts.match('(standard|daylight|summer|eastern|pacific|central|mountain) standard? time').lump().tag('Time', 'timezone'); + ts.match('(standard|daylight|summer|eastern|pacific|central|mountain) standard? time').tag('Time', 'timezone'); //canadian dollar, Brazilian pesos - ts.match('#Demonym #Currency').lump().tag('Currency', 'demonym-currency'); + ts.match('#Demonym #Currency').tag('Currency', 'demonym-currency'); - //(454) 232-9873 - ts.match('#NumericValue #PhoneNumber').lump().tag('PhoneNumber', '(800) PhoneNumber'); return ts; }; module.exports = lumper; -},{}],132:[function(_dereq_,module,exports){ +},{}],136:[function(_dereq_,module,exports){ 'use strict'; //check for "united" + "kingdom" in lexicon, and combine + tag it // const combine = require('./combine'); @@ -7876,17 +8022,20 @@ var tryAll = function tryAll(lexFirst, ts) { var tag = obj[ts.slice(i + 1, n).out('root')]; var slice = ts.slice(i, n); slice.tag(tag, 'lexicon-lump'); - slice.lump(); + // slice.lump(); } } } return ts; }; -var lexicon_lump = function lexicon_lump(ts) { - //use default lexicon +//use default lexicon +var defaultLex = function defaultLex(ts) { ts = tryAll(lexiconFirst, ts); - //try user's lexicon + return ts; +}; +//try user's lexicon +var userLex = function userLex(ts) { if (ts.lexicon) { var uFirst = getFirstWords([ts.lexicon]); ts = tryAll(uFirst, ts); @@ -7894,9 +8043,12 @@ var lexicon_lump = function lexicon_lump(ts) { return ts; }; -module.exports = lexicon_lump; +module.exports = { + defaultLex: defaultLex, + userLex: userLex +}; -},{"../paths":133,"./firstWord":130}],133:[function(_dereq_,module,exports){ +},{"../paths":137,"./firstWord":134}],137:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -7907,7 +8059,7 @@ module.exports = { Terms: _dereq_('../terms') }; -},{"../data":6,"../data/lexicon":7,"../fns":21,"../terms":189,"../tries":231}],134:[function(_dereq_,module,exports){ +},{"../data":6,"../data/lexicon":7,"../fns":21,"../terms":194,"../tries":238}],138:[function(_dereq_,module,exports){ 'use strict'; // @@ -7945,7 +8097,7 @@ var conditionPass = function conditionPass(r) { module.exports = conditionPass; -},{}],135:[function(_dereq_,module,exports){ +},{}],139:[function(_dereq_,module,exports){ 'use strict'; var conditionPass = _dereq_('./00-conditionPass'); @@ -7963,7 +8115,7 @@ var phraseTag = function phraseTag(Text) { module.exports = phraseTag; -},{"./00-conditionPass":134}],136:[function(_dereq_,module,exports){ +},{"./00-conditionPass":138}],140:[function(_dereq_,module,exports){ 'use strict'; var rules = _dereq_('./rules/punct_rules'); @@ -7991,12 +8143,17 @@ var oneLetters = { }; var punctuation_step = function punctuation_step(ts) { - ts.terms.forEach(function (t) { + ts.terms.forEach(function (t, o) { var str = t.text; //anything can be titlecase if (titleCase.test(str) === true) { t.tag('TitleCase', 'punct-rule'); } + //add hyphenation + if (t.whitespace.after === '-' && ts.terms[o + 1] && ts.terms[o + 1].whitespace.before === '') { + t.tag('Hyphenated', 'has-hyphen'); + ts.terms[o + 1].tag('Hyphenated', 'has-hyphen'); + } //ok, normalise it a little, str = str.replace(/[,\.\?]$/, ''); //do punctuation rules (on t.text) @@ -8011,7 +8168,7 @@ var punctuation_step = function punctuation_step(ts) { } } //terms like 'e' - if (str.length === 1 && !oneLetters[str.toLowerCase()]) { + if (str.length === 1 && ts.terms[o + 1] && /[A-Z]/.test(str) && !oneLetters[str.toLowerCase()]) { t.tag('Acronym', 'one-letter-acronym'); } //roman numerals (weak rn) @@ -8024,7 +8181,7 @@ var punctuation_step = function punctuation_step(ts) { module.exports = punctuation_step; -},{"./rules/punct_rules":159}],137:[function(_dereq_,module,exports){ +},{"./rules/punct_rules":163}],141:[function(_dereq_,module,exports){ 'use strict'; var p = _dereq_('../paths'); @@ -8094,7 +8251,7 @@ var lexicon_pass = function lexicon_pass(ts) { module.exports = lexicon_pass; -},{"../../tries":231,"../contraction/split":127,"../paths":133}],138:[function(_dereq_,module,exports){ +},{"../../tries":238,"../contraction/split":131,"../paths":137}],142:[function(_dereq_,module,exports){ 'use strict'; //titlecase is a signal for a noun @@ -8120,7 +8277,7 @@ var capital_logic = function capital_logic(s) { module.exports = capital_logic; -},{}],139:[function(_dereq_,module,exports){ +},{}],143:[function(_dereq_,module,exports){ 'use strict'; //identify urls, hashtags, @mentions, emails //regs @@ -8153,7 +8310,7 @@ var web_pass = function web_pass(terms) { module.exports = web_pass; -},{}],140:[function(_dereq_,module,exports){ +},{}],144:[function(_dereq_,module,exports){ 'use strict'; var regs = _dereq_('./rules/regex_list'); @@ -8164,11 +8321,12 @@ var misc = [ [/^(lol)+[sz]$/, 'Expression'], //lol [/^ma?cd[aeiou]/, 'LastName'], //macdonell - Last patterns https://en.wikipedia.org/wiki/List_of_family_name_affixes //starting-ones -[/^[0-9,\.]+$/, 'Cardinal'], //like 5 +[/^[0-9][0-9,]*(\.[0-9]+)?$/, 'Cardinal'], //like 5 [/^(un|de|re)\\-[a-z]../, 'Verb'], [/^[\-\+]?[0-9]+(\.[0-9]+)?$/, 'NumericValue'], [/^https?\:?\/\/[a-z0-9]/, 'Url'], //the colon is removed in normalisation [/^www\.[a-z0-9]/, 'Url'], //ending-ones -[/([0-9])([a-z]{1,2})$/, 'Cardinal'], //like 5kg +[/[0-9]+([a-z]{1,2})$/, 'Value'], //like 5kg +[/^[0-9]+(st|nd|rd|th)$/, 'Ordinal'], //like 5th [/(over|under)[a-z]{2,}$/, 'Adjective'], //middle (anywhere) [/[a-z]*\\-[a-z]*\\-/, 'Adjective']]; @@ -8235,7 +8393,7 @@ var suffix_step = function suffix_step(ts) { module.exports = suffix_step; -},{"./rules/regex_list":160,"./rules/suffix_lookup":161}],141:[function(_dereq_,module,exports){ +},{"./rules/regex_list":164,"./rules/suffix_lookup":165}],145:[function(_dereq_,module,exports){ 'use strict'; var markov = _dereq_('./rules/neighbours'); @@ -8292,7 +8450,7 @@ var neighbour_step = function neighbour_step(ts) { module.exports = neighbour_step; -},{"./rules/neighbours":158}],142:[function(_dereq_,module,exports){ +},{"./rules/neighbours":162}],146:[function(_dereq_,module,exports){ 'use strict'; //tag word as noun if we know nothing about it, still. @@ -8342,7 +8500,7 @@ var noun_fallback = function noun_fallback(s) { module.exports = noun_fallback; -},{}],143:[function(_dereq_,module,exports){ +},{}],147:[function(_dereq_,module,exports){ 'use strict'; //ambiguous 'may' and 'march' @@ -8393,6 +8551,8 @@ var datePass = function datePass(ts) { ts.match('#Month #Value to #Value').tag('Date', 'value-to-value'); //march 12th 2018 ts.match('#Month #Value #Cardinal').tag('Date', 'month-value-cardinal'); + //march the 12th + ts.match('#Month the #Value').tag('Date', 'month-the-value'); } ts.match('in the (night|evening|morning|afternoon|day|daytime)').tag('Time', 'in-the-night'); @@ -8492,7 +8652,7 @@ var datePass = function datePass(ts) { module.exports = datePass; -},{}],144:[function(_dereq_,module,exports){ +},{}],148:[function(_dereq_,module,exports){ 'use strict'; // @@ -8529,7 +8689,7 @@ var corrections = function corrections(ts) { module.exports = corrections; -},{}],145:[function(_dereq_,module,exports){ +},{}],149:[function(_dereq_,module,exports){ 'use strict'; // 'not' is sometimes a verb, sometimes an adjective @@ -8556,7 +8716,7 @@ var negation_step = function negation_step(ts) { module.exports = negation_step; -},{}],146:[function(_dereq_,module,exports){ +},{}],150:[function(_dereq_,module,exports){ 'use strict'; var phrasals = _dereq_('../paths').tries.utils.phrasals; @@ -8614,7 +8774,7 @@ var phrasals_step = function phrasals_step(ts) { module.exports = phrasals_step; -},{"../../result/subset/verbs/methods/toInfinitive":115,"../paths":133}],147:[function(_dereq_,module,exports){ +},{"../../result/subset/verbs/methods/toInfinitive":119,"../paths":137}],151:[function(_dereq_,module,exports){ 'use strict'; //-types of comma-use- // PlaceComma - Hollywood, California @@ -8743,7 +8903,7 @@ var commaStep = function commaStep(ts) { module.exports = commaStep; -},{}],148:[function(_dereq_,module,exports){ +},{}],152:[function(_dereq_,module,exports){ 'use strict'; //decide if an apostrophe s is a contraction or not // 'spencer's nice' -> 'spencer is nice' @@ -8813,7 +8973,7 @@ var possessiveStep = function possessiveStep(terms) { }; module.exports = possessiveStep; -},{}],149:[function(_dereq_,module,exports){ +},{}],153:[function(_dereq_,module,exports){ 'use strict'; //regs- @@ -8823,13 +8983,13 @@ var hasText = /^[a-z]/; var value_step = function value_step(ts) { for (var i = 0; i < ts.terms.length; i++) { var t = ts.terms[i]; - if (t.tags.Value === true) { + if (t.tag.Value === true) { //ordinal/cardinal if (t.tags.Ordinal === undefined && t.tags.Cardinal === undefined) { if (cardinal.test(t.normal) === true) { - t.tag('Cardinal', 'ordinal-regex'); - } else { t.tag('Cardinal', 'cardinal-regex'); + } else { + t.tag('Ordinal', 'not-cardinal'); } } //text/number @@ -8847,7 +9007,7 @@ var value_step = function value_step(ts) { module.exports = value_step; -},{}],150:[function(_dereq_,module,exports){ +},{}],154:[function(_dereq_,module,exports){ 'use strict'; var acronym_step = function acronym_step(ts) { @@ -8861,7 +9021,7 @@ var acronym_step = function acronym_step(ts) { module.exports = acronym_step; -},{}],151:[function(_dereq_,module,exports){ +},{}],155:[function(_dereq_,module,exports){ 'use strict'; var emojiReg = _dereq_('./rules/emoji_regex'); @@ -8915,7 +9075,7 @@ var emojiStep = function emojiStep(ts) { }; module.exports = emojiStep; -},{"./rules/emoji_regex":156,"./rules/emoticon_list":157}],152:[function(_dereq_,module,exports){ +},{"./rules/emoji_regex":160,"./rules/emoticon_list":161}],156:[function(_dereq_,module,exports){ 'use strict'; var titles = _dereq_('../paths').data.titles; @@ -9002,7 +9162,7 @@ var person_step = function person_step(ts) { module.exports = person_step; -},{"../paths":133}],153:[function(_dereq_,module,exports){ +},{"../paths":137}],157:[function(_dereq_,module,exports){ 'use strict'; var startQuote = /^["'\u201B\u201C\u2033\u201F\u2018]/; @@ -9037,7 +9197,7 @@ var quotation_step = function quotation_step(ts) { }; module.exports = quotation_step; -},{}],154:[function(_dereq_,module,exports){ +},{}],158:[function(_dereq_,module,exports){ 'use strict'; //orgwords like 'bank' in 'Foo Bank' @@ -9087,7 +9247,7 @@ var organization_step = function organization_step(ts) { }; module.exports = organization_step; -},{"../paths":133}],155:[function(_dereq_,module,exports){ +},{"../paths":137}],159:[function(_dereq_,module,exports){ 'use strict'; var isPlural = _dereq_('../../result/subset/nouns/isPlural'); @@ -9105,7 +9265,6 @@ var pluralStep = function pluralStep(ts) { if (plural) { t.tag('Plural', 'pluralStep'); } else if (plural === false) { - // console.log(t.normal, plural); t.tag('Singular', 'pluralStep'); } } @@ -9115,14 +9274,14 @@ var pluralStep = function pluralStep(ts) { module.exports = pluralStep; -},{"../../result/subset/nouns/isPlural":70}],156:[function(_dereq_,module,exports){ +},{"../../result/subset/nouns/isPlural":72}],160:[function(_dereq_,module,exports){ "use strict"; //yep, //https://github.com/mathiasbynens/emoji-regex/blob/master/index.js module.exports = /(?:0\u20E3\n1\u20E3|2\u20E3|3\u20E3|4\u20E3|5\u20E3|6\u20E3|7\u20E3|8\u20E3|9\u20E3|#\u20E3|\*\u20E3|\uD83C(?:\uDDE6\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF2|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFD|\uDDFF)|\uDDE7\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFC|\uDDFE|\uDDFF)|\uDDE8\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDE9\uD83C(?:\uDDEA|\uDDEC|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDFF)|\uDDEA\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDED|\uDDF7|\uDDF8|\uDDF9|\uDDFA)|\uDDEB\uD83C(?:\uDDEE|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDF7)|\uDDEC\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF1|\uDDF2|\uDDF3|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFE)|\uDDED\uD83C(?:\uDDF0|\uDDF2|\uDDF3|\uDDF7|\uDDF9|\uDDFA)|\uDDEE\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9)|\uDDEF\uD83C(?:\uDDEA|\uDDF2|\uDDF4|\uDDF5)|\uDDF0\uD83C(?:\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDF2|\uDDF3|\uDDF5|\uDDF7|\uDDFC|\uDDFE|\uDDFF)|\uDDF1\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDEE|\uDDF0|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFE)|\uDDF2\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDF3\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFF)|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C(?:\uDDE6|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF7|\uDDF8|\uDDF9|\uDDFC|\uDDFE)|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C(?:\uDDEA|\uDDF4|\uDDF8|\uDDFA|\uDDFC)|\uDDF8\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDE9|\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFD|\uDDFE|\uDDFF)|\uDDF9\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF9|\uDDFB|\uDDFC|\uDDFF)|\uDDFA\uD83C(?:\uDDE6|\uDDEC|\uDDF2|\uDDF8|\uDDFE|\uDDFF)|\uDDFB\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDEE|\uDDF3|\uDDFA)|\uDDFC\uD83C(?:\uDDEB|\uDDF8)|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C(?:\uDDEA|\uDDF9)|\uDDFF\uD83C(?:\uDDE6|\uDDF2|\uDDFC)))|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]/g; -},{}],157:[function(_dereq_,module,exports){ +},{}],161:[function(_dereq_,module,exports){ 'use strict'; //just some of the most common emoticons @@ -9182,7 +9341,7 @@ module.exports = { '<\\3': true }; -},{}],158:[function(_dereq_,module,exports){ +},{}],162:[function(_dereq_,module,exports){ 'use strict'; //markov-like stats about co-occurance, for hints about unknown terms //basically, a little-bit better than the noun-fallback @@ -9258,7 +9417,7 @@ module.exports = { afterThisPos: afterThisPos }; -},{}],159:[function(_dereq_,module,exports){ +},{}],163:[function(_dereq_,module,exports){ 'use strict'; //these are regexes applied to t.text, instead of t.normal @@ -9306,7 +9465,7 @@ module.exports = [ }; }); -},{}],160:[function(_dereq_,module,exports){ +},{}],164:[function(_dereq_,module,exports){ 'use strict'; //regex suffix patterns and their most common parts of speech, //built using wordnet, by spencer kelly. @@ -9333,7 +9492,7 @@ module.exports = { d: [[/.[ia]sed$/, Adj], [/.[gt]led$/, Adj], [/.[aeiou][td]ed$/, Past], [/[^aeiou]ard$/, Sing], [/[aeiou][^aeiou]id$/, Adj], [/[aeiou]c?ked$/, Past], //hooked [/.[vrl]id$/, Adj]], e: [[/.[lnr]ize$/, Inf], [/.[^aeiou]ise$/, Inf], [/.[aeiou]te$/, Inf], [/.[^aeiou][ai]ble$/, Adj], [/.[^aeiou]eable$/, Adj], [/.[^aeiou]ive$/, Adj]], - h: [[/[0-9](st|nd|rd|r?th)$/, 'Ordinal'], //like 5th + h: [[/[0-9](st|nd|rd|r?th)$/, 'NumericValue'], //like 5th [/.[^aeiouf]ish$/, Adj], [/.v[iy]ch$/, Last], //east-europe [/^ug?h+$/, Exp], //uhh [/^uh[ -]?oh$/, Exp]], @@ -9354,7 +9513,7 @@ module.exports = { y: [[/.[cts]hy$/, Adj], [/.[st]ty$/, Adj], [/.[gk]y$/, Adj], [/.[tnl]ary$/, Adj], [/.[oe]ry$/, Sing], [/[rdntkbhs]ly$/, Adverb], [/[bszmp]{2}y$/, Adj], [/.(gg|bb|zz)ly$/, Adj], [/.[aeiou]my$/, Adj], [/.[^aeiou]ity$/, Sing], [/[ea]{2}zy$/, Adj], [/.[^aeiou]ity$/, Sing]] }; -},{}],161:[function(_dereq_,module,exports){ +},{}],165:[function(_dereq_,module,exports){ 'use strict'; //just a foolish lookup of known suffixes @@ -9362,6 +9521,7 @@ var Adj = 'Adjective'; var Inf = 'Infinitive'; var Pres = 'PresentTense'; var Sing = 'Singular'; +var Ord = 'Ordinal'; var Past = 'PastTense'; var AdVb = 'AdVerb'; var Plrl = 'Plural'; @@ -9400,7 +9560,17 @@ null, //1 'ing': 'Gerund', //likely to be converted to Adj after lexicon pass ' so': AdVb, '\'ll': Modal, - '\'re': 'Copula' + '\'re': 'Copula', + '1st': Ord, + '2nd': Ord, + '3rd': Ord, + '4th': Ord, + '5th': Ord, + '6th': Ord, + '7th': Ord, + '8th': Ord, + '9th': Ord, + '0th': Ord }, { //4-letter 'teen': 'Value', 'tors': Noun, @@ -9408,6 +9578,7 @@ null, //1 'oses': Pres, 'fies': Pres, 'ects': Pres, + 'nded': Past, 'cede': Inf, 'tage': Inf, 'gate': Inf, @@ -9459,7 +9630,7 @@ null, //1 'sdottir': Last, //swedish female 'opoulos': Last }]; -},{}],162:[function(_dereq_,module,exports){ +},{}],166:[function(_dereq_,module,exports){ 'use strict'; //list of inconsistent parts-of-speech @@ -9485,7 +9656,7 @@ module.exports = [ // ['Value', 'Year'], ['Ordinal', 'Cardinal'], ['TextValue', 'NumericValue'], ['NiceNumber', 'TextValue'], ['Ordinal', 'Currency'], //$5.50th //verbs -['PastTense', 'PerfectTense', 'Pluperfect', 'FuturePerfect', 'Copula', 'Modal', 'Participle', 'Infinitive', 'Gerund'], +['PastTense', 'PresentTense', 'FutureTense'], ['Pluperfect', 'Copula', 'Modal', 'Participle', 'Infinitive', 'Gerund', 'FuturePerfect', 'PerfectTense'], //date ['Month', 'WeekDay', 'Year', 'Duration'], ['Particle', 'Conjunction', 'Adverb', 'Preposition'], ['Date', 'Verb', 'Adjective', 'Person'], //a/an -> 1 @@ -9495,7 +9666,7 @@ module.exports = [ //cases ['UpperCase', 'TitleCase', 'CamelCase']]; -},{}],163:[function(_dereq_,module,exports){ +},{}],167:[function(_dereq_,module,exports){ 'use strict'; // @@ -9510,6 +9681,7 @@ var misc = _dereq_('./tags/misc'); //used for pretty-printing on the server-side var colors = { Noun: 'blue', + 'Date': 'red', Value: 'red', Verb: 'green', Preposition: 'cyan', @@ -9591,9 +9763,8 @@ var build = function build() { return tags; }; module.exports = build(); -// console.log(module.exports.Gerund.enemy); -},{"./conflicts":162,"./tags/dates":164,"./tags/misc":165,"./tags/nouns":166,"./tags/values":167,"./tags/verbs":168}],164:[function(_dereq_,module,exports){ +},{"./conflicts":166,"./tags/dates":168,"./tags/misc":169,"./tags/nouns":170,"./tags/values":171,"./tags/verbs":172}],168:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -9626,7 +9797,7 @@ module.exports = { } }; -},{}],165:[function(_dereq_,module,exports){ +},{}],169:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -9639,6 +9810,9 @@ module.exports = { is: 'Adjective' }, + NumberRange: { + is: 'Contraction' + }, Adverb: {}, Currency: {}, @@ -9670,7 +9844,7 @@ module.exports = { }; -},{}],166:[function(_dereq_,module,exports){ +},{}],170:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -9747,7 +9921,7 @@ module.exports = { } }; -},{}],167:[function(_dereq_,module,exports){ +},{}],171:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -9775,14 +9949,10 @@ module.exports = { }, Money: { is: 'Value' - }, - NumberRange: { - is: 'Value', - also: 'Contraction' } }; -},{}],168:[function(_dereq_,module,exports){ +},{}],172:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -9825,7 +9995,7 @@ module.exports = { } }; -},{}],169:[function(_dereq_,module,exports){ +},{}],173:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('./paths').fns; @@ -9844,6 +10014,7 @@ var Term = function Term(str) { this._text = parsed.text; this.parent = null; this.silent_term = ''; + this.lumped = false; //normalize the _text addNormal(this); addRoot(this); @@ -9906,7 +10077,7 @@ _dereq_('./methods/punctuation')(Term); module.exports = Term; -},{"./makeUID":170,"./methods/case":172,"./methods/misc":173,"./methods/normalize/normalize":175,"./methods/normalize/root":176,"./methods/out":178,"./methods/punctuation":180,"./methods/tag":182,"./paths":185,"./whitespace":186}],170:[function(_dereq_,module,exports){ +},{"./makeUID":174,"./methods/case":176,"./methods/misc":177,"./methods/normalize/normalize":179,"./methods/normalize/root":180,"./methods/out":183,"./methods/punctuation":185,"./methods/tag":187,"./paths":190,"./whitespace":191}],174:[function(_dereq_,module,exports){ 'use strict'; //this is a not-well-thought-out way to reduce our dependence on `object===object` reference stuff //generates a unique id for this term @@ -9921,7 +10092,7 @@ var uid = function uid(str) { }; module.exports = uid; -},{}],171:[function(_dereq_,module,exports){ +},{}],175:[function(_dereq_,module,exports){ 'use strict'; var tagSet = _dereq_('../paths').tags; @@ -9954,7 +10125,7 @@ var bestTag = function bestTag(t) { }; module.exports = bestTag; -},{"../paths":185}],172:[function(_dereq_,module,exports){ +},{"../paths":190}],176:[function(_dereq_,module,exports){ 'use strict'; var addMethods = function addMethods(Term) { @@ -10008,11 +10179,11 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{}],173:[function(_dereq_,module,exports){ +},{}],177:[function(_dereq_,module,exports){ 'use strict'; -var _bestTag = _dereq_('./bestTag'); var _isAcronym = _dereq_('./normalize/isAcronym'); +var _bestTag = _dereq_('./bestTag'); //regs- var hasVowel = /[aeiouy]/i; @@ -10022,11 +10193,11 @@ var hasNumber = /[0-9]/; var addMethods = function addMethods(Term) { var methods = { - /** which tag best-represents this term?*/ bestTag: function bestTag() { return _bestTag(this); }, + /** is this term like F.B.I. or NBA */ isAcronym: function isAcronym() { return _isAcronym(this._text); @@ -10069,7 +10240,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"./bestTag":171,"./normalize/isAcronym":174}],174:[function(_dereq_,module,exports){ +},{"./bestTag":175,"./normalize/isAcronym":178}],178:[function(_dereq_,module,exports){ 'use strict'; //regs - @@ -10095,7 +10266,7 @@ var isAcronym = function isAcronym(str) { }; module.exports = isAcronym; -},{}],175:[function(_dereq_,module,exports){ +},{}],179:[function(_dereq_,module,exports){ 'use strict'; var killUnicode = _dereq_('./unicode'); @@ -10106,6 +10277,7 @@ exports.normalize = function (str) { str = str || ''; str = str.toLowerCase(); str = str.trim(); + var original = str; //(very) rough asci transliteration - bjŏrk -> bjork str = killUnicode(str); //hashtags, atmentions @@ -10125,6 +10297,10 @@ exports.normalize = function (str) { str = str.replace(/['",\.!:;\?\)]$/g, ''); str = str.replace(/^['"\(]/g, ''); } + //oh shucks, + if (str === '') { + str = original; + } return str; }; @@ -10142,7 +10318,7 @@ exports.addNormal = function (term) { // console.log(normalize('Dr. V Cooper')); -},{"./isAcronym":174,"./unicode":177}],176:[function(_dereq_,module,exports){ +},{"./isAcronym":178,"./unicode":181}],180:[function(_dereq_,module,exports){ 'use strict'; // @@ -10159,7 +10335,7 @@ var rootForm = function rootForm(term) { module.exports = rootForm; -},{}],177:[function(_dereq_,module,exports){ +},{}],181:[function(_dereq_,module,exports){ 'use strict'; //a hugely-ignorant, and widely subjective transliteration of latin, cryllic, greek unicode characters to english ascii. //approximate visual (not semantic or phonetic) relationship between unicode and ascii characters @@ -10217,11 +10393,61 @@ var killUnicode = function killUnicode(str) { module.exports = killUnicode; // console.log(fixUnicode('bjŏȒk')); -},{}],178:[function(_dereq_,module,exports){ +},{}],182:[function(_dereq_,module,exports){ +'use strict'; + +var fns = _dereq_('../../paths').fns; +var colors = { + 'Person': '#6393b9', + 'Pronoun': '#81acce', + 'Noun': 'steelblue', + 'Verb': 'palevioletred', + 'Adverb': '#f39c73', + 'Adjective': '#b3d3c6', + 'Determiner': '#d3c0b3', + 'Preposition': '#9794a8', + 'Conjunction': '#c8c9cf', + 'Value': 'palegoldenrod', + 'Expression': '#b3d3c6' +}; + +//a nicer logger for the client-side +var clientSide = function clientSide(t) { + var color = 'silver'; + var tags = Object.keys(t.tags); + for (var i = 0; i < tags.length; i++) { + if (colors[tags[i]]) { + color = colors[tags[i]]; + break; + } + } + var word = fns.leftPad(t.text, 12); + word += ' ' + tags; + console.log('%c ' + word, 'color: ' + color); +}; +module.exports = clientSide; + +},{"../../paths":190}],183:[function(_dereq_,module,exports){ 'use strict'; var renderHtml = _dereq_('./renderHtml'); var fns = _dereq_('../../paths').fns; +var clientDebug = _dereq_('./client'); + +var serverDebug = function serverDebug(t) { + var tags = Object.keys(t.tags).map(function (tag) { + return fns.printTag(tag); + }).join(', '); + var word = t.text; + word = '\'' + fns.yellow(word || '-') + '\''; + var silent = ''; + if (t.silent_term) { + silent = '[' + t.silent_term + ']'; + } + word = fns.leftPad(word, 25); + word += fns.leftPad(silent, 5); + console.log(' ' + word + ' ' + ' - ' + tags); +}; var methods = { /** a pixel-perfect reproduction of the input, with whitespace preserved */ @@ -10249,23 +10475,12 @@ var methods = { }; }, /** check-print information for the console */ - debug: function debug(r) { - var tags = Object.keys(r.tags).map(function (tag) { - return fns.printTag(tag); - }).join(', '); - var word = r.text; - // word = r.whitespace.before + word + r.whitespace.after; - word = '\'' + fns.yellow(word || '-') + '\''; - // if (r.dirty) { - // word += fns.red('*'); - // } - var silent = ''; - if (r.silent_term) { - silent = '[' + r.silent_term + ']'; + debug: function debug(t) { + if (typeof window !== 'undefined') { + clientDebug(t); + } else { + serverDebug(t); } - word = fns.leftPad(word, 25); - word += fns.leftPad(silent, 5); - console.log(' ' + word + ' ' + ' - ' + tags); } }; @@ -10282,7 +10497,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"../../paths":185,"./renderHtml":179}],179:[function(_dereq_,module,exports){ +},{"../../paths":190,"./client":182,"./renderHtml":184}],184:[function(_dereq_,module,exports){ 'use strict'; //turn xml special characters into apersand-encoding. //i'm not sure this is perfectly safe. @@ -10338,7 +10553,7 @@ var renderHtml = function renderHtml(t) { module.exports = renderHtml; -},{}],180:[function(_dereq_,module,exports){ +},{}],185:[function(_dereq_,module,exports){ 'use strict'; var endPunct = /([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i; @@ -10392,7 +10607,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{}],181:[function(_dereq_,module,exports){ +},{}],186:[function(_dereq_,module,exports){ 'use strict'; var path = _dereq_('../../paths'); @@ -10419,26 +10634,39 @@ var canBe = function canBe(term, tag) { module.exports = canBe; -},{"../../paths":185}],182:[function(_dereq_,module,exports){ +},{"../../paths":190}],187:[function(_dereq_,module,exports){ 'use strict'; var setTag = _dereq_('./setTag'); var _unTag = _dereq_('./unTag'); var _canBe = _dereq_('./canBe'); +//symbols used in sequential taggers which mean 'do nothing' +//.tag('#Person #Place . #City') +var ignore = { + '.': true +}; var addMethods = function addMethods(Term) { var methods = { /** set the term as this part-of-speech */ tag: function tag(_tag, reason) { - setTag(this, _tag, reason); + if (ignore[_tag] !== true) { + setTag(this, _tag, reason); + } }, /** remove this part-of-speech from the term*/ unTag: function unTag(tag, reason) { - _unTag(this, tag, reason); + if (ignore[tag] !== true) { + _unTag(this, tag, reason); + } }, /** is this tag compatible with this word */ canBe: function canBe(tag) { + //everything can be '.' + if (ignore[tag] === true) { + return true; + } tag = tag || ''; tag = tag.replace(/^#/, ''); return _canBe(this, tag); @@ -10454,15 +10682,16 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"./canBe":181,"./setTag":183,"./unTag":184}],183:[function(_dereq_,module,exports){ +},{"./canBe":186,"./setTag":188,"./unTag":189}],188:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech var path = _dereq_('../../paths'); var log = path.log; -var tagset = path.tags; var fns = path.fns; var unTag = _dereq_('./unTag'); +// const tagset = path.tags; +var tagset = _dereq_('../../../tagset'); var putTag = function putTag(term, tag, reason) { tag = tag.replace(/^#/, ''); @@ -10513,7 +10742,7 @@ var wrap = function wrap(term, tag, reason) { module.exports = wrap; -},{"../../paths":185,"./unTag":184}],184:[function(_dereq_,module,exports){ +},{"../../../tagset":167,"../../paths":190,"./unTag":189}],189:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech @@ -10552,7 +10781,7 @@ var wrap = function wrap(term, tag, reason) { }; module.exports = wrap; -},{"../../paths":185}],185:[function(_dereq_,module,exports){ +},{"../../paths":190}],190:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -10561,11 +10790,12 @@ module.exports = { tags: _dereq_('../tagset') }; -},{"../fns":21,"../log":23,"../tagset":163}],186:[function(_dereq_,module,exports){ +},{"../fns":21,"../log":24,"../tagset":167}],191:[function(_dereq_,module,exports){ 'use strict'; -//regs- +//punctuation regs- var before = /^(\s|-+|\.\.+)+/; +var minusNumber = /^( *)-(\$|€|¥|£)?([0-9])/; var after = /(\s+|-+|\.\.+)$/; //seperate the 'meat' from the trailing/leading whitespace. @@ -10576,10 +10806,17 @@ var build_whitespace = function build_whitespace(str) { after: '' }; //get before punctuation/whitespace - var m = str.match(before); + //mangle 'far - fetched', but don't mangle '-2' + var m = str.match(minusNumber); if (m !== null) { - whitespace.before = m[0]; - str = str.replace(before, ''); + whitespace.before = m[1]; + str = str.replace(/^ */, ''); + } else { + m = str.match(before); + if (m !== null) { + whitespace.before = str.match(before)[0]; + str = str.replace(before, ''); + } } //get after punctuation/whitespace m = str.match(after); @@ -10594,7 +10831,7 @@ var build_whitespace = function build_whitespace(str) { }; module.exports = build_whitespace; -},{}],187:[function(_dereq_,module,exports){ +},{}],192:[function(_dereq_,module,exports){ 'use strict'; var Term = _dereq_('../term'); @@ -10655,7 +10892,7 @@ var fromString = function fromString(str) { }; module.exports = fromString; -},{"../term":169}],188:[function(_dereq_,module,exports){ +},{"../term":173}],193:[function(_dereq_,module,exports){ 'use strict'; //getters/setters for the Terms class @@ -10740,7 +10977,7 @@ module.exports = { }; -},{}],189:[function(_dereq_,module,exports){ +},{}],194:[function(_dereq_,module,exports){ 'use strict'; var build = _dereq_('./build'); @@ -10778,6 +11015,7 @@ Terms.fromString = function (str, lexicon) { // Terms = require('./methods/lookup')(Terms); _dereq_('./match')(Terms); +_dereq_('./methods/tag')(Terms); _dereq_('./methods/loops')(Terms); _dereq_('./match/not')(Terms); _dereq_('./methods/delete')(Terms); @@ -10790,7 +11028,7 @@ _dereq_('./methods/transform')(Terms); _dereq_('./methods/lump')(Terms); module.exports = Terms; -},{"./build":187,"./getters":188,"./match":190,"./match/not":197,"./methods/delete":198,"./methods/insert":199,"./methods/loops":200,"./methods/lump":202,"./methods/misc":203,"./methods/out":204,"./methods/replace":205,"./methods/split":206,"./methods/transform":207}],190:[function(_dereq_,module,exports){ +},{"./build":192,"./getters":193,"./match":195,"./match/not":203,"./methods/delete":204,"./methods/insert":205,"./methods/loops":206,"./methods/lump":208,"./methods/misc":209,"./methods/out":210,"./methods/replace":211,"./methods/split":212,"./methods/tag":213,"./methods/transform":214}],195:[function(_dereq_,module,exports){ 'use strict'; var syntax = _dereq_('./lib/syntax'); @@ -10857,7 +11095,7 @@ var matchMethods = function matchMethods(Terms) { module.exports = matchMethods; -},{"../../result":26,"./lib":192,"./lib/startHere":195,"./lib/syntax":196}],191:[function(_dereq_,module,exports){ +},{"../../result":28,"./lib":197,"./lib/startHere":201,"./lib/syntax":202}],196:[function(_dereq_,module,exports){ 'use strict'; // //find easy reasons to skip running the full match on this @@ -10866,7 +11104,8 @@ var fastPass = function fastPass(ts, regs) { for (var i = 0; i < regs.length; i++) { var reg = regs[i]; var found = false; - if (reg.optional === true || reg.negative === true) { + //we can't cheat on these fancy rules: + if (reg.optional === true || reg.negative === true || reg.minMax !== undefined) { continue; } //look-for missing term-matches @@ -10876,6 +11115,10 @@ var fastPass = function fastPass(ts, regs) { found = true; break; } + //we can't handle lumped-terms with this method + if (ts.terms[o].lumped === true) { + return false; + } } if (found === false) { return true; @@ -10898,7 +11141,7 @@ var fastPass = function fastPass(ts, regs) { }; module.exports = fastPass; -},{}],192:[function(_dereq_,module,exports){ +},{}],197:[function(_dereq_,module,exports){ 'use strict'; var syntax = _dereq_('./syntax'); @@ -10937,7 +11180,7 @@ var match = function match(ts, reg, verbose) { }; module.exports = match; -},{"./fastPass":191,"./startHere":195,"./syntax":196}],193:[function(_dereq_,module,exports){ +},{"./fastPass":196,"./startHere":201,"./syntax":202}],198:[function(_dereq_,module,exports){ 'use strict'; //compare 1 term to one reg @@ -10958,6 +11201,19 @@ var perfectMatch = function perfectMatch(term, reg) { if (reg.normal !== undefined) { return reg.normal === term.normal || reg.normal === term.silent_term; } + //suffix matches '-nny' + if (reg.suffix === true && reg.partial !== undefined) { + var len = term.normal.length; + return term.normal.substr(len - reg.partial.length, len) === reg.partial; + } + //prefix matches 'fun-' + if (reg.prefix === true && reg.partial !== undefined) { + return term.normal.substr(0, reg.partial.length) === reg.partial; + } + //infix matches '-nn-' + if (reg.infix === true && reg.partial !== undefined) { + return term.normal.indexOf(reg.partial) !== -1; + } //one-of term-match if (reg.oneOf !== undefined) { for (var i = 0; i < reg.oneOf.tagArr.length; i++) { @@ -10980,12 +11236,44 @@ var isMatch = function isMatch(term, reg, verbose) { }; module.exports = isMatch; -},{}],194:[function(_dereq_,module,exports){ -arguments[4][89][0].apply(exports,arguments) -},{"../../paths":209,"dup":89}],195:[function(_dereq_,module,exports){ +},{}],199:[function(_dereq_,module,exports){ +'use strict'; + +var almostMatch = function almostMatch(reg_str, term) { + var want = term.normal.substr(0, reg_str.length); + return want === reg_str; +}; + +// match ['john', 'smith'] regs, when the term is lumped +var lumpMatch = function lumpMatch(term, regs, reg_i, verbose) { + var reg_str = regs[reg_i].normal; + //is this a partial match? 'tony'& 'tony hawk' + if (reg_str !== undefined && almostMatch(reg_str, term)) { + //try to grow it + reg_i = reg_i + 1; + for (reg_i; reg_i < regs.length; reg_i++) { + reg_str += ' ' + regs[reg_i].normal; + // is it now perfect? + if (reg_str === term.normal) { + return reg_i; + } + // is it still almost? + if (almostMatch(reg_str, term) === false) { + return null; + } + } + } + return null; +}; + +module.exports = lumpMatch; + +},{}],200:[function(_dereq_,module,exports){ +arguments[4][102][0].apply(exports,arguments) +},{"../../paths":216,"dup":102}],201:[function(_dereq_,module,exports){ 'use strict'; -// const lumpMatch = require('./lumpMatch'); +var lumpMatch = _dereq_('./lumpMatch'); var isMatch = _dereq_('./isMatch'); // match everything until this point - '*' @@ -11056,41 +11344,49 @@ var startHere = function startHere(ts, startAt, regs, verbose) { continue; } - //support '{x,y}' + //support '#Noun{x,y}' if (regs[reg_i].minMax !== undefined) { - //on last reg? - if (!next_reg) { - var len = ts.length; - var max = regs[reg_i].minMax.max + startAt; - //if it must go to the end, but can't - if (regs[reg_i].ending && max < len) { + var min = regs[reg_i].minMax.min || 0; + var max = regs[reg_i].minMax.max; + var until = regs[reg_i + 1]; + for (var i = 0; i < max; i++) { + //TODO: please clean this loop up.. + var t = ts.terms[term_i + i]; + //end here + if (isMatch(t, reg) === false) { return null; } - //dont grab past the end - if (max < len) { - len = max; + //should we be greedier? + if (i < min - 1) { + continue; //gotta keep going! + } + //we can end here, after the minimum + if (!until) { + term_i += 1; + break; + } + // we're greedy-to-now + if (i >= min && isMatch(t, until)) { + break; + } + //end with a greedy-match for next term + var nextT = ts.terms[term_i + i + 1]; + if (isMatch(nextT, until)) { + term_i += i + 2; + reg_i += 1; + break; + } else if (i === max - 1) { + //we've maxed-out + return null; } - return ts.terms.slice(startAt, len); - } - //otherwise, match until this next thing - var _foundAt = greedyUntil(ts, term_i, next_reg); - if (!_foundAt) { - return null; - } - //if it's too close/far.. - var minMax = regs[reg_i].minMax; - if (_foundAt < minMax.min || _foundAt > minMax.max) { - return null; } - term_i = _foundAt + 1; - reg_i += 1; continue; } //if optional, check next one if (reg.optional === true) { - var until = regs[reg_i + 1]; - term_i = greedyOf(ts, term_i, reg, until); + var _until = regs[reg_i + 1]; + term_i = greedyOf(ts, term_i, reg, _until); continue; } @@ -11099,8 +11395,8 @@ var startHere = function startHere(ts, startAt, regs, verbose) { term_i += 1; //try to greedy-match '+' if (reg.consecutive === true) { - var _until = regs[reg_i + 1]; - term_i = greedyOf(ts, term_i, reg, _until); + var _until2 = regs[reg_i + 1]; + term_i = greedyOf(ts, term_i, reg, _until2); } continue; } @@ -11118,13 +11414,12 @@ var startHere = function startHere(ts, startAt, regs, verbose) { } //handle partial-matches of lumped terms - // let lumpUntil = lumpMatch(term, regs, reg_i); - // if (lumpUntil) { - // reg_i = lumpUntil; - // term_i += 1; - // continue; - // } - + var lumpUntil = lumpMatch(term, regs, reg_i, verbose); + if (lumpUntil !== null) { + reg_i = lumpUntil; + term_i += 1; + continue; + } //was it optional anways? if (reg.optional === true) { @@ -11137,11 +11432,13 @@ var startHere = function startHere(ts, startAt, regs, verbose) { module.exports = startHere; -},{"./isMatch":193}],196:[function(_dereq_,module,exports){ +},{"./isMatch":198,"./lumpMatch":199}],202:[function(_dereq_,module,exports){ 'use strict'; // parse a search lookup term find the regex-like syntax in this term var fns = _dereq_('./paths').fns; +//regs- +var range = /\{[0-9,]+\}$/; //trim char#0 var noFirst = function noFirst(str) { @@ -11158,6 +11455,11 @@ var parse_term = function parse_term(term) { var reg = {}; //order matters here + //1-character hasta be a text-match + if (term.length === 1 && term !== '.' && term !== '*') { + reg.normal = term; + return reg; + } //negation ! flag if (term.charAt(0) === '!') { term = noFirst(term); @@ -11183,6 +11485,24 @@ var parse_term = function parse_term(term) { term = noLast(term); reg.consecutive = true; } + //prefix/suffix/infix matches + if (term.charAt(term.length - 1) === '_') { + term = noLast(term); + reg.prefix = true; + //try both '-match-' + if (term.charAt(0) === '_') { + term = noFirst(term); + reg.prefix = undefined; + reg.infix = true; + } + reg.partial = term; + term = ''; + } else if (term.charAt(0) === '_') { + term = noFirst(term); + reg.suffix = true; + reg.partial = term; + term = ''; + } //pos flag if (term.charAt(0) === '#') { term = noFirst(term); @@ -11211,13 +11531,13 @@ var parse_term = function parse_term(term) { term = ''; } //min/max any '{1,3}' - if (term.charAt(0) === '{' && term.charAt(term.length - 1) === '}') { + if (term.charAt(term.length - 1) === '}' && range.test(term) === true) { var m = term.match(/\{([0-9]+), ?([0-9]+)\}/); reg.minMax = { min: parseInt(m[1], 10), max: parseInt(m[2], 10) }; - term = ''; + term = term.replace(range, ''); } //a period means any one term if (term === '.') { @@ -11241,11 +11561,10 @@ var parse_all = function parse_all(reg) { reg = reg.split(/ +/); return reg.map(parse_term); }; -// console.log(parse_all('')); module.exports = parse_all; -},{"./paths":194}],197:[function(_dereq_,module,exports){ +},{"./paths":200}],203:[function(_dereq_,module,exports){ 'use strict'; // @@ -11346,7 +11665,7 @@ var addfns = function addfns(Terms) { module.exports = addfns; -},{"../../result":26,"./lib/startHere":195,"./lib/syntax":196}],198:[function(_dereq_,module,exports){ +},{"../../result":28,"./lib/startHere":201,"./lib/syntax":202}],204:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -11378,7 +11697,7 @@ var addMethod = function addMethod(Terms) { module.exports = addMethod; -},{"../mutate":208}],199:[function(_dereq_,module,exports){ +},{"../mutate":215}],205:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -11484,13 +11803,15 @@ var insertMethods = function insertMethods(Terms) { module.exports = insertMethods; -},{"../mutate":208}],200:[function(_dereq_,module,exports){ +},{"../mutate":215}],206:[function(_dereq_,module,exports){ 'use strict'; //these methods are simply term-methods called in a loop var addMethods = function addMethods(Terms) { - var foreach = [['tag'], ['unTag'], + var foreach = [ + // ['tag'], + // ['unTag'], // ['canBe'], ['toUpperCase', 'UpperCase'], ['toLowerCase'], ['toTitleCase', 'TitleCase']]; @@ -11514,7 +11835,7 @@ var addMethods = function addMethods(Terms) { module.exports = addMethods; -},{}],201:[function(_dereq_,module,exports){ +},{}],207:[function(_dereq_,module,exports){ 'use strict'; var Term = _dereq_('../../../term'); @@ -11535,6 +11856,7 @@ var combine = function combine(s, i) { var text = makeText(a, b); s.terms[i] = new Term(text, a.context); s.terms[i].normal = a.normal + ' ' + b.normal; + s.terms[i].lumped = true; s.terms[i].parentTerms = s.terms[i + 1].parentTerms; s.terms[i + 1] = null; s.terms = s.terms.filter(function (t) { @@ -11545,7 +11867,7 @@ var combine = function combine(s, i) { module.exports = combine; -},{"../../../term":169}],202:[function(_dereq_,module,exports){ +},{"../../../term":173}],208:[function(_dereq_,module,exports){ 'use strict'; var combine = _dereq_('./combine'); @@ -11593,7 +11915,7 @@ var lumpMethods = function lumpMethods(Terms) { module.exports = lumpMethods; -},{"../../mutate":208,"./combine":201}],203:[function(_dereq_,module,exports){ +},{"../../mutate":215,"./combine":207}],209:[function(_dereq_,module,exports){ 'use strict'; var _tagger = _dereq_('../../tagger'); @@ -11658,7 +11980,6 @@ var miscMethods = function miscMethods(Terms) { if (!ref || !first) { return null; //maybe.. } - // console.log(ref); var n = 0; for (var i = 0; i < ref.list.length; i++) { var ts = ref.list[i]; @@ -11685,14 +12006,6 @@ var miscMethods = function miscMethods(Terms) { return this.terms.length; }, - //which terms are consistent with this tag - canBe: function canBe(tag) { - var terms = this.terms.filter(function (t) { - return t.canBe(tag); - }); - return new Terms(terms, this.lexicon, this.refText, this.refTerms); - }, - //this has term-order logic, so has to be here toCamelCase: function toCamelCase() { this.toTitleCase(); @@ -11716,7 +12029,7 @@ var miscMethods = function miscMethods(Terms) { module.exports = miscMethods; -},{"../../tagger":129}],204:[function(_dereq_,module,exports){ +},{"../../tagger":133}],210:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('../paths').fns; @@ -11796,7 +12109,7 @@ var renderMethods = function renderMethods(Terms) { module.exports = renderMethods; -},{"../paths":209}],205:[function(_dereq_,module,exports){ +},{"../paths":216}],211:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -11805,26 +12118,34 @@ var replaceMethods = function replaceMethods(Terms) { var methods = { /**swap this for that */ - replace: function replace(str1, str2) { + replace: function replace(str1, str2, keepTags) { //in this form, we 'replaceWith' if (str2 === undefined) { - return this.replaceWith(str1); + return this.replaceWith(str1, keepTags); } - this.match(str1).replaceWith(str2); + this.match(str1).replaceWith(str2, keepTags); return this; }, /**swap this for that */ - replaceWith: function replaceWith(str, tag) { - var toAdd = Terms.fromString(str); - toAdd.tagger(); - if (tag) { - toAdd.tag(tag, 'user-given'); + replaceWith: function replaceWith(str, keepTags) { + var newTs = Terms.fromString(str); + newTs.tagger(); + //if instructed, apply old tags to new terms + if (keepTags) { + this.terms.forEach(function (t, i) { + var tags = Object.keys(t.tags); + if (newTs.terms[i] !== undefined) { + tags.forEach(function (tg) { + return newTs.terms[i].tag(tg, 'from-memory'); + }); + } + }); } var index = this.index(); this.parentTerms = mutate.deleteThese(this.parentTerms, this); - this.parentTerms.terms = mutate.insertAt(this.parentTerms.terms, index, toAdd); - this.terms = toAdd.terms; + this.parentTerms.terms = mutate.insertAt(this.parentTerms.terms, index, newTs); + this.terms = newTs.terms; return this; } @@ -11839,7 +12160,7 @@ var replaceMethods = function replaceMethods(Terms) { module.exports = replaceMethods; -},{"../mutate":208}],206:[function(_dereq_,module,exports){ +},{"../mutate":215}],212:[function(_dereq_,module,exports){ 'use strict'; //break apart a termlist into (before, match after) @@ -11976,7 +12297,72 @@ var splitMethods = function splitMethods(Terms) { module.exports = splitMethods; exports = splitMethods; -},{}],207:[function(_dereq_,module,exports){ +},{}],213:[function(_dereq_,module,exports){ +'use strict'; + +var addMethod = function addMethod(Terms) { + + var methods = { + + tag: function tag(_tag, reason) { + var tags = []; + if (typeof _tag === 'string') { + tags = _tag.split(' '); + } + //fancy version: + if (tags.length > 1) { + //do indepenent tags for each term: + this.terms.forEach(function (t, i) { + t.tag(tags[i], reason); + }); + return this; + } + //non-fancy version: + this.terms.forEach(function (t) { + t.tag(_tag, reason); + }); + return this; + }, + + unTag: function unTag(tag, reason) { + var tags = []; + if (typeof tag === 'string') { + tags = tag.split(' '); + } + //fancy version: + if (tags.length > 1) { + //do indepenent tags for each term: + this.terms.forEach(function (t, i) { + t.unTag(tags[i], reason); + }); + return this; + } + //non-fancy version: + this.terms.forEach(function (t) { + t.unTag(tag, reason); + }); + return this; + }, + + //which terms are consistent with this tag + canBe: function canBe(tag) { + var terms = this.terms.filter(function (t) { + return t.canBe(tag); + }); + return new Terms(terms, this.lexicon, this.refText, this.refTerms); + } + + }; + //hook them into result.proto + Object.keys(methods).forEach(function (k) { + Terms.prototype[k] = methods[k]; + }); + return Terms; +}; + +module.exports = addMethod; + +},{}],214:[function(_dereq_,module,exports){ 'use strict'; var transforms = function transforms(Terms) { @@ -12021,7 +12407,7 @@ var transforms = function transforms(Terms) { module.exports = transforms; -},{}],208:[function(_dereq_,module,exports){ +},{}],215:[function(_dereq_,module,exports){ 'use strict'; // @@ -12065,7 +12451,7 @@ exports.insertAt = function (terms, i, needle) { return terms; }; -},{}],209:[function(_dereq_,module,exports){ +},{}],216:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -12075,107 +12461,107 @@ module.exports = { Term: _dereq_('../term') }; -},{"../data":6,"../fns":21,"../term":169}],210:[function(_dereq_,module,exports){ +},{"../data":6,"../fns":21,"../term":173}],217:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt"; -},{}],211:[function(_dereq_,module,exports){ +},{}],218:[function(_dereq_,module,exports){ "use strict"; module.exports = "a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori"; -},{}],212:[function(_dereq_,module,exports){ +},{}],219:[function(_dereq_,module,exports){ "use strict"; module.exports = "aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl"; -},{}],213:[function(_dereq_,module,exports){ +},{}],220:[function(_dereq_,module,exports){ "use strict"; module.exports = "a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dellín,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0̇zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg"; -},{}],214:[function(_dereq_,module,exports){ +},{}],221:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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"; -},{}],215:[function(_dereq_,module,exports){ +},{}],222:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an"; -},{}],216:[function(_dereq_,module,exports){ +},{}],223:[function(_dereq_,module,exports){ "use strict"; module.exports = "aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la"; -},{}],217:[function(_dereq_,module,exports){ +},{}],224:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il"; -},{}],218:[function(_dereq_,module,exports){ +},{}],225:[function(_dereq_,module,exports){ "use strict"; module.exports = "aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey"; -},{}],219:[function(_dereq_,module,exports){ +},{}],226:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve"; -},{}],220:[function(_dereq_,module,exports){ +},{}],227:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,ñ6;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams"; -},{}],221:[function(_dereq_,module,exports){ +},{}],228:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on"; -},{}],222:[function(_dereq_,module,exports){ +},{}],229:[function(_dereq_,module,exports){ "use strict"; module.exports = "ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s"; -},{}],223:[function(_dereq_,module,exports){ +},{}],230:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on"; -},{}],224:[function(_dereq_,module,exports){ +},{}],231:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,é;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c"; -},{}],225:[function(_dereq_,module,exports){ +},{}],232:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut"; -},{}],226:[function(_dereq_,module,exports){ +},{}],233:[function(_dereq_,module,exports){ "use strict"; module.exports = "'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut"; -},{}],227:[function(_dereq_,module,exports){ +},{}],234:[function(_dereq_,module,exports){ "use strict"; module.exports = "aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt"; -},{}],228:[function(_dereq_,module,exports){ +},{}],235:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls"; -},{}],229:[function(_dereq_,module,exports){ +},{}],236:[function(_dereq_,module,exports){ "use strict"; module.exports = "0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce"; -},{}],230:[function(_dereq_,module,exports){ +},{}],237:[function(_dereq_,module,exports){ /* nlp-compromise/efrt v0.0.6 usage: unpack(myPackedString).has(word) by @spencermountain MIT @@ -12266,7 +12652,6 @@ var prefix = function prefix(str, want) { } return want.slice(0, len) === str; }; -// console.log(module.exports('harvar', 'harvard')); //spin-out all words from this trie var unravel = function unravel(trie) { @@ -12406,7 +12791,7 @@ var index = function index(str) { module.exports = index; -},{}],231:[function(_dereq_,module,exports){ +},{}],238:[function(_dereq_,module,exports){ 'use strict'; //to change these packed files, edit ./data then run `node scripts/pack.js` @@ -12488,5 +12873,5 @@ module.exports = { multiples: multiples }; -},{"./_packed/_adjectives":210,"./_packed/_adverbs":211,"./_packed/_airports":212,"./_packed/_cities":213,"./_packed/_countries":214,"./_packed/_demonyms":215,"./_packed/_expressions":216,"./_packed/_female":217,"./_packed/_firstnames":218,"./_packed/_holidays":219,"./_packed/_lastnames":220,"./_packed/_male":221,"./_packed/_nouns":222,"./_packed/_orgWords":223,"./_packed/_organizations":224,"./_packed/_phrasals":225,"./_packed/_prepositions":226,"./_packed/_professions":227,"./_packed/_sportsTeams":228,"./_packed/_uncountables":229,"./efrt-unpack":230}]},{},[22])(22) +},{"./_packed/_adjectives":217,"./_packed/_adverbs":218,"./_packed/_airports":219,"./_packed/_cities":220,"./_packed/_countries":221,"./_packed/_demonyms":222,"./_packed/_expressions":223,"./_packed/_female":224,"./_packed/_firstnames":225,"./_packed/_holidays":226,"./_packed/_lastnames":227,"./_packed/_male":228,"./_packed/_nouns":229,"./_packed/_orgWords":230,"./_packed/_organizations":231,"./_packed/_phrasals":232,"./_packed/_prepositions":233,"./_packed/_professions":234,"./_packed/_sportsTeams":235,"./_packed/_uncountables":236,"./efrt-unpack":237}]},{},[22])(22) }); \ No newline at end of file diff --git a/builds/compromise.min.js b/builds/compromise.min.js index dc44894eb..3caeeed81 100644 --- a/builds/compromise.min.js +++ b/builds/compromise.min.js @@ -1,12 +1,12 @@ -/* compromise v9.1.0 +/* compromise v10.0.0 github.com/nlp-compromise/compromise MIT */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.nlp=e()}}(function(){var e;return function e(t,r,n){function i(a,o){var u,l,c;if(!r[a]){if(!t[a]){if(u="function"==typeof require&&require,!o&&u)return u(a,!0);if(s)return s(a,!0);throw l=Error("Cannot find module '"+a+"'"),l.code="MODULE_NOT_FOUND",l}c=r[a]={exports:{}},t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[a].exports}var a,s="function"==typeof require&&require;for(a=0;a (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"9.1.0",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build/index.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js",lint:"node ./scripts/prepublish/linter.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"^6.24.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1","browserify-glob":"^0.2.0","bundle-collapser":"^1.2.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",efrt:"0.0.6",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(e,t,r){"use strict";var n=e("../fns"),i={erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"},a=["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"];t.exports=n.uncompress_suffixes(a,i)},{"../fns":5}],3:[function(e,t,r){"use strict";t.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],4:[function(e,t,r){"use strict";var n,i,a,s,o,u=["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],l=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(n=0;6>=n;n++)l.push(l[n]+"s");for(i=["millisecond","minute","hour","day","week","month","year","decade"],a=i.length,s=0;a>s;s++)i.push(i[s]),i.push(i[s]+"s");i.push("century"),i.push("centuries"),i.push("seconds"),o=["yesterday","today","tomorrow","weekend","tonight"],t.exports={days:l,months:u,durations:i,relative:o}},{}],5:[function(e,t,r){"use strict";r.extendObj=function(e,t){return Object.keys(t).forEach(function(r){e[r]=t[r]}),e},r.uncompress_suffixes=function(e,t){var r,n,i,a=Object.keys(t),s=a.length;for(r=0;s>r;r++)for(n=t[a[r]].split(","),i=0;ir;r++)l[e[r]]=t},m=i.units.words.filter(function(e){return e.length>1});h(m,"Unit"),h(i.dates.durations,"Duration"),c(i.abbreviations),n=i.numbers.ordinal,h(Object.keys(n.ones),"Ordinal"),h(Object.keys(n.teens),"Ordinal"),h(Object.keys(n.tens),"Ordinal"),h(Object.keys(n.multiples),"Ordinal"),n=i.numbers.cardinal,h(Object.keys(n.ones),"Cardinal"),h(Object.keys(n.teens),"Cardinal"),h(Object.keys(n.tens),"Cardinal"),h(Object.keys(n.multiples),"Cardinal"),h(Object.keys(i.numbers.prefixes),"Cardinal"),h(Object.keys(i.irregular_plurals.toPlural),"Singular"),h(Object.keys(i.irregular_plurals.toSingle),"Plural"),h(i.dates.days,"WeekDay"),h(i.dates.months,"Month"),h(i.dates.relative,"RelativeDay"),Object.keys(i.irregular_verbs).forEach(function(e){var t,r;l[e]="Infinitive",t=i.irregular_verbs[e],Object.keys(t).forEach(function(e){t[e]&&(l[t[e]]=e)}),r=u(e),Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),i.verbs.forEach(function(e){var t=u(e);Object.keys(t).forEach(function(e){t[e]&&!l[t[e]]&&(l[t[e]]=e)}),l[o(e)]="Adjective"}),i.superlatives.forEach(function(e){l[s.toNoun(e)]="Noun",l[s.toAdverb(e)]="Adverb",l[s.toSuperlative(e)]="Superlative",l[s.toComparative(e)]="Comparative"}),i.verbConverts.forEach(function(e){var t,r;l[s.toNoun(e)]="Noun",l[s.toAdverb(e)]="Adverb",l[s.toSuperlative(e)]="Superlative",l[s.toComparative(e)]="Comparative",t=s.toVerb(e),l[t]="Verb",r=u(t),Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),h(i.notable_people.female,"FemaleName"),h(i.notable_people.male,"MaleName"),h(i.titles,"Singular"),h(i.verbConverts,"Adjective"),h(i.superlatives,"Adjective"),h(i.currencies,"Currency"),c(i.misc),delete l[""],delete l[" "],delete l[null],t.exports=l},{"../result/subset/adjectives/methods":42,"../result/subset/verbs/methods/conjugate/faster":104,"../result/subset/verbs/methods/toAdjective":114,"./fns":5,"./index":6}],8:[function(e,t,r){"use strict";t.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],9:[function(e,t,r){"use strict";var n,i,a,s={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},o={Organization:["20th century fox","3m","7-eleven","g8","motel 6","vh1"],Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise","as far as","as if","in case","provided that","supposing","no matter","yet"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock","all day","at night"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:e("./determiners"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},u=Object.keys(o);for(n=0;nn;n++)s[a[n]]?a.push(s[a[n]]):a.push(a[n]+"s");t.exports=i.concat(a)},{}],15:[function(e,t,r){"use strict";var n={ones:{zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9},teens:{ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19},tens:{twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90},multiples:{hundred:100,thousand:1e3,grand:1e3,million:1e6,billion:1e9,trillion:1e12,quadrillion:1e15,quintillion:1e18,sextillion:1e21,septillion:1e24}},i={ones:{zeroth:0,first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9},teens:{tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19},tens:{twentieth:20,thirtieth:30,fourtieth:40,fiftieth:50,sixtieth:60,seventieth:70,eightieth:80,ninetieth:90},multiples:{hundredth:100,thousandth:1e3,millionth:1e6,billionth:1e9,trillionth:1e12,quadrillionth:1e15,quintillionth:1e18,sextillionth:1e21,septillionth:1e24}},a={yotta:1,zetta:1,exa:1,peta:1,tera:1,giga:1,mega:1,kilo:1,hecto:1,deka:1,deci:1,centi:1,milli:1,micro:1,nano:1,pico:1,femto:1,atto:1,zepto:1,yocto:1,square:1,cubic:1,quartic:1};t.exports={cardinal:n,ordinal:i,prefixes:a}},{}],16:[function(e,t,r){"use strict";var n=e("./numbers"),i={},a={};Object.keys(n.ordinal).forEach(function(e){var t,r=Object.keys(n.ordinal[e]),s=Object.keys(n.cardinal[e]);for(t=0;t1&&(i[t]=!0);var r=n[e][t];i[r]=!0,i[r+"s"]=!0})}),i=Object.keys(i),t.exports={words:i,units:n}},{}],18:[function(e,t,r){"use strict";var n=e("./participles"),i={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},puke:{Gerund:"puking"},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam",Gerund:"swimming"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}},a=[["break",{PastTense:"broke"}],["catch",{PastTense:"caught"}],["do",{PastTense:"did",PresentTense:"does"}],["bind",{PastTense:"bound"}],["spread",{PastTense:"spread"}]];a.forEach(function(e){i[e[0]]=e[1]}),Object.keys(n).forEach(function(e){i[e]?i[e].Participle=n[e]:i[e]={Participle:n[e]}}),t.exports=i},{"./participles":19}],19:[function(e,t,r){"use strict";t.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],20:[function(e,t,r){"use strict";var n=e("../fns"),i={prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"},a=["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"];t.exports=n.uncompress_suffixes(a,i)},{"../fns":5}],21:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./tagset"),a={reset:"",red:"",green:"",yellow:"",blue:"",magenta:"",cyan:"",black:""};void 0===t&&Object.keys(a).forEach(function(e){a[e]=""}),r.ensureString=function(e){return"string"==typeof e?e:"number"==typeof e?""+e:""},r.ensureObject=function(e){return"object"!==(void 0===e?"undefined":n(e))?{}:null===e||e instanceof Array?{}:e},r.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},r.copy=function(e){var t={};return e=r.ensureObject(e),Object.keys(e).forEach(function(r){t[r]=e[r]}),t},r.extend=function(e,t){var n,i;for(e=r.copy(e),n=Object.keys(t),i=0;i "+i.printTag(t),n=i.leftPad(n,54),console.log(" "+n+"("+i.cyan(r||"")+")")}},unTag:function(e,t,r){if(a===!0||"tagger"===a){var n="-"+e.normal+"-";n=i.red(n),n=i.leftPad(n,20),n+=" ~* "+i.red(t),n=i.leftPad(n,54), -console.log(" "+n+"("+i.red(r||"")+")")}}}},{"../fns":21}],24:[function(e,t,r){"use strict";var n=e("./index"),i=e("./tokenize"),a=e("./paths"),s=a.Terms,o=a.fns,u=e("../term/methods/normalize/normalize").normalize,l=function(e){return e=e||{},Object.keys(e).reduce(function(t,r){t[r]=e[r];var n=u(r);return n=n.replace(/\s+/," "),n=n.replace(/[.\?\!]/g,""),r!==n&&(t[n]=e[r]),t},{})},c=function(e,t){var r,a,u=[];return o.isArray(e)?u=e:(e=o.ensureString(e),u=i(e)),t=l(t),r=u.map(function(e){return s.fromString(e,t)}),a=new n(r,t),a.list.forEach(function(e){e.refText=a}),a};t.exports=c},{"../term/methods/normalize/normalize":175,"./index":26,"./paths":38,"./tokenize":120}],25:[function(e,t,r){"use strict";t.exports={found:function(){return this.list.length>0},parent:function(){return this.reference||this},length:function(){return this.list.length},isA:function(){return"Text"},whitespace:function(){var e=this;return{before:function(t){return e.list.forEach(function(e){e.whitespace.before(t)}),e},after:function(t){return e.list.forEach(function(e){e.whitespace.after(t)}),e}}}}},{}],26:[function(e,t,r){"use strict";function n(e,t,r){var n,i;for(this.list=e||[],this.lexicon=t,this.reference=r,n=Object.keys(a),i=0;i0?r.whitespace.before=" ":0===t&&(r.whitespace.before=""),r.whitespace.after=""}),e},case:function(e){return e.list.forEach(function(e){e.terms.forEach(function(t,r){0===r||t.tags.Person||t.tags.Place||t.tags.Organization?e.toTitleCase():e.toLowerCase()})}),e},numbers:function(e){return e.values().toNumber()},punctuation:function(e){return e.list.forEach(function(e){var t,r,n;for(e.terms[0]._text=e.terms[0]._text.replace(/^¿/,""),t=0;t"},"");return" "+e+"\n"},terms:function(e){var t=[];return e.list.forEach(function(e){e.terms.forEach(function(e){t.push({text:e.text,normal:e.normal,tags:Object.keys(e.tags)})})}),t},debug:function(e){return console.log("===="),e.list.forEach(function(e){console.log(" --"),e.debug()}),e},topk:function(e){return i(e)}};o.plaintext=o.text,o.normalized=o.normal,o.colors=o.color,o.tags=o.terms,o.offset=o.offsets,o.idexes=o.index,o.frequency=o.topk,o.freq=o.topk,o.arr=o.array,n=function(e){return e.prototype.out=function(e){return o[e]?o[e](this):o.text(this)},e.prototype.debug=function(){return o.debug(this)},e},t.exports=n},{"./indexes":32,"./offset":33,"./topk":34}],32:[function(e,t,r){"use strict";var n=function(e){var t,r,n=[],i={};return e.terms().list.forEach(function(e){i[e.terms[0].uid]=!0}),t=0,r=e.all(),r.list.forEach(function(e,r){e.terms.forEach(function(e,a){void 0!==i[e.uid]&&n.push({text:e.text,normal:e.normal,term:t,sentence:r,sentenceTerm:a}),t+=1})}),n};t.exports=n},{}],33:[function(e,t,r){"use strict";var n=function(e,t){var r,n,i,a=0;for(r=0;rt.count?-1:1}),t&&(r=r.splice(0,t)),r};t.exports=n},{}],35:[function(e,t,r){"use strict";var n=e("./methods"),i=function(e){var t={sort:function(t){return t=t||"alphabetical",t=t.toLowerCase(),t&&"alpha"!==t&&"alphabetical"!==t?"chron"===t||"chronological"===t?n.chron(this,e):"length"===t?n.lengthFn(this,e):"freq"===t||"frequency"===t?n.freq(this,e):"wordcount"===t?n.wordCount(this,e):this:n.alpha(this,e)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){var e={};return this.list=this.list.filter(function(t){var r=t.out("root");return!e[r]&&(e[r]=!0,!0)}),this}};return e.addMethods(e,t),e};t.exports=i},{"./methods":36}],36:[function(e,t,r){"use strict";var n=function(e){return e=e.sort(function(e,t){return e.index>t.index?1:e.index===t.index?0:-1}),e.map(function(e){return e.ts})};r.alpha=function(e){return e.list.sort(function(e,t){if(e===t)return 0;if(e.terms[0]&&t.terms[0]){if(e.terms[0].root>t.terms[0].root)return 1;if(e.terms[0].roott.out("root")?1:-1}),e},r.chron=function(e){var t=e.list.map(function(e){return{ts:e,index:e.termIndex()}});return e.list=n(t),e},r.lengthFn=function(e){var t=e.list.map(function(e){return{ts:e,index:e.chars()}});return e.list=n(t).reverse(),e},r.wordCount=function(e){var t=e.list.map(function(e){return{ts:e,index:e.length}});return e.list=n(t),e},r.freq=function(e){var t,r={};return e.list.forEach(function(e){var t=e.out("root");r[t]=r[t]||0,r[t]+=1}),t=e.list.map(function(e){var t=r[e.out("root")]||0;return{ts:e,index:t*-1}}),e.list=n(t),e}},{}],37:[function(e,t,r){"use strict";var n=function(e){var t={splitAfter:function(e,t){var r=[];return this.list.forEach(function(n){n.splitAfter(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitBefore:function(e,t){var r=[];return this.list.forEach(function(n){n.splitBefore(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitOn:function(e,t){var r=[];return this.list.forEach(function(n){n.splitOn(e,t).forEach(function(e){r.push(e)})}),this.list=r,this}};return e.addMethods(e,t),e};t.exports=n},{}],38:[function(e,t,r){"use strict";t.exports={fns:e("../fns"),data:e("../data"),Terms:e("../terms"),tags:e("../tagset")}},{"../data":6,"../fns":21,"../tagset":163,"../terms":189}],39:[function(e,t,r){"use strict";var n=e("../../index"),i={data:function(){return this.terms().list.map(function(e){var t=e.terms[0],r=t.text.toUpperCase().replace(/\./g).split("");return{periods:r.join("."),normal:r.join(""),text:t.text}})}},a=function(e,t){return e=e.match("#Acronym"),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(i,a)},{"../../index":26}],40:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./methods"),a={data:function(){var e=this;return this.list.map(function(t){var r=t.out("normal");return{comparative:i.toComparative(r),superlative:i.toSuperlative(r),adverbForm:i.toAdverb(r),nounForm:i.toNoun(r),verbForm:i.toVerb(r),normal:r,text:e.out("text")}})}},s=function(e,t){return e=e.match("#Adjective"),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(a,s)},{"../../index":26,"./methods":42}],41:[function(e,t,r){"use strict";var n=e("../../../../data"),i={};n.superlatives=n.superlatives||[],n.superlatives.forEach(function(e){i[e]=!0}),n.verbConverts=n.verbConverts||[],n.verbConverts.forEach(function(e){i[e]=!0}),t.exports=i},{"../../../../data":6}],42:[function(e,t,r){"use strict";t.exports={toNoun:e("./toNoun"),toSuperlative:e("./toSuperlative"),toComparative:e("./toComparative"),toAdverb:e("./toAdverb"),toVerb:e("./toVerb")}},{"./toAdverb":43,"./toComparative":44,"./toNoun":45,"./toSuperlative":46,"./toVerb":47}],43:[function(e,t,r){"use strict";var n=function(e){var t,r,n={idle:"idly",public:"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},i={foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,super:1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1},a=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],s=[/airs$/,/ll$/,/ee.$/,/ile$/];if(1===i[e])return null;if(void 0!==n[e])return n[e];if(e.length<=3)return null;for(t=0;te&&e>0)},o=function(e){return!!(e&&e>1e3&&3e3>e)},u=function(e){var t,r,u,l,c,h,m={month:null,date:null,weekday:null,year:null,named:null,time:null},f=e.match("(#Holiday|today|tomorrow|yesterday)");return f.found&&(m.named=f.out("normal")),f=e.match("#Month"),f.found&&(m.month=a.index(f.list[0].terms[0])),f=e.match("#WeekDay"),f.found&&(m.weekday=i.index(f.list[0].terms[0])),f=e.match("#Time"),f.found&&(m.time=n(e),e.not("#Time")),f=e.match("#Month #Value #Year"),f.found&&(t=f.values().numbers(),s(t[0])&&(m.date=t[0]),r=parseInt(e.match("#Year").out("normal"),10),o(r)&&(m.year=r)),f.found||(f=e.match("#Month #Value"),f.found&&(u=f.values().numbers(),l=u[0],s(l)&&(m.date=l)),f=e.match("#Month #Year"),f.found&&(c=parseInt(e.match("#Year").out("normal"),10),o(c)&&(m.year=c))),f=e.match("#Value of #Month"),f.found&&(h=f.values().numbers()[0],s(h)&&(m.date=h)),m};t.exports=u},{"./month":58,"./parseTime":60,"./weekday":62}],60:[function(e,t,r){"use strict";var n=/([12]?[0-9]) ?(am|pm)/i,i=/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i,a=function(e){return!!(e&&e>0&&25>e)},s=function(e){return!!(e&&e>0&&60>e)},o=function(e){var t,r={logic:null,hour:null,minute:null,second:null,timezone:null},o=e.match("(by|before|for|during|at|until|after) #Time").firstTerm();return o.found&&(r.logic=o.out("normal")),t=e.match("#Time"),t.terms().list.forEach(function(e){var t=e.terms[0],o=t.text.match(n);null!==o&&(r.hour=parseInt(o[1],10),"pm"===o[2]&&(r.hour+=12),a(r.hour)===!1&&(r.hour=null)),o=t.text.match(i),null!==o&&(r.hour=parseInt(o[1],10),r.minute=parseInt(o[2],10),s(r.minute)||(r.minute=null),"pm"===o[3]&&(r.hour+=12),a(r.hour)===!1&&(r.hour=null))}),r};t.exports=o},{}],61:[function(e,t,r){"use strict";r.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},r.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],62:[function(e,t,r){"use strict";var n=e("./data"),i=n.shortDays,a=n.longDays;t.exports={index:function(e){if(e.tags.WeekDay){if(void 0!==a[e.normal])return a[e.normal];if(void 0!==i[e.normal])return i[e.normal]}return null},toShortForm:function(e){if(e.tags.WeekDay&&void 0!==a[e.normal]){var t=Object.keys(i);e.text=t[a[e.normal]]}return e},toLongForm:function(e){if(e.tags.WeekDay&&void 0!==i[e.normal]){var t=Object.keys(a);e.text=t[i[e.normal]]}return e}}},{"./data":61}],63:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),a=function(e,t,r){n.call(this,e,t,r)};a.prototype=Object.create(n.prototype),a.find=function(e,t,r){var n,s={size:[1,2,3,4],edge:"end"};return r&&(s.size=[r]),n=i(e,s),e=new a(n),e.sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=a},{"./getGrams":64,"./index":66}],64:[function(e,t,r){"use strict";var n=e("./gram"),i=function(e,t){var r,i,a,s=e.terms;if(s.lengtht.count?-1:e.count===t.count&&(e.size>t.size||e.key.length>t.key.length)?-1:1}),e},s={data:function(){return this.list.map(function(e){return{normal:e.out("normal"),count:e.count,size:e.size}})},unigrams:function(){return this.list=this.list.filter(function(e){return 1===e.size}),this},bigrams:function(){return this.list=this.list.filter(function(e){return 2===e.size}),this},trigrams:function(){return this.list=this.list.filter(function(e){return 3===e.size}),this},sort:function(){return a(this)}},o=function(e,t,r){var s,o={size:[1,2,3,4]};return r&&(o.size=[r]),s=i(e,o),e=new n(s),e=a(e),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(s,o)},{"../../index":26,"./getGrams":64}],67:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),a=function(e,t,r){n.call(this,e,t,r)};a.prototype=Object.create(n.prototype),a.find=function(e,t,r){var n,s={size:[1,2,3,4],edge:"start"};return r&&(s.size=[r]),n=i(e,s),e=new a(n),e.sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=a},{"./getGrams":64,"./index":66}],68:[function(e,t,r){"use strict";var n=e("../../../tries").utils.uncountable,i=function(e){var t,r;if(!e.tags.Noun)return!1;if(e.tags.Plural)return!0;for(t=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],r=0;r3};t.exports=l},{"../../../data":6,"./methods/data/indicators":72}],71:[function(e,t,r){"use strict";var n={hour:"an",heir:"an",heirloom:"an",honest:"an",honour:"an",honor:"an",uber:"an"},i={a:!0,e:!0,f:!0,h:!0,i:!0,l:!0,m:!0,n:!0,o:!0,r:!0,s:!0,x:!0},a=[/^onc?e/i,/^u[bcfhjkqrstn][aeiou]/i,/^eul/i],s=function(e){var t,r,s=e.normal;if(n.hasOwnProperty(s))return n[s];if(t=s.substr(0,1),e.isAcronym()&&i.hasOwnProperty(t))return"an";for(r=0;r1){var a=this.not("(#Acronym|#Honorific)");this.firstName=a.first(),this.lastName=a.last()}return this};s.prototype=Object.create(i.prototype),n={data:function(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"),middleName:this.middleName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}},guessGender:function(){if(this.honorifics.match("(mr|mister|sr|sir|jr)").found)return"Male";if(this.honorifics.match("(mrs|miss|ms|misses|mme|mlle)").found)return"Female";if(this.firstName.match("#MaleName").found)return"Male";if(this.firstName.match("#FemaleName").found)return"Female";var e=this.firstName.out("normal");return a(e)},pronoun:function(){var e=this.firstName.out("normal"),t=this.guessGender(e);return"Male"===t?"he":"Female"===t?"she":"they"},root:function(){var e=this.firstName.out("root"),t=this.lastName.out("root");return e&&t?e+" "+t:t||e||this.out("root")}},Object.keys(n).forEach(function(e){s.prototype[e]=n[e]}),t.exports=s},{"../../paths":38,"./guessGender":78}],81:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./sentence"),a={toPastTense:function(){return this.list=this.list.map(function(e){return e=e.toPastTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toPresentTense:function(){return this.list=this.list.map(function(e){return e=e.toPresentTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toFutureTense:function(){return this.list=this.list.map(function(e){return e=e.toFutureTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toNegative:function(){return this.list=this.list.map(function(e){return e=e.toNegative(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toPositive:function(){return this.list=this.list.map(function(e){return e=e.toPositive(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},isPassive:function(){return this.list=this.list.filter(function(e){return e.isPassive()}),this},prepend:function(e){return this.list=this.list.map(function(t){return t.prepend(e)}),this},append:function(e){return this.list=this.list.map(function(t){return t.append(e)}),this},toExclamation:function(){return this.list.forEach(function(e){e.setPunctuation("!")}),this},toQuestion:function(){return this.list.forEach(function(e){e.setPunctuation("?")}),this},toStatement:function(){return this.list.forEach(function(e){e.setPunctuation(".")}),this}},s=function(e,t){return e=e.all(),"number"==typeof t&&(e=e.get(t)),e.list=e.list.map(function(e){return new i(e.terms,e.lexicon,e.refText,e.refTerms)}),e};t.exports=n.makeSubset(a,s)},{"../../index":26,"./sentence":82}],82:[function(e,t,r){"use strict";var n=e("../../paths").Terms,i=e("./toNegative"),a=e("./toPositive"),s=e("../verbs/verb"),o=e("./smartInsert"),u={toSingular:function(){var e=this.match("#Noun").match("!#Pronoun").firstTerm();return e.things().toSingular(),this},toPlural:function(){var e=this.match("#Noun").match("!#Pronoun").firstTerm();return e.things().toPlural(),this},mainVerb:function(){var e=this.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb");return e.found?(e=e.list[0].terms,new s(e,this.lexicon,this.refText,this.refTerms)):null},toPastTense:function(){var e,t,r,n=this.mainVerb();return n?(e=n.out("normal"),n.toPastTense(),t=n.out("normal"),r=this.parentTerms.replace(e,t)):this},toPresentTense:function(){var e,t,r=this.mainVerb();return r?(e=r.out("normal"),r.toPresentTense(),t=r.out("normal"),this.parentTerms.replace(e,t)):this},toFutureTense:function(){var e,t,r=this.mainVerb();return r?(e=r.out("normal"),r.toFutureTense(),t=r.out("normal"),this.parentTerms.replace(e,t)):this},isNegative:function(){return 1===this.match("#Negative").list.length},toNegative:function(){return this.isNegative()?this:i(this)},toPositive:function(){return this.isNegative()?a(this):this},append:function(e){return o.append(this,e)},prepend:function(e){return o.prepend(this,e)},setPunctuation:function(e){var t=this.terms[this.terms.length-1];t.setPunctuation(e)},getPunctuation:function(){var e=this.terms[this.terms.length-1];return e.getPunctuation()},isPassive:function(){return this.match("was #Adverb? #PastTense #Adverb? by").found}},l=function(e,t,r,i){n.call(this,e,t,r,i),this.t=this.terms[0]};l.prototype=Object.create(n.prototype),Object.keys(u).forEach(function(e){l.prototype[e]=u[e]}),t.exports=l},{"../../paths":38,"../verbs/verb":118,"./smartInsert":83,"./toNegative":84,"./toPositive":85}],83:[function(e,t,r){"use strict";var n=/^[A-Z]/,i=function(e,t){var r,i=e.terms[0];return e.insertAt(0,t),n.test(i.text)&&(i.needsTitleCase()===!1&&i.toLowerCase(),r=e.terms[0],r.toTitleCase()),e},a=function(e,t){var r,n=e.terms[e.terms.length-1],i=n.endPunctuation();return i&&n.killPunctuation(),e.insertAt(e.terms.length,t),r=e.terms[e.terms.length-1],i&&(r.text+=i),n.whitespace.after&&(r.whitespace.after=n.whitespace.after,n.whitespace.after=""),e};t.exports={append:a,prepend:i}},{}],84:[function(e,t,r){"use strict";var n={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"},i=function(e){var t,r,i=e.match("(everyone|everybody|someone|somebody|always)").first();return i.found&&n[i.out("normal")]?(t=i.out("normal"),e=e.match(t).replaceWith(n[t]).list[0],e.parentTerms):(r=e.mainVerb(),r&&r.toNegative(),e)};t.exports=i},{}],85:[function(e,t,r){"use strict";var n={never:"always",nothing:"everything"},i=function(e){var t,r=e.match("(never|nothing)").first();return r.found&&(t=r.out("normal"),n[t])?(e=e.match(t).replaceWith(n[t]).list[0],e.parentTerms):(e.delete("#Negative"),e)};t.exports=i},{}],86:[function(e,t,r){"use strict";var n=e("../../index"),i=e("../../paths").Terms,a={data:function(){return this.list.map(function(e){var t=e.terms[0];return{spaceBefore:t.whitespace.before,text:t.text,spaceAfter:t.whitespace.after,normal:t.normal,implicit:t.silent_term,bestTag:t.bestTag(),tags:Object.keys(t.tags)}})}},s=function(e,t){var r=[];return e.list.forEach(function(t){t.terms.forEach(function(n){r.push(new i([n],t.lexicon,e))})}),e=new n(r,e.lexicon,e.parent),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(a,s)},{"../../index":26,"../../paths":38}],87:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./value"),a={noDates:function(){return this.not("#Date")},numbers:function(){return this.list.map(function(e){return e.number()})},toNumber:function(){return this.list=this.list.map(function(e){return e.toNumber()}),this},toTextValue:function(){return this.list=this.list.map(function(e){return e.toTextValue()}),this},toCardinal:function(){return this.list=this.list.map(function(e){return e.toCardinal()}),this},toOrdinal:function(){return this.list=this.list.map(function(e){return e.toOrdinal()}),this},toNiceNumber:function(){return this.list=this.list.map(function(e){return e.toNiceNumber()}),this}},s=function(e,t){return e=e.match("#Value+"),e.splitOn("#Year"),"number"==typeof t&&(e=e.get(t)),e.list=e.list.map(function(e){return new i(e.terms,e.lexicon,e.refText,e.refTerms)}),e};t.exports=n.makeSubset(a,s)},{"../../index":26,"./value":99}],88:[function(e,t,r){"use strict";var n=e("../toNumber"),i=function(e){var t,r,i,a,s=n(e);return s||0===s?(t=s%100,t>10&&20>t?""+s+"th":(r={0:"th",1:"st",2:"nd",3:"rd"},i=""+s,a=i.slice(i.length-1,i.length),i+=r[a]?r[a]:"th")):null};t.exports=i},{"../toNumber":94}],89:[function(e,t,r){"use strict";t.exports=e("../../paths")},{"../../paths":38}],90:[function(e,t,r){"use strict";var n=e("../toNumber"),i=e("../toText"),a=e("../../../paths").data.ordinalMap.toOrdinal,s=function(e){var t=n(e),r=i(t),s=r[r.length-1];return r[r.length-1]=a[s]||s,r.join(" ")};t.exports=s},{"../../../paths":38,"../toNumber":94,"../toText":98}],91:[function(e,t,r){"use strict";var n=function(e){var t,r,n,i;if(!e&&0!==e)return null;for(e=""+e,t=e.split("."),r=t[0],n=t.length>1?"."+t[1]:"",i=/(\d+)(\d{3})/;i.test(r);)r=r.replace(i,"$1,$2");return r+n};t.exports=n},{}],92:[function(e,t,r){"use strict";var n=e("../paths"),i=n.data.numbers,a=n.fns,s=a.extend(i.ordinal.ones,i.cardinal.ones),o=a.extend(i.ordinal.teens,i.cardinal.teens),u=a.extend(i.ordinal.tens,i.cardinal.tens),l=a.extend(i.ordinal.multiples,i.cardinal.multiples);t.exports={ones:s,teens:o,tens:u,multiples:l}},{"../paths":89}],93:[function(e,t,r){"use strict";var n=function(e){var t,r=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:.5}];for(t=0;tx?(f+=(c(m)||1)*x,r=x,m={}):(f+=c(m),r=x,f=(f||1)*x,m={})}}}else d=!0;return f+=c(m),f*=t.amount,f*=d?-1:1,0===f?null:f};t.exports=m},{"./data":92,"./findModifiers":93,"./parseDecimals":95,"./parseNumeric":96,"./validate":97}],95:[function(e,t,r){"use strict";var n=e("./data"),i=function(e){var t,r,i="0.";for(t=0;tn[0]){var i=Math.floor(t/n[0]);t-=i*n[0],i&&r.push({unit:n[1],count:i})}}),r},i=function(e){var t,r=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],n=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],i=[];for(t=0;te&&(o.push("negative"),e=Math.abs(e)),t=n(e),r=0;r1&&o.push("and")),o=o.concat(i(t[r].count)),o.push(s);return o=o.concat(a(e)),o=o.filter(function(e){return e}),0===o.length&&(o[0]="zero"),o};t.exports=s},{}],99:[function(e,t,r){"use strict";var n,i,a,s,o=e("../../paths"),u=o.Terms,l=e("./toNumber"),c=e("./toText"),h=e("./toNiceNumber"),m=e("./numOrdinal"),f=e("./textOrdinal"),d=function(e,t,r,n){u.call(this,e,t,r,n),this.val=this.match("#Value+").list[0],this.unit=this.match("#Unit$").list[0]};d.prototype=Object.create(u.prototype),n=function(e){var t=e.terms[e.terms.length-1];return!!t&&t.tags.Ordinal===!0},i=function(e){for(var t=0;ta[s].length)return n[a[s]];return null};t.exports=a},{"./suffix_rules":113}],113:[function(e,t,r){"use strict";var n,i,a,s={Gerund:["ing"],Actor:["erer"],Infinitive:["ate","ize","tion","rify","then","ress","ify","age","nce","ect","ise","ine","ish","ace","ash","ure","tch","end","ack","and","ute","ade","ock","ite","ase","ose","use","ive","int","nge","lay","est","ain","ant","ent","eed","er","le","own","unk","ung","en"],PastTense:["ed","lt","nt","pt","ew","ld"],PresentTense:["rks","cks","nks","ngs","mps","tes","zes","ers","les","acks","ends","ands","ocks","lays","eads","lls","els","ils","ows","nds","ays","ams","ars","ops","ffs","als","urs","lds","ews","ips","es","ts","ns","s"]},o={},u=Object.keys(s),l=u.length;for(n=0;l>n;n++)for(i=s[u[n]].length,a=0;i>a;a++)o[s[u[n]][a]]=u[n];t.exports=o},{}],114:[function(e,t,r){"use strict";var n=[[/y$/,"i"],[/([aeiou][n])$/,"$1n"]],i={collect:!0,exhaust:!0,convert:!0,digest:!0,discern:!0,dismiss:!0,reverse:!0,access:!0,collapse:!0,express:!0},a={eat:"edible",hear:"audible",see:"visible",defend:"defensible",write:"legible",move:"movable",divide:"divisible",perceive:"perceptible"},s=function(e){var t,r;if(a[e])return a[e];for(t=0;t0&&(t.push(h),r[c]="");return 0===t.length?[e]:t};t.exports=l},{"../data":6}],121:[function(e,t,r){"use strict";var n=e("./fix"),i={wanna:["want","to"],gonna:["going","to"],im:["i","am"],alot:["a","lot"],dont:["do","not"],dun:["do","not"],ive:["i","have"],"won't":["will","not"],wont:["will","not"],"can't":["can","not"],cant:["can","not"],cannot:["can","not"],aint:["is","not"],"ain't":["is","not"],"shan't":["should","not"],imma:["I","will"],"where'd":["where","did"],whered:["where","did"],"when'd":["when","did"],whend:["when","did"],"how'd":["how","did"],howd:["how","did"],"what'd":["what","did"],whatd:["what","did"],"let's":["let","us"],dunno:["do","not","know"],brb:["be","right","back"],gtg:["got","to","go"],irl:["in","real","life"],tbh:["to","be","honest"],imo:["in","my","opinion"],til:["today","i","learned"],rn:["right","now"]},a=function(e){var t,r,a,s=Object.keys(i);for(t=0;t0&&" - "===r.whitespace.before)return a=new i(""),a.silent_term="to",e.insertAt(t,a),e.terms[t-1].tag("NumberRange"),e.terms[t].tag("NumberRange"),e.terms[t].whitespace.before="",e.terms[t].whitespace.after="",e.terms[t+1].tag("NumberRange"),e;r.tags.NumberRange&&(s=r.text.split(/(-)/),s[1]="to",e=n(e,s,t),e.terms[t].tag("NumberRange"),e.terms[t+1].tag("NumberRange"),e.terms[t+2].tag("NumberRange"),t+=2)}return e};t.exports=a},{"../../term":169,"./fix":125}],125:[function(e,t,r){"use strict";var n=e("../../term"),i={not:"Negative",will:"Verb",would:"Modal",have:"Verb",are:"Copula",is:"Copula",am:"Verb"},a=function(e){i[e.silent_term]&&e.tag(i[e.silent_term])},s=function(e,t,r){var i,s,o=e.terms[r];return o.silent_term=t[0],o.tag("Contraction","tagger-contraction"),i=new n(""),i.silent_term=t[1],i.tag("Contraction","tagger-contraction"),e.insertAt(r+1,i),i.whitespace.before="",i.whitespace.after="",a(i),t[2]&&(s=new n(""),s.silent_term=t[2],e.insertAt(r+2,s),s.tag("Contraction","tagger-contraction"),a(s)),e};t.exports=s},{"../../term":169}],126:[function(e,t,r){"use strict";var n=e("./01-irregulars"),i=e("./02-hardOne"),a=e("./03-easyOnes"),s=e("./04-numberRange"),o=function(e){return e=n(e),e=i(e),e=a(e),e=s(e)};t.exports=o},{"./01-irregulars":121,"./02-hardOne":122,"./03-easyOnes":123,"./04-numberRange":124}],127:[function(e,t,r){"use strict";var n=/^([a-z]+)'([a-z][a-z]?)$/i,i=/[a-z]s'$/i,a={re:1,ve:1,ll:1,t:1,s:1,d:1,m:1},s=function(e){var t=e.text.match(n);return t&&t[1]&&1===a[t[2]]?("t"===t[2]&&t[1].match(/[a-z]n$/)&&(t[1]=t[1].replace(/n$/,""),t[2]="n't"),e.tags.TitleCase===!0&&(t[1]=t[1].replace(/^[a-z]/,function(e){return e.toUpperCase()})),{start:t[1],end:t[2]}):i.test(e.text)===!0?{start:e.normal.replace(/s'?$/,""),end:""}:null};t.exports=s},{}],128:[function(e,t,r){"use strict";var n=function(e){if(e.has("so")&&(e.match("so #Adjective").match("so").tag("Adverb","so-adv"),e.match("so #Noun").match("so").tag("Conjunction","so-conj"),e.match("do so").match("so").tag("Noun","so-noun")),e.has("#Determiner")&&(e.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),e.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),e.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),e.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),e.match("#Determiner #Infinitive #Adverb? #Verb").term(1).tag("Noun","correction-determiner5"),e.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),e.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun")),e.has("like")&&(e.match("just like").term(1).tag("Preposition","like-preposition"),e.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),e.match("#Verb like").term(1).tag("Adverb","verb-like"),e.match("#Adverb like").term(1).tag("Adverb","adverb-like")),e.has("#Value")&&(e.match("half a? #Value").tag("Value","half-a-value"),e.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),e.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),e.match("#Value+ #Currency").tag("Money","value-currency"),e.match("#Money and #Money #Currency?").tag("Money","money-and-money")),e.has("#Noun")&&(e.match("more #Noun").tag("Noun","more-noun"),e.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),e.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),e.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),e.has("#Organization")&&(e.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),e.match("#Organization #Country").tag("Organization","org-country"),e.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"))),e.has("#Verb")){e.match("still #Verb").term(0).tag("Adverb","still-verb"),e.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),e.match("is no #Verb").term(2).tag("Noun","is-no-verb"),e.match("#Verb than").term(0).tag("Noun","correction"),e.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),e.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),e.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question");var t="(#Adverb|not)+?";e.has(t)&&(e.match("(has|had) "+t+" #PastTense").not("#Verb$").tag("Auxiliary","had-walked"),e.match("#Copula "+t+" #Gerund").not("#Verb$").tag("Auxiliary","copula-walking"),e.match("(be|been) "+t+" #Gerund").not("#Verb$").tag("Auxiliary","be-walking"),e.match("(#Modal|did) "+t+" #Verb").not("#Verb$").tag("Auxiliary","modal-verb"),e.match("#Modal "+t+" have "+t+" had "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-have"),e.match("(#Modal) "+t+" be "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-be"),e.match("(#Modal|had|has) "+t+" been "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-be"))}return e.has("#Adjective")&&(e.match("still #Adjective").match("still").tag("Adverb","still-advb"),e.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),e.match("will #Adjective").term(1).tag("Verb","will-adj")),e.match("(foot|feet)").tag("Noun","foot-noun"),e.match("#Value (foot|feet)").term(1).tag("Unit","foot-unit"),e.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),e.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),e.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),e.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),e.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),e.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),e.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),e};t.exports=n},{}],129:[function(e,t,r){"use strict";var n={punctuation_step:e("./steps/01-punctuation_step"),lexicon_step:e("./steps/02-lexicon_step"),capital_step:e("./steps/03-capital_step"),web_step:e("./steps/04-web_step"),suffix_step:e("./steps/05-suffix_step"),neighbour_step:e("./steps/06-neighbour_step"),noun_fallback:e("./steps/07-noun_fallback"),date_step:e("./steps/08-date_step"),auxiliary_step:e("./steps/09-auxiliary_step"),negation_step:e("./steps/10-negation_step"),phrasal_step:e("./steps/12-phrasal_step"),comma_step:e("./steps/13-comma_step"),possessive_step:e("./steps/14-possessive_step"),value_step:e("./steps/15-value_step"),acronym_step:e("./steps/16-acronym_step"),emoji_step:e("./steps/17-emoji_step"),person_step:e("./steps/18-person_step"),quotation_step:e("./steps/19-quotation_step"),organization_step:e("./steps/20-organization_step"),plural_step:e("./steps/21-plural_step"),lumper:e("./lumper"),lexicon_lump:e("./lumper/lexicon_lump"),contraction:e("./contraction")},i=e("./corrections"),a=e("./phrase"),s=function(e){return e=n.punctuation_step(e),e=n.emoji_step(e),e=n.lexicon_step(e),e=n.lexicon_lump(e),e=n.web_step(e),e=n.suffix_step(e),e=n.neighbour_step(e),e=n.capital_step(e),e=n.noun_fallback(e),e=n.contraction(e),e=n.date_step(e),e=n.auxiliary_step(e),e=n.negation_step(e),e=n.phrasal_step(e),e=n.comma_step(e),e=n.possessive_step(e),e=n.value_step(e),e=n.acronym_step(e),e=n.person_step(e),e=n.quotation_step(e),e=n.organization_step(e),e=n.plural_step(e),e=n.lumper(e),e=i(e),e=a(e)};t.exports=s},{"./contraction":126,"./corrections":128,"./lumper":131,"./lumper/lexicon_lump":132,"./phrase":135,"./steps/01-punctuation_step":136,"./steps/02-lexicon_step":137,"./steps/03-capital_step":138,"./steps/04-web_step":139,"./steps/05-suffix_step":140,"./steps/06-neighbour_step":141,"./steps/07-noun_fallback":142,"./steps/08-date_step":143,"./steps/09-auxiliary_step":144,"./steps/10-negation_step":145,"./steps/12-phrasal_step":146,"./steps/13-comma_step":147,"./steps/14-possessive_step":148,"./steps/15-value_step":149,"./steps/16-acronym_step":150,"./steps/17-emoji_step":151,"./steps/18-person_step":152,"./steps/19-quotation_step":153,"./steps/20-organization_step":154,"./steps/21-plural_step":155}],130:[function(e,t,r){"use strict";var n=function(e){var t={};return e.forEach(function(e){Object.keys(e).forEach(function(r){var n,i,a=r.split(" ");a.length>1&&(n=a[0],t[n]=t[n]||{},i=a.slice(1).join(" "),t[n][i]=e[r])})}),t};t.exports=n},{}],131:[function(e,t,r){"use strict";var n=function(e){return e.match("#Noun (&|n) #Noun").lump().tag("Organization","Noun-&-Noun"),e.match("1 #Value #PhoneNumber").lump().tag("Organization","Noun-&-Noun"),e.match("#Holiday (day|eve)").lump().tag("Holiday","holiday-day"),e.match("#Noun #Actor").lump().tag("Actor","thing-doer"),e.match("(standard|daylight|summer|eastern|pacific|central|mountain) standard? time").lump().tag("Time","timezone"),e.match("#Demonym #Currency").lump().tag("Currency","demonym-currency"),e.match("#NumericValue #PhoneNumber").lump().tag("PhoneNumber","(800) PhoneNumber"),e};t.exports=n},{}],132:[function(e,t,r){"use strict";var n=e("../paths"),i=n.lexicon,a=n.tries,s=e("./firstWord"),o=s([i,a.multiples()]),u=function(e,t,r){var n=t+1;return r[e.slice(n,n+1).out("root")]?n+1:r[e.slice(n,n+2).out("root")]?n+2:r[e.slice(n,n+3).out("root")]?n+3:null},l=function(e,t){var r,n,i,a,s;for(r=0;r1&&a.test(e.text)===!0&&e.canBe("RomanNumeral")},o={a:!0,i:!0,u:!0,r:!0,c:!0,k:!0},u=function(e){return e.terms.forEach(function(e){var t,r,a=e.text;for(i.test(a)===!0&&e.tag("TitleCase","punct-rule"),a=a.replace(/[,\.\?]$/,""),t=0;t1&&(s=o(a[a.length-1],e))&&r.tag(s,"multiword-lexicon")))));return e};t.exports=u},{"../../tries":231,"../contraction/split":127,"../paths":133}],138:[function(e,t,r){"use strict";var n=function(e){var t,r,n;for(t=1;ta||(a=n-1),t=a;t>1;t-=1)if(r=e.normal.substr(n-t,n),void 0!==i[t][r])return i[t][r];return null},o=function(e){var t,r,i=e.normal.charAt(e.normal.length-1);if(void 0===n[i])return null;for(t=n[i],r=0;r1e3&&3e3>r&&e.terms[0].tag("Year",t)})},l=function(e,t){e.list.forEach(function(e){var r=parseInt(e.terms[0].normal,10);r&&r>1990&&2030>r&&e.terms[0].tag("Year",t)})},c=function(e){if(e.has(n)&&(e.match(n+" (#Determiner|#Value|#Date)").term(0).tag("Month","correction-may"),e.match("#Date "+n).term(1).tag("Month","correction-may"),e.match(i+" "+n).term(1).tag("Month","correction-may"),e.match("(next|this|last) "+n).term(1).tag("Month","correction-may")),e.has("#Month")&&(e.match("#Month #DateRange+").tag("Date","correction-numberRange"),e.match("#Value of? #Month").tag("Date","value-of-month"),e.match("#Cardinal #Month").tag("Date","cardinal-month"),e.match("#Month #Value to #Value").tag("Date","value-to-value"),e.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal")),e.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),e.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),e.has("#Value")&&(e.match("#Value #Abbreviation").tag("Value","value-abbr"),e.match("a #Value").tag("Value","a-value"),e.match("(minus|negative) #Value").tag("Value","minus-value"),e.match("#Value grand").tag("Value","value-grand"),e.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),e.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),e.match("#Value point #Value").tag("Value","value-point-value"),e.match(i+"? #Value #Duration").tag("Date","value-duration"),e.match("#Date #Value").tag("Date","date-value"),e.match("#Value #Date").tag("Date","value-date"),e.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction")),e.has("#Time")&&(e.match("#Cardinal #Time").tag("Time","value-time"),e.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),e.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),e.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr")),e.has(o)&&(e.match(i+"? "+a+" "+o).tag("Date","thisNext-season"),e.match("the? "+s+" of "+o).tag("Date","section-season")),e.has("#Date")&&(e.match("#Date the? #Ordinal").tag("Date","correction-date"),e.match(a+" #Date").tag("Date","thisNext-date"),e.match("due? (by|before|after|until) #Date").tag("Date","by-date"),e.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),e.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),e.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),e.match("#Date #Preposition #Date").tag("Date","date-prep-date"),e.match("the? "+s+" of #Date").tag("Date","section-of-date"),e.match("#Ordinal #Duration in #Date").tag("Date","duration-in-date"),e.match("(early|late) (at|in)? the? #Date").tag("Time","early-evening")),e.has("#Cardinal")){var t=e.match("#Date #Value #Cardinal").lastTerm();t.found&&u(t,"date-value-year"),t=e.match("#Date+ #Cardinal").lastTerm(),t.found&&u(t,"date-year"),t=e.match("#Month #Value #Cardinal").lastTerm(),t.found&&u(t,"month-value-year"),t=e.match("#Month #Value to #Value #Cardinal").lastTerm(),t.found&&u(t,"month-range-year"),t=e.match("(in|of|by|during|before|starting|ending|for|year) #Cardinal").lastTerm(),t.found&&u(t,"in-year"),t=e.match("#Cardinal !#Plural").firstTerm(),t.found&&l(t,"year-unsafe")}return e};t.exports=c},{}],144:[function(e,t,r){"use strict";var n={do:!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0},i=function(e){var t,r,i;for(t=0;t=n;n++)e.terms[n].tags.List=!0},s=function(e,t){var r,n=t,s=i(e.terms[t]),o=0,u=0,l=!1;for(t+=1;t0&&r.tags.Conjunction)l=!0;else{if(r.tags[s]){if(r.tags.Comma){u+=1,o=0;continue}if(u>0&&l)return a(e,n,t),!0}if(o+=1,o>5)return!1}return!1},o=function(e){var t,r,i,a,o;for(t=0;t=s;s++)if(i.test(e.terms[t+s].text)===!0){a(e,t,s+t),t+=s;break}return e};t.exports=s},{}],154:[function(e,t,r){"use strict";var n=e("../paths").tries.utils.orgWords,i=function(e){return!(!e.tags.Noun||e.tags.Pronoun||e.tags.Comma||e.tags.Possessive||e.tags.Place||!(e.tags.TitleCase||e.tags.Organization||e.tags.Acronym))},a=function(e){var t,r,a,s;for(t=0;tt;t++)r+=parseInt(9*Math.random(),10);return e+"-"+r};t.exports=n},{}],171:[function(e,t,r){"use strict";var n=e("../paths").tags,i={Auxiliary:1,Possessive:1,TitleCase:1,ClauseEnd:1,Comma:1,CamelCase:1,UpperCase:1,Hyphenated:1},a=function(e){var t=Object.keys(e.tags);return t=t.sort(),t=t.sort(function(e,t){return!i[t]&&n[e]&&n[t]?n[e].downward.length>n[t].downward.length?-1:1:-1}),t[0]};t.exports=a},{"../paths":185}],172:[function(e,t,r){"use strict";var n=function(e){var t={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tag("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,function(e){return e.toUpperCase()}),this.tag("#TitleCase","toTitleCase"),this},needsTitleCase:function(){var e,t,r,n=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(e=0;e1&&s.test(e.normal)===!0&&a.test(e.normal)===!1)return!1;if(o.test(e.normal)===!0){if(/[a-z][0-9][a-z]/.test(e.normal)===!0)return!1;if(/^([$-])*?([0-9,\.])*?([s\$%])*?$/.test(e.normal)===!1)return!1}return!0}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=u},{"./bestTag":171,"./normalize/isAcronym":174}],174:[function(e,t,r){"use strict";var n=/([A-Z]\.)+[A-Z]?$/,i=/^[A-Z]\.$/,a=/[A-Z]{3}$/,s=function(e){return n.test(e)===!0||i.test(e)===!0||a.test(e)===!0};t.exports=s},{}],175:[function(e,t,r){"use strict";var n=e("./unicode"),i=e("./isAcronym");r.normalize=function(e){return e=e||"",e=e.toLowerCase(),e=e.trim(),e=n(e),e=e.replace(/^[#@]/,""),e=e.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),e=e.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),e=e.replace(/\u2026/g,"..."),e=e.replace(/\u2013/g,"-"),/^[:;]/.test(e)===!1&&(e=e.replace(/\.{3,}$/g,""),e=e.replace(/['",\.!:;\?\)]$/g,""),e=e.replace(/^['"\(]/g,"")),e},r.addNormal=function(e){var t=e._text||"";t=r.normalize(t),i(e._text)&&(t=t.replace(/\./g,"")),t=t.replace(/([0-9]),([0-9])/g,"$1$2"),e.normal=t}},{"./isAcronym":174,"./unicode":177}],176:[function(e,t,r){"use strict";var n=function(e){var t=e.normal||e.silent_term||"";t=t.replace(/'s\b/,""),t=t.replace(/'\b/,""),e.root=t};t.exports=n},{}],177:[function(e,t,r){"use strict";var n,i={"!":"¡","?":"¿Ɂ",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:"ŹźŻżŽžƩƵƶȤȥɀΖζ"},a={};Object.keys(i).forEach(function(e){i[e].split("").forEach(function(t){a[t]=e})}),n=function(e){var t=e.split("");return t.forEach(function(e,r){a[e]&&(t[r]=a[e])}),t.join("")},t.exports=n},{}],178:[function(e,t,r){"use strict";var n=e("./renderHtml"),i=e("../../paths").fns,a={text:function(e){return e.whitespace.before+e._text+e.whitespace.after},normal:function(e){return e.normal},root:function(e){return e.root||e.normal},html:function(e){return n(e)},tags:function(e){return{text:e.text,normal:e.normal,tags:Object.keys(e.tags)}},debug:function(e){var t,r=Object.keys(e.tags).map(function(e){return i.printTag(e)}).join(", "),n=e.text;n="'"+i.yellow(n||"-")+"'",t="",e.silent_term&&(t="["+e.silent_term+"]"),n=i.leftPad(n,25),n+=i.leftPad(t,5),console.log(" "+n+" - "+r)}},s=function(e){return e.prototype.out=function(e){return a[e]||(e="text"),a[e](this)},e};t.exports=s},{"../../paths":185,"./renderHtml":179}],179:[function(e,t,r){"use strict";var n=function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"," ":" "};return e.replace(/[<>&"' ]/g,function(e){return t[e]})},i=function(e){var t="(?:[^\"'>]|\"[^\"]*\"|'[^']*')*",r=RegExp("<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b"+t+">[\\s\\S]*?[\\s\\S]*?","gi"),n=void 0;do n=e,e=e.replace(r,"");while(e!==n);return e.replace(/'+t+"",n(e.whitespace.before)+r+n(e.whitespace.after)};t.exports=a},{}],180:[function(e,t,r){"use strict";var n=/([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i,i=function(e){var t={endPunctuation:function(){var e,t=this.text.match(n);return t&&(e={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"},void 0!==e[t[2]])?t[2]:null},setPunctuation:function(e){return this.killPunctuation(),this.text+=e,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(n,"$1"),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=i},{}],181:[function(e,t,r){"use strict";var n=e("../../paths"),i=n.tags,a=function e(t,r){var n,a;if(void 0===i[r])return!0;for(n=i[r].enemy||[],a=0;a "+r))}},l=function(e,t,r){if(e&&t){if(s.isArray(t))return void t.forEach(function(t){return u(e,t,r)});u(e,t,r),a[t]&&void 0!==a[t].also&&u(e,a[t].also,r)}};t.exports=l},{"../../paths":185,"./unTag":184}],184:[function(e,t,r){"use strict";var n=e("../../paths"),i=n.log,a=n.tags,s=function e(t,r,n){var s,o;if(t.tags[r]&&(i.unTag(t,r,n),delete t.tags[r],a[r]))for(s=a[r].downward,o=0;o0&&(m[m.length-1]+=c),m.map(function(e){return new n(e)})};t.exports=o},{"../term":169}],188:[function(e,t,r){"use strict";t.exports={parent:{get:function(){return this.refText||this},set:function(e){return this.refText=e,this}},parentTerms:{get:function(){return this.refTerms||this},set:function(e){return this.refTerms=e,this}},dirty:{get:function(){for(var e=0;e0}},length:{get:function(){return this.terms.length}},isA:{get:function(){return"Terms"}},whitespace:{get:function(){var e=this;return{before:function(t){return e.firstTerm().whitespace.before=t,e},after:function(t){return e.lastTerm().whitespace.after=t,e}}}}}},{}],189:[function(e,t,r){"use strict";var n=e("./build"),i=e("./getters"),a=function(e,t,r,n){var a,s,o=this;for(this.terms=e,this.lexicon=t,this.refText=r,this._refTerms=n,this._cacheWords={},this.count=void 0,this.get=function(e){return o.terms[e]},a=Object.keys(i),s=0;s0);r++)if(a=i(this,r,t))return a;return null},has:function(e){return null!==this.matchOne(e)}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=o},{"../../result":26,"./lib":192,"./lib/startHere":195,"./lib/syntax":196}],191:[function(e,t,r){"use strict";var n=function(e,t){var r,n,i,a,s;for(r=0;r0&&t[0]&&t[0].starting);o++)u=i(e,o,t,r),u&&(s.push(u),l=u.length-1,o+=l);return s};t.exports=s},{"./fastPass":191,"./startHere":195,"./syntax":196}],193:[function(e,t,r){"use strict";var n=function(e,t){if(!e||!t)return!1;if(t.anyOne===!0)return!0;if(void 0!==t.tag)return e.tags[t.tag];if(void 0!==t.normal)return t.normal===e.normal||t.normal===e.silent_term;if(void 0!==t.oneOf){for(var r=0;r0)return null;if(l.ending===!0&&b!==e.length-1&&!l.minMax)return null;if(r[o].astrix!==!0)if(void 0===r[o].minMax)if(l.optional!==!0)if(n(u,l,s))b+=1,l.consecutive===!0&&(v=r[o+1],b=a(e,b,l,v));else if(!u.silent_term||u.normal){if(l.optional!==!0)return null}else{if(0===o)return null;b+=1,o-=1}else g=r[o+1],b=a(e,b,l,g);else{if(!c)return m=e.length,f=r[o].minMax.max+t,r[o].ending&&m>f?null:(m>f&&(m=f),e.terms.slice(t,m));if(d=i(e,b,c),!d)return null;if(p=r[o].minMax,dp.max)return null;b=d+1,o+=1}else{if(!c)return e.terms.slice(t,e.length);if(h=i(e,b,r[o+1]),!h)return null;b=h+1,o+=1}}return e.terms.slice(t,b)};t.exports=s},{"./isMatch":193}],196:[function(e,t,r){"use strict";var n=e("./paths").fns,i=function(e){return e.substr(1,e.length)},a=function(e){return e.substring(0,e.length-1)},s=function(e){var t,r,s;return e=e||"",e=e.trim(),t={},"!"===e.charAt(0)&&(e=i(e),t.negative=!0),"^"===e.charAt(0)&&(e=i(e),t.starting=!0),"$"===e.charAt(e.length-1)&&(e=a(e),t.ending=!0),"?"===e.charAt(e.length-1)&&(e=a(e),t.optional=!0),"+"===e.charAt(e.length-1)&&(e=a(e),t.consecutive=!0),"#"===e.charAt(0)&&(e=i(e),t.tag=n.titleCase(e),e=""),"("===e.charAt(0)&&")"===e.charAt(e.length-1)&&(e=a(e),e=i(e),r=e.split(/\|/g),t.oneOf={terms:{},tagArr:[]},r.forEach(function(e){if("#"===e.charAt(0)){var r=e.substr(1,e.length);r=n.titleCase(r),t.oneOf.tagArr.push(r)}else t.oneOf.terms[e]=!0}),e=""),"{"===e.charAt(0)&&"}"===e.charAt(e.length-1)&&(s=e.match(/\{([0-9]+), ?([0-9]+)\}/),t.minMax={min:parseInt(s[1],10),max:parseInt(s[2],10)},e=""),"."===e&&(t.anyOne=!0,e=""),"*"===e&&(t.astrix=!0,e=""),""!==e&&(t.normal=e.toLowerCase()),t},o=function(e){return e=e||"",e=e.split(/ +/),e.map(s)};t.exports=o},{"./paths":194}],197:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./lib/syntax"),a=e("./lib/startHere"),s=e("../../result"),o=function(e){ -var t={notObj:function(t,r){var n=[],i=[];return t.terms.forEach(function(e){r.hasOwnProperty(e.normal)?(i.length&&n.push(i),i=[]):i.push(e)}),i.length&&n.push(i),n=n.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new s(n,t.lexicon,t.parent)},notString:function(t,r,n){var o,u,l=[],c=i(r),h=[];for(o=0;o0&&(l.push(h),h=[]),o+=u.length-1):h.push(t.terms[o]);return h.length>0&&l.push(h),l=l.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new s(l,t.lexicon,t.parent)}};return t.notArray=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t.notObj(e,n)},e.prototype.not=function(e,r){if("object"===(void 0===e?"undefined":n(e))){var i=Object.prototype.toString.call(e);if("[object Array]"===i)return t.notArray(this,e,r);if("[object Object]"===i)return t.notObj(this,e,r)}return"string"==typeof e?t.notString(this,e,r):this},e};t.exports=o},{"../../result":26,"./lib/startHere":195,"./lib/syntax":196}],198:[function(e,t,r){"use strict";var n=e("../mutate"),i=function(e){return e.prototype.delete=function(e){var t,r;return this.found?e?(t=this.match(e),t.found?r=n.deleteThese(this,t):this.parentTerms):(this.parentTerms=n.deleteThese(this.parentTerms,this),this):this},e};t.exports=i},{"../mutate":208}],199:[function(e,t,r){"use strict";var n=e("../mutate"),i=function(e,t){return e.terms.length&&e.terms[t]?(e.terms[t].whitespace.before=" ",e):e},a=function(e){var t=function(t){if("Terms"===t.isA)return t;if("Term"===t.isA)return new e([t]);var r=e.fromString(t);return r.tagger(),r},r={insertBefore:function(e,r){var a,s=this.terms.length,o=t(e);return r&&o.tag(r),a=this.index(),i(this.parentTerms,a),a>0&&i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,a,o),this.terms.length===s&&(this.terms=o.terms.concat(this.terms)),this},insertAfter:function(e,r){var a,s=this.terms.length,o=t(e);return r&&o.tag(r),a=this.terms[this.terms.length-1].index(),i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,a+1,o),this.terms.length===s&&(this.terms=this.terms.concat(o.terms)),this},insertAt:function(e,r,a){var s,o;return 0>e&&(e=0),s=this.terms.length,o=t(r),a&&o.tag(a),e>0&&i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,e,o),this.terms.length===s&&Array.prototype.splice.apply(this.terms,[e,0].concat(o.terms)),0===e&&(this.terms[0].whitespace.before="",o.terms[o.terms.length-1].whitespace.after=" "),this}};return Object.keys(r).forEach(function(t){e.prototype[t]=r[t]}),e};t.exports=a},{"../mutate":208}],200:[function(e,t,r){"use strict";var n=function(e){var t=[["tag"],["unTag"],["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]];return t.forEach(function(t){var r=t[0],n=t[1],i=function(){var e=arguments;return this.terms.forEach(function(t){t[r].apply(t,e)}),n&&this.tag(n,r),this};e.prototype[r]=i}),e};t.exports=n},{}],201:[function(e,t,r){"use strict";var n=e("../../../term"),i=function(e,t){var r=e.whitespace.before+e.text+e.whitespace.after;return r+=t.whitespace.before+t.text+t.whitespace.after},a=function(e,t){var r,a=e.terms[t],s=e.terms[t+1];s&&(r=i(a,s),e.terms[t]=new n(r,a.context),e.terms[t].normal=a.normal+" "+s.normal,e.terms[t].parentTerms=e.terms[t+1].parentTerms,e.terms[t+1]=null,e.terms=e.terms.filter(function(e){return null!==e}))};t.exports=a},{"../../../term":169}],202:[function(e,t,r){"use strict";var n=e("./combine"),i=e("../../mutate"),a=function(e,t){var r,i,a=e.terms.length;for(r=0;a>r;r++)n(e,0);return i=e.terms[0],i.tags=t,i},s=function(e){return e.prototype.lump=function(){var e,t,r=this.index(),n={};return this.terms.forEach(function(e){Object.keys(e.tags).forEach(function(e){return n[e]=!0})}),this.parentTerms===this?(e=a(this,n),this.terms=[e],this):(this.parentTerms=i.deleteThese(this.parentTerms,this),t=a(this,n),this.parentTerms.terms=i.insertAt(this.parentTerms.terms,r,t),this)},e};t.exports=s},{"../../mutate":208,"./combine":201}],203:[function(e,t,r){"use strict";var n=e("../../tagger"),i=function(e){var t={tagger:function(){return n(this),this},firstTerm:function(){return this.terms[0]},lastTerm:function(){return this.terms[this.terms.length-1]},all:function(){return this.parent},data:function(){return{text:this.out("text"),normal:this.out("normal")}},term:function(e){return this.terms[e]},first:function(){var t=this.terms[0];return new e([t],this.lexicon,this.refText,this.refTerms)},last:function(){var t=this.terms[this.terms.length-1];return new e([t],this.lexicon,this.refText,this.refTerms)},slice:function(t,r){var n=this.terms.slice(t,r);return new e(n,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},index:function(){var e,t=this.parentTerms,r=this.terms[0];if(!t||!r)return null;for(e=0;e0&&i[0]&&!i[0].whitespace.before&&(i[0].whitespace.before=" "),Array.prototype.splice.apply(e,[t,0].concat(i)),e}},{}],209:[function(e,t,r){"use strict";t.exports={data:e("../data"),lexicon:e("../data"),fns:e("../fns"),Term:e("../term")}},{"../data":6,"../fns":21,"../term":169}],210:[function(e,t,r){"use strict";t.exports="0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt"},{}],211:[function(e,t,r){"use strict";t.exports="a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori"},{}],212:[function(e,t,r){"use strict";t.exports="aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl"},{}],213:[function(e,t,r){"use strict";t.exports="a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dellín,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0̇zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg"},{}],214:[function(e,t,r){"use strict";t.exports="0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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"},{}],215:[function(e,t,r){"use strict";t.exports="0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an"},{}],216:[function(e,t,r){"use strict";t.exports="aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la"},{}],217:[function(e,t,r){"use strict";t.exports="0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il"},{}],218:[function(e,t,r){"use strict";t.exports="aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey"},{}],219:[function(e,t,r){"use strict";t.exports="0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve"},{}],220:[function(e,t,r){"use strict";t.exports="0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,ñ6;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams"},{}],221:[function(e,t,r){"use strict";t.exports="0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on"},{}],222:[function(e,t,r){"use strict";t.exports="ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s"},{}],223:[function(e,t,r){"use strict";t.exports="0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on"},{}],224:[function(e,t,r){"use strict";t.exports="0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,é;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c"},{}],225:[function(e,t,r){"use strict";t.exports="0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut"; -},{}],226:[function(e,t,r){"use strict";t.exports="'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut"},{}],227:[function(e,t,r){"use strict";t.exports="aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt"},{}],228:[function(e,t,r){"use strict";t.exports="0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls"},{}],229:[function(e,t,r){"use strict";t.exports="0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce"},{}],230:[function(e,t,r){"use strict";var n,i,a=36,s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",o=s.split("").reduce(function(e,t,r){return e[t]=r,e},{}),u=function(e){var t,r,n,i;if(void 0!==s[e])return s[e];for(t=1,r=a,n="";e>=r;e-=r,t++,r*=a);for(;t--;)i=e%a,n=String.fromCharCode((10>i?48:55)+i)+n,e=(e-i)/a;return n},l=function(e){var t,r,n,i,s,u;if(void 0!==o[e])return o[e];for(t=0,r=1,n=a,i=1;r=0;s--,i*=a)u=e.charCodeAt(s)-48,u>10&&(u-=7),t+=u*i;return t},c={toAlphaCode:u,fromAlphaCode:l},h=function(e){var t,r,n=RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(t=0;t (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"10.0.0",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build/index.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js",lint:"node ./scripts/prepublish/linter.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"^6.24.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1","browserify-glob":"^0.2.0","bundle-collapser":"^1.2.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",efrt:"0.0.6",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(e,t,r){"use strict";var n=e("../fns"),i={erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"},a=["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"];t.exports=n.uncompress_suffixes(a,i)},{"../fns":5}],3:[function(e,t,r){"use strict";t.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],4:[function(e,t,r){"use strict";var n,i,a,s,o,u=["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],l=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(n=0;6>=n;n++)l.push(l[n]+"s");for(i=["millisecond","minute","hour","day","week","month","year","decade"],a=i.length,s=0;a>s;s++)i.push(i[s]),i.push(i[s]+"s");i.push("century"),i.push("centuries"),i.push("seconds"),o=["yesterday","today","tomorrow","weekend","tonight"],t.exports={days:l,months:u,durations:i,relative:o}},{}],5:[function(e,t,r){"use strict";r.extendObj=function(e,t){return Object.keys(t).forEach(function(r){e[r]=t[r]}),e},r.uncompress_suffixes=function(e,t){var r,n,i,a=Object.keys(t),s=a.length;for(r=0;s>r;r++)for(n=t[a[r]].split(","),i=0;ir;r++)l[e[r]]=t},m=i.units.words.filter(function(e){return e.length>1});h(m,"Unit"),h(i.dates.durations,"Duration"),c(i.abbreviations),n=i.numbers.ordinal,h(Object.keys(n.ones),"Ordinal"),h(Object.keys(n.teens),"Ordinal"),h(Object.keys(n.tens),"Ordinal"),h(Object.keys(n.multiples),"Ordinal"),n=i.numbers.cardinal,h(Object.keys(n.ones),"Cardinal"),h(Object.keys(n.teens),"Cardinal"),h(Object.keys(n.tens),"Cardinal"),h(Object.keys(n.multiples),"Cardinal"),h(Object.keys(i.numbers.prefixes),"Cardinal"),h(Object.keys(i.irregular_plurals.toPlural),"Singular"),h(Object.keys(i.irregular_plurals.toSingle),"Plural"),h(i.dates.days,"WeekDay"),h(i.dates.months,"Month"),h(i.dates.relative,"RelativeDay"),Object.keys(i.irregular_verbs).forEach(function(e){var t,r;l[e]="Infinitive",t=i.irregular_verbs[e],Object.keys(t).forEach(function(e){t[e]&&(l[t[e]]=e)}),r=u(e),Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),i.verbs.forEach(function(e){var t=u(e);Object.keys(t).forEach(function(e){t[e]&&!l[t[e]]&&(l[t[e]]=e)}),l[o(e)]="Adjective"}),i.superlatives.forEach(function(e){l[s.toNoun(e)]="Noun",l[s.toAdverb(e)]="Adverb",l[s.toSuperlative(e)]="Superlative",l[s.toComparative(e)]="Comparative"}),i.verbConverts.forEach(function(e){var t,r;l[s.toNoun(e)]="Noun",l[s.toAdverb(e)]="Adverb",l[s.toSuperlative(e)]="Superlative",l[s.toComparative(e)]="Comparative",t=s.toVerb(e),l[t]="Verb",r=u(t),Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),h(i.notable_people.female,"FemaleName"),h(i.notable_people.male,"MaleName"),h(i.titles,"Singular"),h(i.verbConverts,"Adjective"),h(i.superlatives,"Adjective"),h(i.currencies,"Currency"),c(i.misc),delete l[""],delete l[" "],delete l[null],t.exports=l},{"../result/subset/adjectives/methods":44,"../result/subset/verbs/methods/conjugate/faster":108,"../result/subset/verbs/methods/toAdjective":118,"./fns":5,"./index":6}],8:[function(e,t,r){"use strict";t.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],9:[function(e,t,r){"use strict";var n,i,a,s={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},o={Organization:["20th century fox","3m","7-eleven","g8","motel 6","vh1"],Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise","as far as","as if","in case","provided that","supposing","no matter","yet"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock","all day","at night"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:e("./determiners"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},u=Object.keys(o);for(n=0;nn;n++)s[a[n]]?a.push(s[a[n]]):a.push(a[n]+"s");t.exports=i.concat(a)},{}],15:[function(e,t,r){"use strict";var n={ones:{zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9},teens:{ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19},tens:{twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90},multiples:{hundred:100,thousand:1e3,grand:1e3,million:1e6,billion:1e9,trillion:1e12,quadrillion:1e15,quintillion:1e18,sextillion:1e21,septillion:1e24}},i={ones:{zeroth:0,first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9},teens:{tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19},tens:{twentieth:20,thirtieth:30,fourtieth:40,fiftieth:50,sixtieth:60,seventieth:70,eightieth:80,ninetieth:90},multiples:{hundredth:100,thousandth:1e3,millionth:1e6,billionth:1e9,trillionth:1e12,quadrillionth:1e15,quintillionth:1e18,sextillionth:1e21,septillionth:1e24}},a={yotta:1,zetta:1,exa:1,peta:1,tera:1,giga:1,mega:1,kilo:1,hecto:1,deka:1,deci:1,centi:1,milli:1,micro:1,nano:1,pico:1,femto:1,atto:1,zepto:1,yocto:1,square:1,cubic:1,quartic:1};t.exports={cardinal:n,ordinal:i,prefixes:a}},{}],16:[function(e,t,r){"use strict";var n=e("./numbers"),i={},a={};Object.keys(n.ordinal).forEach(function(e){var t,r=Object.keys(n.ordinal[e]),s=Object.keys(n.cardinal[e]);for(t=0;t1&&(i[t]=!0);var r=n[e][t];i[r]=!0,i[r+"s"]=!0})}),i=Object.keys(i),t.exports={words:i,units:n}},{}],18:[function(e,t,r){"use strict";var n=e("./participles"),i={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},puke:{Gerund:"puking"},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam",Gerund:"swimming"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}},a=[["break",{PastTense:"broke"}],["catch",{PastTense:"caught"}],["do",{PastTense:"did",PresentTense:"does"}],["bind",{PastTense:"bound"}],["spread",{PastTense:"spread"}]];a.forEach(function(e){i[e[0]]=e[1]}),Object.keys(n).forEach(function(e){i[e]?i[e].Participle=n[e]:i[e]={Participle:n[e]}}),t.exports=i},{"./participles":19}],19:[function(e,t,r){"use strict";t.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],20:[function(e,t,r){"use strict";var n=e("../fns"),i={prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"},a=["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"];t.exports=n.uncompress_suffixes(a,i)},{"../fns":5}],21:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./tagset"),a={reset:"",red:"",green:"",yellow:"",blue:"",magenta:"",cyan:"",black:""};void 0===t&&Object.keys(a).forEach(function(e){a[e]=""}),r.ensureString=function(e){return"string"==typeof e?e:"number"==typeof e?""+e:""},r.ensureObject=function(e){return"object"!==(void 0===e?"undefined":n(e))?{}:null===e||e instanceof Array?{}:e},r.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},r.copy=function(e){var t={};return e=r.ensureObject(e),Object.keys(e).forEach(function(r){t[r]=e[r]}),t},r.extend=function(e,t){var n,i;for(e=r.copy(e),n=Object.keys(t),i=0;i "+t,i+=n.rightPad(r||"",15),console.log("%c"+i," color: #a2c99c")},a=function(e,t,r){var i=e.normal||"["+e.silent_term+"]";i=n.leftPad("'"+i+"'",12),i+=" ~* "+t,i+=" "+(r||""),console.log("%c"+i," color: #b66a6a")};t.exports={tag:i,untag:a}},{"../fns":21}],24:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./client"),a=e("./server"),s=!1;t.exports={enable:function(e){void 0===e&&(e=!0),s=e},tag:function(e,t,r){s!==!0&&"tagger"!==s||(void 0!==("undefined"==typeof window?"undefined":n(window))?i.tag(e,t,r):a.tag(e,t,r))},unTag:function(e,t,r){ +s!==!0&&"tagger"!==s||(void 0!==("undefined"==typeof window?"undefined":n(window))?i.untag(e,t,r):a.untag(e,t,r))}}},{"./client":23,"./server":25}],25:[function(e,t,r){"use strict";var n=e("../fns"),i=function(e,t,r){var i=e.normal||"["+e.silent_term+"]";i=n.yellow(i),i=n.leftPad("'"+i+"'",20),i+=" -> "+n.printTag(t),i=n.leftPad(i,54),console.log(" "+i+"("+n.cyan(r||"")+")")},a=function(e,t,r){var i="-"+e.normal+"-";i=n.red(i),i=n.leftPad(i,20),i+=" ~* "+n.red(t),i=n.leftPad(i,54),console.log(" "+i+"("+n.red(r||"")+")")};t.exports={tag:i,untag:a}},{"../fns":21}],26:[function(e,t,r){"use strict";var n=e("./index"),i=e("./tokenize"),a=e("./paths"),s=a.Terms,o=a.fns,u=e("../term/methods/normalize/normalize").normalize,l=function(e){return e=e||{},Object.keys(e).reduce(function(t,r){t[r]=e[r];var n=u(r);return n=n.replace(/\s+/," "),n=n.replace(/[.\?\!]/g,""),r!==n&&(t[n]=e[r]),t},{})},c=function(e,t){var r,a,u=[];return o.isArray(e)?u=e:(e=o.ensureString(e),u=i(e)),t=l(t),r=u.map(function(e){return s.fromString(e,t)}),a=new n(r,t),a.list.forEach(function(e){e.refText=a}),a};t.exports=c},{"../term/methods/normalize/normalize":179,"./index":28,"./paths":40,"./tokenize":124}],27:[function(e,t,r){"use strict";t.exports={found:function(){return this.list.length>0},parent:function(){return this.reference||this},length:function(){return this.list.length},isA:function(){return"Text"},whitespace:function(){var e=this;return{before:function(t){return e.list.forEach(function(e){e.whitespace.before(t)}),e},after:function(t){return e.list.forEach(function(e){e.whitespace.after(t)}),e}}}}},{}],28:[function(e,t,r){"use strict";function n(e,t,r){var n,i;for(this.list=e||[],this.lexicon=t,this.reference=r,n=Object.keys(a),i=0;i0&&o.push(a));return s=this.parent||this,new e(o,this.lexicon,s)},after:function(t){var r,n,i,a,s,o,u=[];for(r=0;r0&&u.push(s));return o=this.parent||this,new e(u,this.lexicon,o)}};return s.and=s.match,e.addMethods(e,s),e};t.exports=a},{"../../../terms":194,"../../../terms/match/lib/syntax":202}],31:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("../../terms"),a=function(e){var t={all:function(){return this.parent},index:function(){return this.list.map(function(e){return e.index()})},wordCount:function(){return this.terms().length},data:function(){return this.list.map(function(e){return e.data()})},debug:function(e){return out(this,"debug",e)},clone:function(){var t=this.list.map(function(e){return e.clone()});return new e(t)},term:function(t){var r=this,n=this.list.map(function(e){var n=[],a=e.terms[t];return a&&(n=[a]),new i(n,r.lexicon,r.refText,r.refTerms)});return new e(n,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(e,t){return this.list=this.list.slice(e,t),this},get:function(t){if(!t&&0!==t||!this.list[t])return new e([],this.lexicon,this.parent);var r=this.list[t];return new e([r],this.lexicon,this.parent)},first:function(t){return t||0===t?new e(this.list.slice(0,t),this.lexicon,this.parent):this.get(0)},last:function(t){var r,n;return t||0===t?(r=this.list.length,n=r-t,new e(this.list.slice(n,r),this.lexicon,this.parent)):this.get(this.list.length-1)},concat:function(){var e,t;for(e=0;er&&(i=r),n=n.concat(this.list.slice(0,i))),new e(n,this.lexicon,this.parent)}};e.addMethods(e,t)};t.exports=a},{"../../terms":194}],32:[function(e,t,r){"use strict";var n={whitespace:!0,case:!0,numbers:!0,punctuation:!0,unicode:!0,contractions:!0},i={whitespace:function(e){return e.terms().list.forEach(function(e,t){var r=e.terms[0];t>0?r.whitespace.before=" ":0===t&&(r.whitespace.before=""),r.whitespace.after=""}),e},case:function(e){return e.list.forEach(function(e){e.terms.forEach(function(t,r){0===r||t.tags.Person||t.tags.Place||t.tags.Organization?e.toTitleCase():e.toLowerCase()})}),e},numbers:function(e){return e.values().toNumber()},punctuation:function(e){return e.list.forEach(function(e){var t,r,n;for(e.terms[0]._text=e.terms[0]._text.replace(/^¿/,""),t=0;t"},"");return" "+e+"\n"},terms:function(e){var t=[];return e.list.forEach(function(e){e.terms.forEach(function(e){t.push({text:e.text,normal:e.normal,tags:Object.keys(e.tags)})})}),t},debug:function(e){return console.log("===="),e.list.forEach(function(e){console.log(" --"),e.debug()}),e},topk:function(e){return i(e)}};o.plaintext=o.text,o.normalized=o.normal,o.colors=o.color,o.tags=o.terms,o.offset=o.offsets,o.idexes=o.index,o.frequency=o.topk,o.freq=o.topk,o.arr=o.array,n=function(e){return e.prototype.out=function(e){return o[e]?o[e](this):o.text(this)},e.prototype.debug=function(){return o.debug(this)},e},t.exports=n},{"./indexes":34,"./offset":35,"./topk":36}],34:[function(e,t,r){"use strict";var n=function(e){var t,r,n=[],i={};return e.terms().list.forEach(function(e){i[e.terms[0].uid]=!0}),t=0,r=e.all(),r.list.forEach(function(e,r){e.terms.forEach(function(e,a){void 0!==i[e.uid]&&n.push({text:e.text,normal:e.normal,term:t,sentence:r,sentenceTerm:a}),t+=1})}),n};t.exports=n},{}],35:[function(e,t,r){"use strict";var n=function(e,t){var r,n,i,a=0;for(r=0;rt.count?-1:1}),t&&(r=r.splice(0,t)),r};t.exports=n},{}],37:[function(e,t,r){"use strict";var n=e("./methods"),i=function(e){var t={sort:function(t){return t=t||"alphabetical",t=t.toLowerCase(),t&&"alpha"!==t&&"alphabetical"!==t?"chron"===t||"chronological"===t?n.chron(this,e):"length"===t?n.lengthFn(this,e):"freq"===t||"frequency"===t?n.freq(this,e):"wordcount"===t?n.wordCount(this,e):this:n.alpha(this,e)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){var e={};return this.list=this.list.filter(function(t){var r=t.out("root");return!e[r]&&(e[r]=!0,!0)}),this}};return e.addMethods(e,t),e};t.exports=i},{"./methods":38}],38:[function(e,t,r){"use strict";var n=function(e){return e=e.sort(function(e,t){return e.index>t.index?1:e.index===t.index?0:-1}),e.map(function(e){return e.ts})};r.alpha=function(e){return e.list.sort(function(e,t){if(e===t)return 0;if(e.terms[0]&&t.terms[0]){if(e.terms[0].root>t.terms[0].root)return 1;if(e.terms[0].roott.out("root")?1:-1}),e},r.chron=function(e){var t=e.list.map(function(e){return{ts:e,index:e.termIndex()}});return e.list=n(t),e},r.lengthFn=function(e){var t=e.list.map(function(e){return{ts:e,index:e.chars()}});return e.list=n(t).reverse(),e},r.wordCount=function(e){var t=e.list.map(function(e){return{ts:e,index:e.length}});return e.list=n(t),e},r.freq=function(e){var t,r={};return e.list.forEach(function(e){var t=e.out("root");r[t]=r[t]||0,r[t]+=1}),t=e.list.map(function(e){var t=r[e.out("root")]||0;return{ts:e,index:t*-1}}),e.list=n(t),e}},{}],39:[function(e,t,r){"use strict";var n=function(e){var t={splitAfter:function(e,t){var r=[];return this.list.forEach(function(n){n.splitAfter(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitBefore:function(e,t){var r=[];return this.list.forEach(function(n){n.splitBefore(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitOn:function(e,t){var r=[];return this.list.forEach(function(n){n.splitOn(e,t).forEach(function(e){r.push(e)})}),this.list=r,this}};return e.addMethods(e,t),e};t.exports=n},{}],40:[function(e,t,r){"use strict";t.exports={fns:e("../fns"),data:e("../data"),Terms:e("../terms"),tags:e("../tagset")}},{"../data":6,"../fns":21,"../tagset":167,"../terms":194}],41:[function(e,t,r){"use strict";var n=e("../../index"),i={data:function(){return this.terms().list.map(function(e){var t=e.terms[0],r=t.text.toUpperCase().replace(/\./g).split("");return{periods:r.join("."),normal:r.join(""),text:t.text}})}},a=function(e,t){return e=e.match("#Acronym"),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(i,a)},{"../../index":28}],42:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./methods"),a={data:function(){var e=this;return this.list.map(function(t){var r=t.out("normal");return{comparative:i.toComparative(r),superlative:i.toSuperlative(r),adverbForm:i.toAdverb(r),nounForm:i.toNoun(r),verbForm:i.toVerb(r),normal:r,text:e.out("text")}})}},s=function(e,t){return e=e.match("#Adjective"),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(a,s)},{"../../index":28,"./methods":44}],43:[function(e,t,r){"use strict";var n=e("../../../../data"),i={};n.superlatives=n.superlatives||[],n.superlatives.forEach(function(e){i[e]=!0}),n.verbConverts=n.verbConverts||[],n.verbConverts.forEach(function(e){i[e]=!0}),t.exports=i},{"../../../../data":6}],44:[function(e,t,r){"use strict";t.exports={toNoun:e("./toNoun"),toSuperlative:e("./toSuperlative"),toComparative:e("./toComparative"),toAdverb:e("./toAdverb"),toVerb:e("./toVerb")}},{"./toAdverb":45,"./toComparative":46,"./toNoun":47,"./toSuperlative":48,"./toVerb":49}],45:[function(e,t,r){"use strict";var n=function(e){var t,r,n={idle:"idly",public:"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},i={foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,super:1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1},a=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],s=[/airs$/,/ll$/,/ee.$/,/ile$/];if(1===i[e])return null;if(void 0!==n[e])return n[e];if(e.length<=3)return null;for(t=0;te&&e>0)},o=function(e){return!!(e&&e>1e3&&3e3>e)},u=function(e){var t,r,u,l,c,h,m={month:null,date:null,weekday:null,year:null,named:null,time:null},f=e.match("(#Holiday|today|tomorrow|yesterday)");return f.found&&(m.named=f.out("normal")),f=e.match("#Month"),f.found&&(m.month=a.index(f.list[0].terms[0])),f=e.match("#WeekDay"),f.found&&(m.weekday=i.index(f.list[0].terms[0])),f=e.match("#Time"),f.found&&(m.time=n(e),e.not("#Time")),f=e.match("#Month #Value #Year"),f.found&&(t=f.values().numbers(),s(t[0])&&(m.date=t[0]),r=parseInt(e.match("#Year").out("normal"),10),o(r)&&(m.year=r)),f.found||(f=e.match("#Month #Value"),f.found&&(u=f.values().numbers(),l=u[0],s(l)&&(m.date=l)),f=e.match("#Month #Year"),f.found&&(c=parseInt(e.match("#Year").out("normal"),10),o(c)&&(m.year=c))),f=e.match("#Value of #Month"),f.found&&(h=f.values().numbers()[0],s(h)&&(m.date=h)),m};t.exports=u},{"./month":60,"./parseTime":62,"./weekday":64}],62:[function(e,t,r){"use strict";var n=/([12]?[0-9]) ?(am|pm)/i,i=/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i,a=function(e){return!!(e&&e>0&&25>e)},s=function(e){return!!(e&&e>0&&60>e)},o=function(e){var t,r={logic:null,hour:null,minute:null,second:null,timezone:null},o=e.match("(by|before|for|during|at|until|after) #Time").firstTerm();return o.found&&(r.logic=o.out("normal")),t=e.match("#Time"),t.terms().list.forEach(function(e){var t=e.terms[0],o=t.text.match(n);null!==o&&(r.hour=parseInt(o[1],10),"pm"===o[2]&&(r.hour+=12),a(r.hour)===!1&&(r.hour=null)),o=t.text.match(i),null!==o&&(r.hour=parseInt(o[1],10),r.minute=parseInt(o[2],10),s(r.minute)||(r.minute=null),"pm"===o[3]&&(r.hour+=12),a(r.hour)===!1&&(r.hour=null))}),r};t.exports=o},{}],63:[function(e,t,r){"use strict";r.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},r.shortDays={sun:0,mon:1,tues:2,wed:3,weds:3,thurs:4,fri:5,sat:6}},{}],64:[function(e,t,r){"use strict";var n=e("./data"),i=n.shortDays,a=n.longDays;t.exports={index:function(e){if(e.tags.WeekDay){if(void 0!==a[e.normal])return a[e.normal];if(void 0!==i[e.normal])return i[e.normal]}return null},toShortForm:function(e){if(e.tags.WeekDay&&void 0!==a[e.normal]){var t=Object.keys(i);e.text=t[a[e.normal]]}return e},toLongForm:function(e){if(e.tags.WeekDay&&void 0!==i[e.normal]){var t=Object.keys(a);e.text=t[i[e.normal]]}return e}}},{"./data":63}],65:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),a=function(e,t,r){n.call(this,e,t,r)};a.prototype=Object.create(n.prototype),a.find=function(e,t,r){var n,s={size:[1,2,3,4],edge:"end"};return r&&(s.size=[r]),n=i(e,s),e=new a(n),e.sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=a},{"./getGrams":66,"./index":68}],66:[function(e,t,r){"use strict";var n=e("./gram"),i=function(e,t){var r,i,a,s=e.terms;if(s.lengtht.count?-1:e.count===t.count&&(e.size>t.size||e.key.length>t.key.length)?-1:1}),e},s={data:function(){return this.list.map(function(e){return{normal:e.out("normal"),count:e.count,size:e.size}})},unigrams:function(){return this.list=this.list.filter(function(e){return 1===e.size}),this},bigrams:function(){return this.list=this.list.filter(function(e){return 2===e.size}),this},trigrams:function(){return this.list=this.list.filter(function(e){return 3===e.size}),this},sort:function(){return a(this)}},o=function(e,t,r){var s,o={size:[1,2,3,4]};return r&&(o.size=[r]),s=i(e,o),e=new n(s),e=a(e),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(s,o)},{"../../index":28,"./getGrams":66}],69:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),a=function(e,t,r){n.call(this,e,t,r)};a.prototype=Object.create(n.prototype),a.find=function(e,t,r){var n,s={size:[1,2,3,4],edge:"start"};return r&&(s.size=[r]),n=i(e,s),e=new a(n),e.sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=a},{"./getGrams":66,"./index":68}],70:[function(e,t,r){"use strict";var n=e("../../../tries").utils.uncountable,i=function(e){var t,r;if(!e.tags.Noun)return!1;if(e.tags.Plural)return!0;for(t=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],r=0;r3};t.exports=l},{"../../../data":6,"./methods/data/indicators":74}],73:[function(e,t,r){"use strict";var n={hour:"an",heir:"an",heirloom:"an",honest:"an",honour:"an",honor:"an",uber:"an"},i={a:!0,e:!0,f:!0,h:!0,i:!0,l:!0,m:!0,n:!0,o:!0,r:!0,s:!0,x:!0},a=[/^onc?e/i,/^u[bcfhjkqrstn][aeiou]/i,/^eul/i],s=function(e){var t,r,s=e.normal;if(n.hasOwnProperty(s))return n[s];if(t=s.substr(0,1),e.isAcronym()&&i.hasOwnProperty(t))return"an";for(r=0;r1){var a=this.not("(#Acronym|#Honorific)");this.firstName=a.first(),this.lastName=a.last()}return this};s.prototype=Object.create(i.prototype),n={data:function(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"),middleName:this.middleName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}},guessGender:function(){if(this.honorifics.match("(mr|mister|sr|sir|jr)").found)return"Male";if(this.honorifics.match("(mrs|miss|ms|misses|mme|mlle)").found)return"Female";if(this.firstName.match("#MaleName").found)return"Male";if(this.firstName.match("#FemaleName").found)return"Female";var e=this.firstName.out("normal");return a(e)},pronoun:function(){var e=this.firstName.out("normal"),t=this.guessGender(e);return"Male"===t?"he":"Female"===t?"she":"they"},root:function(){var e=this.firstName.out("root"),t=this.lastName.out("root");return e&&t?e+" "+t:t||e||this.out("root")}},Object.keys(n).forEach(function(e){s.prototype[e]=n[e]}),t.exports=s},{"../../paths":40,"./guessGender":80}],83:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./sentence"),a={toPastTense:function(){return this.list=this.list.map(function(e){return e=e.toPastTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toPresentTense:function(){return this.list=this.list.map(function(e){return e=e.toPresentTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toFutureTense:function(){return this.list=this.list.map(function(e){return e=e.toFutureTense(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toNegative:function(){return this.list=this.list.map(function(e){return e=e.toNegative(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},toPositive:function(){return this.list=this.list.map(function(e){return e=e.toPositive(),new i(e.terms,e.lexicon,e.refText,e.refTerms)}),this},isPassive:function(){return this.list=this.list.filter(function(e){return e.isPassive()}),this},prepend:function(e){return this.list=this.list.map(function(t){return t.prepend(e)}),this},append:function(e){return this.list=this.list.map(function(t){return t.append(e)}),this},toExclamation:function(){return this.list.forEach(function(e){e.setPunctuation("!")}),this},toQuestion:function(){return this.list.forEach(function(e){e.setPunctuation("?")}),this},toStatement:function(){return this.list.forEach(function(e){e.setPunctuation(".")}),this}},s=function(e,t){return e=e.all(),"number"==typeof t&&(e=e.get(t)),e.list=e.list.map(function(e){return new i(e.terms,e.lexicon,e.refText,e.refTerms)}),e};t.exports=n.makeSubset(a,s)},{"../../index":28,"./sentence":84}],84:[function(e,t,r){"use strict";var n=e("../../paths").Terms,i=e("./toNegative"),a=e("./toPositive"),s=e("../verbs/verb"),o=e("./smartInsert"),u={toSingular:function(){var e=this.match("#Noun").match("!#Pronoun").firstTerm();return e.things().toSingular(),this},toPlural:function(){var e=this.match("#Noun").match("!#Pronoun").firstTerm();return e.things().toPlural(),this},mainVerb:function(){var e=this.match("(#Adverb|#Auxiliary|#Verb|#Negative|#Particle)+").if("#Verb");return e.found?(e=e.list[0].terms,new s(e,this.lexicon,this.refText,this.refTerms)):null},toPastTense:function(){var e,t,r,n=this.mainVerb();return n?(e=n.out("normal"),n.toPastTense(),t=n.out("normal"),r=this.parentTerms.replace(e,t)):this},toPresentTense:function(){var e,t,r=this.mainVerb();return r?(e=r.out("normal"),r.toPresentTense(),t=r.out("normal"),this.parentTerms.replace(e,t)):this},toFutureTense:function(){var e,t,r=this.mainVerb();return r?(e=r.out("normal"),r.toFutureTense(),t=r.out("normal"),this.parentTerms.replace(e,t)):this},isNegative:function(){return 1===this.match("#Negative").list.length},toNegative:function(){return this.isNegative()?this:i(this)},toPositive:function(){return this.isNegative()?a(this):this},append:function(e){return o.append(this,e)},prepend:function(e){return o.prepend(this,e)},setPunctuation:function(e){var t=this.terms[this.terms.length-1];t.setPunctuation(e)},getPunctuation:function(){var e=this.terms[this.terms.length-1];return e.getPunctuation()},isPassive:function(){return this.match("was #Adverb? #PastTense #Adverb? by").found}},l=function(e,t,r,i){n.call(this,e,t,r,i),this.t=this.terms[0]};l.prototype=Object.create(n.prototype),Object.keys(u).forEach(function(e){l.prototype[e]=u[e]}),t.exports=l},{"../../paths":40,"../verbs/verb":122,"./smartInsert":85,"./toNegative":86,"./toPositive":87}],85:[function(e,t,r){"use strict";var n=/^[A-Z]/,i=function(e,t){var r,i=e.terms[0];return e.insertAt(0,t),n.test(i.text)&&(i.needsTitleCase()===!1&&i.toLowerCase(),r=e.terms[0],r.toTitleCase()),e},a=function(e,t){var r,n=e.terms[e.terms.length-1],i=n.endPunctuation();return i&&n.killPunctuation(),e.insertAt(e.terms.length,t),r=e.terms[e.terms.length-1],i&&(r.text+=i),n.whitespace.after&&(r.whitespace.after=n.whitespace.after,n.whitespace.after=""),e};t.exports={append:a,prepend:i}},{}],86:[function(e,t,r){"use strict";var n={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"},i=function(e){var t,r,i=e.match("(everyone|everybody|someone|somebody|always)").first();return i.found&&n[i.out("normal")]?(t=i.out("normal"),e=e.match(t).replaceWith(n[t]).list[0],e.parentTerms):(r=e.mainVerb(),r&&r.toNegative(),e)};t.exports=i},{}],87:[function(e,t,r){"use strict";var n={never:"always",nothing:"everything"},i=function(e){var t,r=e.match("(never|nothing)").first();return r.found&&(t=r.out("normal"),n[t])?(e=e.match(t).replaceWith(n[t],!0).list[0],e.parentTerms):(e.delete("#Negative"),e)};t.exports=i},{}],88:[function(e,t,r){"use strict";var n=e("../../index"),i=e("../../paths").Terms,a={data:function(){return this.list.map(function(e){var t=e.terms[0];return{spaceBefore:t.whitespace.before,text:t.text,spaceAfter:t.whitespace.after,normal:t.normal,implicit:t.silent_term,bestTag:t.bestTag(),tags:Object.keys(t.tags)}})}},s=function(e,t){var r=[];return e.list.forEach(function(t){t.terms.forEach(function(n){r.push(new i([n],t.lexicon,e))})}),e=new n(r,e.lexicon,e.parent),"number"==typeof t&&(e=e.get(t)),e};t.exports=n.makeSubset(a,s)},{"../../index":28,"../../paths":40}],89:[function(e,t,r){"use strict";var n=e("./numOrdinal"),i=e("./textOrdinal"),a=e("./textCardinal"),s=e("./niceNumber"),o={nice:function(e){return s(e)},ordinal:function(e){return n(e)},niceOrdinal:function(e){return e=n(e),e=s(e)},text:function(e){return a(e).join(" ")},textOrdinal:function(e){return i(e)}};t.exports=o},{"./niceNumber":90,"./numOrdinal":91,"./textCardinal":92,"./textOrdinal":93}],90:[function(e,t,r){"use strict";var n=function(e){var t,r,n,i;if(!e&&0!==e)return null;for(e=""+e,t=e.split("."),r=t[0],n=t.length>1?"."+t[1]:"",i=/(\d+)(\d{3})/;i.test(r);)r=r.replace(i,"$1,$2");return r+n};t.exports=n},{}],91:[function(e,t,r){"use strict";var n=function(e){var t,r,n,i;return e||0===e?(t=e%100,t>10&&20>t?""+e+"th":(r={0:"th",1:"st",2:"nd",3:"rd"},n=""+e,i=n.slice(n.length-1,n.length),n+=r[i]?r[i]:"th")):null};t.exports=n},{}],92:[function(e,t,r){"use strict";var n=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],i=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],a=[[1e9,"million"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],s=function(e){var t=e,r=[];return a.forEach(function(n){if(e>=n[0]){var i=Math.floor(t/n[0]);t-=i*n[0],i&&r.push({unit:n[1],count:i})}}),r},o=function(e){var t,r=[];for(t=0;te&&(i.push("negative"),e=Math.abs(e)),t=s(e),r=0;r1&&i.push("and")),i=i.concat(o(t[r].count)),i.push(n);return i=i.concat(u(e)),i=i.filter(function(e){return e}),0===i.length&&(i[0]=""),i};t.exports=l},{}],93:[function(e,t,r){"use strict";var n=e("./textCardinal"),i=e("../../../paths").data.ordinalMap.toOrdinal,a=function(e){var t=n(e),r=t[t.length-1];return t[t.length-1]=i[r]||r,t.join(" ")};t.exports=a},{"../../../paths":40,"./textCardinal":92}],94:[function(e,t,r){"use strict";var n=e("../../index"),i=e("./value"),a=e("./parse"),s={noDates:function(){return this.not("#Date")},numbers:function(){return this.list.map(function(e){return e.number()})},toNumber:function(){return this.list=this.list.map(function(e){return e.toNumber()}),this},toText:function(){return this.list=this.list.map(function(e){return e.toText()}),this},toCardinal:function(){return this.list=this.list.map(function(e){return e.toCardinal()}),this},toOrdinal:function(){return this.list=this.list.map(function(e){return e.toOrdinal()}),this},toNice:function(){return this.list=this.list.map(function(e){return e.toNice()}),this},isEqual:function(e){return e=a(e),this.list=this.list.filter(function(t){return null!==e&&t.number()===e}),this},greaterThan:function(e){return e=a(e),this.list=this.list.filter(function(t){return null!==e&&t.number()>e}),this},lessThan:function(e){return e=a(e),this.list=this.list.filter(function(t){return null!==e&&t.number()y?(h+=(l(c)||1)*y,r=y,c={}):(h+=l(c),r=y,h=(h||1)*y,c={})}}}else m=!0;return h+=l(c),h*=t.amount,h*=m?-1:1,0===h?null:h};t.exports=c},{"./data":96,"./findModifiers":97,"./parseDecimals":99,"./parseNumeric":100,"./validate":101}],99:[function(e,t,r){"use strict";var n=e("./data"),i=function(e){var t,r,i="0.";for(t=0;tr[a].length)return n[r[a]];return null};t.exports=a},{"./suffix_rules":117}],117:[function(e,t,r){"use strict";var n,i,a,s={Gerund:["ing"],Actor:["erer"],Infinitive:["ate","ize","tion","rify","then","ress","ify","age","nce","ect","ise","ine","ish","ace","ash","ure","tch","end","ack","and","ute","ade","ock","ite","ase","ose","use","ive","int","nge","lay","est","ain","ant","ent","eed","er","le","own","unk","ung","en"],PastTense:["ed","lt","nt","pt","ew","ld"],PresentTense:["rks","cks","nks","ngs","mps","tes","zes","ers","les","acks","ends","ands","ocks","lays","eads","lls","els","ils","ows","nds","ays","ams","ars","ops","ffs","als","urs","lds","ews","ips","es","ts","ns","s"]},o={},u=Object.keys(s),l=u.length;for(n=0;l>n;n++)for(i=s[u[n]].length,a=0;i>a;a++)o[s[u[n]][a]]=u[n];t.exports=o},{}],118:[function(e,t,r){"use strict";var n=[[/y$/,"i"],[/([aeiou][n])$/,"$1n"]],i={collect:!0,exhaust:!0,convert:!0,digest:!0,discern:!0, +dismiss:!0,reverse:!0,access:!0,collapse:!0,express:!0},a={eat:"edible",hear:"audible",see:"visible",defend:"defensible",write:"legible",move:"movable",divide:"divisible",perceive:"perceptible"},s=function(e){var t,r;if(a[e])return a[e];for(t=0;t0&&(t.push(h),r[c]="");return 0===t.length?[e]:t};t.exports=l},{"../data":6}],125:[function(e,t,r){"use strict";var n=e("./fix"),i={wanna:["want","to"],gonna:["going","to"],im:["i","am"],alot:["a","lot"],dont:["do","not"],dun:["do","not"],ive:["i","have"],"won't":["will","not"],wont:["will","not"],"can't":["can","not"],cant:["can","not"],cannot:["can","not"],aint:["is","not"],"ain't":["is","not"],"shan't":["should","not"],imma:["I","will"],"where'd":["where","did"],whered:["where","did"],"when'd":["when","did"],whend:["when","did"],"how'd":["how","did"],howd:["how","did"],"what'd":["what","did"],whatd:["what","did"],"let's":["let","us"],dunno:["do","not","know"],brb:["be","right","back"],gtg:["got","to","go"],irl:["in","real","life"],tbh:["to","be","honest"],imo:["in","my","opinion"],til:["today","i","learned"],rn:["right","now"],"@":["at"]},a=function(e){var t,r,a,s=Object.keys(i);for(t=0;t0&&" - "===r.whitespace.before)return a=new i(""),a.silent_term="to",e.insertAt(t,a),e.terms[t-1].tag("NumberRange"),e.terms[t].tag("NumberRange"),e.terms[t].whitespace.before="",e.terms[t].whitespace.after="",e.terms[t+1].tag("NumberRange"),e;r.tags.NumberRange&&(s=r.text.split(/(-)/),s[1]="to",e=n(e,s,t),e.terms[t].tag("Value"),e.terms[t+1].tag("Preposition"),e.terms[t+2].tag(["Value","NumberRange"]),t+=2)}return e};t.exports=a},{"../../term":173,"./fix":129}],129:[function(e,t,r){"use strict";var n=e("../../term"),i={not:"Negative",will:"Verb",would:"Modal",have:"Verb",are:"Copula",is:"Copula",am:"Verb"},a=function(e){i[e.silent_term]&&e.tag(i[e.silent_term])},s=function(e,t,r){var i,s,o=e.terms[r];return o.silent_term=t[0],o.tag("Contraction","tagger-contraction"),t[1]&&(i=new n(""),i.silent_term=t[1],i.tag("Contraction","tagger-contraction"),e.insertAt(r+1,i),i.whitespace.before="",i.whitespace.after="",a(i)),t[2]&&(s=new n(""),s.silent_term=t[2],e.insertAt(r+2,s),s.tag("Contraction","tagger-contraction"),a(s)),e};t.exports=s},{"../../term":173}],130:[function(e,t,r){"use strict";var n=e("./01-irregulars"),i=e("./02-hardOne"),a=e("./03-easyOnes"),s=e("./04-numberRange"),o=function(e){return e=n(e),e=i(e),e=a(e),e=s(e)};t.exports=o},{"./01-irregulars":125,"./02-hardOne":126,"./03-easyOnes":127,"./04-numberRange":128}],131:[function(e,t,r){"use strict";var n=/^([a-z]+)'([a-z][a-z]?)$/i,i=/[a-z]s'$/i,a={re:1,ve:1,ll:1,t:1,s:1,d:1,m:1},s=function(e){var t=e.text.match(n);return t&&t[1]&&1===a[t[2]]?("t"===t[2]&&t[1].match(/[a-z]n$/)&&(t[1]=t[1].replace(/n$/,""),t[2]="n't"),e.tags.TitleCase===!0&&(t[1]=t[1].replace(/^[a-z]/,function(e){return e.toUpperCase()})),{start:t[1],end:t[2]}):i.test(e.text)===!0?{start:e.normal.replace(/s'?$/,""),end:""}:null};t.exports=s},{}],132:[function(e,t,r){"use strict";var n=function(e){if(e.has("so")&&(e.match("so #Adjective").match("so").tag("Adverb","so-adv"),e.match("so #Noun").match("so").tag("Conjunction","so-conj"),e.match("do so").match("so").tag("Noun","so-noun")),e.has("#Determiner")&&(e.match("(the|this) #Verb #Preposition .").term(1).tag("Noun","correction-determiner1"),e.match("(the|those|these) (#Infinitive|#PresentTense)").term(1).tag("Noun","correction-determiner2"),e.match("(a|an) #Gerund").term(1).tag("Adjective","correction-a|an"),e.match("(a|an) #Adjective (#Infinitive|#PresentTense)").term(2).tag("Noun","correction-a|an2"),e.match("(some #Verb #Plural").term(1).tag("Noun","correction-determiner6"),e.match("(the|this|those|these) #Adjective #Verb").term(2).tag("Noun","correction-determiner3"),e.match("(the|this|those|these) #Adverb #Adjective #Verb").term(3).tag("Noun","correction-determiner4"),e.match("#Determiner #Infinitive #Adverb? #Verb").term(1).tag("Noun","correction-determiner5"),e.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),e.match("#Determiner #Noun of #Verb").term(3).tag("Noun","noun-of-noun")),e.has("like")&&(e.match("just like").term(1).tag("Preposition","like-preposition"),e.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),e.match("#Verb like").term(1).tag("Adverb","verb-like"),e.match("#Adverb like").term(1).tag("Adverb","adverb-like")),e.has("#Value")&&(e.match("half a? #Value").tag("Value","half-a-value"),e.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),e.match("#Value+ #Currency").tag("Money","value-currency"),e.match("#Money and #Money #Currency?").tag("Money","money-and-money")),e.has("#Noun")&&(e.match("more #Noun").tag("Noun","more-noun"),e.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),e.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),e.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),e.has("#Organization")&&(e.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),e.match("#Organization #Country").tag("Organization","org-country"),e.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"))),e.has("#Verb")){e.match("still #Verb").term(0).tag("Adverb","still-verb"),e.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),e.match("is no #Verb").term(2).tag("Noun","is-no-verb"),e.match("#Verb than").term(0).tag("Noun","correction"),e.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),e.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),e.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question");var t="(#Adverb|not)+?";e.has(t)&&(e.match("(has|had) "+t+" #PastTense").not("#Verb$").tag("Auxiliary","had-walked"),e.match("#Copula "+t+" #Gerund").not("#Verb$").tag("Auxiliary","copula-walking"),e.match("(be|been) "+t+" #Gerund").not("#Verb$").tag("Auxiliary","be-walking"),e.match("(#Modal|did) "+t+" #Verb").not("#Verb$").tag("Auxiliary","modal-verb"),e.match("#Modal "+t+" have "+t+" had "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-have"),e.match("(#Modal) "+t+" be "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-be"),e.match("(#Modal|had|has) "+t+" been "+t+" #Verb").not("#Verb$").tag("Auxiliary","would-be"))}return e.has("#Adjective")&&(e.match("still #Adjective").match("still").tag("Adverb","still-advb"),e.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),e.match("will #Adjective").term(1).tag("Verb","will-adj")),e.match("(foot|feet)").tag("Noun","foot-noun"),e.match("#Value (foot|feet)").term(1).tag("Unit","foot-unit"),e.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),e.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),e.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),e.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),e.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),e.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),e.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),e};t.exports=n},{}],133:[function(e,t,r){"use strict";var n={punctuation_step:e("./steps/01-punctuation_step"),lexicon_step:e("./steps/02-lexicon_step"),capital_step:e("./steps/03-capital_step"),web_step:e("./steps/04-web_step"),suffix_step:e("./steps/05-suffix_step"),neighbour_step:e("./steps/06-neighbour_step"),noun_fallback:e("./steps/07-noun_fallback"),date_step:e("./steps/08-date_step"),auxiliary_step:e("./steps/09-auxiliary_step"),negation_step:e("./steps/10-negation_step"),phrasal_step:e("./steps/12-phrasal_step"),comma_step:e("./steps/13-comma_step"),possessive_step:e("./steps/14-possessive_step"),value_step:e("./steps/15-value_step"),acronym_step:e("./steps/16-acronym_step"),emoji_step:e("./steps/17-emoji_step"),person_step:e("./steps/18-person_step"),quotation_step:e("./steps/19-quotation_step"),organization_step:e("./steps/20-organization_step"),plural_step:e("./steps/21-plural_step"),lumper:e("./lumper"),multi:e("./lumper/lexicon_lump"),contraction:e("./contraction")},i=e("./corrections"),a=e("./phrase"),s=function(e){return e=n.punctuation_step(e),e=n.emoji_step(e),e=n.lexicon_step(e),e=n.multi.defaultLex(e),e=n.multi.userLex(e),e=n.web_step(e),e=n.suffix_step(e),e=n.neighbour_step(e),e=n.capital_step(e),e=n.noun_fallback(e),e=n.contraction(e),e=n.date_step(e),e=n.auxiliary_step(e),e=n.negation_step(e),e=n.phrasal_step(e),e=n.comma_step(e),e=n.possessive_step(e),e=n.value_step(e),e=n.acronym_step(e),e=n.person_step(e),e=n.quotation_step(e),e=n.organization_step(e),e=n.plural_step(e),e=n.lumper(e),e=i(e),e=a(e),e=n.multi.userLex(e)};t.exports=s},{"./contraction":130,"./corrections":132,"./lumper":135,"./lumper/lexicon_lump":136,"./phrase":139,"./steps/01-punctuation_step":140,"./steps/02-lexicon_step":141,"./steps/03-capital_step":142,"./steps/04-web_step":143,"./steps/05-suffix_step":144,"./steps/06-neighbour_step":145,"./steps/07-noun_fallback":146,"./steps/08-date_step":147,"./steps/09-auxiliary_step":148,"./steps/10-negation_step":149,"./steps/12-phrasal_step":150,"./steps/13-comma_step":151,"./steps/14-possessive_step":152,"./steps/15-value_step":153,"./steps/16-acronym_step":154,"./steps/17-emoji_step":155,"./steps/18-person_step":156,"./steps/19-quotation_step":157,"./steps/20-organization_step":158,"./steps/21-plural_step":159}],134:[function(e,t,r){"use strict";var n=function(e){var t={};return e.forEach(function(e){Object.keys(e).forEach(function(r){var n,i,a=r.split(" ");a.length>1&&(n=a[0],t[n]=t[n]||{},i=a.slice(1).join(" "),t[n][i]=e[r])})}),t};t.exports=n},{}],135:[function(e,t,r){"use strict";var n=function(e){return e.match("#Noun (&|n) #Noun").tag("Organization","Noun-&-Noun"),e.match("1 #Value #PhoneNumber").tag("PhoneNumber","1-800-Value"),e.match("#NumericValue #PhoneNumber").tag("PhoneNumber","(800) PhoneNumber"),e.match("#Holiday (day|eve)").tag("Holiday","holiday-day"),e.match("#Noun #Actor").tag("Actor","thing-doer"),e.match("(standard|daylight|summer|eastern|pacific|central|mountain) standard? time").tag("Time","timezone"),e.match("#Demonym #Currency").tag("Currency","demonym-currency"),e};t.exports=n},{}],136:[function(e,t,r){"use strict";var n=e("../paths"),i=n.lexicon,a=n.tries,s=e("./firstWord"),o=s([i,a.multiples()]),u=function(e,t,r){var n=t+1;return r[e.slice(n,n+1).out("root")]?n+1:r[e.slice(n,n+2).out("root")]?n+2:r[e.slice(n,n+3).out("root")]?n+3:null},l=function(e,t){var r,n,i,a,s;for(r=0;r1&&a.test(e.text)===!0&&e.canBe("RomanNumeral")},o={a:!0,i:!0,u:!0,r:!0,c:!0,k:!0},u=function(e){return e.terms.forEach(function(t,r){var a,u,l=t.text;for(i.test(l)===!0&&t.tag("TitleCase","punct-rule"),"-"===t.whitespace.after&&e.terms[r+1]&&""===e.terms[r+1].whitespace.before&&(t.tag("Hyphenated","has-hyphen"),e.terms[r+1].tag("Hyphenated","has-hyphen")),l=l.replace(/[,\.\?]$/,""),a=0;a1&&(s=o(a[a.length-1],e))&&r.tag(s,"multiword-lexicon")))));return e};t.exports=u},{"../../tries":238,"../contraction/split":131,"../paths":137}],142:[function(e,t,r){"use strict";var n=function(e){var t,r,n;for(t=1;ta||(a=n-1),t=a;t>1;t-=1)if(r=e.normal.substr(n-t,n),void 0!==i[t][r])return i[t][r];return null},o=function(e){var t,r,i=e.normal.charAt(e.normal.length-1);if(void 0===n[i])return null;for(t=n[i],r=0;r1e3&&3e3>r&&e.terms[0].tag("Year",t)})},l=function(e,t){e.list.forEach(function(e){var r=parseInt(e.terms[0].normal,10);r&&r>1990&&2030>r&&e.terms[0].tag("Year",t)})},c=function(e){if(e.has(n)&&(e.match(n+" (#Determiner|#Value|#Date)").term(0).tag("Month","correction-may"),e.match("#Date "+n).term(1).tag("Month","correction-may"),e.match(i+" "+n).term(1).tag("Month","correction-may"),e.match("(next|this|last) "+n).term(1).tag("Month","correction-may")),e.has("#Month")&&(e.match("#Month #DateRange+").tag("Date","correction-numberRange"),e.match("#Value of? #Month").tag("Date","value-of-month"),e.match("#Cardinal #Month").tag("Date","cardinal-month"),e.match("#Month #Value to #Value").tag("Date","value-to-value"),e.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),e.match("#Month the #Value").tag("Date","month-the-value")),e.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),e.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),e.has("#Value")&&(e.match("#Value #Abbreviation").tag("Value","value-abbr"),e.match("a #Value").tag("Value","a-value"),e.match("(minus|negative) #Value").tag("Value","minus-value"),e.match("#Value grand").tag("Value","value-grand"),e.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),e.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),e.match("#Value point #Value").tag("Value","value-point-value"),e.match(i+"? #Value #Duration").tag("Date","value-duration"),e.match("#Date #Value").tag("Date","date-value"),e.match("#Value #Date").tag("Date","value-date"),e.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction")),e.has("#Time")&&(e.match("#Cardinal #Time").tag("Time","value-time"),e.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),e.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),e.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr")),e.has(o)&&(e.match(i+"? "+a+" "+o).tag("Date","thisNext-season"),e.match("the? "+s+" of "+o).tag("Date","section-season")),e.has("#Date")&&(e.match("#Date the? #Ordinal").tag("Date","correction-date"),e.match(a+" #Date").tag("Date","thisNext-date"),e.match("due? (by|before|after|until) #Date").tag("Date","by-date"),e.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),e.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),e.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),e.match("#Date #Preposition #Date").tag("Date","date-prep-date"),e.match("the? "+s+" of #Date").tag("Date","section-of-date"),e.match("#Ordinal #Duration in #Date").tag("Date","duration-in-date"),e.match("(early|late) (at|in)? the? #Date").tag("Time","early-evening")),e.has("#Cardinal")){var t=e.match("#Date #Value #Cardinal").lastTerm();t.found&&u(t,"date-value-year"),t=e.match("#Date+ #Cardinal").lastTerm(),t.found&&u(t,"date-year"),t=e.match("#Month #Value #Cardinal").lastTerm(),t.found&&u(t,"month-value-year"),t=e.match("#Month #Value to #Value #Cardinal").lastTerm(),t.found&&u(t,"month-range-year"),t=e.match("(in|of|by|during|before|starting|ending|for|year) #Cardinal").lastTerm(),t.found&&u(t,"in-year"),t=e.match("#Cardinal !#Plural").firstTerm(),t.found&&l(t,"year-unsafe")}return e};t.exports=c},{}],148:[function(e,t,r){"use strict";var n={do:!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0},i=function(e){var t,r,i;for(t=0;t=n;n++)e.terms[n].tags.List=!0},s=function(e,t){var r,n=t,s=i(e.terms[t]),o=0,u=0,l=!1;for(t+=1;t0&&r.tags.Conjunction)l=!0;else{if(r.tags[s]){if(r.tags.Comma){u+=1,o=0;continue}if(u>0&&l)return a(e,n,t),!0}if(o+=1,o>5)return!1}return!1},o=function(e){var t,r,i,a,o;for(t=0;t=s;s++)if(i.test(e.terms[t+s].text)===!0){a(e,t,s+t),t+=s;break}return e};t.exports=s},{}],158:[function(e,t,r){"use strict";var n=e("../paths").tries.utils.orgWords,i=function(e){return!(!e.tags.Noun||e.tags.Pronoun||e.tags.Comma||e.tags.Possessive||e.tags.Place||!(e.tags.TitleCase||e.tags.Organization||e.tags.Acronym))},a=function(e){var t,r,a,s;for(t=0;tt;t++)r+=parseInt(9*Math.random(),10);return e+"-"+r};t.exports=n},{}],175:[function(e,t,r){"use strict";var n=e("../paths").tags,i={Auxiliary:1,Possessive:1,TitleCase:1,ClauseEnd:1,Comma:1,CamelCase:1,UpperCase:1,Hyphenated:1},a=function(e){var t=Object.keys(e.tags);return t=t.sort(),t=t.sort(function(e,t){return!i[t]&&n[e]&&n[t]?n[e].downward.length>n[t].downward.length?-1:1:-1}),t[0]};t.exports=a},{"../paths":190}],176:[function(e,t,r){"use strict";var n=function(e){var t={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tag("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,function(e){return e.toUpperCase()}),this.tag("#TitleCase","toTitleCase"),this},needsTitleCase:function(){var e,t,r,n=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(e=0;e1&&s.test(e.normal)===!0&&a.test(e.normal)===!1)return!1;if(o.test(e.normal)===!0){if(/[a-z][0-9][a-z]/.test(e.normal)===!0)return!1;if(/^([$-])*?([0-9,\.])*?([s\$%])*?$/.test(e.normal)===!1)return!1}return!0}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=u},{"./bestTag":175,"./normalize/isAcronym":178}],178:[function(e,t,r){"use strict";var n=/([A-Z]\.)+[A-Z]?$/,i=/^[A-Z]\.$/,a=/[A-Z]{3}$/,s=function(e){return n.test(e)===!0||i.test(e)===!0||a.test(e)===!0};t.exports=s},{}],179:[function(e,t,r){"use strict";var n=e("./unicode"),i=e("./isAcronym");r.normalize=function(e){e=e||"",e=e.toLowerCase(),e=e.trim();var t=e;return e=n(e),e=e.replace(/^[#@]/,""),e=e.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),e=e.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),e=e.replace(/\u2026/g,"..."),e=e.replace(/\u2013/g,"-"),/^[:;]/.test(e)===!1&&(e=e.replace(/\.{3,}$/g,""),e=e.replace(/['",\.!:;\?\)]$/g,""),e=e.replace(/^['"\(]/g,"")),""===e&&(e=t),e},r.addNormal=function(e){var t=e._text||"";t=r.normalize(t),i(e._text)&&(t=t.replace(/\./g,"")),t=t.replace(/([0-9]),([0-9])/g,"$1$2"),e.normal=t}},{"./isAcronym":178,"./unicode":181}],180:[function(e,t,r){"use strict";var n=function(e){var t=e.normal||e.silent_term||"";t=t.replace(/'s\b/,""),t=t.replace(/'\b/,""),e.root=t};t.exports=n},{}],181:[function(e,t,r){"use strict";var n,i={"!":"¡","?":"¿Ɂ",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:"ŹźŻżŽžƩƵƶȤȥɀΖζ"},a={};Object.keys(i).forEach(function(e){i[e].split("").forEach(function(t){a[t]=e})}),n=function(e){var t=e.split("");return t.forEach(function(e,r){a[e]&&(t[r]=a[e])}),t.join("")},t.exports=n},{}],182:[function(e,t,r){"use strict";var n=e("../../paths").fns,i={Person:"#6393b9",Pronoun:"#81acce",Noun:"steelblue",Verb:"palevioletred",Adverb:"#f39c73",Adjective:"#b3d3c6",Determiner:"#d3c0b3",Preposition:"#9794a8",Conjunction:"#c8c9cf",Value:"palegoldenrod",Expression:"#b3d3c6"},a=function(e){var t,r,a="silver",s=Object.keys(e.tags);for(t=0;t":">","&":"&",'"':""","'":"'"," ":" "};return e.replace(/[<>&"' ]/g,function(e){return t[e]})},i=function(e){var t="(?:[^\"'>]|\"[^\"]*\"|'[^']*')*",r=RegExp("<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b"+t+">[\\s\\S]*?[\\s\\S]*?","gi"),n=void 0;do n=e,e=e.replace(r,"");while(e!==n);return e.replace(/'+t+"",n(e.whitespace.before)+r+n(e.whitespace.after)};t.exports=a},{}],185:[function(e,t,r){"use strict";var n=/([a-z])([,:;\/.(\.\.\.)\!\?]+)$/i,i=function(e){var t={endPunctuation:function(){var e,t=this.text.match(n);return t&&(e={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"},void 0!==e[t[2]])?t[2]:null},setPunctuation:function(e){return this.killPunctuation(),this.text+=e,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(n,"$1"),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=i},{}],186:[function(e,t,r){"use strict";var n=e("../../paths"),i=n.tags,a=function e(t,r){var n,a;if(void 0===i[r])return!0;for(n=i[r].enemy||[],a=0;a "+r))}},l=function(e,t,r){if(e&&t){if(a.isArray(t))return void t.forEach(function(t){return u(e,t,r)});u(e,t,r),o[t]&&void 0!==o[t].also&&u(e,o[t].also,r)}};t.exports=l},{"../../../tagset":167,"../../paths":190,"./unTag":189}],189:[function(e,t,r){"use strict";var n=e("../../paths"),i=n.log,a=n.tags,s=function e(t,r,n){var s,o;if(t.tags[r]&&(i.unTag(t,r,n),delete t.tags[r],a[r]))for(s=a[r].downward,o=0;o0&&(m[m.length-1]+=c),m.map(function(e){return new n(e)})};t.exports=o},{"../term":173}],193:[function(e,t,r){"use strict";t.exports={parent:{get:function(){return this.refText||this},set:function(e){return this.refText=e,this}},parentTerms:{get:function(){return this.refTerms||this},set:function(e){return this.refTerms=e,this}},dirty:{get:function(){for(var e=0;e0}},length:{get:function(){return this.terms.length}},isA:{get:function(){return"Terms"}},whitespace:{get:function(){var e=this;return{before:function(t){return e.firstTerm().whitespace.before=t,e},after:function(t){return e.lastTerm().whitespace.after=t,e}}}}}},{}],194:[function(e,t,r){"use strict";var n=e("./build"),i=e("./getters"),a=function(e,t,r,n){var a,s,o=this;for(this.terms=e,this.lexicon=t,this.refText=r,this._refTerms=n,this._cacheWords={},this.count=void 0,this.get=function(e){return o.terms[e]},a=Object.keys(i),s=0;s0);r++)if(a=i(this,r,t))return a;return null},has:function(e){return null!==this.matchOne(e)}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=o},{"../../result":28,"./lib":197,"./lib/startHere":201,"./lib/syntax":202}],196:[function(e,t,r){"use strict";var n=function(e,t){var r,n,i,a,s;for(r=0;r0&&t[0]&&t[0].starting);o++)u=i(e,o,t,r),u&&(s.push(u),l=u.length-1,o+=l);return s};t.exports=s},{"./fastPass":196,"./startHere":201,"./syntax":202}],198:[function(e,t,r){"use strict";var n=function(e,t){var r,n;if(!e||!t)return!1;if(t.anyOne===!0)return!0;if(void 0!==t.tag)return e.tags[t.tag];if(void 0!==t.normal)return t.normal===e.normal||t.normal===e.silent_term;if(t.suffix===!0&&void 0!==t.partial)return r=e.normal.length,e.normal.substr(r-t.partial.length,r)===t.partial;if(t.prefix===!0&&void 0!==t.partial)return e.normal.substr(0,t.partial.length)===t.partial;if(t.infix===!0&&void 0!==t.partial)return e.normal.indexOf(t.partial)!==-1;if(void 0!==t.oneOf){for(n=0;n0)return null;if(c.ending===!0&&w!==e.length-1&&!c.minMax)return null;if(r[u].astrix!==!0)if(void 0===r[u].minMax)if(c.optional!==!0)if(i(l,c,o))w+=1,c.consecutive===!0&&(D=r[u+1],w=s(e,w,c,D));else if(!l.silent_term||l.normal)if(x=n(l,r,u,o),null===x){if(c.optional!==!0)return null}else u=x,w+=1;else{if(0===u)return null;w+=1,u-=1}else y=r[u+1],w=s(e,w,c,y);else for(f=r[u].minMax.min||0,d=r[u].minMax.max,p=r[u+1],g=0;d>g;g++){if(v=e.terms[w+g],i(v,c)===!1)return null;if(g>=f-1){if(!p){w+=1;break}if(g>=f&&i(v,p))break;if(b=e.terms[w+g+1],i(b,p)){w+=g+2,u+=1;break}if(g===d-1)return null}}else{if(!h)return e.terms.slice(t,e.length);if(m=a(e,w,r[u+1]),!m)return null;w=m+1,u+=1}}return e.terms.slice(t,w)};t.exports=o},{"./isMatch":198,"./lumpMatch":199}],202:[function(e,t,r){"use strict";var n=e("./paths").fns,i=/\{[0-9,]+\}$/,a=function(e){return e.substr(1,e.length)},s=function(e){return e.substring(0,e.length-1)},o=function(e){var t,r,o;return e=e||"",e=e.trim(),t={},1===e.length&&"."!==e&&"*"!==e?(t.normal=e,t):("!"===e.charAt(0)&&(e=a(e),t.negative=!0),"^"===e.charAt(0)&&(e=a(e),t.starting=!0),"$"===e.charAt(e.length-1)&&(e=s(e),t.ending=!0),"?"===e.charAt(e.length-1)&&(e=s(e),t.optional=!0),"+"===e.charAt(e.length-1)&&(e=s(e),t.consecutive=!0),"_"===e.charAt(e.length-1)?(e=s(e),t.prefix=!0,"_"===e.charAt(0)&&(e=a(e),t.prefix=void 0,t.infix=!0),t.partial=e,e=""):"_"===e.charAt(0)&&(e=a(e),t.suffix=!0,t.partial=e,e=""),"#"===e.charAt(0)&&(e=a(e),t.tag=n.titleCase(e),e=""),"("===e.charAt(0)&&")"===e.charAt(e.length-1)&&(e=s(e),e=a(e),r=e.split(/\|/g),t.oneOf={terms:{},tagArr:[]},r.forEach(function(e){if("#"===e.charAt(0)){var r=e.substr(1,e.length);r=n.titleCase(r),t.oneOf.tagArr.push(r)}else t.oneOf.terms[e]=!0}),e=""),"}"===e.charAt(e.length-1)&&i.test(e)===!0&&(o=e.match(/\{([0-9]+), ?([0-9]+)\}/),t.minMax={min:parseInt(o[1],10),max:parseInt(o[2],10)},e=e.replace(i,"")),"."===e&&(t.anyOne=!0,e=""),"*"===e&&(t.astrix=!0,e=""),""!==e&&(t.normal=e.toLowerCase()),t)},u=function(e){return e=e||"",e=e.split(/ +/),e.map(o)};t.exports=u},{"./paths":200}],203:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("./lib/syntax"),a=e("./lib/startHere"),s=e("../../result"),o=function(e){var t={notObj:function(t,r){var n=[],i=[];return t.terms.forEach(function(e){r.hasOwnProperty(e.normal)?(i.length&&n.push(i),i=[]):i.push(e)}),i.length&&n.push(i),n=n.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new s(n,t.lexicon,t.parent)},notString:function(t,r,n){var o,u,l=[],c=i(r),h=[];for(o=0;o0&&(l.push(h),h=[]),o+=u.length-1):h.push(t.terms[o]);return h.length>0&&l.push(h),l=l.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new s(l,t.lexicon,t.parent)}};return t.notArray=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t.notObj(e,n)},e.prototype.not=function(e,r){if("object"===(void 0===e?"undefined":n(e))){var i=Object.prototype.toString.call(e);if("[object Array]"===i)return t.notArray(this,e,r);if("[object Object]"===i)return t.notObj(this,e,r)}return"string"==typeof e?t.notString(this,e,r):this},e};t.exports=o},{"../../result":28,"./lib/startHere":201,"./lib/syntax":202}],204:[function(e,t,r){"use strict";var n=e("../mutate"),i=function(e){return e.prototype.delete=function(e){var t,r;return this.found?e?(t=this.match(e),t.found?r=n.deleteThese(this,t):this.parentTerms):(this.parentTerms=n.deleteThese(this.parentTerms,this),this):this},e};t.exports=i},{"../mutate":215}],205:[function(e,t,r){"use strict";var n=e("../mutate"),i=function(e,t){return e.terms.length&&e.terms[t]?(e.terms[t].whitespace.before=" ",e):e},a=function(e){var t=function(t){if("Terms"===t.isA)return t;if("Term"===t.isA)return new e([t]);var r=e.fromString(t);return r.tagger(),r},r={insertBefore:function(e,r){var a,s=this.terms.length,o=t(e);return r&&o.tag(r),a=this.index(),i(this.parentTerms,a),a>0&&i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,a,o),this.terms.length===s&&(this.terms=o.terms.concat(this.terms)),this},insertAfter:function(e,r){var a,s=this.terms.length,o=t(e);return r&&o.tag(r),a=this.terms[this.terms.length-1].index(),i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,a+1,o),this.terms.length===s&&(this.terms=this.terms.concat(o.terms)),this},insertAt:function(e,r,a){var s,o;return 0>e&&(e=0),s=this.terms.length,o=t(r),a&&o.tag(a),e>0&&i(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,e,o),this.terms.length===s&&Array.prototype.splice.apply(this.terms,[e,0].concat(o.terms)),0===e&&(this.terms[0].whitespace.before="",o.terms[o.terms.length-1].whitespace.after=" "),this}};return Object.keys(r).forEach(function(t){e.prototype[t]=r[t]}),e};t.exports=a},{"../mutate":215}],206:[function(e,t,r){"use strict";var n=function(e){var t=[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]];return t.forEach(function(t){var r=t[0],n=t[1],i=function(){var e=arguments;return this.terms.forEach(function(t){t[r].apply(t,e)}),n&&this.tag(n,r),this};e.prototype[r]=i}),e};t.exports=n},{}],207:[function(e,t,r){"use strict";var n=e("../../../term"),i=function(e,t){var r=e.whitespace.before+e.text+e.whitespace.after;return r+=t.whitespace.before+t.text+t.whitespace.after},a=function(e,t){var r,a=e.terms[t],s=e.terms[t+1];s&&(r=i(a,s),e.terms[t]=new n(r,a.context),e.terms[t].normal=a.normal+" "+s.normal,e.terms[t].lumped=!0,e.terms[t].parentTerms=e.terms[t+1].parentTerms,e.terms[t+1]=null,e.terms=e.terms.filter(function(e){return null!==e}))};t.exports=a},{"../../../term":173}],208:[function(e,t,r){"use strict";var n=e("./combine"),i=e("../../mutate"),a=function(e,t){var r,i,a=e.terms.length;for(r=0;a>r;r++)n(e,0);return i=e.terms[0],i.tags=t,i},s=function(e){return e.prototype.lump=function(){var e,t,r=this.index(),n={};return this.terms.forEach(function(e){Object.keys(e.tags).forEach(function(e){return n[e]=!0})}),this.parentTerms===this?(e=a(this,n),this.terms=[e],this):(this.parentTerms=i.deleteThese(this.parentTerms,this),t=a(this,n),this.parentTerms.terms=i.insertAt(this.parentTerms.terms,r,t),this)},e};t.exports=s},{"../../mutate":215,"./combine":207}],209:[function(e,t,r){"use strict";var n=e("../../tagger"),i=function(e){var t={tagger:function(){return n(this),this},firstTerm:function(){return this.terms[0]},lastTerm:function(){return this.terms[this.terms.length-1]},all:function(){return this.parent},data:function(){return{text:this.out("text"),normal:this.out("normal")}},term:function(e){return this.terms[e]},first:function(){var t=this.terms[0];return new e([t],this.lexicon,this.refText,this.refTerms)},last:function(){var t=this.terms[this.terms.length-1];return new e([t],this.lexicon,this.refText,this.refTerms)},slice:function(t,r){var n=this.terms.slice(t,r);return new e(n,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},index:function(){var e,t=this.parentTerms,r=this.terms[0];if(!t||!r)return null;for(e=0;e1?(this.terms.forEach(function(e,n){e.tag(r[n],t)}),this):(this.terms.forEach(function(r){r.tag(e,t)}),this)},unTag:function(e,t){var r=[];return"string"==typeof e&&(r=e.split(" ")),r.length>1?(this.terms.forEach(function(e,n){e.unTag(r[n],t)}),this):(this.terms.forEach(function(r){r.unTag(e,t)}),this)},canBe:function(t){var r=this.terms.filter(function(e){return e.canBe(t)});return new e(r,this.lexicon,this.refText,this.refTerms)}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],214:[function(e,t,r){"use strict";var n=function(e){var t={clone:function(){var t=this.terms.map(function(e){return e.clone()});return new e(t,this.lexicon,this.refText,null)},hyphenate:function(){var e=this;return this.terms.forEach(function(t,r){r!==e.terms.length-1&&(t.whitespace.after="-"),0!==r&&(t.whitespace.before="")}),this},dehyphenate:function(){return this.terms.forEach(function(e){"-"===e.whitespace.after&&(e.whitespace.after=" ")}),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],215:[function(e,t,r){"use strict";var n=function(e){var t=[];return"Terms"===e.isA?t=e.terms:"Text"===e.isA?t=e.flatten().list[0].terms:"Term"===e.isA&&(t=[e]),t};r.deleteThese=function(e,t){var r=n(t);return e.terms=e.terms.filter(function(e){for(var t=0;t0&&i[0]&&!i[0].whitespace.before&&(i[0].whitespace.before=" "),Array.prototype.splice.apply(e,[t,0].concat(i)),e}},{}],216:[function(e,t,r){"use strict";t.exports={data:e("../data"),lexicon:e("../data"),fns:e("../fns"),Term:e("../term")}},{"../data":6,"../fns":21,"../term":173}],217:[function(e,t,r){"use strict";t.exports="0:68;1:5A;2:6A;3:4I;4:5K;5:5N;6:62;7:66;a5Yb5Fc51d4Le49f3Vg3Ih35i2Tj2Rk2Ql2Fm27n1Zo1Kp13qu11r0Vs05tYuJvGw8year1za1D;arEeDholeCiBo9r8;o4Hy;man1o8u5P;d5Rzy;ck0despr63ly,ry;!sa3;a4Gek1lco1C;p0y;a9i8ola3W;b6Fol4K;gabo5Hin,nilla,rio5B;g1lt3ZnDpArb4Ms9tter8;!mo6;ed,u2;b1Hp9s8t19;ca3et,tairs;er,i3R;authorFdeDeCfair,ivers2known,like1precedMrAs9ti5w8;iel5ritt5C;ig1Kupervis0;e8u1;cognBgul5Il5I;v58xpect0;cid0r8;!grou53stood;iz0;aCeBiAo9r8;anqu4Jen5i4Doubl0ue;geth4p,rp5H;dy,me1ny;en57st0;boo,l8n,wd3R;ent0;aWca3PeUhTiRkin0FlOmNnobb42oKpIqueam42tCu8ymb58;bAdd4Wp8r3F;er8re0J;!b,i1Z;du0t3;aCeAi0Nr9u8yl3X;p56r5;aightfor4Vip0;ad8reotyp0;fa6y;nda5Frk;a4Si8lend51rig0V;cy,r19;le9mb4phist1Lr8u13vi3J;d4Yry;!mn;el1ug;e9i8y;ck,g09my;ek,nd4;ck,l1n8;ce4Ig3;a5e4iTut,y;c8em1lf3Fni1Fre1Eve4Gxy;o11r38;cr0int1l2Lme,v1Z;aCeAi9o8;bu6o2Csy,y2;ght0Ytzy,v2;a8b0Ucondi3Emo3Epublic37t1S;dy,l,r;b4Hci6gg0nd3S;a8icke6;ck,i4V;aKeIhoHicayu13lac4EoGr9u8;bl4Amp0ny;eDiAo8;!b02f8p4;ou3Su7;c9m8or;a2Le;ey,k1;ci7mi14se4M;li30puli6;ny;r8ti2Y;fe4Cv2J;in1Lr8st;allel0t8;-ti8i2;me;bKffIi1kHnGpFrg0Yth4utEv8;al,er8;!aBn9t,w8;e8roug9;ig8;ht;ll;do0Ger,g1Ysi0E;en,posi2K;g1Wli0D;!ay;b8li0B;eat;e7s8;ce08ole2E;aEeDiBo8ua3M;b3n9rLsy,t8;ab3;descri3Qstop;g8mb3;ht1;arby,cessa1Pighbor1xt;ive,k0;aDeBiAo8ultip3;bi3dern,l5n1Jo8st;dy,t;ld,nX;a8di04re;s1ty;cab2Vd1genta,in,jUkeshift,le,mmo8ny;th;aHeCiAo8;f0Zne1u8ve1w1y2;sy,t1Q;ke1m8ter2ve1;it0;ftBg9th2v8wd;el;al,e8;nda17;!-Z;ngu2Sst,tt4;ap1Di0EnoX;agg0ol1u8;i1ZniFstifi0veni3;cy,de2gno33llImFn8;br0doDiGn4sAt8;a2Wen7ox8;ic2F;a9i8;de;ne;or;men7p8;ar8erfe2Port0rop4;ti2;!eg2;aHeEiCoBu8;ge,m8rt;b3dr8id;um;me1ne6ok0s03ur1;ghfalut1Bl1sp8;an23;a9f03l8;l0UpO;dy,ven1;l9n5rro8;wi0A;f,low0;aIener1WhGid5loFoDr9u8;ard0;aAey,is1o8;o8ss;vy;tis,y;ld,ne,o8;d,fy;b2oI;a8o8;st1;in8u5y;ful;aIeGiElag21oArie9u8;n,rY;nd1;aAol09r8ul;e8m4;gPign;my;erce ,n8t;al,i09;ma3r8;ti3;bl0ke,l7n0Lr,u8vori06;l8x;ty;aEerie,lDnti0ZtheCvBx8;a1Hcess,pe9t8ube1M;ra;ct0rt;eryday,il;re2;dLiX;rBs8;t,yg8;oi8;ng;th1;aLeHiCoArea9u8;e,mb;ry;ne,ub3;le;dact0Officu0Xre,s9v8;er7;cre9eas0gruntl0hone6ord8tress0;er1;et;adpAn7rang0t9vo8;ut;ail0ermin0;an;i1mag0n8pp4;ish;agey,ertaKhIivHlFoAr8udd1;a8isp,owd0;mp0vZz0;loBm9ncre8rZst1vert,ward1zy;te;mon,ple8;te,x;ni2ss2;ev4o8;s0u5;il;eesy,i8;ef,l1;in;aLeIizarTlFoBrAu8;r1sy;ly;isk,okK;gAld,tt9un8;cy;om;us;an9iCo8;nd,o5;d,k;hi9lov0nt,st,tt4yo9;er;nd;ckBd,ld,nkArr9w5;dy;en;ruW;!wards;bRctu2dKfraJgain6hHlEntiquDpCrab,sleep,verBw8;a9k8;waU;re;age;pareUt;at0;coh8l,oof;ol8;ic;ead;st;id;eHuCv8;a9er7;se;nc0;ed;lt;al;erElDoBruAs8;eEtra8;ct;pt;a8ve;rd;aze,e;ra8;nt"},{}],218:[function(e,t,r){"use strict";t.exports="a06by 04d00eXfShQinPjustOkinda,mMnKoFpDquite,rAs6t3up2very,w1ye0;p,s;ay,ell; to,wards5;h1o0wiN;o,t6ward;en,us;everal,o0uch;!me1on,rt0; of;hVtimes,w05;a1e0;alQ;ndomPthL;ar excellCer0oint blank; Khaps;f3n0;ce0ly;! 0;agYmoS; courFten;ewHo0; longCt withstanding;aybe,eanwhi9ore0;!ovA;! aboR;deed,steS;en0;ce;or1urther0;!moH; 0ev3;examp0good,suF;le;n mas1v0;er;se;amn,e0irect1; 1finite0;ly;ju7trop;far,n0;ow; CbroBd nauseam,gAl5ny2part,side,t 0w3;be5l0mo5wor5;arge,ea4;mo1w0;ay;re;l 1mo0one,ready,so,ways;st;b1t0;hat;ut;ain;ad;lot,posteriori"},{}],219:[function(e,t,r){"use strict";t.exports="aCbBcAd9f8h7i6jfk,kul,l4m3ord,p1s0yyz;fo,yd;ek,h0;l,x;co,ia,uc;a0gw,hr;s,x;ax,cn,st;kg,nd;co,ra;en,fw,xb;dg,gk,lt;cn,kk;ms,tl"},{}],220:[function(e,t,r){"use strict";t.exports="a2Tb23c1Td1Oe1Nf1Lg1Gh18i16jakar2Ek0Xl0Rm0En0Ao08pXquiWrTsJtAu9v6w3y1z0;agreb,uri1W;ang1Qe0okohama;katerin1Frev31;ars1ellingt1Oin0rocl1;nipeg,terth0V;aw;a1i0;en2Glni2Y;lenc2Tncouv0Gr2F;lan bat0Dtrecht;a6bilisi,e5he4i3o2rondheim,u0;nVr0;in,ku;kyo,ronIulouC;anj22l13miso2Ira29; haJssaloni0X;gucigalpa,hr2Nl av0L;i0llinn,mpe2Angi07rtu;chu21n2LpT;a3e2h1kopje,t0ydney;ockholm,uttga11;angh1Eenzh1W;o0KvZ;int peters0Ul3n0ppo1E; 0ti1A;jo0salv2;se;v0z0Q;adU;eykjavik,i1o0;me,sario,t24;ga,o de janei16;to;a8e6h5i4o2r0ueb1Pyongya1M;a0etor23;gue;rt0zn23; elizabe3o;ls1Frae23;iladelph1Ynom pe07oenix;r0tah tik18;th;lerJr0tr0Z;is;dessa,s0ttawa;a1Glo;a2ew 0is;delTtaip0york;ei;goya,nt0Tpl0T;a5e4i3o1u0;mb0Kni0H;nt0scH;evideo,real;l1Ln01skolc;dellín,lbour0R;drid,l5n3r0;ib1se0;ille;or;chest0dalay,i0Y;er;mo;a4i1o0uxembou1FvAy00;ndZs angel0E;ege,ma0nz,sbYverpo1;!ss0;ol; pla0Husan0E;a5hark4i3laipeda,o1rak0uala lump2;ow;be,pavog0sice;ur;ev,ng8;iv;b3mpa0Jndy,ohsiu0Gra0un02;c0j;hi;ncheLstanb0̇zmir;ul;a5e3o0; chi mi1ms,u0;stH;nh;lsin0rakliF;ki;ifa,m0noi,va09;bu0RiltC;dan3en2hent,iza,othen1raz,ua0;dalaj0Fngzhou,tema05;bu0O;eToa;sk;es,rankfu0;rt;dmont4indhovU;a1ha01oha,u0;blRrb0Eshanbe;e0kar,masc0FugavpiJ;gu,je0;on;a7ebu,h2o0raioJuriti01;lo0nstanJpenhagNrk;gFmbo;enn3i1ristchur0;ch;ang m1c0ttagoL;ago;ai;i0lgary,pe town,rac4;ro;aHeBirminghWogoAr5u0;char3dap3enos air2r0sZ;g0sa;as;es;est;a2isba1usse0;ls;ne;silPtisla0;va;ta;i3lgrade,r0;g1l0n;in;en;ji0rut;ng;ku,n3r0sel;celo1ranquil0;la;na;g1ja lu0;ka;alo0kok;re;aBb9hmedabad,l7m4n2qa1sh0thens,uckland;dod,gabat;ba;k0twerp;ara;m5s0;terd0;am;exandr0maty;ia;idj0u dhabi;an;lbo1rh0;us;rg"},{}],221:[function(e,t,r){"use strict";t.exports="0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Bh19i13j11k0Zl0Um0Gn05om3DpZqat1JrXsKtCu6v4wal3yemTz2;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,kel0Ynga;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 ir0Com2Duss0w2;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;a6exi5icro0Ao2yanm04;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagascZl6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee2iriba03osovo,uwait,yrgyz1E;eling0Knya;a2erFord1D;ma16p1C;c6nd5r3s2taly,vory coast;le of m1Arael;a2el1;n,q;ia,oJ;el1;aiTon2ungary;dur0Ng kong;aBeAha0Qibralt9re7u2;a5ern4inea2ya0P;!-biss2;au;sey;deloupe,m,tema0Q;e2na0N;ce,nl1;ar;org0rmany;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"},{}],222:[function(e,t,r){"use strict";t.exports="0:17;a0Wb0Mc0Bd09e08f06g03h01iXjUkSlOmKnHomGpCqatari,rAs6t4u3v2wel0Qz1;am0Eimbabwe0;enezuel0ietnam0G;g8krai11;aiwShai,rinida0Hu1;ni0Prkmen;a3cot0Je2ingapoNlovak,oma0Tpa04udQw1y0X;edi0Jiss;negal0Ar07;mo0uT;o5us0Kw1;and0;a2eru0Ghilipp0Po1;li0Drtugu05;kist2lesti0Qna1raguay0;ma0P;ani;amiYi1orweO;caragu0geri1;an,en;a2ex0Mo1;ngo0Erocc0;cedo0Ila1;gasy,y07;a3eb8i1;b1thua0F;e0Dy0;o,t01;azakh,eny0o1uwaiti;re0;a1orda0A;ma0Bp1;anM;celandic,nd3r1sraeli,ta02vo06;a1iS;ni0qi;i0oneU;aiCin1ondur0unM;di;amCe1hanai0reek,uatemal0;or1rm0;gi0;i1ren6;lipino,n3;cuadoVgyp5ngliIstoWthiopi0urope0;a1ominXut3;niG;a8h5o3roa2ub0ze1;ch;ti0;lom1ngol4;bi0;a5i1;le0n1;ese;liforLm1na2;bo1erooK;di0;a9el7o5r2ul1;gaG;aziBi1;ti1;sh;li1sD;vi0;aru1gi0;si0;ngladeshi,sque;f9l6merAngol0r4si0us1;sie,tr1;a1i0;li0;gent1me4;ine;ba2ge1;ri0;ni0;gh0r1;ic0;an"},{}],223:[function(e,t,r){"use strict";t.exports="aZbYdTeRfuck,gQhKlHmGnFoCpAsh9u7voi01w3y0;a1eKu0;ck,p;!a,hoo,y;h1ow,t0;af,f;e0oa;e,w;gh,h0;! huh,-Oh,m;eesh,hh,it;ff,hew,l0sst;ease,z;h1o0w,y;h,o,ps;!h;ah,ope;eh,mm;m1ol0;!s;ao,fao;a3e1i,mm,urr0;ah;e,ll0y;!o;ha0i;!ha;ah,ee,oodbye,rr;e0h,t cetera,ww;k,p;'3a0uh;m0ng;mit,n0;!it;oh;ah,oo,ye; 1h0rgh;!em;la"},{}],224:[function(e,t,r){"use strict";t.exports="0:81;1:7E;2:7G;3:7Y;4:65;5:7P;6:7T;7:7O;8:7U;9:7C;A:6K;B:7R;C:6X;D:79;a78b6Pc5Ud5Ce4Rf4Jg47h3Zi3Uj38k2Sl21m1An14o12p0Ur0FsYtNursu9vIwGyEza7;olan2vE;etDon5Z;an2enMhi6PilE;a,la,ma;aHeFiE;ctor1o9rgin1vi3B;l4VrE;a,na,oniA;len5Ones7N;aLeJheIi3onHrE;acCiFuE;dy;c1na,s8;i4Vya;l4Nres0;o3GrE;e1Oi,ri;bit8mEn29ra,s8;a7iEmy;!ka;aTel4HhLiKoItHuFyE;b7Tlv1;e,sEzV;an17i;acCel1H;f1nEph1;d7ia,ja,ya;lv1mon0;aHeEi24;e3i9lFrE;i,yl;ia,ly;nFrEu3w3;i,on;a,ia,nEon;a,on;b24i2l5Ymant8nd7raB;aPeLhon2i5oFuE;by,th;bIch4Pn2sFxE;an4W;aFeE;ma2Ut5;!lind;er5yn;bFnE;a,ee;a,eE;cAkaB;chEmo3qu3I;a3HelEi2;!e,le;aHeGhylFriE;scil0Oyamva2;is,lis;arl,t7;ige,mGrvati,tricFulE;a,etDin0;a,e,ia;!e9;f4BlE;ga,iv1;aIelHiForE;a,ma;cEkki,na;ho2No2N;!l;di6Hi36o0Qtas8;aOeKiHonFrignayani,uri2ZyrE;a,na,t2J;a,iE;ca,q3G;ch3SlFrE;an2iam;dred,iA;ag1DgGliFrE;ced63edi36;n2s5Q;an,han;bSdel4e,gdale3li59nRrHtil2uGvFx4yE;a,ra;is;de,re6;cMgKiGl3Fs8tFyanE;!n;a,ha,i3;aFb2Hja,l2Ena,sEtza;a,ol,sa;!nE;!a,e,n0;arEo,r4AueriD;et4Ai5;elLia;dakran5on,ue9;el,le;aXeSiOoKuGyE;d1nE;!a,da,e4Vn1D;ciGelFiEpe;sa;a,la;a,l3Un2;is,la,rEui2Q;aFeEna,ra4;n0t5;!in0;lGndEsa;a,sE;ay,ey,i,y;a,i0Fli0F;aHiGla,nFoEslCt1M;la,na;a,o7;gh,la;!h,n07;don2Hna,ra,tHurFvern0xE;mi;a,eE;l,n;as8is8oE;nEya;ya;aMeJhadija,iGrE;istEy2G;a,en,in0M;mErst6;!beE;rlC;is8lFnd7rE;i,ri;ey,i,lCy;nyakumari,rItFvi5yE;!la;aFe,hEi3Cri3y;ar4er4le6r12;ri3;a,en,iEla;!ma,n;aTeNilKoGuE;anEdi1Fl1st4;a,i5;!anGcel0VdFhan1Rl3Eni,seEva3y37;fi3ph4;i32y;!a,e,n02;!iFlE;!iE;an;anHle3nFri,sE;iAsiA;a,if3LnE;a,if3K;a,e3Cin0nE;a,e3Bin0;cHde,nEsm4vie7;a,eFiE;ce,n0s;!l2At2G;l0EquelE;in0yn;da,mog2Vngrid,rHsEva;abelFiE;do7;!a,e,l0;en0ma;aIeGilE;aEda,laE;ry;ath33i26lenEnriet5;!a,e;nFrE;i21ri21;aBnaB;aMeKiJlHrFwenE;!dolY;acEetch6;e,ie9;adys,enEor1;a,da,na;na,seH;nevieve,orgi0OrE;ald4trude;brielFil,le,yE;le;a,e,le;aKeIlorHrE;ancEe2ie2;es,iE;n0sA;a,en1V;lErn;ic1;tiPy1P;dWile6k5lPmOrMstJtHuGvE;a,elE;yn;gen1la,ni1O;hEta;el;eEh28;lEr;a,e,l0;iEma,nest4;ca,ka,n;ma;a4eIiFl6ma,oiVsa,vE;a,i7;sEzaF;aEe;!beH;anor,nE;!a;iEna;th;aReKiJoE;lHminiqGnPrE;a,e6is,othE;ea,y;ue;ly,or24;anWna;anJbIe,lGnEsir1Z;a,iE;se;a,ia,la,orE;es,is;oraBra;a,na;m1nFphn0rlE;a,en0;a,iE;el08;aYeVhSlOoHrEynth1;isFyE;stal;ti3;lJnsHrEur07;a,inFnE;el1;a,e,n0;tanEuelo;ce,za;e6le6;aEeo;ire,rFudE;etDia;a,i0A;arl0GeFloe,ristE;a,in0;ls0Qryl;cFlE;esDi1D;el1il0Y;itlin,milMndLrIsHtE;ali3hE;er4le6y;in0;a0Usa0U;a,la,meFolE;!e,in0yn;la,n;aViV;e,le;arbVeMiKlKoni5rE;anIen2iEooke;dgFtE;tnC;etE;!te;di;anA;ca;atriLcky,lin2rItFulaBverE;ly;h,tE;e,yE;!e;nEt8;adOiE;ce;ce,z;a7ra;biga0Kd0Egn0Di08lZmVnIrGshlCudrEva;a,ey,i,y;ey,i,y;lEpi5;en0;!a,dNeLgelJiIja,nGtoE;inEn1;etD;!a,eIiE;ka;ka,ta;a,iE;a,ca,n0;!tD;te;je9rE;ea;la;an2bFel1i3y;ia;er;da;ber5exaJiGma,ta,yE;a,sE;a,sa;cFsE;a,ha,on;e,ia;nd7;ra;ta;c8da,le6mFshaB;!h;ee;en;ha;es;a,elGriE;a3en0;na;e,iE;a,n0;a,e;il"},{}],225:[function(e,t,r){"use strict";t.exports="aJblair,cHdevGguadalupe,jBk9l8m5r2sh0trinity;ay,e0iloh;a,lby;e1o0;bin,sario;ag1g1ne;ar1el,org0;an;ion,lo;ashawn,ee;asAe0;ls9nyatta,rry;a1e0;an,ss2;de,ime,m0n;ie,m0;ie;an,on;as0heyenne;ey,sidy;lexis,ndra,ubr0;ey"},{}],226:[function(e,t,r){"use strict";t.exports="0:1P;1:1Q;a1Fb1Bc12d0Ye0Of0Kg0Hh0Di09june07kwanzaa,l04m00nYoVpRrPsEt8v6w4xm03y2;om 2ule;hasho16kippur;hit2int0Xomens equalit7; 0Ss0T;aGe2ictor1E;r1Bteran0;-1ax 1h6isha bav,rinityNu2; b3rke2;y 1;ish2she2;vat;a0Ye prophets birth1;a6eptember15h4imchat tor0Vt 3u2;kk4mmer U;a9p8s7valentines day ;avu2mini atzeret;ot;int 2mhain;a5p4s3va2;lentine0;tephen0;atrick0;ndrew0;amadan,ememberanc0Yos2;a park0h hashana;a3entecost,reside0Zur2;im,ple heart 1;lm2ssovE; s04;rthodox 2stara;christma0easter2goOhoJn0C;! m07;ational 2ew years09;freedom 1nurse0;a2emorial 1lHoOuharram;bMr2undy thurs1;ch0Hdi gr2tin luther k0B;as;a2itRughnassadh;bour 1g baom2ilat al-qadr;er; 2teenth;soliU;d aJmbolc,n2sra and miraj;augurGd2;ependen2igenous people0;c0Bt0;a3o2;ly satur1;lloween,nukkUrvey mil2;k 1;o3r2;ito de dolores,oundhoW;odW;a4east of 2;our lady of guadalupe,the immaculate concepti2;on;ther0;aster8id 3lectYmancip2piphany;atX;al-3u2;l-f3;ad3f2;itr;ha;! 2;m8s2;un1;ay of the dead,ecemb3i2;a de muertos,eciseis de septiembre,wali;er sol2;stice;anad8h4inco de mayo,o3yber m2;on1;lumbu0mmonwealth 1rpus christi;anuk4inese n3ristmas2;! N;ew year;ah;a 1ian tha2;nksgiving;astillCeltaine,lack4ox2;in2;g 1; fri1;dvent,ll 9pril fools,rmistic8s6u2;stral4tum2;nal2; equinox;ia 1;cens2h wednes1sumption of mary;ion 1;e 1;hallows 6s2;ai2oul0t0;nt0;s 1;day;eve"},{}],227:[function(e,t,r){"use strict";t.exports="0:2S;1:38;2:36;3:2B;4:2W;5:2Y;a38b2Zc2Ld2Be28f23g1Yh1Ni1Ij1Ck15l0Xm0Ln0Ho0Ep04rXsMtHvFwCxBy8zh6;a6ou,u;ng,o;a6eun2Roshi1Iun;ma6ng;da,guc1Xmo24sh1ZzaQ;iao,u;a7eb0il6o4right,u;li39s2;gn0lk0ng,tanabe;a6ivaldi;ssilj35zqu1;a9h8i2Do7r6sui,urn0;an,ynisI;lst0Nrr2Sth;at1Romps2;kah0Tnaka,ylor;aDchCeBhimizu,iAmi9o8t7u6zabo;ar1lliv27zuD;al21ein0;sa,u4;rn3th;lva,mmo22ngh;mjon3rrano;midt,neid0ulz;ito,n7sa6to;ki;ch1dKtos,z;amBeag1Xi9o7u6;bio,iz,s2L;b6dri1KgHj0Sme22osevelt,sZux;erts,ins2;c6ve0E;ci,hards2;ir1os;aDe9h7ic6ow1Z;as2Ehl0;a6illips;m,n1S;ders5et8r7t6;e0Or3;ez,ry;ers;h20rk0t6vl3;el,te0K;baBg0Blivei01r6;t6w1O;ega,iz;a6eils2guy5ix2owak,ym1D;gy,ka6var1J;ji6muW;ma;aEeCiBo8u6;ll0n6rr0Cssolini,ñ6;oz;lina,oKr6zart;al1Me6r0T;au,no;hhail3ll0;rci0s6y0;si;eWmmad3r6tsu08;in6tin1;!o;aCe8i6op1uo;!n6u;coln,dholm;e,fe7n0Pr6w0I;oy;bv6v6;re;rs5u;aBennedy,imuAle0Ko8u7wo6;k,n;mar,znets3;bay6vacs;asY;ra;hn,rl9to,ur,zl3;aAen9ha4imen1o6u4;h6n0Yu4;an6ns2;ss2;ki0Ds5;cks2nsse0C;glesi9ke8noue,shik7to,vano6;u,v;awa;da;as;aCe9it8o7u6;!a4b0gh0Nynh;a4ffmann,rvat;chcock,l0;mingw7nde6rL;rs2;ay;ns5rrOs7y6;asCes;an3hi6;moH;a8il,o7rub0u6;o,tierr1;m1nzal1;nd6o,rcia;hi;er9is8lor08o7uj6;ita;st0urni0;ch0;nand1;d7insteHsposi6vaL;to;is2wards;aCeBi9omin8u6;bo6rand;is;gu1;az,mitr3;ov;lgado,vi;rw7vi6;es,s;in;aFhBlarkAo6;h5l6op0x;em7li6;ns;an;!e;an8e7iu,o6ristens5u4we;i,ng,u4w,y;!n,on6u4;!g;mpb8rt0st6;ro;er;ell;aBe8ha4lanco,oyko,r6yrne;ooks,yant;ng;ck7ethov5nnett;en;er,ham;ch,h7iley,rn6;es;k,ng;dEl9nd6;ers6rB;en,on,s2;on;eks8iy9on7var1;ez;so;ej6;ev;ams"},{}],228:[function(e,t,r){"use strict";t.exports="0:A8;1:9I;2:9Z;3:9Q;4:93;5:7V;6:9B;7:9W;8:8K;9:7H;A:9V;a96b8Kc7Sd6Ye6Af5Vg5Gh4Xi4Nj3Rk3Jl33m25n1Wo1Rp1Iqu1Hr0Xs0EtYusm0vVwLxavi3yDzB;aBor0;cha52h1E;ass2i,oDuB;sEuB;ma,to;nEsDusB;oBsC;uf;ef;at0g;aIeHiCoB;lfga05odrow;lBn16;bDfr9IlBs1;a8GiB;am2Qe,s;e6Yur;i,nde7Zsl8;de,lBrr7y6;la5t3;an5ern1iB;cBha0nce2Wrg7Sva0;ente,t4I;aPeKhJimIoErCyB;!l3ro6s1;av6OeBoy;nt,v4E;bDdd,mBny;!as,mBoharu;a93ie,y;i9y;!my,othy;eodo0Nia6Aom9;dErB;en5rB;an5eBy;ll,n5;!dy;ic84req,ts3Myl42;aNcottMeLhIiHoFpenc3tBur1Fylve76zym1;anDeBua6A;f0ph8OrliBve4Hwa69;ng;!islaw,l8;lom1uB;leyma6ta;dn8m1;aCeB;ld1rm0;h02ne,qu0Hun,wn;an,basti0k1Nl3Hrg3Gth;!y;lEmDntBq3Yul;iBos;a5Ono;!m7Ju4;ik,vaB;d3JtoY;aQeMicKoEuCyB;an,ou;b7dBf67ssel5X;ol2Fy;an,bFcky,dEel,geDh0landAm0n5Dosevelt,ry,sCyB;!ce;coe,s;l31r;e43g3n8o8Gri5C;b7Ie88;ar4Xc4Wha6YkB;!ey,y;gCub7x,yBza;ansh,nal4U;g7DiB;na79s;chDfa4l22mCndBpha4ul,y58;al5Iol21;i7Yon;id;ent2int1;aIeEhilDierCol,reB;st1;re;!ip,lip;d7RrDtB;ar,eB;!r;cy,ry;bLt3Iul;liv3m7KrDsCtBum78w7;is,to;ama,c76;i,l3NvB;il4H;athanIeHiDoB;aBel,l0ma0r2G;h,m;cDiCkB;h5Oola;lo;hol9k,ol9;al,d,il,ls1;!i4;aUeSiKoFuByr1;hamDrCstaB;fa,pha;ad,ray;ed,mF;dibo,e,hamDntCrr4EsBussa;es,he;e,y;ad,ed,mB;ad,ed;cFgu4kDlCnBtche5C;a5Yik;an,os,t1;e,olB;aj;ah,hBk8;a4eB;al,l;hBlv2r3P;di,met;ck,hLlKmMnu4rGs1tCuri5xB;!imilianA;eo,hCi9tB;!eo,hew,ia;eBis;us,w;cDio,kAlCsha4WtBv2;i21y;in,on;!el,oIus;colm,ik;amBdi,moud;adB;ou;aMeJiIl2AoEuBy39;c9is,kBth3;aBe;!s;g0nn5HrenDuBwe4K;!iB;e,s;!zo;am,on4;evi,i,la3YoBroy,st3vi,w3C;!nB;!a4X;mCn5r0ZuBwB;ren5;ar,oB;nt;aGeChaled,irBrist40u36y2T;k,ollos;i0Vlv2nBrmit,v2;!dCnBt;e0Ty;a43ri3T;na50rBthem;im,l;aYeRiPoDuB;an,liBni0Nst2;an,o,us;aqu2eKhnJnGrEsB;eChB;!ua;!ph;dBge;an,i;!aB;s,thB;an,on;!ath0n4A;!l,sBy;ph;an,e,mB;!m46;ffFrCsB;s0Vus;a4BemCmai6oBry;me,ni0H;i5Iy;!e01rB;ey,y;cGd7kFmErDsCvi3yB;!d7;on,p3;ed,r1G;al,es;e,ob,ub;kBob;!s1;an,brahJchika,gHk3lija,nuGrEsDtBv0;ai,sB;uki;aac,ha0ma4;a,vinB;!g;k,nngu3X;nacBor;io;im;aKeFina3SoDuByd42;be1RgBmber3GsD;h,o;m3ra5sBwa35;se2;aEctDitDnCrB;be1Mm0;ry;or;th;bIlHmza,ns,o,rCsBya37;an,s0;lEo3CrDuBv8;hi34ki,tB;a,o;is1y;an,ey;!im;ib;aLeIilbe3YlenHord1rDuB;illerBstavo;mo;aDegBov3;!g,orB;io,y;dy,h43nt;!n;ne,oCraB;ld,rdA;ffr8rge;brielDrB;la1IrBy;eZy;!e;aOeLiJlIorr0CrB;anDedB;!d2GeBri1K;ri1J;cCkB;!ie,l2;esco,isB;!co,zek;oyd;d4lB;ip;liCng,rnB;anX;pe,x;bi0di;arWdRfra2it0lNmGnFrCsteb0th0uge6vBym7;an,ereH;gi,iCnBv2w2;estAie;c02k;rique,zo;aGiDmB;aFeB;tt;lCrB;!h0;!io;nu4;be02d1iDliCm3t1v2woB;od;ot1Bs;!as,j34;!d1Xg28mEuCwB;a1Din;arB;do;o0Fu0F;l,nB;est;aSeKieJoDrag0uCwByl0;ay6ight;a6st2;minEnDugCyB;le;!l9;!a1Hn1K;go,icB;!k;go;an,j0lbeHmetriYnFrEsDvCwBxt3;ay6ey;en,in;moZ;ek,ri05;is,nB;is;rt;lKmJnIrDvB;e,iB;!d;iEne08rBw2yl;eBin,yl;lBn;!l;n,us;!e,i4ny;i1Fon;e,l9;as;aXeVhOlFoCraig,urtB;!is;dy,l2nrad,rB;ey,neliBy;us;aEevelaDiByG;fBnt;fo06t1;nd;rDuCyB;!t1;de;en5k;ce;aFeErisCuB;ck;!tB;i0oph3;st3;d,rlBse;es,ie;cBdric,s0M;il;lEmer1rB;ey,lCroBt3;ll;!os,t1;eb,v2;arVePilOlaNobMrCuByr1;ddy,rt1;aGeDi0uCyB;anDce,on;ce,no;nCtB;!t;d0t;dBnd1;!foCl8y;ey;rd;!by;i6ke;al,lF;nDrBshoi;at,naBt;rdA;!iCjam2nB;ie,y;to;ry,t;ar0Pb0Hd0Egu0Chme0Bid7jani,lUmSnLputsiKrCsaBu0Cya0ziz;hi;aHchGi4jun,maEnCon,tBy0;hur,u04;av,oB;ld;an,ndA;el;ie;ta;aq;dFgelAtB;hony,oB;i6nB;!iA;ne;reBy;!a,s,w;ir,mBos;ar;!an,beOeIfFi,lEonDt1vB;aMin;on;so,zo;an,en;onCrB;edA;so;jEksandDssExB;!and3is;er;ar,er;andB;ro;rtA;!o;en;d,t;st2;in;amCoBri0vik;lfo;!a;dDel,rahCuB;!bakr,lfazl;am;allEel,oulaye,ulB;lCrahm0;an;ah,o;ah;av,on"; +},{}],229:[function(e,t,r){"use strict";t.exports="ad hominPbKcJdGeEfCgBh8kittNlunchDn7othersDp5roomQs3t0us dollarQ;h0icPragedM;ereOing0;!sA;tu0uper bowlMystL;dAffL;a0roblJurpo4;rtJt8;othGumbA;ead startHo0;meGu0;seF;laci6odErand slamE;l oz0riendDundB;!es;conom8ggBnerg8v0xamp7;entA;eath9inn1o0;gg5or8;er7;anar3eil4it3ottage6redit card6;ank3o0reakfast5;d1tt0;le3;ies,y;ing1;em0;!s"},{}],230:[function(e,t,r){"use strict";t.exports="0:2Q;1:20;2:2I;a2Db24c1Ad11e0Uf0Tg0Qh0Kin0Djourn1l07mWnewsVoTpLquartet,rIs7t5u3worke1K;ni3tilG;on,vA;ele3im2Oribun1v;communica1Jgraph,vi1L;av0Hchool,eBo8t4ubcommitt1Ny3;ndic0Pstems;a3ockV;nda22te 3;poli2univ3;ersi27;ci3ns;al club,et3;e,y;cur3rvice0;iti2C;adio,e3;gionRs3;er19ourc29tauraX;artners9e7harmac6izza,lc,o4r3;ess,oduc13;l3st,wer;i2ytechnic;a0Jeutical0;ople's par1Ttrol3;!eum;!hip;bservLffi2il,ptic1r3;chestra,ganiza22;! servi2;a9e7i5o4use3;e,um;bi10tor0;lita1Bnist3;e08ry;dia,mori1rcantile3; exchange;ch1Ogazi5nage06r3;i4ket3;i0Cs;ne;ab6i5oc3;al 3;aIheaH;beration ar1Fmited;or3s;ato0Y;c,dustri1Gs6ter5vest3;me3o08;nt0;nation1sI;titut3u14;!e3;! of technoloIs;e5o3;ld3sp0Itel0;ings;a3ra6;lth a3;uth0T;a4ir09overnJroup,ui3;ld;s,zet0P;acul0Qede12inanci1m,ounda13und;duca12gli0Blectric8n5s4t3veningH;at;ta0L;er4semb01ter3;prise0tainB;gy;!i0J;a9e4i3rilliG;rectora0FviP;part3sign,velop6;e5ment3;! sto3s;re;ment;ily3ta; news;aSentQhNircus,lLo3rew;!ali0LffJlleHm9n4rp3unc7;o0Js;fe6s3taine9;e4ulti3;ng;il;de0Eren2;m5p3;any,rehensiAute3;rs;i5uni3;ca3ty;tions;s3tt6;si08;cti3ge;ve;ee;ini3ub;c,qK;emica4oir,ronic3urch;le;ls;er,r3;al bank,e;fe,is5p3re,thedr1;it1;al;se;an9o7r4u3;ilding socieEreau;ands,ewe4other3;hood,s;ry;a3ys;rd;k,q3;ue;dministIgencFirDrCss7ut3viaJ;h4ori3;te;ori3;ty;oc5u3;ran2;ce;!iat3;es,iB;my;craft,l3ways;in4;e0i3y;es;!s;ra3;ti3;on"},{}],231:[function(e,t,r){"use strict";t.exports="0:42;1:40;a38b2Pc29d21e1Yf1Ug1Mh1Hi1Ej1Ak18l14m0Tn0Go0Dp07qu06rZsStFuBv8w3y2;amaha,m0Youtu2Rw0Y;a4e2orld trade organizati1;lls fargo,st2;fie23inghou18;l2rner br3B;-m13gree30l street journ25m13;an halOeriz1isa,o2;dafo2Gl2;kswagMvo;bs,n3ps,s2;a tod2Qps;es33i2;lev2Wted natio2T; mobi2Jaco beQd bNeBgi fridaAh4im horto2Smz,o2witt2V;shiba,y2;ota,s r Z;e 2in lizzy;b4carpen31daily ma2Vguess w3holli0rolling st1Ns2w3;mashing pumpki2Nuprem0;ho;ea2lack eyed pe3Dyrds;ch bo2tl0;ys;l3s2;co,la m14;efoni09us;a7e5ieme2Fo3pice gir6ta2ubaru;rbucks,to2L;ny,undgard2;en;a2Px pisto2;ls;few24insbu25msu1W;.e.m.,adiohead,b7e4oyal 2yan2V;b2dutch she5;ank;/max,aders dige1Ed 2vl1;bu2c1Thot chili peppe2Ilobst27;ll;c,s;ant2Tizno2D;an6bs,e4fiz23hilip morrCi3r2;emier25octer & gamb1Qudenti14;nk floyd,zza hut;psi26tro2uge0A;br2Ochina,n2O; 3ason1Wda2E;ld navy,pec,range juli3xf2;am;us;aBbAe6fl,h5i4o2sa,wa;kia,tre dame,vart2;is;ke,ntendo,ss0L;l,s;stl4tflix,w2; 2sweek;kids on the block,york0A;e,é;a,c;nd1Rs3t2;ional aca2Co,we0P;a,cZd0N;aBcdonaldAe6i4lb,o2tv,yspace;b1Knsanto,ody blu0t2;ley crue,or0N;crosoft,t2;as,subisP;dica4rcedes3talli2;ca;!-benz;id,re;'s,s;c's milk,tt11z1V;'ore08a4e2g,ittle caesa1H;novo,x2;is,mark; pres6-z-boy;atv,fc,kk,m2od1H;art;iffy lu0Jo4pmorgan2sa;! cha2;se;hnson & johns1y d1O;bm,hop,n2tv;g,te2;l,rpol; & m,asbro,ewlett-packaSi4o2sbc,yundai;me dep2n1G;ot;tac2zbollah;hi;eneral 7hq,l6o3reen d0Gu2;cci,ns n ros0;ldman sachs,o2;dye2g09;ar;axo smith kliYencore;electr0Gm2;oto0S;a4bi,da,edex,i2leetwood mac,oFrito-l08;at,nancial2restoU; tim0;cebook,nnie mae;b04sa,u,xxon2; m2m2;ob0E;aiml09e6isney,o4u2;nkin donuts,po0Uran dur2;an;j,w j2;on0;a,f leppa3ll,peche mode,r spiegYstiny's chi2;ld;rd;aFbc,hCiAnn,o4r2;aigsli6eedence clearwater reviv2;al;ca c6l5m2o09st04;ca3p2;aq;st;dplMgate;ola;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r1y;dbury,pital o2rl's jr;ne;aGbc,eCfAl6mw,ni,o2p;ei4mbardiKston 2;glo2pizza;be;ng;ack & deckGo3ue c2;roX;ckbuster video,omingda2;le; g2g2;oodriN;cht4e ge0n & jer3rkshire hathaw2;ay;ryH;el;nana republ4s2xt6y6;f,kin robbi2;ns;ic;bXcSdidRerosmith,ig,lLmFnheuser-busEol,ppleAr7s4t&t,v3y2;er;is,on;hland2sociated G; o2;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 5catel3t2;air;!-luce2;nt;jazeera,qae2;da;as;/dc,a4er,t2;ivisi1;on;demy of scienc0;es;ba,c"},{}],232:[function(e,t,r){"use strict";t.exports="0:71;1:6P;2:7D;3:73;4:6I;5:7G;6:75;7:6O;8:6B;9:6C;A:5H;B:70;C:6Z;a7Gb62c5Cd59e57f45g3Nh37iron0j33k2Yl2Km2Bn29o27p1Pr1Es09tQuOvacuum 1wGyammerCzD;eroAip EonD;e0k0;by,up;aJeGhFiEorDrit52;d 1k2Q;mp0n49pe0r8s8;eel Bip 7K;aEiD;gh 06rd0;n Br 3C;it 5Jk8lk6rm 0Qsh 73t66v4O;rgeCsD;e 9herA;aRePhNiJoHrFuDype 0N;ckArn D;d2in,o3Fup;ade YiDot0y 32;ckle67p 79;ne66p Ds4C;d2o6Kup;ck FdEe Dgh5Sme0p o0Dre0;aw3ba4d2in,up;e5Jy 1;by,o6U;ink Drow 5U;ba4ov7up;aDe 4Hll4N;m 1r W;ckCke Elk D;ov7u4N;aDba4d2in,o30up;ba4ft7p4Sw3;a0Gc0Fe09h05i02lYmXnWoVpSquare RtJuHwD;earFiD;ngEtch D;aw3ba4o6O; by;ck Dit 1m 1ss0;in,up;aIe0RiHoFrD;aigh1LiD;ke 5Xn2X;p Drm1O;by,in,o6A;r 1tc3H;c2Xmp0nd Dr6Gve6y 1;ba4d2up;d2o66up;ar2Uell0ill4TlErDurC;ingCuc8;a32it 3T;be4Brt0;ap 4Dow B;ash 4Yoke0;eep EiDow 9;c3Mp 1;in,oD;ff,v7;gn Eng2Yt Dz8;d2o5up;in,o5up;aFoDu4E;ot Dut0w 5W;aw3ba4f36o5Q;c2EdeAk4Rve6;e Hll0nd GtD; Dtl42;d2in,o5upD;!on;aw3ba4d2in,o1Xup;o5to;al4Kout0rap4K;il6v8;at0eKiJoGuD;b 4Dle0n Dstl8;aDba4d2in52o3Ft2Zu3D;c1Ww3;ot EuD;g2Jnd6;a1Wf2Qo5;ng 4Np6;aDel6inAnt0;c4Xd D;o2Su0C;aQePiOlMoKrHsyc29uD;ll Ft D;aDba4d2in,o1Gt33up;p38w3;ap37d2in,o5t31up;attleCess EiGoD;p 1;ah1Gon;iDp 52re3Lur44wer 52;nt0;ay3YuD;gAmp 9;ck 52g0leCn 9p3V;el 46ncilA;c3Oir 2Hn0ss FtEy D;ba4o4Q; d2c1X;aw3ba4o11;pDw3J;e3It B;arrow3Serd0oD;d6te3R;aJeHiGoEuD;ddl8ll36;c16p 1uth6ve D;al3Ad2in,o5up;ss0x 1;asur8lt 9ss D;a19up;ke Dn 9r2Zs1Kx0;do,o3Xup;aOeMiHoDuck0;a16c36g 0AoDse0;k Dse34;aft7ba4d2forw2Ain3Vov7uD;nd7p;e GghtFnEsDv1T;ten 4D;e 1k 1; 1e2Y;ar43d2;av1Ht 2YvelD; o3L;p 1sh DtchCugh6y1U;in3Lo5;eEick6nock D;d2o3H;eDyA;l2Hp D;aw3ba4d2fSin,o05to,up;aFoEuD;ic8mpA;ke2St2W;c31zz 1;aPeKiHoEuD;nker2Ts0U;lDneArse2O;d De 1;ba4d2oZup;de Et D;ba4on,up;aw3o5;aDlp0;d Fr Dt 1;fDof;rom;in,oO;cZm 1nDve it;d Dg 27kerF;d2in,o5;aReLive Jloss1VoFrEunD; f0M;in39ow 23; Dof 0U;aEb17it,oDr35t0Ou12;ff,n,v7;bo5ft7hJw3;aw3ba4d2in,oDup,w3;ff,n,ut;a17ek0t D;aEb11d2oDr2Zup;ff,n,ut,v7;cEhDl1Pr2Xt,w3;ead;ross;d aEnD;g 1;bo5;a08e01iRlNoJrFuD;cDel 1;k 1;eEighten DownCy 1;aw3o2L;eDshe1G; 1z8;lFol D;aDwi19;bo5r2I;d 9;aEeDip0;sh0;g 9ke0mDrD;e 2K;gLlJnHrFsEzzD;le0;h 2H;e Dm 1;aw3ba4up;d0isD;h 1;e Dl 11;aw3fI;ht ba4ure0;eInEsD;s 1;cFd D;fDo1X;or;e B;dQl 1;cHll Drm0t0O;apYbFd2in,oEtD;hrough;ff,ut,v7;a4ehi1S;e E;at0dge0nd Dy8;o1Mup;o09rD;ess 9op D;aw3bNin,o15;aShPlean 9oDross But 0T;me FoEuntD; o1M;k 1l6;aJbIforGin,oFtEuD;nd7;ogeth7;ut,v7;th,wD;ard;a4y;pDr19w3;art;eDipA;ck BeD;r 1;lJncel0rGsFtch EveA; in;o16up;h Bt6;ry EvD;e V;aw3o12;l Dm02;aDba4d2o10up;r0Vw3;a0He08l01oSrHuD;bbleFcklTilZlEndlTrn 05tDy 10zz6;t B;k 9; ov7;anMeaKiDush6;ghHng D;aEba4d2forDin,o5up;th;bo5lDr0Lw3;ong;teD;n 1;k D;d2in,o5up;ch0;arKgJil 9n8oGssFttlEunce Dx B;aw3ba4;e 9; ar0B;k Bt 1;e 1;d2up; d2;d 1;aIeed0oDurt0;cFw D;aw3ba4d2o5up;ck;k D;in,oK;ck0nk0st6; oJaGef 1nd D;d2ov7up;er;up;r0t D;d2in,oDup;ff,ut;ff,nD;to;ck Jil0nFrgEsD;h B;ainCe B;g BkC; on;in,o5; o5;aw3d2o5up;ay;cMdIsk Fuction6; oD;ff;arDo5;ouD;nd;d D;d2oDup;ff,n;own;t D;o5up;ut"},{}],233:[function(e,t,r){"use strict";t.exports="'o,-,aLbIcHdGexcept,from,inFmidQnotwithstandiRoDpSqua,sCt7u4v2w0;/o,hereNith0;!in,oR;ersus,i0;a,s-a-vis;n1p0;!on;like,til;h1ill,o0;!wards;an,r0;ough0u;!oH;ans,ince,o that;',f0n1ut;!f;!to;espite,own,u3;hez,irca;ar1e0y;low,sides,tween;ri6;',bo7cross,ft6lo5m3propos,round,s1t0;!op;! long 0;as;id0ong0;!st;ng;er;ut"},{}],234:[function(e,t,r){"use strict";t.exports="aLbIcHdEengineKfCgBhAinstructRjournalNlawyKm9nurse,o8p5r3s1t0;echnEherapM;ailPcientLecretary,oldiIu0;pervMrgeon;e0oofG;ceptionIsearE;hotographElumbEoli1r0sychologH;actitionDesideMogrammD;cem8t7;fficBpeH;echanic,inistAus5;airdress9ousekeep9;arden8uard;arm7ire0;fight6m2;eputy,iet0;ici0;an;arpent2lerk;ricklay1ut0;ch0;er;ccoun6d2ge7r0ssis6ttenda7;chitect,t0;ist;minist1v0;is1;rat0;or;ta0;nt"},{}],235:[function(e,t,r){"use strict";t.exports="0:1M;1:1T;2:1U;a1Rb1Dc0Zd0Qfc dallas,g0Nhouston 0Mindiana0Ljacksonville jagua0k0Il0Fm02newVoRpKqueens parkJrIsAt5utah jazz,vancouver whitecaps,w3yY;ashington 3est ham0Xh16;natio21redski1wizar12;ampa bay 6e5o3;ronto 3ttenham hotspur;blu1Hrapto0;nnessee tita1xasD;buccanee0ra1G;a7eattle 5heffield0Qporting kansas13t3;. louis 3oke12;c1Srams;mari02s3;eah1IounI;cramento Sn 3;antonio spu0diego 3francisco gi0Bjose earthquak2;char0EpaB;eal salt lake,o04; ran0C;a8h5ittsburgh 4ortland t3;imbe0rail blaze0;pirat2steele0;il3oenix su1;adelphia 3li2;eagl2philNunE;dr2;akland 4klahoma city thunder,r3;i10lando magic;athle0Trai3;de0; 3castle05;england 6orleans 5york 3;city fc,giUje0Lkn02me0Lred bul19y3;anke2;pelica1sain0J;patrio0Irevolut3;ion;aBe9i3ontreal impact;ami 7lwaukee b6nnesota 3;t4u0Rvi3;kings;imberwolv2wi1;re0Cuc0W;dolphi1heat,marli1;mphis grizz3ts;li2;nchester 5r3vN;i3li1;ne0;c00u0H;a4eicesterYos angeles 3;clippe0dodFlaA; galaxy,ke0;ansas city 3nH;chiefs,ro3;ya0M; pace0polis colX;astr0Edynamo,rockeWtexa1;i4olden state warrio0reen bay pac3;ke0;anT;.c.Aallas 7e3i0Cod5;nver 5troit 3;lio1pisto1ti3;ge0;bronc06nuggeO;cowboUmav3;er3;ic06; uX;arCelNh8incinnati 6leveland 5ol3;orado r3umbus crew sc;api5ocki2;brow1cavalie0india1;benga03re3;ds;arlotte horCicago 3;b4cubs,fire,wh3;iteE;ea0ulY;di3olina panthe0;ff3naW; c3;ity;altimore ElAoston 7r3uffalo bilT;av2e5ooklyn 3;ne3;ts;we0;cel4red3; sox;tics;ackburn rove0u3;e ja3;ys;rs;ori3rave1;ol2;rizona Ast8tlanta 3;brav2falco1h4u3;nited;aw9;ns;es;on villa,r3;os;c5di3;amondbac3;ks;ardi3;na3;ls"},{}],236:[function(e,t,r){"use strict";t.exports="0:1I;a1Nb1Hc18e11f0Ug0Qh0Ki0Hj0Gk0El09m00nZoYpSrPsCt8vi7w1;a5ea0Ci4o1;o2rld1;! seJ;d,l;ldlife,ne;rmth,t0;neg7ol0C;e3hund0ime,oothpaste,r1una;affTou1;ble,sers,t;a,nnis;aBceWeAh9il8now,o7p4te3u1;g1nshi0Q;ar;am,el;ace2e1;ciPed;!c16;ap,cc0ft0E;k,v0;eep,opp0T;riK;d0Afe0Jl1nd;m0Vt;aQe1i10;c1laxa0Hsearch;ogni0Grea0G;a5e3hys0JlastAo2r1;ess02ogre05;rk,w0;a1pp0trol;ce,nT;p0tiM;il,xygen;ews,oi0G;a7ea5i4o3u1;mps,s1;ic;nJo0C;lk,st;sl1t;es;chi1il,themat04;neF;aught0e3i2u1;ck,g0B;ghtn03quid,teratK;a1isJ;th0;elv1nowled08;in;ewel7usti09;ce,mp1nformaQtself;ati1ortan07;en06;a4ertz,isto3o1;ck1mework,n1spitaliL;ey;ry;ir,lib1ppi9;ut;o2r1um,ymnastL;a7ound;l1ssip;d,f;ahrenhe6i5lour,o2ru6urnit1;ure;od,rgive1wl;ne1;ss;c8sh;it;conomAduca6lectrici5n3quip4thAvery1;body,o1thC;ne;joy1tertain1;ment;ty;tiC;a8elcius,h4iv3loth6o1urrency;al,ffee,n1ttA;duct,fusi9;ics;aos,e1;e2w1;ing;se;ke,sh;a3eef,is2lood,read,utt0;er;on;g1ss;ga1;ge;dvi2irc1rt;raft;ce"},{}],237:[function(e,t,r){"use strict";var n,i,a=36,s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",o=s.split("").reduce(function(e,t,r){return e[t]=r,e},{}),u=function(e){var t,r,n,i;if(void 0!==s[e])return s[e];for(t=1,r=a,n="";e>=r;e-=r,t++,r*=a);for(;t--;)i=e%a,n=String.fromCharCode((10>i?48:55)+i)+n,e=(e-i)/a;return n},l=function(e){var t,r,n,i,s,u;if(void 0!==o[e])return o[e];for(t=0,r=1,n=a,i=1;r=0;s--,i*=a)u=e.charCodeAt(s)-48,u>10&&(u-=7),t+=u*i;return t},c={toAlphaCode:u,fromAlphaCode:l},h=function(e){var t,r,n=RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(t=0;t 214k) * 8.1.0 - add `nlp.tokenize()` method for disabling pos-tagging of input * 8.2.0 - add `nlp.out('index')` method, 12 bugs -### v.7   :postal_horn: +### v7   :postal_horn: * 7.0.0 - weee! [big change!](https://github.com/nlp-compromise/compromise/wiki/v7-Upgrade,-welcome) *npm package rename* * 7.0.15 - fix for IE9 -### v.6   +### v6   * 6.5.0 - builds now using browserify + derequire() * 6.4.0 - re-written term-lumper logic * 6.3.0 - new nlp.lexicon({word:'POS'}) flow * 6.0.0 - be consistent with `text.normal()`, `term.all_forms()`, `text.word_count()`. `text.normal()` includes sentence-terminators, like periods etc. -### v.5   +### v5   * 5.2.0 - airport codes support, helper methods for specific POS * 5.1.0 - newlines split sentences * 5.0.0 - Text methods now return this, instead of array of sentences -### v.4   +### v4   * 4.12.0 - more-sensible responses for invalid, non-string inputs * 4.11.0 - 14 PRs, with fixes for currencies, pluralization, conjugation * 4.10.0 - Value.to_text() new method, fix "Posessive" POS typo @@ -46,12 +59,12 @@ here, 'Major' is considered an api change, while 'Minor' is considered a perform * 4.1.0 - hyphenated words are normalized into spaces * 4.0.0 - grammar-aware match & replace functions -### v.3   **(Breaking)** +### v3   **(Breaking)** * 3.0.2 - Statement & Question classes * v3.0.0 - Feb 2016 * split ngram, locale, and syllables into plugins in seperate repo -### v.2 +### v2 * v2.0.0 - Nov 2015   **(Breaking)** * es6 classes, babel building * better test coverage @@ -66,7 +79,7 @@ here, 'Major' is considered an api change, while 'Minor' is considered a perform * lexicon can be augmented third-party * date parsing results are different -### v.1 +### v1 * v1.1.0 - May 2015 smarter handling of ambiguous contractions ("he's" -> ["he is", "he has"]) @@ -74,7 +87,7 @@ smarter handling of ambiguous contractions ("he's" -> ["he is", "he has"]) added name genders and beginning of co-reference resolution ('Tony' -> 'he') API. small breaking change on ```Noun.is_plural``` and ```Noun.is_entity```, affording significant pos() speedup. Bumped Major version for these changes. -### v.0 +### v0 * v0.5.2 - May 2015 Phrasal verbs ('step up'), firstnames and .people() diff --git a/demo/keypress/index.html b/demo/keypress/index.html index 5c739abac..4bdd56234 100644 --- a/demo/keypress/index.html +++ b/demo/keypress/index.html @@ -29,7 +29,8 @@

verb.to_past()

- + +