Socket
Socket
Sign inDemoInstall

linkifyjs

Package Overview
Dependencies
6
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.3 to 2.1.4

.tags

9

CHANGELOG.md
# Linkify Changelog
### v2.1.4
* Add explicit support for mailto: addresses (#186)
* Add support for mentions containing dots (#185)
* URL followed by ` ` now works as expected in linkify-html (#184)
* Small dependency updates (#183)
* Drop deprecated babel-preset-es2015-loose dependency (#172)
* Web workers support (#168)
### v2.1.3

@@ -4,0 +13,0 @@

24

dist/linkify-element.amd.js

@@ -27,4 +27,4 @@ define('linkify-element', ['module', 'exports', './linkify'], function (module, exports, _linkify) {

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -84,13 +84,11 @@

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
events = _opts$resolve.events,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var events = _opts$resolve.events;
var attributes = _opts$resolve.attributes;
// Build the link

@@ -184,3 +182,3 @@ var link = doc.createElement(tagName);

function linkifyElement(element, opts) {
var doc = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

@@ -187,0 +185,0 @@

@@ -1,1 +0,1 @@

define("linkify-element",["module","exports","./linkify"],function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function a(e,t,n){var r=n[n.length-1];e.replaceChild(r,t);for(var a=n.length-2;a>=0;a--)e.insertBefore(n[a],r),r=n[a]}function i(e,t,n){for(var r=[],a=e,i=Array.isArray(a),o=0,a=i?a:a[Symbol.iterator]();;){var l;if(i){if(o>=a.length)break;l=a[o++]}else{if(o=a.next(),o.done)break;l=o.value}var s=l;if("nl"===s.type&&t.nl2br)r.push(n.createElement("br"));else if(s.isLink&&t.check(s)){var f=t.resolve(s),u=f.formatted,d=f.formattedHref,c=f.tagName,h=f.className,v=f.target,m=f.events,p=f.attributes,g=n.createElement(c);if(g.setAttribute("href",d),h&&g.setAttribute("class",h),v&&g.setAttribute("target",v),p)for(var b in p)g.setAttribute(b,p[b]);if(m)for(var y in m)g.addEventListener?g.addEventListener(y,m[y]):g.attachEvent&&g.attachEvent("on"+y,m[y]);g.appendChild(n.createTextNode(u)),r.push(g)}else r.push(n.createTextNode(s.toString()))}return r}function o(e,t,n){if(!e||e.nodeType!==v)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var r=t.ignoreTags;if("A"===e.tagName||d.contains(r,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case v:o(l,t,n);break;case m:var s=l.nodeValue,f=u(s);if(0===f.length||1===f.length&&f[0]instanceof h)break;var c=i(f,t,n);a(e,l,c),l=c[c.length-1]}l=l.nextSibling}return e}function l(e,t){var n=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];try{n=n||document||window&&window.document||global&&global.document}catch(r){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return t=new c(t),o(e,t,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(s){t.__esModule=!0}}catch(s){t.__esModule=!0}var f=r(n),u=f.tokenize,d=f.options,c=d.Options,h=f.parser.TOKENS.TEXT,v=1,m=3;l.helper=o,l.normalize=function(e){return new c(e)},t["default"]=l,e.exports=t["default"]});
define("linkify-element",["module","exports","./linkify"],function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function a(e,t,n){var r=n[n.length-1];e.replaceChild(r,t);for(var a=n.length-2;a>=0;a--)e.insertBefore(n[a],r),r=n[a]}function i(e,t,n){for(var r=[],a=e,i=Array.isArray(a),o=0,a=i?a:a[Symbol.iterator]();;){var l;if(i){if(o>=a.length)break;l=a[o++]}else{if(o=a.next(),o.done)break;l=o.value}var s=l;if("nl"===s.type&&t.nl2br)r.push(n.createElement("br"));else if(s.isLink&&t.check(s)){var f=t.resolve(s),u=f.formatted,d=f.formattedHref,c=f.tagName,h=f.className,v=f.target,m=f.events,p=f.attributes,g=n.createElement(c);if(g.setAttribute("href",d),h&&g.setAttribute("class",h),v&&g.setAttribute("target",v),p)for(var b in p)g.setAttribute(b,p[b]);if(m)for(var y in m)g.addEventListener?g.addEventListener(y,m[y]):g.attachEvent&&g.attachEvent("on"+y,m[y]);g.appendChild(n.createTextNode(u)),r.push(g)}else r.push(n.createTextNode(s.toString()))}return r}function o(e,t,n){if(!e||e.nodeType!==v)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var r=t.ignoreTags;if("A"===e.tagName||d.contains(r,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case v:o(l,t,n);break;case m:var s=l.nodeValue,f=u(s);if(0===f.length||1===f.length&&f[0]instanceof h)break;var c=i(f,t,n);a(e,l,c),l=c[c.length-1]}l=l.nextSibling}return e}function l(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{n=n||document||window&&window.document||global&&global.document}catch(r){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return t=new c(t),o(e,t,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(s){t.__esModule=!0}}catch(s){t.__esModule=!0}var f=r(n),u=f.tokenize,d=f.options,c=d.Options,h=f.parser.TOKENS.TEXT,v=1,m=3;l.helper=o,l.normalize=function(e){return new c(e)},t["default"]=l,e.exports=t["default"]});

@@ -11,4 +11,4 @@ 'use strict';

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -21,2 +21,3 @@

var TXT_NODE = 3;
/**

@@ -68,14 +69,14 @@ Given a parent element and child node that the parent contains, replaces

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
events = _opts$resolve.events,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var events = _opts$resolve.events;
var attributes = _opts$resolve.attributes;
// Build the link
var link = doc.createElement(tagName);

@@ -168,3 +169,3 @@ link.setAttribute('href', formattedHref);

function linkifyElement(element, opts) {
var doc = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

@@ -192,3 +193,4 @@

}(linkify);
window.linkifyElement = linkifyElement;
})(window, linkify);

@@ -1,1 +0,1 @@

"use strict";!function(e,t){var n=function(t){function n(e,t,n){var r=n[n.length-1];e.replaceChild(r,t);for(var a=n.length-2;a>=0;a--)e.insertBefore(n[a],r),r=n[a]}function r(e,t,n){for(var r=[],a=e,i=Array.isArray(a),o=0,a=i?a:a[Symbol.iterator]();;){var l;if(i){if(o>=a.length)break;l=a[o++]}else{if(o=a.next(),o.done)break;l=o.value}var s=l;if("nl"===s.type&&t.nl2br)r.push(n.createElement("br"));else if(s.isLink&&t.check(s)){var f=t.resolve(s),c=f.formatted,u=f.formattedHref,d=f.tagName,h=f.className,v=f.target,m=f.events,g=f.attributes,p=n.createElement(d);if(p.setAttribute("href",u),h&&p.setAttribute("class",h),v&&p.setAttribute("target",v),g)for(var b in g)p.setAttribute(b,g[b]);if(m)for(var y in m)p.addEventListener?p.addEventListener(y,m[y]):p.attachEvent&&p.attachEvent("on"+y,m[y]);p.appendChild(n.createTextNode(c)),r.push(p)}else r.push(n.createTextNode(s.toString()))}return r}function a(e,t,i){if(!e||e.nodeType!==c)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var s=t.ignoreTags;if("A"===e.tagName||l.contains(s,e.tagName))return e;for(var d=e.firstChild;d;){switch(d.nodeType){case c:a(d,t,i);break;case u:var h=d.nodeValue,v=o(h);if(0===v.length||1===v.length&&v[0]instanceof f)break;var m=r(v,t,i);n(e,d,m),d=m[m.length-1]}d=d.nextSibling}return e}function i(t,n){var r=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];try{r=r||document||e&&e.document||global&&global.document}catch(i){}if(!r)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return n=new s(n),a(t,n,r)}var o=t.tokenize,l=t.options,s=l.Options,f=t.parser.TOKENS.TEXT,c=1,u=3;return i.helper=a,i.normalize=function(e){return new s(e)},i}(t);e.linkifyElement=n}(window,linkify);
"use strict";!function(e,t){var n=function(t){function n(e,t,n){var r=n[n.length-1];e.replaceChild(r,t);for(var a=n.length-2;a>=0;a--)e.insertBefore(n[a],r),r=n[a]}function r(e,t,n){for(var r=[],a=e,i=Array.isArray(a),o=0,a=i?a:a[Symbol.iterator]();;){var l;if(i){if(o>=a.length)break;l=a[o++]}else{if(o=a.next(),o.done)break;l=o.value}var s=l;if("nl"===s.type&&t.nl2br)r.push(n.createElement("br"));else if(s.isLink&&t.check(s)){var f=t.resolve(s),c=f.formatted,u=f.formattedHref,d=f.tagName,h=f.className,v=f.target,m=f.events,g=f.attributes,p=n.createElement(d);if(p.setAttribute("href",u),h&&p.setAttribute("class",h),v&&p.setAttribute("target",v),g)for(var b in g)p.setAttribute(b,g[b]);if(m)for(var y in m)p.addEventListener?p.addEventListener(y,m[y]):p.attachEvent&&p.attachEvent("on"+y,m[y]);p.appendChild(n.createTextNode(c)),r.push(p)}else r.push(n.createTextNode(s.toString()))}return r}function a(e,t,i){if(!e||e.nodeType!==c)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var s=t.ignoreTags;if("A"===e.tagName||l.contains(s,e.tagName))return e;for(var d=e.firstChild;d;){switch(d.nodeType){case c:a(d,t,i);break;case u:var h=d.nodeValue,v=o(h);if(0===v.length||1===v.length&&v[0]instanceof f)break;var m=r(v,t,i);n(e,d,m),d=m[m.length-1]}d=d.nextSibling}return e}function i(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{r=r||document||e&&e.document||global&&global.document}catch(i){}if(!r)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return n=new s(n),a(t,n,r)}var o=t.tokenize,l=t.options,s=l.Options,f=t.parser.TOKENS.TEXT,c=1,u=3;return i.helper=a,i.normalize=function(e){return new s(e)},i}(t);e.linkifyElement=n}(window,linkify);

@@ -127,3 +127,11 @@ define("simple-html-tokenizer/entity-parser", ["module", "exports"], function (module, exports) {

if (chars) {
this.index = endIndex + 1;
var count = entity.length;
// consume the entity chars
while (count) {
this.consume();
count--;
}
// consume the `;`
this.consume();
return chars;

@@ -134,4 +142,9 @@ }

markTagStart: function markTagStart() {
// these properties to be removed in next major bump
this.tagLine = this.line;
this.tagColumn = this.column;
if (this.delegate.tagOpen) {
this.delegate.tagOpen();
}
},

@@ -188,3 +201,3 @@

if (char === "-" && this.input.charAt(this.index) === "-") {
this.index++;
this.consume();
this.state = 'commentStart';

@@ -272,9 +285,12 @@ this.delegate.beginComment();

beforeAttributeName: function beforeAttributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.consume();
return;
} else if (char === "/") {
this.state = 'selfClosingStartTag';
this.consume();
} else if (char === ">") {
this.consume();
this.delegate.finishTag();

@@ -285,2 +301,3 @@ this.state = 'beforeData';

this.delegate.beginAttribute();
this.consume();
this.delegate.appendToAttributeName(char);

@@ -291,18 +308,23 @@ }

attributeName: function attributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.state = 'afterAttributeName';
this.consume();
} else if (char === "/") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.state = 'beforeAttributeValue';
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeName(char);

@@ -313,5 +335,6 @@ }

afterAttributeName: function afterAttributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.consume();
return;

@@ -321,4 +344,6 @@ } else if (char === "/") {

this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.consume();
this.state = 'beforeAttributeValue';

@@ -328,2 +353,3 @@ } else if (char === ">") {

this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -334,2 +360,3 @@ this.state = 'beforeData';

this.delegate.finishAttributeValue();
this.consume();
this.state = 'attributeName';

@@ -342,13 +369,18 @@ this.delegate.beginAttribute();

beforeAttributeValue: function beforeAttributeValue() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {} else if (char === '"') {
if ((0, _utils.isSpace)(char)) {
this.consume();
} else if (char === '"') {
this.state = 'attributeValueDoubleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === "'") {
this.state = 'attributeValueSingleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -359,2 +391,3 @@ this.state = 'beforeData';

this.delegate.beginAttributeValue(false);
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -391,14 +424,18 @@ }

attributeValueUnquoted: function attributeValueUnquoted() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.delegate.finishAttributeValue();
this.consume();
this.state = 'beforeAttributeName';
} else if (char === "&") {
this.consume();
this.delegate.appendToAttributeValue(this.consumeCharRef(">") || "&");
} else if (char === ">") {
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -802,3 +839,3 @@ }

function linkifyHtml(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -893,13 +930,11 @@ var tokens = _simpleHtmlTokenizer2['default'].tokenize(str);

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
// Build up attributes

@@ -955,2 +990,3 @@ var attributeArray = [['href', formattedHref]];

var token = tokens[i];
if (token.type === StartTag && token.tagName.toUpperCase() === tagName) {

@@ -963,2 +999,3 @@ // Nested tag of the same type, "add to stack"

}
skippedTokens.push(token);

@@ -984,5 +1021,5 @@ i++;

for (var i = 0; i < attrs.length; i++) {
var _attrs$i = attrs[i];
var name = _attrs$i[0];
var value = _attrs$i[1];
var _attrs$i = attrs[i],
name = _attrs$i[0],
value = _attrs$i[1];

@@ -989,0 +1026,0 @@ attrStrs.push(name + '="' + escapeAttr(value) + '"');

@@ -1,1 +0,1 @@

define("simple-html-tokenizer/entity-parser",["module","exports"],function(t,e){"use strict";function i(t){this.a=t}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(s){e.__esModule=!0}}catch(s){e.__esModule=!0}var n=/^#[xX]([A-Fa-f0-9]+)$/,r=/^#([0-9]+)$/,h=/^([A-Za-z0-9]+)$/;i.prototype.parse=function(t){if(t){var e=t.match(n);return e?"&#x"+e[1]+";":(e=t.match(r))?"&#"+e[1]+";":(e=t.match(h),e?"&"+e[1]+";":void 0)}},e["default"]=i,t.exports=e["default"]}),define("simple-html-tokenizer/evented-tokenizer",["module","exports","./utils"],function(t,e,i){"use strict";function s(t,e){this.b=t,this.c=e,this.d=null,this.input=null,this.e=-1,this.f=-1,this.g=-1,this.h=-1,this.i=-1,this.j()}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(n){e.__esModule=!0}}catch(n){e.__esModule=!0}s.prototype={j:function(){this.d="beforeData",this.input="",this.e=0,this.f=1,this.g=0,this.h=-1,this.i=-1,this.b.j()},tokenize:function(t){this.j(),this.tokenizePart(t),this.tokenizeEOF()},tokenizePart:function(t){for(this.input+=(0,i.k)(t);this.e<this.input.length;)this.l[this.d].call(this)},tokenizeEOF:function(){this.m()},m:function(){"data"===this.d&&(this.b.n(),this.d="beforeData")},o:function(){return this.input.charAt(this.e)},p:function(){var t=this.o();return this.e++,"\n"===t?(this.f++,this.g=0):this.g++,t},q:function(){var t=this.input.indexOf(";",this.e);if(t!==-1){var e=this.input.slice(this.e,t),i=this.c.parse(e);return i?(this.e=t+1,i):void 0}},r:function(){this.h=this.f,this.i=this.g},l:{beforeData:function(){var t=this.o();"<"===t?(this.d="tagOpen",this.r(),this.p()):(this.d="data",this.b.s())},data:function(){var t=this.o();"<"===t?(this.b.n(),this.d="tagOpen",this.r(),this.p()):"&"===t?(this.p(),this.b.t(this.q()||"&")):(this.p(),this.b.t(t))},tagOpen:function(){var t=this.p();"!"===t?this.d="markupDeclaration":"/"===t?this.d="endTagOpen":(0,i.u)(t)&&(this.d="tagName",this.b.v(),this.b.w(t.toLowerCase()))},markupDeclaration:function(){var t=this.p();"-"===t&&"-"===this.input.charAt(this.e)&&(this.e++,this.d="commentStart",this.b.x())},commentStart:function(){var t=this.p();"-"===t?this.d="commentStartDash":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z(t),this.d="comment")},commentStartDash:function(){var t=this.p();"-"===t?this.d="commentEnd":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("-"),this.d="comment")},comment:function(){var t=this.p();"-"===t?this.d="commentEndDash":this.b.z(t)},commentEndDash:function(){var t=this.p();"-"===t?this.d="commentEnd":(this.b.z("-"+t),this.d="comment")},commentEnd:function(){var t=this.p();">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("--"+t),this.d="comment")},tagName:function(){var t=this.p();(0,i.A)(t)?this.d="beforeAttributeName":"/"===t?this.d="selfClosingStartTag":">"===t?(this.b.B(),this.d="beforeData"):this.b.w(t)},beforeAttributeName:function(){var t=this.p();(0,i.A)(t)||("/"===t?this.d="selfClosingStartTag":">"===t?(this.b.B(),this.d="beforeData"):(this.d="attributeName",this.b.C(),this.b.D(t)))},attributeName:function(){var t=this.p();(0,i.A)(t)?this.d="afterAttributeName":"/"===t?(this.b.F(!1),this.b.G(),this.d="selfClosingStartTag"):"="===t?this.d="beforeAttributeValue":">"===t?(this.b.F(!1),this.b.G(),this.b.B(),this.d="beforeData"):this.b.D(t)},afterAttributeName:function(){var t=this.p();(0,i.A)(t)||("/"===t?(this.b.F(!1),this.b.G(),this.d="selfClosingStartTag"):"="===t?this.d="beforeAttributeValue":">"===t?(this.b.F(!1),this.b.G(),this.b.B(),this.d="beforeData"):(this.b.F(!1),this.b.G(),this.d="attributeName",this.b.C(),this.b.D(t)))},beforeAttributeValue:function(){var t=this.p();(0,i.A)(t)||('"'===t?(this.d="attributeValueDoubleQuoted",this.b.F(!0)):"'"===t?(this.d="attributeValueSingleQuoted",this.b.F(!0)):">"===t?(this.b.F(!1),this.b.G(),this.b.B(),this.d="beforeData"):(this.d="attributeValueUnquoted",this.b.F(!1),this.b.H(t)))},attributeValueDoubleQuoted:function(){var t=this.p();'"'===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.q('"')||"&"):this.b.H(t)},attributeValueSingleQuoted:function(){var t=this.p();"'"===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.q("'")||"&"):this.b.H(t)},attributeValueUnquoted:function(){var t=this.p();(0,i.A)(t)?(this.b.G(),this.d="beforeAttributeName"):"&"===t?this.b.H(this.q(">")||"&"):">"===t?(this.b.G(),this.b.B(),this.d="beforeData"):this.b.H(t)},afterAttributeValueQuoted:function(){var t=this.o();(0,i.A)(t)?(this.p(),this.d="beforeAttributeName"):"/"===t?(this.p(),this.d="selfClosingStartTag"):">"===t?(this.p(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},selfClosingStartTag:function(){var t=this.o();">"===t?(this.p(),this.b.I(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},endTagOpen:function(){var t=this.p();(0,i.u)(t)&&(this.d="tagName",this.b.J(),this.b.w(t.toLowerCase()))}}},e["default"]=s,t.exports=e["default"]}),define("simple-html-tokenizer/html5-named-char-refs",["module","exports"],function(t,e){"use strict";try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(i){e.__esModule=!0}}catch(i){e.__esModule=!0}var s={};e["default"]=s,t.exports=e["default"]}),define("simple-html-tokenizer/index",["exports","./html5-named-char-refs","./entity-parser","./evented-tokenizer","./tokenizer","./tokenize"],function(t,e,i,s,n,r){"use strict";function h(t){return t&&t.__esModule?t:{"default":t}}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(a){t.__esModule=!0}}catch(a){t.__esModule=!0}Object.defineProperty(t,"HTML5NamedCharRefs",{K:!0,get:function(){return h(e)["default"]}}),Object.defineProperty(t,"EntityParser",{K:!0,get:function(){return h(i)["default"]}}),Object.defineProperty(t,"EventedTokenizer",{K:!0,get:function(){return h(s)["default"]}}),Object.defineProperty(t,"Tokenizer",{K:!0,get:function(){return h(n)["default"]}}),Object.defineProperty(t,"tokenize",{K:!0,get:function(){return h(r)["default"]}})}),define("simple-html-tokenizer/tokenize",["module","exports","./tokenizer","./entity-parser","./html5-named-char-refs"],function(t,e,i,s,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function h(t,e){var i=new u["default"](new o["default"](f["default"]),e);return i.tokenize(t)}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(a){e.__esModule=!0}}catch(a){e.__esModule=!0}e["default"]=h;var u=r(i),o=r(s),f=r(n);t.exports=e["default"]}),define("simple-html-tokenizer/tokenizer",["module","exports","./evented-tokenizer"],function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){this.L=null,this.startLine=1,this.startColumn=0,this.options=e||{},this.tokenizer=new h["default"](this,t)}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(r){e.__esModule=!0}}catch(r){e.__esModule=!0}var h=s(i);n.prototype={tokenize:function(t){return this.M=[],this.tokenizer.tokenize(t),this.M},tokenizePart:function(t){return this.M=[],this.tokenizer.tokenizePart(t),this.M},tokenizeEOF:function(){return this.M=[],this.tokenizer.tokenizeEOF(),this.M[0]},j:function(){this.L=null,this.startLine=1,this.startColumn=0},N:function(){this.options.O&&(this.L.O={start:{f:this.startLine,g:this.startColumn},P:{f:this.tokenizer.f,g:this.tokenizer.g}}),this.startLine=this.tokenizer.f,this.startColumn=this.tokenizer.g},s:function(){this.L={type:"Chars",chars:""},this.M.push(this.L)},t:function(t){this.L.chars+=t},n:function(){this.N()},x:function(){this.L={type:"Comment",chars:""},this.M.push(this.L)},z:function(t){this.L.chars+=t},y:function(){this.N()},v:function(){this.L={type:"StartTag",tagName:"",attributes:[],Q:!1},this.M.push(this.L)},J:function(){this.L={type:"EndTag",tagName:""},this.M.push(this.L)},B:function(){this.N()},I:function(){this.L.Q=!0},w:function(t){this.L.tagName+=t},C:function(){this._currentAttribute=["","",null],this.L.attributes.push(this._currentAttribute)},D:function(t){this._currentAttribute[0]+=t},F:function(t){this._currentAttribute[2]=t},H:function(t){this._currentAttribute[1]=this._currentAttribute[1]||"",this._currentAttribute[1]+=t},G:function(){}},e["default"]=n,t.exports=e["default"]}),define("simple-html-tokenizer/utils",["exports"],function(t){"use strict";function e(t){return r.test(t)}function i(t){return h.test(t)}function s(t){return t.replace(a,"\n")}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(n){t.__esModule=!0}}catch(n){t.__esModule=!0}t.A=e,t.u=i,t.k=s;var r=/[\t\n\f ]/,h=/[A-Za-z]/,a=/\r\n?/g}),define("simple-html-tokenizer",["module","exports","./simple-html-tokenizer/html5-named-char-refs","./simple-html-tokenizer/entity-parser","./simple-html-tokenizer/evented-tokenizer","./simple-html-tokenizer/tokenizer","./simple-html-tokenizer/tokenize"],function(t,e,i,s,n,r,h){"use strict";function a(t){return t&&t.__esModule?t:{"default":t}}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(u){e.__esModule=!0}}catch(u){e.__esModule=!0}var o=a(i),f=a(s),c=a(n),l=a(r),d=a(h),p={HTML5NamedCharRefs:o["default"],EntityParser:f["default"],EventedTokenizer:c["default"],Tokenizer:l["default"],tokenize:d["default"]};e["default"]=p,t.exports=e["default"]}),define("linkify-html",["module","exports","./simple-html-tokenizer","./linkify"],function(t,e,i,s){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e["default"]=t,e}function r(t){return t&&t.__esModule?t:{"default":t}}function h(t){var e,i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],s=d["default"].tokenize(t),n=[],r=[];for(i=new m(i),e=0;e<s.length;e++){var h=s[e];if(h.type!==_)if(h.type===g){var f=a(h.chars,i);n.push.apply(n,f)}else n.push(h);else{n.push(h);var l=h.tagName.toUpperCase(),p="A"===l||b.contains(i.ignoreTags,l);if(!p)continue;var k=n.length;u(l,s,++e,n),e+=n.length-k-1}}for(e=0;e<n.length;e++){var z=n[e];switch(z.type){case _:var M="<"+z.tagName;if(z.attributes.length>0){var A=c(z.attributes);M+=" "+A.join(" ")}M+=">",r.push(M);break;case v:r.push("</"+z.tagName+">");break;case g:r.push(o(z.chars));break;case y:r.push("<!--"+o(z.chars)+"-->")}}return r.join("")}function a(t,e){for(var i=p.tokenize(t),s=[],n=0;n<i.length;n++){var r=i[n];if("nl"===r.type&&e.nl2br)s.push({type:_,tagName:"br",attributes:[],Q:!0});else if(r.isLink&&e.check(r)){var h=e.resolve(r),a=(h.href,h.formatted),u=h.formattedHref,o=h.tagName,f=h.className,c=h.target,l=h.attributes,d=[["href",u]];f&&d.push(["class",f]),c&&d.push(["target",c]);for(var b in l)d.push([b,l[b]]);s.push({type:_,tagName:o,attributes:d,Q:!1}),s.push({type:g,chars:a}),s.push({type:v,tagName:o})}else s.push({type:g,chars:r.toString()})}return s}function u(t,e,i,s){for(var n=1;i<e.length&&n>0;){var r=e[i];r.type===_&&r.tagName.toUpperCase()===t?n++:r.type===v&&r.tagName.toUpperCase()===t&&n--,s.push(r),i++}return s}function o(t){return t}function f(t){return t.replace(/"/g,"&quot;")}function c(t){for(var e=[],i=0;i<t.length;i++){var s=t[i],n=s[0],r=s[1];e.push(n+'="'+f(r)+'"')}return e}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(l){e.__esModule=!0}}catch(l){e.__esModule=!0}e["default"]=h;var d=r(i),p=n(s),b=p.options,m=b.Options,_="StartTag",v="EndTag",g="Chars",y="Comment";t.exports=e["default"]});
define("simple-html-tokenizer/entity-parser",["module","exports"],function(t,e){"use strict";function i(t){this.a=t}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(s){e.__esModule=!0}}catch(s){e.__esModule=!0}var n=/^#[xX]([A-Fa-f0-9]+)$/,r=/^#([0-9]+)$/,h=/^([A-Za-z0-9]+)$/;i.prototype.parse=function(t){if(t){var e=t.match(n);return e?"&#x"+e[1]+";":(e=t.match(r))?"&#"+e[1]+";":(e=t.match(h),e?"&"+e[1]+";":void 0)}},e["default"]=i,t.exports=e["default"]}),define("simple-html-tokenizer/evented-tokenizer",["module","exports","./utils"],function(t,e,i){"use strict";function s(t,e){this.b=t,this.c=e,this.d=null,this.input=null,this.e=-1,this.f=-1,this.g=-1,this.h=-1,this.i=-1,this.j()}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(n){e.__esModule=!0}}catch(n){e.__esModule=!0}s.prototype={j:function(){this.d="beforeData",this.input="",this.e=0,this.f=1,this.g=0,this.h=-1,this.i=-1,this.b.j()},tokenize:function(t){this.j(),this.tokenizePart(t),this.tokenizeEOF()},tokenizePart:function(t){for(this.input+=(0,i.k)(t);this.e<this.input.length;)this.l[this.d].call(this)},tokenizeEOF:function(){this.m()},m:function(){"data"===this.d&&(this.b.n(),this.d="beforeData")},o:function(){return this.input.charAt(this.e)},p:function(){var t=this.o();return this.e++,"\n"===t?(this.f++,this.g=0):this.g++,t},q:function(){var t=this.input.indexOf(";",this.e);if(t!==-1){var e=this.input.slice(this.e,t),i=this.c.parse(e);if(i){for(var s=e.length;s;)this.p(),s--;return this.p(),i}}},r:function(){this.h=this.f,this.i=this.g,this.b.tagOpen&&this.b.tagOpen()},l:{beforeData:function(){var t=this.o();"<"===t?(this.d="tagOpen",this.r(),this.p()):(this.d="data",this.b.s())},data:function(){var t=this.o();"<"===t?(this.b.n(),this.d="tagOpen",this.r(),this.p()):"&"===t?(this.p(),this.b.t(this.q()||"&")):(this.p(),this.b.t(t))},tagOpen:function(){var t=this.p();"!"===t?this.d="markupDeclaration":"/"===t?this.d="endTagOpen":(0,i.u)(t)&&(this.d="tagName",this.b.v(),this.b.w(t.toLowerCase()))},markupDeclaration:function(){var t=this.p();"-"===t&&"-"===this.input.charAt(this.e)&&(this.p(),this.d="commentStart",this.b.x())},commentStart:function(){var t=this.p();"-"===t?this.d="commentStartDash":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z(t),this.d="comment")},commentStartDash:function(){var t=this.p();"-"===t?this.d="commentEnd":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("-"),this.d="comment")},comment:function(){var t=this.p();"-"===t?this.d="commentEndDash":this.b.z(t)},commentEndDash:function(){var t=this.p();"-"===t?this.d="commentEnd":(this.b.z("-"+t),this.d="comment")},commentEnd:function(){var t=this.p();">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("--"+t),this.d="comment")},tagName:function(){var t=this.p();(0,i.A)(t)?this.d="beforeAttributeName":"/"===t?this.d="selfClosingStartTag":">"===t?(this.b.B(),this.d="beforeData"):this.b.w(t)},beforeAttributeName:function(){var t=this.o();return(0,i.A)(t)?void this.p():void("/"===t?(this.d="selfClosingStartTag",this.p()):">"===t?(this.p(),this.b.B(),this.d="beforeData"):(this.d="attributeName",this.b.C(),this.p(),this.b.D(t)))},attributeName:function(){var t=this.o();(0,i.A)(t)?(this.d="afterAttributeName",this.p()):"/"===t?(this.b.F(!1),this.b.G(),this.p(),this.d="selfClosingStartTag"):"="===t?(this.d="beforeAttributeValue",this.p()):">"===t?(this.b.F(!1),this.b.G(),this.p(),this.b.B(),this.d="beforeData"):(this.p(),this.b.D(t))},afterAttributeName:function(){var t=this.o();return(0,i.A)(t)?void this.p():void("/"===t?(this.b.F(!1),this.b.G(),this.p(),this.d="selfClosingStartTag"):"="===t?(this.p(),this.d="beforeAttributeValue"):">"===t?(this.b.F(!1),this.b.G(),this.p(),this.b.B(),this.d="beforeData"):(this.b.F(!1),this.b.G(),this.p(),this.d="attributeName",this.b.C(),this.b.D(t)))},beforeAttributeValue:function(){var t=this.o();(0,i.A)(t)?this.p():'"'===t?(this.d="attributeValueDoubleQuoted",this.b.F(!0),this.p()):"'"===t?(this.d="attributeValueSingleQuoted",this.b.F(!0),this.p()):">"===t?(this.b.F(!1),this.b.G(),this.p(),this.b.B(),this.d="beforeData"):(this.d="attributeValueUnquoted",this.b.F(!1),this.p(),this.b.H(t))},attributeValueDoubleQuoted:function(){var t=this.p();'"'===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.q('"')||"&"):this.b.H(t)},attributeValueSingleQuoted:function(){var t=this.p();"'"===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.q("'")||"&"):this.b.H(t)},attributeValueUnquoted:function(){var t=this.o();(0,i.A)(t)?(this.b.G(),this.p(),this.d="beforeAttributeName"):"&"===t?(this.p(),this.b.H(this.q(">")||"&")):">"===t?(this.b.G(),this.p(),this.b.B(),this.d="beforeData"):(this.p(),this.b.H(t))},afterAttributeValueQuoted:function(){var t=this.o();(0,i.A)(t)?(this.p(),this.d="beforeAttributeName"):"/"===t?(this.p(),this.d="selfClosingStartTag"):">"===t?(this.p(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},selfClosingStartTag:function(){var t=this.o();">"===t?(this.p(),this.b.I(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},endTagOpen:function(){var t=this.p();(0,i.u)(t)&&(this.d="tagName",this.b.J(),this.b.w(t.toLowerCase()))}}},e["default"]=s,t.exports=e["default"]}),define("simple-html-tokenizer/html5-named-char-refs",["module","exports"],function(t,e){"use strict";try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(i){e.__esModule=!0}}catch(i){e.__esModule=!0}var s={};e["default"]=s,t.exports=e["default"]}),define("simple-html-tokenizer/index",["exports","./html5-named-char-refs","./entity-parser","./evented-tokenizer","./tokenizer","./tokenize"],function(t,e,i,s,n,r){"use strict";function h(t){return t&&t.__esModule?t:{"default":t}}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(a){t.__esModule=!0}}catch(a){t.__esModule=!0}Object.defineProperty(t,"HTML5NamedCharRefs",{K:!0,get:function(){return h(e)["default"]}}),Object.defineProperty(t,"EntityParser",{K:!0,get:function(){return h(i)["default"]}}),Object.defineProperty(t,"EventedTokenizer",{K:!0,get:function(){return h(s)["default"]}}),Object.defineProperty(t,"Tokenizer",{K:!0,get:function(){return h(n)["default"]}}),Object.defineProperty(t,"tokenize",{K:!0,get:function(){return h(r)["default"]}})}),define("simple-html-tokenizer/tokenize",["module","exports","./tokenizer","./entity-parser","./html5-named-char-refs"],function(t,e,i,s,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function h(t,e){var i=new o["default"](new u["default"](f["default"]),e);return i.tokenize(t)}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(a){e.__esModule=!0}}catch(a){e.__esModule=!0}e["default"]=h;var o=r(i),u=r(s),f=r(n);t.exports=e["default"]}),define("simple-html-tokenizer/tokenizer",["module","exports","./evented-tokenizer"],function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){this.L=null,this.startLine=1,this.startColumn=0,this.options=e||{},this.tokenizer=new h["default"](this,t)}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(r){e.__esModule=!0}}catch(r){e.__esModule=!0}var h=s(i);n.prototype={tokenize:function(t){return this.M=[],this.tokenizer.tokenize(t),this.M},tokenizePart:function(t){return this.M=[],this.tokenizer.tokenizePart(t),this.M},tokenizeEOF:function(){return this.M=[],this.tokenizer.tokenizeEOF(),this.M[0]},j:function(){this.L=null,this.startLine=1,this.startColumn=0},N:function(){this.options.O&&(this.L.O={start:{f:this.startLine,g:this.startColumn},P:{f:this.tokenizer.f,g:this.tokenizer.g}}),this.startLine=this.tokenizer.f,this.startColumn=this.tokenizer.g},s:function(){this.L={type:"Chars",chars:""},this.M.push(this.L)},t:function(t){this.L.chars+=t},n:function(){this.N()},x:function(){this.L={type:"Comment",chars:""},this.M.push(this.L)},z:function(t){this.L.chars+=t},y:function(){this.N()},v:function(){this.L={type:"StartTag",tagName:"",attributes:[],Q:!1},this.M.push(this.L)},J:function(){this.L={type:"EndTag",tagName:""},this.M.push(this.L)},B:function(){this.N()},I:function(){this.L.Q=!0},w:function(t){this.L.tagName+=t},C:function(){this._currentAttribute=["","",null],this.L.attributes.push(this._currentAttribute)},D:function(t){this._currentAttribute[0]+=t},F:function(t){this._currentAttribute[2]=t},H:function(t){this._currentAttribute[1]=this._currentAttribute[1]||"",this._currentAttribute[1]+=t},G:function(){}},e["default"]=n,t.exports=e["default"]}),define("simple-html-tokenizer/utils",["exports"],function(t){"use strict";function e(t){return r.test(t)}function i(t){return h.test(t)}function s(t){return t.replace(a,"\n")}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(n){t.__esModule=!0}}catch(n){t.__esModule=!0}t.A=e,t.u=i,t.k=s;var r=/[\t\n\f ]/,h=/[A-Za-z]/,a=/\r\n?/g}),define("simple-html-tokenizer",["module","exports","./simple-html-tokenizer/html5-named-char-refs","./simple-html-tokenizer/entity-parser","./simple-html-tokenizer/evented-tokenizer","./simple-html-tokenizer/tokenizer","./simple-html-tokenizer/tokenize"],function(t,e,i,s,n,r,h){"use strict";function a(t){return t&&t.__esModule?t:{"default":t}}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(o){e.__esModule=!0}}catch(o){e.__esModule=!0}var u=a(i),f=a(s),c=a(n),l=a(r),d=a(h),p={HTML5NamedCharRefs:u["default"],EntityParser:f["default"],EventedTokenizer:c["default"],Tokenizer:l["default"],tokenize:d["default"]};e["default"]=p,t.exports=e["default"]}),define("linkify-html",["module","exports","./simple-html-tokenizer","./linkify"],function(t,e,i,s){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e["default"]=t,e}function r(t){return t&&t.__esModule?t:{"default":t}}function h(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=d["default"].tokenize(t),n=[],r=[];for(i=new m(i),e=0;e<s.length;e++){var h=s[e];if(h.type!==v)if(h.type===g){var f=a(h.chars,i);n.push.apply(n,f)}else n.push(h);else{n.push(h);var l=h.tagName.toUpperCase(),p="A"===l||b.contains(i.ignoreTags,l);if(!p)continue;var k=n.length;o(l,s,++e,n),e+=n.length-k-1}}for(e=0;e<n.length;e++){var z=n[e];switch(z.type){case v:var M="<"+z.tagName;if(z.attributes.length>0){var A=c(z.attributes);M+=" "+A.join(" ")}M+=">",r.push(M);break;case _:r.push("</"+z.tagName+">");break;case g:r.push(u(z.chars));break;case y:r.push("<!--"+u(z.chars)+"-->")}}return r.join("")}function a(t,e){for(var i=p.tokenize(t),s=[],n=0;n<i.length;n++){var r=i[n];if("nl"===r.type&&e.nl2br)s.push({type:v,tagName:"br",attributes:[],Q:!0});else if(r.isLink&&e.check(r)){var h=e.resolve(r),a=(h.href,h.formatted),o=h.formattedHref,u=h.tagName,f=h.className,c=h.target,l=h.attributes,d=[["href",o]];f&&d.push(["class",f]),c&&d.push(["target",c]);for(var b in l)d.push([b,l[b]]);s.push({type:v,tagName:u,attributes:d,Q:!1}),s.push({type:g,chars:a}),s.push({type:_,tagName:u})}else s.push({type:g,chars:r.toString()})}return s}function o(t,e,i,s){for(var n=1;i<e.length&&n>0;){var r=e[i];r.type===v&&r.tagName.toUpperCase()===t?n++:r.type===_&&r.tagName.toUpperCase()===t&&n--,s.push(r),i++}return s}function u(t){return t}function f(t){return t.replace(/"/g,"&quot;")}function c(t){for(var e=[],i=0;i<t.length;i++){var s=t[i],n=s[0],r=s[1];e.push(n+'="'+f(r)+'"')}return e}try{try{Object.defineProperty(e,"__esModule",{value:!0})}catch(l){e.__esModule=!0}}catch(l){e.__esModule=!0}e["default"]=h;var d=r(i),p=n(s),b=p.options,m=b.Options,v="StartTag",_="EndTag",g="Chars",y="Comment";t.exports=e["default"]});

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -7,3 +7,9 @@ ;(function (window, linkify) {

var HTML5NamedCharRefs = {};
var HTML5NamedCharRefs = {
// We don't need the complete named character reference because linkifyHtml
// does not modify the escape sequences. We do need &nbsp; so that
// whitespace is parsed properly. Other types of whitespace should already
// be accounted for
nbsp: "\xA0"
};

@@ -24,11 +30,11 @@ function EntityParser(named) {

if (matches) {
return '&#x' + matches[1] + ';';
return "&#x" + matches[1] + ";";
}
matches = entity.match(CHARCODE);
if (matches) {
return '&#' + matches[1] + ';';
return "&#" + matches[1] + ";";
}
matches = entity.match(NAMED);
if (matches) {
return '&' + matches[1] + ';';
return this.named[matches[1]] || "&" + matches[1] + ";";
}

@@ -136,3 +142,11 @@ };

if (chars) {
this.index = endIndex + 1;
var count = entity.length;
// consume the entity chars
while (count) {
this.consume();
count--;
}
// consume the `;`
this.consume();
return chars;

@@ -143,4 +157,9 @@ }

markTagStart: function markTagStart() {
// these properties to be removed in next major bump
this.tagLine = this.line;
this.tagColumn = this.column;
if (this.delegate.tagOpen) {
this.delegate.tagOpen();
}
},

@@ -197,3 +216,3 @@

if (char === "-" && this.input.charAt(this.index) === "-") {
this.index++;
this.consume();
this.state = 'commentStart';

@@ -281,9 +300,12 @@ this.delegate.beginComment();

beforeAttributeName: function beforeAttributeName() {
var char = this.consume();
var char = this.peek();
if (isSpace(char)) {
this.consume();
return;
} else if (char === "/") {
this.state = 'selfClosingStartTag';
this.consume();
} else if (char === ">") {
this.consume();
this.delegate.finishTag();

@@ -294,2 +316,3 @@ this.state = 'beforeData';

this.delegate.beginAttribute();
this.consume();
this.delegate.appendToAttributeName(char);

@@ -300,18 +323,23 @@ }

attributeName: function attributeName() {
var char = this.consume();
var char = this.peek();
if (isSpace(char)) {
this.state = 'afterAttributeName';
this.consume();
} else if (char === "/") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.state = 'beforeAttributeValue';
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeName(char);

@@ -322,5 +350,6 @@ }

afterAttributeName: function afterAttributeName() {
var char = this.consume();
var char = this.peek();
if (isSpace(char)) {
this.consume();
return;

@@ -330,4 +359,6 @@ } else if (char === "/") {

this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.consume();
this.state = 'beforeAttributeValue';

@@ -337,2 +368,3 @@ } else if (char === ">") {

this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -343,2 +375,3 @@ this.state = 'beforeData';

this.delegate.finishAttributeValue();
this.consume();
this.state = 'attributeName';

@@ -351,13 +384,18 @@ this.delegate.beginAttribute();

beforeAttributeValue: function beforeAttributeValue() {
var char = this.consume();
var char = this.peek();
if (isSpace(char)) {} else if (char === '"') {
if (isSpace(char)) {
this.consume();
} else if (char === '"') {
this.state = 'attributeValueDoubleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === "'") {
this.state = 'attributeValueSingleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -368,2 +406,3 @@ this.state = 'beforeData';

this.delegate.beginAttributeValue(false);
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -400,14 +439,18 @@ }

attributeValueUnquoted: function attributeValueUnquoted() {
var char = this.consume();
var char = this.peek();
if (isSpace(char)) {
this.delegate.finishAttributeValue();
this.consume();
this.state = 'beforeAttributeName';
} else if (char === "&") {
this.consume();
this.delegate.appendToAttributeValue(this.consumeCharRef(">") || "&");
} else if (char === ">") {
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -603,3 +646,3 @@ }

function tokenize(input, options) {
function tokenize$1(input, options) {
var tokenizer = new Tokenizer(new EntityParser(HTML5NamedCharRefs), options);

@@ -614,3 +657,3 @@ return tokenizer.tokenize(input);

Tokenizer: Tokenizer,
tokenize: tokenize
tokenize: tokenize$1
};

@@ -632,3 +675,3 @@

function linkifyHtml(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -685,3 +728,3 @@ var tokens = HTML5Tokenizer.tokenize(str);

case EndTag:
linkified.push('</' + _token.tagName + '>');
linkified.push("</" + _token.tagName + ">");
break;

@@ -692,3 +735,3 @@ case Chars:

case Comment:
linkified.push('<!--' + escapeText(_token.chars) + '-->');
linkified.push("<!--" + escapeText(_token.chars) + "-->");
break;

@@ -725,14 +768,14 @@ }

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
// Build up attributes
var attributeArray = [['href', formattedHref]];

@@ -787,2 +830,3 @@

var token = tokens[i];
if (token.type === StartTag && token.tagName.toUpperCase() === tagName) {

@@ -795,2 +839,3 @@ // Nested tag of the same type, "add to stack"

}
skippedTokens.push(token);

@@ -816,7 +861,7 @@ i++;

for (var i = 0; i < attrs.length; i++) {
var _attrs$i = attrs[i];
var name = _attrs$i[0];
var value = _attrs$i[1];
var _attrs$i = attrs[i],
name = _attrs$i[0],
value = _attrs$i[1];
attrStrs.push(name + '="' + escapeAttr(value) + '"');
attrStrs.push(name + "=\"" + escapeAttr(value) + "\"");
}

@@ -828,3 +873,4 @@ return attrStrs;

}(linkify);
window.linkifyHtml = linkifyHtml;
})(window, linkify);

@@ -1,1 +0,1 @@

"use strict";!function(t,i){var s=function(t){function i(t){this.a=t}function s(t){return v.test(t)}function e(t){return k.test(t)}function h(t){return t.replace(A,"\n")}function n(t,i){this.b=t,this.c=i,this.d=null,this.input=null,this.e=-1,this.f=-1,this.g=-1,this.h=-1,this.i=-1,this.j()}function r(t,i){this.k=null,this.startLine=1,this.startColumn=0,this.options=i||{},this.tokenizer=new n(this,t)}function a(t,s){var e=new r(new i(p),s);return e.tokenize(t)}function u(t){var i,s=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],e=z.tokenize(t),h=[],n=[];for(s=new q(s),i=0;i<e.length;i++){var r=e[i];if(r.type!==N)if(r.type===C){var a=o(r.chars,s);h.push.apply(h,a)}else h.push(r);else{h.push(r);var u=r.tagName.toUpperCase(),c="A"===u||D.contains(s.ignoreTags,u);if(!c)continue;var p=h.length;f(u,e,++i,h),i+=h.length-p-1}}for(i=0;i<h.length;i++){var l=h[i];switch(l.type){case N:var m="<"+l.tagName;if(l.attributes.length>0){var g=d(l.attributes);m+=" "+g.join(" ")}m+=">",n.push(m);break;case y:n.push("</"+l.tagName+">");break;case C:n.push(b(l.chars));break;case F:n.push("<!--"+b(l.chars)+"-->")}}return n.join("")}function o(i,s){for(var e=t.tokenize(i),h=[],n=0;n<e.length;n++){var r=e[n];if("nl"===r.type&&s.nl2br)h.push({type:N,tagName:"br",attributes:[],l:!0});else if(r.isLink&&s.check(r)){var a=s.resolve(r),u=(a.href,a.formatted),o=a.formattedHref,f=a.tagName,b=a.className,c=a.target,d=a.attributes,p=[["href",o]];b&&p.push(["class",b]),c&&p.push(["target",c]);for(var l in d)p.push([l,d[l]]);h.push({type:N,tagName:f,attributes:p,l:!1}),h.push({type:C,chars:u}),h.push({type:y,tagName:f})}else h.push({type:C,chars:r.toString()})}return h}function f(t,i,s,e){for(var h=1;s<i.length&&h>0;){var n=i[s];n.type===N&&n.tagName.toUpperCase()===t?h++:n.type===y&&n.tagName.toUpperCase()===t&&h--,e.push(n),s++}return e}function b(t){return t}function c(t){return t.replace(/"/g,"&quot;")}function d(t){for(var i=[],s=0;s<t.length;s++){var e=t[s],h=e[0],n=e[1];i.push(h+'="'+c(n)+'"')}return i}var p={},l=/^#[xX]([A-Fa-f0-9]+)$/,m=/^#([0-9]+)$/,g=/^([A-Za-z0-9]+)$/;i.prototype.parse=function(t){if(t){var i=t.match(l);return i?"&#x"+i[1]+";":(i=t.match(m))?"&#"+i[1]+";":(i=t.match(g),i?"&"+i[1]+";":void 0)}};var v=/[\t\n\f ]/,k=/[A-Za-z]/,A=/\r\n?/g;n.prototype={j:function(){this.d="beforeData",this.input="",this.e=0,this.f=1,this.g=0,this.h=-1,this.i=-1,this.b.j()},tokenize:function(t){this.j(),this.tokenizePart(t),this.tokenizeEOF()},tokenizePart:function(t){for(this.input+=h(t);this.e<this.input.length;)this.m[this.d].call(this)},tokenizeEOF:function(){this.n()},n:function(){"data"===this.d&&(this.b.o(),this.d="beforeData")},p:function(){return this.input.charAt(this.e)},q:function(){var t=this.p();return this.e++,"\n"===t?(this.f++,this.g=0):this.g++,t},r:function(){var t=this.input.indexOf(";",this.e);if(t!==-1){var i=this.input.slice(this.e,t),s=this.c.parse(i);return s?(this.e=t+1,s):void 0}},s:function(){this.h=this.f,this.i=this.g},m:{beforeData:function(){var t=this.p();"<"===t?(this.d="tagOpen",this.s(),this.q()):(this.d="data",this.b.t())},data:function(){var t=this.p();"<"===t?(this.b.o(),this.d="tagOpen",this.s(),this.q()):"&"===t?(this.q(),this.b.u(this.r()||"&")):(this.q(),this.b.u(t))},tagOpen:function(){var t=this.q();"!"===t?this.d="markupDeclaration":"/"===t?this.d="endTagOpen":e(t)&&(this.d="tagName",this.b.v(),this.b.w(t.toLowerCase()))},markupDeclaration:function(){var t=this.q();"-"===t&&"-"===this.input.charAt(this.e)&&(this.e++,this.d="commentStart",this.b.x())},commentStart:function(){var t=this.q();"-"===t?this.d="commentStartDash":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z(t),this.d="comment")},commentStartDash:function(){var t=this.q();"-"===t?this.d="commentEnd":">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("-"),this.d="comment")},comment:function(){var t=this.q();"-"===t?this.d="commentEndDash":this.b.z(t)},commentEndDash:function(){var t=this.q();"-"===t?this.d="commentEnd":(this.b.z("-"+t),this.d="comment")},commentEnd:function(){var t=this.q();">"===t?(this.b.y(),this.d="beforeData"):(this.b.z("--"+t),this.d="comment")},tagName:function(){var t=this.q();s(t)?this.d="beforeAttributeName":"/"===t?this.d="selfClosingStartTag":">"===t?(this.b.A(),this.d="beforeData"):this.b.w(t)},beforeAttributeName:function(){var t=this.q();s(t)||("/"===t?this.d="selfClosingStartTag":">"===t?(this.b.A(),this.d="beforeData"):(this.d="attributeName",this.b.B(),this.b.C(t)))},attributeName:function(){var t=this.q();s(t)?this.d="afterAttributeName":"/"===t?(this.b.D(!1),this.b.F(),this.d="selfClosingStartTag"):"="===t?this.d="beforeAttributeValue":">"===t?(this.b.D(!1),this.b.F(),this.b.A(),this.d="beforeData"):this.b.C(t)},afterAttributeName:function(){var t=this.q();s(t)||("/"===t?(this.b.D(!1),this.b.F(),this.d="selfClosingStartTag"):"="===t?this.d="beforeAttributeValue":">"===t?(this.b.D(!1),this.b.F(),this.b.A(),this.d="beforeData"):(this.b.D(!1),this.b.F(),this.d="attributeName",this.b.B(),this.b.C(t)))},beforeAttributeValue:function(){var t=this.q();s(t)||('"'===t?(this.d="attributeValueDoubleQuoted",this.b.D(!0)):"'"===t?(this.d="attributeValueSingleQuoted",this.b.D(!0)):">"===t?(this.b.D(!1),this.b.F(),this.b.A(),this.d="beforeData"):(this.d="attributeValueUnquoted",this.b.D(!1),this.b.G(t)))},attributeValueDoubleQuoted:function(){var t=this.q();'"'===t?(this.b.F(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.G(this.r('"')||"&"):this.b.G(t)},attributeValueSingleQuoted:function(){var t=this.q();"'"===t?(this.b.F(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.G(this.r("'")||"&"):this.b.G(t)},attributeValueUnquoted:function(){var t=this.q();s(t)?(this.b.F(),this.d="beforeAttributeName"):"&"===t?this.b.G(this.r(">")||"&"):">"===t?(this.b.F(),this.b.A(),this.d="beforeData"):this.b.G(t)},afterAttributeValueQuoted:function(){var t=this.p();s(t)?(this.q(),this.d="beforeAttributeName"):"/"===t?(this.q(),this.d="selfClosingStartTag"):">"===t?(this.q(),this.b.A(),this.d="beforeData"):this.d="beforeAttributeName"},selfClosingStartTag:function(){var t=this.p();">"===t?(this.q(),this.b.H(),this.b.A(),this.d="beforeData"):this.d="beforeAttributeName"},endTagOpen:function(){var t=this.q();e(t)&&(this.d="tagName",this.b.I(),this.b.w(t.toLowerCase()))}}},r.prototype={tokenize:function(t){return this.J=[],this.tokenizer.tokenize(t),this.J},tokenizePart:function(t){return this.J=[],this.tokenizer.tokenizePart(t),this.J},tokenizeEOF:function(){return this.J=[],this.tokenizer.tokenizeEOF(),this.J[0]},j:function(){this.k=null,this.startLine=1,this.startColumn=0},K:function(){this.options.L&&(this.k.L={start:{f:this.startLine,g:this.startColumn},M:{f:this.tokenizer.f,g:this.tokenizer.g}}),this.startLine=this.tokenizer.f,this.startColumn=this.tokenizer.g},t:function(){this.k={type:"Chars",chars:""},this.J.push(this.k)},u:function(t){this.k.chars+=t},o:function(){this.K()},x:function(){this.k={type:"Comment",chars:""},this.J.push(this.k)},z:function(t){this.k.chars+=t},y:function(){this.K()},v:function(){this.k={type:"StartTag",tagName:"",attributes:[],l:!1},this.J.push(this.k)},I:function(){this.k={type:"EndTag",tagName:""},this.J.push(this.k)},A:function(){this.K()},H:function(){this.k.l=!0},w:function(t){this.k.tagName+=t},B:function(){this._currentAttribute=["","",null],this.k.attributes.push(this._currentAttribute)},C:function(t){this._currentAttribute[0]+=t},D:function(t){this._currentAttribute[2]=t},G:function(t){this._currentAttribute[1]=this._currentAttribute[1]||"",this._currentAttribute[1]+=t},F:function(){}};var z={HTML5NamedCharRefs:p,EntityParser:i,EventedTokenizer:n,Tokenizer:r,tokenize:a},D=t.options,q=D.Options,N="StartTag",y="EndTag",C="Chars",F="Comment";return u}(i);t.linkifyHtml=s}(window,linkify);
"use strict";!function(t,i){var s=function(t){function i(t){this.a=t}function s(t){return v.test(t)}function e(t){return k.test(t)}function h(t){return t.replace(A,"\n")}function r(t,i){this.b=t,this.c=i,this.d=null,this.input=null,this.e=-1,this.f=-1,this.g=-1,this.h=-1,this.i=-1,this.j()}function n(t,i){this.k=null,this.startLine=1,this.startColumn=0,this.options=i||{},this.tokenizer=new r(this,t)}function a(t,s){var e=new n(new i(p),s);return e.tokenize(t)}function o(t){var i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=z.tokenize(t),h=[],r=[];for(s=new D(s),i=0;i<e.length;i++){var n=e[i];if(n.type!==y)if(n.type===T){var a=u(n.chars,s);h.push.apply(h,a)}else h.push(n);else{h.push(n);var o=n.tagName.toUpperCase(),c="A"===o||N.contains(s.ignoreTags,o);if(!c)continue;var p=h.length;f(o,e,++i,h),i+=h.length-p-1}}for(i=0;i<h.length;i++){var l=h[i];switch(l.type){case y:var m="<"+l.tagName;if(l.attributes.length>0){var g=d(l.attributes);m+=" "+g.join(" ")}m+=">",r.push(m);break;case C:r.push("</"+l.tagName+">");break;case T:r.push(b(l.chars));break;case F:r.push("<!--"+b(l.chars)+"-->")}}return r.join("")}function u(i,s){for(var e=t.tokenize(i),h=[],r=0;r<e.length;r++){var n=e[r];if("nl"===n.type&&s.nl2br)h.push({type:y,tagName:"br",attributes:[],l:!0});else if(n.isLink&&s.check(n)){var a=s.resolve(n),o=(a.href,a.formatted),u=a.formattedHref,f=a.tagName,b=a.className,c=a.target,d=a.attributes,p=[["href",u]];b&&p.push(["class",b]),c&&p.push(["target",c]);for(var l in d)p.push([l,d[l]]);h.push({type:y,tagName:f,attributes:p,l:!1}),h.push({type:T,chars:o}),h.push({type:C,tagName:f})}else h.push({type:T,chars:n.toString()})}return h}function f(t,i,s,e){for(var h=1;s<i.length&&h>0;){var r=i[s];r.type===y&&r.tagName.toUpperCase()===t?h++:r.type===C&&r.tagName.toUpperCase()===t&&h--,e.push(r),s++}return e}function b(t){return t}function c(t){return t.replace(/"/g,"&quot;")}function d(t){for(var i=[],s=0;s<t.length;s++){var e=t[s],h=e[0],r=e[1];i.push(h+'="'+c(r)+'"')}return i}var p={m:" "},l=/^#[xX]([A-Fa-f0-9]+)$/,m=/^#([0-9]+)$/,g=/^([A-Za-z0-9]+)$/;i.prototype.parse=function(t){if(t){var i=t.match(l);return i?"&#x"+i[1]+";":(i=t.match(m))?"&#"+i[1]+";":(i=t.match(g),i?this.a[i[1]]||"&"+i[1]+";":void 0)}};var v=/[\t\n\f ]/,k=/[A-Za-z]/,A=/\r\n?/g;r.prototype={j:function(){this.d="beforeData",this.input="",this.e=0,this.f=1,this.g=0,this.h=-1,this.i=-1,this.b.j()},tokenize:function(t){this.j(),this.tokenizePart(t),this.tokenizeEOF()},tokenizePart:function(t){for(this.input+=h(t);this.e<this.input.length;)this.n[this.d].call(this)},tokenizeEOF:function(){this.o()},o:function(){"data"===this.d&&(this.b.p(),this.d="beforeData")},q:function(){return this.input.charAt(this.e)},r:function(){var t=this.q();return this.e++,"\n"===t?(this.f++,this.g=0):this.g++,t},s:function(){var t=this.input.indexOf(";",this.e);if(t!==-1){var i=this.input.slice(this.e,t),s=this.c.parse(i);if(s){for(var e=i.length;e;)this.r(),e--;return this.r(),s}}},t:function(){this.h=this.f,this.i=this.g,this.b.tagOpen&&this.b.tagOpen()},n:{beforeData:function(){var t=this.q();"<"===t?(this.d="tagOpen",this.t(),this.r()):(this.d="data",this.b.u())},data:function(){var t=this.q();"<"===t?(this.b.p(),this.d="tagOpen",this.t(),this.r()):"&"===t?(this.r(),this.b.v(this.s()||"&")):(this.r(),this.b.v(t))},tagOpen:function(){var t=this.r();"!"===t?this.d="markupDeclaration":"/"===t?this.d="endTagOpen":e(t)&&(this.d="tagName",this.b.w(),this.b.x(t.toLowerCase()))},markupDeclaration:function(){var t=this.r();"-"===t&&"-"===this.input.charAt(this.e)&&(this.r(),this.d="commentStart",this.b.y())},commentStart:function(){var t=this.r();"-"===t?this.d="commentStartDash":">"===t?(this.b.z(),this.d="beforeData"):(this.b.A(t),this.d="comment")},commentStartDash:function(){var t=this.r();"-"===t?this.d="commentEnd":">"===t?(this.b.z(),this.d="beforeData"):(this.b.A("-"),this.d="comment")},comment:function(){var t=this.r();"-"===t?this.d="commentEndDash":this.b.A(t)},commentEndDash:function(){var t=this.r();"-"===t?this.d="commentEnd":(this.b.A("-"+t),this.d="comment")},commentEnd:function(){var t=this.r();">"===t?(this.b.z(),this.d="beforeData"):(this.b.A("--"+t),this.d="comment")},tagName:function(){var t=this.r();s(t)?this.d="beforeAttributeName":"/"===t?this.d="selfClosingStartTag":">"===t?(this.b.B(),this.d="beforeData"):this.b.x(t)},beforeAttributeName:function(){var t=this.q();return s(t)?void this.r():void("/"===t?(this.d="selfClosingStartTag",this.r()):">"===t?(this.r(),this.b.B(),this.d="beforeData"):(this.d="attributeName",this.b.C(),this.r(),this.b.D(t)))},attributeName:function(){var t=this.q();s(t)?(this.d="afterAttributeName",this.r()):"/"===t?(this.b.F(!1),this.b.G(),this.r(),this.d="selfClosingStartTag"):"="===t?(this.d="beforeAttributeValue",this.r()):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.r(),this.b.D(t))},afterAttributeName:function(){var t=this.q();return s(t)?void this.r():void("/"===t?(this.b.F(!1),this.b.G(),this.r(),this.d="selfClosingStartTag"):"="===t?(this.r(),this.d="beforeAttributeValue"):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.b.F(!1),this.b.G(),this.r(),this.d="attributeName",this.b.C(),this.b.D(t)))},beforeAttributeValue:function(){var t=this.q();s(t)?this.r():'"'===t?(this.d="attributeValueDoubleQuoted",this.b.F(!0),this.r()):"'"===t?(this.d="attributeValueSingleQuoted",this.b.F(!0),this.r()):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.d="attributeValueUnquoted",this.b.F(!1),this.r(),this.b.H(t))},attributeValueDoubleQuoted:function(){var t=this.r();'"'===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.s('"')||"&"):this.b.H(t)},attributeValueSingleQuoted:function(){var t=this.r();"'"===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.s("'")||"&"):this.b.H(t)},attributeValueUnquoted:function(){var t=this.q();s(t)?(this.b.G(),this.r(),this.d="beforeAttributeName"):"&"===t?(this.r(),this.b.H(this.s(">")||"&")):">"===t?(this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.r(),this.b.H(t))},afterAttributeValueQuoted:function(){var t=this.q();s(t)?(this.r(),this.d="beforeAttributeName"):"/"===t?(this.r(),this.d="selfClosingStartTag"):">"===t?(this.r(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},selfClosingStartTag:function(){var t=this.q();">"===t?(this.r(),this.b.I(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},endTagOpen:function(){var t=this.r();e(t)&&(this.d="tagName",this.b.J(),this.b.x(t.toLowerCase()))}}},n.prototype={tokenize:function(t){return this.K=[],this.tokenizer.tokenize(t),this.K},tokenizePart:function(t){return this.K=[],this.tokenizer.tokenizePart(t),this.K},tokenizeEOF:function(){return this.K=[],this.tokenizer.tokenizeEOF(),this.K[0]},j:function(){this.k=null,this.startLine=1,this.startColumn=0},L:function(){this.options.M&&(this.k.M={start:{f:this.startLine,g:this.startColumn},N:{f:this.tokenizer.f,g:this.tokenizer.g}}),this.startLine=this.tokenizer.f,this.startColumn=this.tokenizer.g},u:function(){this.k={type:"Chars",chars:""},this.K.push(this.k)},v:function(t){this.k.chars+=t},p:function(){this.L()},y:function(){this.k={type:"Comment",chars:""},this.K.push(this.k)},A:function(t){this.k.chars+=t},z:function(){this.L()},w:function(){this.k={type:"StartTag",tagName:"",attributes:[],l:!1},this.K.push(this.k)},J:function(){this.k={type:"EndTag",tagName:""},this.K.push(this.k)},B:function(){this.L()},I:function(){this.k.l=!0},x:function(t){this.k.tagName+=t},C:function(){this._currentAttribute=["","",null],this.k.attributes.push(this._currentAttribute)},D:function(t){this._currentAttribute[0]+=t},F:function(t){this._currentAttribute[2]=t},H:function(t){this._currentAttribute[1]=this._currentAttribute[1]||"",this._currentAttribute[1]+=t},G:function(){}};var z={HTML5NamedCharRefs:p,EntityParser:i,EventedTokenizer:r,Tokenizer:n,tokenize:a},N=t.options,D=N.Options,y="StartTag",C="EndTag",T="Chars",F="Comment";return o}(i);t.linkifyHtml=s}(window,linkify);

@@ -27,4 +27,4 @@ define('linkify-element', ['module', 'exports', './linkify'], function (module, exports, _linkify) {

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -84,13 +84,11 @@

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
events = _opts$resolve.events,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var events = _opts$resolve.events;
var attributes = _opts$resolve.attributes;
// Build the link

@@ -184,3 +182,3 @@ var link = doc.createElement(tagName);

function linkifyElement(element, opts) {
var doc = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

@@ -229,3 +227,3 @@

function apply($) {
var doc = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

@@ -232,0 +230,0 @@

@@ -1,1 +0,1 @@

define("linkify-element",["module","exports","./linkify"],function(e,t,n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e,t,n){var i=n[n.length-1];e.replaceChild(i,t);for(var r=n.length-2;r>=0;r--)e.insertBefore(n[r],i),i=n[r]}function a(e,t,n){for(var i=[],r=e,a=Array.isArray(r),o=0,r=a?r:r[Symbol.iterator]();;){var l;if(a){if(o>=r.length)break;l=r[o++]}else{if(o=r.next(),o.done)break;l=o.value}var f=l;if("nl"===f.type&&t.nl2br)i.push(n.createElement("br"));else if(f.isLink&&t.check(f)){var u=t.resolve(f),s=u.formatted,d=u.formattedHref,c=u.tagName,y=u.className,m=u.target,h=u.events,k=u.attributes,v=n.createElement(c);if(v.setAttribute("href",d),y&&v.setAttribute("class",y),m&&v.setAttribute("target",m),k)for(var p in k)v.setAttribute(p,k[p]);if(h)for(var g in h)v.addEventListener?v.addEventListener(g,h[g]):v.attachEvent&&v.attachEvent("on"+g,h[g]);v.appendChild(n.createTextNode(s)),i.push(v)}else i.push(n.createTextNode(f.toString()))}return i}function o(e,t,n){if(!e||e.nodeType!==m)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var i=t.ignoreTags;if("A"===e.tagName||d.contains(i,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case m:o(l,t,n);break;case h:var f=l.nodeValue,u=s(f);if(0===u.length||1===u.length&&u[0]instanceof y)break;var c=a(u,t,n);r(e,l,c),l=c[c.length-1]}l=l.nextSibling}return e}function l(e,t){var n=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];try{n=n||document||window&&window.document||global&&global.document}catch(i){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return t=new c(t),o(e,t,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(f){t.__esModule=!0}}catch(f){t.__esModule=!0}var u=i(n),s=u.tokenize,d=u.options,c=d.Options,y=u.parser.TOKENS.TEXT,m=1,h=3;l.helper=o,l.normalize=function(e){return new c(e)},t["default"]=l,e.exports=t["default"]}),define("linkify-jquery",["module","exports","jquery","./linkify-element"],function(e,t,n,i){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e){function t(e){return e=l["default"].normalize(e),this.each(function(){l["default"].helper(this,e,n)})}var n=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];e.fn=e.fn||{};try{n=n||document||window&&window.document||global&&global.document}catch(i){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the second argument to linkify/jquery");"function"!=typeof e.fn.linkify&&(e.fn.linkify=t,e(n).ready(function(){e("[data-linkify]").each(function(){var t=e(this),n=t.data(),i=n.linkify,r=n.linkifyNlbr,a={attributes:n.linkifyAttributes,defaultProtocol:n.linkifyDefaultProtocol,events:n.linkifyEvents,format:n.linkifyFormat,formatHref:n.linkifyFormatHref,nl2br:!!r&&0!==r&&"false"!==r,tagName:n.linkifyTagname,target:n.linkifyTarget,className:n.linkifyClassName||n.linkifyLinkclass,validate:n.linkifyValidate,ignoreTags:n.linkifyIgnoreTags},o="this"===i?t:t.find(i);o.linkify(a)})}))}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(o){t.__esModule=!0}}catch(o){t.__esModule=!0}t["default"]=a;var l=(r(n),r(i));try{!define&&(window.linkifyElement=l["default"])}catch(o){}e.exports=t["default"]}),require(["jquery","linkify-jquery"],function(e,t){"function"!=typeof e.fn.linkify&&t(e)});
define("linkify-element",["module","exports","./linkify"],function(e,t,n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e,t,n){var i=n[n.length-1];e.replaceChild(i,t);for(var r=n.length-2;r>=0;r--)e.insertBefore(n[r],i),i=n[r]}function a(e,t,n){for(var i=[],r=e,a=Array.isArray(r),o=0,r=a?r:r[Symbol.iterator]();;){var l;if(a){if(o>=r.length)break;l=r[o++]}else{if(o=r.next(),o.done)break;l=o.value}var f=l;if("nl"===f.type&&t.nl2br)i.push(n.createElement("br"));else if(f.isLink&&t.check(f)){var u=t.resolve(f),s=u.formatted,d=u.formattedHref,c=u.tagName,y=u.className,m=u.target,h=u.events,k=u.attributes,v=n.createElement(c);if(v.setAttribute("href",d),y&&v.setAttribute("class",y),m&&v.setAttribute("target",m),k)for(var p in k)v.setAttribute(p,k[p]);if(h)for(var g in h)v.addEventListener?v.addEventListener(g,h[g]):v.attachEvent&&v.attachEvent("on"+g,h[g]);v.appendChild(n.createTextNode(s)),i.push(v)}else i.push(n.createTextNode(f.toString()))}return i}function o(e,t,n){if(!e||e.nodeType!==m)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var i=t.ignoreTags;if("A"===e.tagName||d.contains(i,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case m:o(l,t,n);break;case h:var f=l.nodeValue,u=s(f);if(0===u.length||1===u.length&&u[0]instanceof y)break;var c=a(u,t,n);r(e,l,c),l=c[c.length-1]}l=l.nextSibling}return e}function l(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{n=n||document||window&&window.document||global&&global.document}catch(i){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return t=new c(t),o(e,t,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(f){t.__esModule=!0}}catch(f){t.__esModule=!0}var u=i(n),s=u.tokenize,d=u.options,c=d.Options,y=u.parser.TOKENS.TEXT,m=1,h=3;l.helper=o,l.normalize=function(e){return new c(e)},t["default"]=l,e.exports=t["default"]}),define("linkify-jquery",["module","exports","jquery","./linkify-element"],function(e,t,n,i){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e){function t(e){return e=l["default"].normalize(e),this.each(function(){l["default"].helper(this,e,n)})}var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.fn=e.fn||{};try{n=n||document||window&&window.document||global&&global.document}catch(i){}if(!n)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the second argument to linkify/jquery");"function"!=typeof e.fn.linkify&&(e.fn.linkify=t,e(n).ready(function(){e("[data-linkify]").each(function(){var t=e(this),n=t.data(),i=n.linkify,r=n.linkifyNlbr,a={attributes:n.linkifyAttributes,defaultProtocol:n.linkifyDefaultProtocol,events:n.linkifyEvents,format:n.linkifyFormat,formatHref:n.linkifyFormatHref,nl2br:!!r&&0!==r&&"false"!==r,tagName:n.linkifyTagname,target:n.linkifyTarget,className:n.linkifyClassName||n.linkifyLinkclass,validate:n.linkifyValidate,ignoreTags:n.linkifyIgnoreTags},o="this"===i?t:t.find(i);o.linkify(a)})}))}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(o){t.__esModule=!0}}catch(o){t.__esModule=!0}t["default"]=a;var l=(r(n),r(i));try{!define&&(window.linkifyElement=l["default"])}catch(o){}e.exports=t["default"]}),require(["jquery","linkify-jquery"],function(e,t){"function"!=typeof e.fn.linkify&&t(e)});

@@ -7,2 +7,4 @@ 'use strict';

jquery = 'default' in jquery ? jquery['default'] : jquery;
/**

@@ -12,4 +14,4 @@ Linkify a HTML DOM node

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -22,2 +24,3 @@

var TXT_NODE = 3;
/**

@@ -69,14 +72,14 @@ Given a parent element and child node that the parent contains, replaces

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
events = _opts$resolve.events,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var events = _opts$resolve.events;
var attributes = _opts$resolve.attributes;
// Build the link
var link = doc.createElement(tagName);

@@ -169,3 +172,3 @@ link.setAttribute('href', formattedHref);

function linkifyElement(element, opts) {
var doc = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

@@ -193,3 +196,3 @@

function apply($) {
var doc = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

@@ -253,2 +256,3 @@

}($, linkify);
if (typeof $.fn.linkify !== 'function') {

@@ -255,0 +259,0 @@ linkifyJquery($);

@@ -1,1 +0,1 @@

"use strict";!function(e,t,n){var i=function(t,n){function i(e,t,n){var i=n[n.length-1];e.replaceChild(i,t);for(var r=n.length-2;r>=0;r--)e.insertBefore(n[r],i),i=n[r]}function r(e,t,n){for(var i=[],r=e,a=Array.isArray(r),o=0,r=a?r:r[Symbol.iterator]();;){var l;if(a){if(o>=r.length)break;l=r[o++]}else{if(o=r.next(),o.done)break;l=o.value}var f=l;if("nl"===f.type&&t.nl2br)i.push(n.createElement("br"));else if(f.isLink&&t.check(f)){var s=t.resolve(f),c=s.formatted,u=s.formattedHref,d=s.tagName,m=s.className,y=s.target,h=s.events,k=s.attributes,v=n.createElement(d);if(v.setAttribute("href",u),m&&v.setAttribute("class",m),y&&v.setAttribute("target",y),k)for(var g in k)v.setAttribute(g,k[g]);if(h)for(var b in h)v.addEventListener?v.addEventListener(b,h[b]):v.attachEvent&&v.attachEvent("on"+b,h[b]);v.appendChild(n.createTextNode(c)),i.push(v)}else i.push(n.createTextNode(f.toString()))}return i}function a(e,t,n){if(!e||e.nodeType!==d)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var o=t.ignoreTags;if("A"===e.tagName||s.contains(o,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case d:a(l,t,n);break;case m:var c=l.nodeValue,y=f(c);if(0===y.length||1===y.length&&y[0]instanceof u)break;var h=r(y,t,n);i(e,l,h),l=h[h.length-1]}l=l.nextSibling}return e}function o(t,n){var i=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];try{i=i||document||e&&e.document||global&&global.document}catch(r){}if(!i)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return n=new c(n),a(t,n,i)}function l(t){function n(e){return e=o.normalize(e),this.each(function(){o.helper(this,e,i)})}var i=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];t.fn=t.fn||{};try{i=i||document||e&&e.document||global&&global.document}catch(r){}if(!i)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the second argument to linkify/jquery");"function"!=typeof t.fn.linkify&&(t.fn.linkify=n,t(i).ready(function(){t("[data-linkify]").each(function(){var e=t(this),n=e.data(),i=n.linkify,r=n.linkifyNlbr,a={attributes:n.linkifyAttributes,defaultProtocol:n.linkifyDefaultProtocol,events:n.linkifyEvents,format:n.linkifyFormat,formatHref:n.linkifyFormatHref,nl2br:!!r&&0!==r&&"false"!==r,tagName:n.linkifyTagname,target:n.linkifyTarget,className:n.linkifyClassName||n.linkifyLinkclass,validate:n.linkifyValidate,ignoreTags:n.linkifyIgnoreTags},o="this"===i?e:e.find(i);o.linkify(a)})}))}var f=n.tokenize,s=n.options,c=s.Options,u=n.parser.TOKENS.TEXT,d=1,m=3;o.helper=a,o.normalize=function(e){return new c(e)};try{!define&&(e.linkifyElement=o)}catch(y){}return l}(n,t);"function"!=typeof n.fn.linkify&&i(n)}(window,linkify,jQuery);
"use strict";!function(e,t,n){var i=function(t,n){function i(e,t,n){var i=n[n.length-1];e.replaceChild(i,t);for(var r=n.length-2;r>=0;r--)e.insertBefore(n[r],i),i=n[r]}function r(e,t,n){for(var i=[],r=e,a=Array.isArray(r),o=0,r=a?r:r[Symbol.iterator]();;){var l;if(a){if(o>=r.length)break;l=r[o++]}else{if(o=r.next(),o.done)break;l=o.value}var f=l;if("nl"===f.type&&t.nl2br)i.push(n.createElement("br"));else if(f.isLink&&t.check(f)){var s=t.resolve(f),c=s.formatted,u=s.formattedHref,d=s.tagName,m=s.className,y=s.target,h=s.events,k=s.attributes,v=n.createElement(d);if(v.setAttribute("href",u),m&&v.setAttribute("class",m),y&&v.setAttribute("target",y),k)for(var g in k)v.setAttribute(g,k[g]);if(h)for(var b in h)v.addEventListener?v.addEventListener(b,h[b]):v.attachEvent&&v.attachEvent("on"+b,h[b]);v.appendChild(n.createTextNode(c)),i.push(v)}else i.push(n.createTextNode(f.toString()))}return i}function a(e,t,n){if(!e||e.nodeType!==d)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var o=t.ignoreTags;if("A"===e.tagName||s.contains(o,e.tagName))return e;for(var l=e.firstChild;l;){switch(l.nodeType){case d:a(l,t,n);break;case m:var c=l.nodeValue,y=f(c);if(0===y.length||1===y.length&&y[0]instanceof u)break;var h=r(y,t,n);i(e,l,h),l=h[h.length-1]}l=l.nextSibling}return e}function o(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{i=i||document||e&&e.document||global&&global.document}catch(r){}if(!i)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return n=new c(n),a(t,n,i)}function l(t){function n(e){return e=o.normalize(e),this.each(function(){o.helper(this,e,i)})}var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t.fn=t.fn||{};try{i=i||document||e&&e.document||global&&global.document}catch(r){}if(!i)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the second argument to linkify/jquery");"function"!=typeof t.fn.linkify&&(t.fn.linkify=n,t(i).ready(function(){t("[data-linkify]").each(function(){var e=t(this),n=e.data(),i=n.linkify,r=n.linkifyNlbr,a={attributes:n.linkifyAttributes,defaultProtocol:n.linkifyDefaultProtocol,events:n.linkifyEvents,format:n.linkifyFormat,formatHref:n.linkifyFormatHref,nl2br:!!r&&0!==r&&"false"!==r,tagName:n.linkifyTagname,target:n.linkifyTarget,className:n.linkifyClassName||n.linkifyLinkclass,validate:n.linkifyValidate,ignoreTags:n.linkifyIgnoreTags},o="this"===i?e:e.find(i);o.linkify(a)})}))}t="default"in t?t["default"]:t;var f=n.tokenize,s=n.options,c=s.Options,u=n.parser.TOKENS.TEXT,d=1,m=3;o.helper=a,o.normalize=function(e){return new c(e)};try{!define&&(e.linkifyElement=o)}catch(y){}return l}(n,t);"function"!=typeof n.fn.linkify&&i(n)}(window,linkify,jQuery);

@@ -35,3 +35,4 @@ 'use strict';

}();
plugin(linkify);
})(linkify);

@@ -13,5 +13,5 @@ define('linkify/plugins/mention', ['module', 'exports'], function (module, exports) {

var TT = linkify.scanner.TOKENS; // Text tokens
var _linkify$parser = linkify.parser;
var MT = _linkify$parser.TOKENS;
var State = _linkify$parser.State;
var _linkify$parser = linkify.parser,
MT = _linkify$parser.TOKENS,
State = _linkify$parser.State;
// Multi tokens, state

@@ -18,0 +18,0 @@ var MultiToken = MT.Base;

@@ -13,5 +13,5 @@ 'use strict';

var TT = linkify.scanner.TOKENS; // Text tokens
var _linkify$parser = linkify.parser;
var MT = _linkify$parser.TOKENS;
var State = _linkify$parser.State; // Multi tokens, state
var _linkify$parser = linkify.parser,
MT = _linkify$parser.TOKENS,
State = _linkify$parser.State; // Multi tokens, state

@@ -27,2 +27,3 @@ var MultiToken = MT.Base;

var TT_UNDERSCORE = TT.UNDERSCORE;
var TT_DOT = TT.DOT;

@@ -44,4 +45,4 @@ function MENTION(value) {

var S_MENTION = new State(MENTION);
var S_MENTION_SLASH = new State();
var S_MENTION_SLASH_SYMS = new State();
var S_MENTION_DIVIDER = new State();
var S_MENTION_DIVIDER_SYMS = new State();

@@ -52,3 +53,3 @@ // @_,

// @_*
S_AT_SYMS.on(TT_UNDERSCORE, S_AT_SYMS);
S_AT_SYMS.on(TT_UNDERSCORE, S_AT_SYMS).on(TT_DOT, S_AT_SYMS);

@@ -63,13 +64,13 @@ // Valid mention (not made up entirely of symbols)

// Mention with a slash
S_MENTION.on(TT_SLASH, S_MENTION_SLASH);
// Mention with a divider
S_MENTION.on(TT_SLASH, S_MENTION_DIVIDER).on(TT_DOT, S_MENTION_DIVIDER);
// Mention _ trailing stash plus syms
S_MENTION_SLASH.on(TT_UNDERSCORE, S_MENTION_SLASH_SYMS);
S_MENTION_SLASH_SYMS.on(TT_UNDERSCORE, S_MENTION_SLASH_SYMS);
S_MENTION_DIVIDER.on(TT_UNDERSCORE, S_MENTION_DIVIDER_SYMS);
S_MENTION_DIVIDER_SYMS.on(TT_UNDERSCORE, S_MENTION_DIVIDER_SYMS);
// Once we get a word token, mentions can start up again
S_MENTION_SLASH.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_DIVIDER.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_SLASH_SYMS.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_DIVIDER_SYMS.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
}

@@ -79,3 +80,4 @@

}();
plugin(linkify);
})(window.linkify);

@@ -1,1 +0,1 @@

"use strict";!function(n){var o=function(){function n(n){function o(n){this.v=n}var t=n.scanner.TOKENS,r=n.parser,i=r.TOKENS,e=r.State,s=i.Base,u=n.parser.start,a=t.DOMAIN,S=t.LOCALHOST,c=t.NUM,f=t.SLASH,w=t.TLD,O=t.UNDERSCORE;n.inherits(s,o,{type:"mention",isLink:!0,toHref:function(){return"/"+this.toString().substr(1)}});var L=u.jump(t.AT),N=new e,T=new e(o),p=new e,v=new e;L.on(O,N),N.on(O,N),L.on(a,T).on(S,T).on(w,T).on(c,T),N.on(a,T).on(S,T).on(w,T).on(c,T),T.on(a,T).on(S,T).on(w,T).on(c,T).on(O,T),T.on(f,p),p.on(O,v),v.on(O,v),p.on(a,T).on(S,T).on(w,T).on(c,T),v.on(a,T).on(S,T).on(w,T).on(c,T)}return n}();o(n)}(window.linkify);
"use strict";!function(n){var o=function(){function n(n){function o(n){this.v=n}var t=n.scanner.TOKENS,r=n.parser,i=r.TOKENS,e=r.State,s=i.Base,u=n.parser.start,a=t.DOMAIN,S=t.LOCALHOST,c=t.NUM,f=t.SLASH,O=t.TLD,w=t.UNDERSCORE,T=t.DOT;n.inherits(s,o,{type:"mention",isLink:!0,toHref:function(){return"/"+this.toString().substr(1)}});var L=u.jump(t.AT),N=new e,p=new e(o),v=new e,A=new e;L.on(w,N),N.on(w,N).on(T,N),L.on(a,p).on(S,p).on(O,p).on(c,p),N.on(a,p).on(S,p).on(O,p).on(c,p),p.on(a,p).on(S,p).on(O,p).on(c,p).on(w,p),p.on(f,v).on(T,v),v.on(w,A),A.on(w,A),v.on(a,p).on(S,p).on(O,p).on(c,p),A.on(a,p).on(S,p).on(O,p).on(c,p)}return n}();o(n)}(window.linkify);

@@ -35,3 +35,4 @@ 'use strict';

}();
plugin(linkify);
})(linkify);

@@ -59,14 +59,12 @@ define('linkify-react', ['module', 'exports', 'react', './linkify'], function (module, exports, _react, _linkify) {

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes,
events = _opts$resolve.events;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var events = _opts$resolve.events;
var props = {

@@ -101,3 +99,3 @@ key: 'linkified-' + ++linkId,

function linkifyReactElement(element, opts) {
var elementId = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2];
var elementId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

@@ -104,0 +102,0 @@ if (_react2['default'].Children.count(element.props.children) === 0) {

@@ -1,1 +0,1 @@

define("linkify-react",["module","exports","react","./linkify"],function(e,t,r,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function l(e,t){for(var r=u.tokenize(e),n=[],a=0,i=0;i<r.length;i++){var l=r[i];if("nl"===l.type&&t.nl2br)n.push(f["default"].createElement("br",{key:"linkified-"+ ++a}));else if(l.isLink&&t.check(l)){var o=t.resolve(l),s=(o.href,o.formatted),p=o.formattedHref,d=o.tagName,c=o.className,h=o.target,v=o.attributes,y=(o.events,{key:"linkified-"+ ++a,href:p});if(c&&(y.className=c),h&&(y.target=h),v)for(var m in v)y[m]=v[m];n.push(f["default"].createElement(d,y,s))}else n.push(l.toString())}return n}function o(e,t){var r=arguments.length<=2||void 0===arguments[2]?0:arguments[2];if(0===f["default"].Children.count(e.props.children))return e;var n=[];f["default"].Children.forEach(e.props.children,function(e){"string"==typeof e?n.push.apply(n,l(e,t)):f["default"].isValidElement(e)?"string"==typeof e.type&&p.contains(t.ignoreTags,e.type.toUpperCase())?n.push(e):n.push(o(e,t,++r)):n.push(e)});var a={key:"linkified-element-"+r};for(var i in e.props)a[i]=e.props[i];return f["default"].cloneElement(e,a,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(s){t.__esModule=!0}}catch(s){t.__esModule=!0}var f=i(r),u=a(n),p=u.options,d=p.Options,c=f["default"].createClass({render:function(){var e={key:"linkified-element-0"};for(var t in this.props)"options"!==t&&"tagName"!==t&&(e[t]=this.props[t]);var r=new d(this.props.options),n=this.props.tagName||"span",a=f["default"].createElement(n,e);return o(a,r,0)}});t["default"]=c,e.exports=t["default"]});
define("linkify-react",["module","exports","react","./linkify"],function(e,t,r,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function l(e,t){for(var r=u.tokenize(e),n=[],a=0,i=0;i<r.length;i++){var l=r[i];if("nl"===l.type&&t.nl2br)n.push(f["default"].createElement("br",{key:"linkified-"+ ++a}));else if(l.isLink&&t.check(l)){var o=t.resolve(l),s=(o.href,o.formatted),p=o.formattedHref,d=o.tagName,c=o.className,h=o.target,v=o.attributes,y=(o.events,{key:"linkified-"+ ++a,href:p});if(c&&(y.className=c),h&&(y.target=h),v)for(var m in v)y[m]=v[m];n.push(f["default"].createElement(d,y,s))}else n.push(l.toString())}return n}function o(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(0===f["default"].Children.count(e.props.children))return e;var n=[];f["default"].Children.forEach(e.props.children,function(e){"string"==typeof e?n.push.apply(n,l(e,t)):f["default"].isValidElement(e)?"string"==typeof e.type&&p.contains(t.ignoreTags,e.type.toUpperCase())?n.push(e):n.push(o(e,t,++r)):n.push(e)});var a={key:"linkified-element-"+r};for(var i in e.props)a[i]=e.props[i];return f["default"].cloneElement(e,a,n)}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(s){t.__esModule=!0}}catch(s){t.__esModule=!0}var f=i(r),u=a(n),p=u.options,d=p.Options,c=f["default"].createClass({render:function(){var e={key:"linkified-element-0"};for(var t in this.props)"options"!==t&&"tagName"!==t&&(e[t]=this.props[t]);var r=new d(this.props.options),n=this.props.tagName||"span",a=f["default"].createElement(n,e);return o(a,r,0)}});t["default"]=c,e.exports=t["default"]});

@@ -33,14 +33,12 @@ 'use strict';

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes,
events = _opts$resolve.events;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var events = _opts$resolve.events;
var props = {

@@ -75,3 +73,3 @@ key: 'linkified-' + ++linkId,

function linkifyReactElement(element, opts) {
var elementId = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2];
var elementId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

@@ -130,3 +128,4 @@ if (React.Children.count(element.props.children) === 0) {

}(React, linkify);
window.Linkify = window.LinkifyReact = linkifyReact;
})(window, React, linkify);

@@ -1,1 +0,1 @@

"use strict";!function(e,t,r){var n=function(e,t){function r(r,n){for(var i=t.tokenize(r),a=[],s=0,o=0;o<i.length;o++){var p=i[o];if("nl"===p.type&&n.nl2br)a.push(e.createElement("br",{key:"linkified-"+ ++s}));else if(p.isLink&&n.check(p)){var f=n.resolve(p),l=(f.href,f.formatted),c=f.formattedHref,u=f.tagName,h=f.className,d=f.target,v=f.attributes,k=(f.events,{key:"linkified-"+ ++s,href:c});if(h&&(k.className=h),d&&(k.target=d),v)for(var m in v)k[m]=v[m];a.push(e.createElement(u,k,l))}else a.push(p.toString())}return a}function n(t,a){var s=arguments.length<=2||void 0===arguments[2]?0:arguments[2];if(0===e.Children.count(t.props.children))return t;var o=[];e.Children.forEach(t.props.children,function(t){"string"==typeof t?o.push.apply(o,r(t,a)):e.isValidElement(t)?"string"==typeof t.type&&i.contains(a.ignoreTags,t.type.toUpperCase())?o.push(t):o.push(n(t,a,++s)):o.push(t)});var p={key:"linkified-element-"+s};for(var f in t.props)p[f]=t.props[f];return e.cloneElement(t,p,o)}e="default"in e?e["default"]:e;var i=t.options,a=i.Options,s=e.createClass({render:function(){var t={key:"linkified-element-0"};for(var r in this.props)"options"!==r&&"tagName"!==r&&(t[r]=this.props[r]);var i=new a(this.props.options),s=this.props.tagName||"span",o=e.createElement(s,t);return n(o,i,0)}});return s}(t,r);e.Linkify=e.LinkifyReact=n}(window,React,linkify);
"use strict";!function(e,t,r){var n=function(e,t){function r(r,n){for(var i=t.tokenize(r),a=[],s=0,o=0;o<i.length;o++){var p=i[o];if("nl"===p.type&&n.nl2br)a.push(e.createElement("br",{key:"linkified-"+ ++s}));else if(p.isLink&&n.check(p)){var f=n.resolve(p),l=(f.href,f.formatted),c=f.formattedHref,u=f.tagName,h=f.className,d=f.target,v=f.attributes,k=(f.events,{key:"linkified-"+ ++s,href:c});if(h&&(k.className=h),d&&(k.target=d),v)for(var m in v)k[m]=v[m];a.push(e.createElement(u,k,l))}else a.push(p.toString())}return a}function n(t,a){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(0===e.Children.count(t.props.children))return t;var o=[];e.Children.forEach(t.props.children,function(t){"string"==typeof t?o.push.apply(o,r(t,a)):e.isValidElement(t)?"string"==typeof t.type&&i.contains(a.ignoreTags,t.type.toUpperCase())?o.push(t):o.push(n(t,a,++s)):o.push(t)});var p={key:"linkified-element-"+s};for(var f in t.props)p[f]=t.props[f];return e.cloneElement(t,p,o)}e="default"in e?e["default"]:e;var i=t.options,a=i.Options,s=e.createClass({render:function(){var t={key:"linkified-element-0"};for(var r in this.props)"options"!==r&&"tagName"!==r&&(t[r]=this.props[r]);var i=new a(this.props.options),s=this.props.tagName||"span",o=e.createElement(s,t);return n(o,i,0)}});return s}(t,r);e.Linkify=e.LinkifyReact=n}(window,React,linkify);

@@ -27,4 +27,4 @@ define('linkify-string', ['module', 'exports', './linkify'], function (module, exports, _linkify) {

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -55,3 +55,3 @@

function linkifyStr(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -74,12 +74,10 @@ opts = new Options(opts);

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var link = '<' + tagName + ' href="' + escapeAttr(formattedHref) + '"';

@@ -86,0 +84,0 @@

@@ -1,1 +0,1 @@

define("linkify-string",["module","exports","./linkify"],function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function i(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function o(e){return e.replace(/"/g,"&quot;")}function a(e){if(!e)return"";var t=[];for(var r in e){var n=e[r]+"";t.push(r+'="'+o(n)+'"')}return t.join(" ")}function u(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];t=new p(t);for(var r=s(e),n=[],u=0;u<r.length;u++){var l=r[u];if("nl"===l.type&&t.nl2br)n.push("<br>\n");else if(l.isLink&&t.check(l)){var f=t.resolve(l),c=f.formatted,g=f.formattedHref,d=f.tagName,v=f.className,h=f.target,y=f.attributes,_="<"+d+' href="'+o(g)+'"';v&&(_+=' class="'+o(v)+'"'),h&&(_+=' target="'+o(h)+'"'),y&&(_+=" "+a(y)),_+=">"+i(c)+"</"+d+">",n.push(_)}else n.push(i(l.toString()))}return n.join("")}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(l){t.__esModule=!0}}catch(l){t.__esModule=!0}var f=n(r),s=f.tokenize,c=f.options,p=c.Options;String.prototype.linkify||(String.prototype.linkify=function(e){return u(this,e)}),t["default"]=u,e.exports=t["default"]});
define("linkify-string",["module","exports","./linkify"],function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function i(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function o(e){return e.replace(/"/g,"&quot;")}function a(e){if(!e)return"";var t=[];for(var r in e){var n=e[r]+"";t.push(r+'="'+o(n)+'"')}return t.join(" ")}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=new p(t);for(var r=s(e),n=[],u=0;u<r.length;u++){var l=r[u];if("nl"===l.type&&t.nl2br)n.push("<br>\n");else if(l.isLink&&t.check(l)){var f=t.resolve(l),c=f.formatted,g=f.formattedHref,d=f.tagName,v=f.className,h=f.target,y=f.attributes,_="<"+d+' href="'+o(g)+'"';v&&(_+=' class="'+o(v)+'"'),h&&(_+=' target="'+o(h)+'"'),y&&(_+=" "+a(y)),_+=">"+i(c)+"</"+d+">",n.push(_)}else n.push(i(l.toString()))}return n.join("")}try{try{Object.defineProperty(t,"__esModule",{value:!0})}catch(l){t.__esModule=!0}}catch(l){t.__esModule=!0}var f=n(r),s=f.tokenize,c=f.options,p=c.Options;String.prototype.linkify||(String.prototype.linkify=function(e){return u(this,e)}),t["default"]=u,e.exports=t["default"]});

@@ -11,4 +11,4 @@ 'use strict';

var tokenize = linkify.tokenize;
var options = linkify.options;
var tokenize = linkify.tokenize,
options = linkify.options;
var Options = options.Options;

@@ -39,3 +39,3 @@

function linkifyStr(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -58,12 +58,10 @@ opts = new Options(opts);

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var link = '<' + tagName + ' href="' + escapeAttr(formattedHref) + '"';

@@ -98,3 +96,4 @@

}(linkify);
window.linkifyStr = linkifyString;
})(window, linkify);

@@ -1,1 +0,1 @@

"use strict";!function(t,r){var n=function(t){function r(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function n(t){return t.replace(/"/g,"&quot;")}function e(t){if(!t)return"";var r=[];for(var e in t){var i=t[e]+"";r.push(e+'="'+n(i)+'"')}return r.join(" ")}function i(t){var i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];i=new u(i);for(var a=o(t),f=[],l=0;l<a.length;l++){var s=a[l];if("nl"===s.type&&i.nl2br)f.push("<br>\n");else if(s.isLink&&i.check(s)){var c=i.resolve(s),p=c.formatted,g=c.formattedHref,v=c.tagName,h=c.className,k=c.target,y=c.attributes,m="<"+v+' href="'+n(g)+'"';h&&(m+=' class="'+n(h)+'"'),k&&(m+=' target="'+n(k)+'"'),y&&(m+=" "+e(y)),m+=">"+r(p)+"</"+v+">",f.push(m)}else f.push(r(s.toString()))}return f.join("")}var o=t.tokenize,a=t.options,u=a.Options;return String.prototype.linkify||(String.prototype.linkify=function(t){return i(this,t)}),i}(r);t.linkifyStr=n}(window,linkify);
"use strict";!function(t,r){var n=function(t){function r(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function n(t){return t.replace(/"/g,"&quot;")}function e(t){if(!t)return"";var r=[];for(var e in t){var i=t[e]+"";r.push(e+'="'+n(i)+'"')}return r.join(" ")}function i(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i=new u(i);for(var a=o(t),f=[],l=0;l<a.length;l++){var s=a[l];if("nl"===s.type&&i.nl2br)f.push("<br>\n");else if(s.isLink&&i.check(s)){var c=i.resolve(s),p=c.formatted,g=c.formattedHref,v=c.tagName,h=c.className,k=c.target,y=c.attributes,m="<"+v+' href="'+n(g)+'"';h&&(m+=' class="'+n(h)+'"'),k&&(m+=' target="'+n(k)+'"'),y&&(m+=" "+e(y)),m+=">"+r(p)+"</"+v+">",f.push(m)}else f.push(r(s.toString()))}return f.join("")}var o=t.tokenize,a=t.options,u=a.Options;return String.prototype.linkify||(String.prototype.linkify=function(t){return i(this,t)}),i}(r);t.linkifyStr=n}(window,linkify);
'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 ? "symbol" : typeof obj; };
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; };

@@ -9,3 +9,3 @@ define('linkify', ['exports'], function (exports) {

function inherits(parent, child) {
var props = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

@@ -286,3 +286,3 @@ var extended = Object.create(parent.prototype);

*/
var State = inherits(BaseState, createStateClass(), {
var TokenState = inherits(BaseState, createStateClass(), {

@@ -298,3 +298,3 @@ /**

jump: function jump(token) {
var tClass = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -457,3 +457,3 @@ var state = this.next(new token('')); // dummy temp token

*/
var TNL = inheritsToken('\n');
var NL = inheritsToken('\n');

@@ -485,3 +485,2 @@ /**

* `ftps:`
* There's Another super weird one

@@ -494,2 +493,10 @@ @class PROTOCOL

/**
Represents the start of the email URI protocol
@class MAILTO
@extends TextToken
*/
var MAILTO = inheritsToken('mailto:');
/**
@class QUERY

@@ -546,3 +553,5 @@ @extends TextToken

var TOKENS = Object.freeze({
var AMPERSAND = inheritsToken('&');
var text = Object.freeze({
Base: TextToken,

@@ -555,3 +564,3 @@ DOMAIN: DOMAIN,

LOCALHOST: LOCALHOST,
NL: TNL,
NL: NL,
NUM: NUM,

@@ -562,2 +571,3 @@ PLUS: PLUS,

PROTOCOL: PROTOCOL,
MAILTO: MAILTO,
SLASH: SLASH,

@@ -575,3 +585,4 @@ UNDERSCORE: UNDERSCORE,

CLOSEANGLEBRACKET: CLOSEANGLEBRACKET,
CLOSEPAREN: CLOSEPAREN
CLOSEPAREN: CLOSEPAREN,
AMPERSAND: AMPERSAND
});

@@ -592,3 +603,3 @@

var ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', ' ', ' ', '᠎']; // excluding line breaks
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', '\xA0', '\u1680', '\u180E']; // excluding line breaks

@@ -608,7 +619,7 @@ var domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/

// States for special URL symbols
S_START.on('@', makeState(AT)).on('.', makeState(DOT)).on('+', makeState(PLUS)).on('#', makeState(POUND)).on('?', makeState(QUERY)).on('/', makeState(SLASH)).on('_', makeState(UNDERSCORE)).on(':', makeState(COLON)).on('{', makeState(OPENBRACE)).on('[', makeState(OPENBRACKET)).on('<', makeState(OPENANGLEBRACKET)).on('(', makeState(OPENPAREN)).on('}', makeState(CLOSEBRACE)).on(']', makeState(CLOSEBRACKET)).on('>', makeState(CLOSEANGLEBRACKET)).on(')', makeState(CLOSEPAREN)).on([',', ';', '!', '"', '\''], makeState(PUNCTUATION));
S_START.on('@', makeState(AT)).on('.', makeState(DOT)).on('+', makeState(PLUS)).on('#', makeState(POUND)).on('?', makeState(QUERY)).on('/', makeState(SLASH)).on('_', makeState(UNDERSCORE)).on(':', makeState(COLON)).on('{', makeState(OPENBRACE)).on('[', makeState(OPENBRACKET)).on('<', makeState(OPENANGLEBRACKET)).on('(', makeState(OPENPAREN)).on('}', makeState(CLOSEBRACE)).on(']', makeState(CLOSEBRACKET)).on('>', makeState(CLOSEANGLEBRACKET)).on(')', makeState(CLOSEPAREN)).on('&', makeState(AMPERSAND)).on([',', ';', '!', '"', '\''], makeState(PUNCTUATION));
// Whitespace jumps
// Tokens of only non-newline whitespace are arbitrarily long
S_START.on('\n', makeState(TNL)).on(WHITESPACE, S_WS);
S_START.on('\n', makeState(NL)).on(WHITESPACE, S_WS);

@@ -629,2 +640,3 @@ // If any whitespace except newline, more whitespace!

var partialProtocolHttpStates = stateify('http', S_START, DOMAIN, DOMAIN);
var partialProtocolMailtoStates = stateify('mailto', S_START, DOMAIN, DOMAIN);

@@ -640,4 +652,6 @@ // Add the states to the array of DOMAINeric states

var S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();
var S_MAILTO = partialProtocolMailtoStates.pop();
var S_PROTOCOL_SECURE = makeState(DOMAIN);
var S_FULL_PROTOCOL = makeState(PROTOCOL); // Full protocol ends with COLON
var S_FULL_MAILTO = makeState(MAILTO); // Mailto ends with COLON

@@ -654,2 +668,3 @@ // Secure protocols (end with 's')

S_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);
S_MAILTO.on(':', S_FULL_MAILTO);

@@ -747,3 +762,3 @@ // Localhost

State: CharacterState,
TOKENS: TOKENS,
TOKENS: text,
run: run,

@@ -828,3 +843,3 @@ start: start

toObject: function toObject() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -840,2 +855,12 @@ return {

/**
Represents an arbitrarily mailto email address with the prefix included
@class MAILTO
@extends MultiToken
*/
var MAILTOEMAIL = inherits(MultiToken, createTokenClass(), {
type: 'email',
isLink: true
});
/**
Represents a list of tokens making up a valid email address

@@ -849,2 +874,3 @@ @class EMAIL

toHref: function toHref() {
var tokens = this.v;
return 'mailto:' + this.toString();

@@ -866,3 +892,3 @@ }

*/
var NL = inherits(MultiToken, createTokenClass(), { type: 'nl' });
var NL$1 = inherits(MultiToken, createTokenClass(), { type: 'nl' });

@@ -887,3 +913,3 @@ /**

toHref: function toHref() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -935,6 +961,7 @@ var hasProtocol = false;

var TOKENS$1 = Object.freeze({
var multi = Object.freeze({
Base: MultiToken,
MAILTOEMAIL: MAILTOEMAIL,
EMAIL: EMAIL,
NL: NL,
NL: NL$1,
TEXT: TEXT,

@@ -960,3 +987,3 @@ URL: URL

var makeState$1 = function makeState$1(tokenClass) {
return new State(tokenClass);
return new TokenState(tokenClass);
};

@@ -970,2 +997,3 @@

var S_PROTOCOL = makeState$1(); // e.g., 'http:'
var S_MAILTO$1 = makeState$1(); // 'mailto:'
var S_PROTOCOL_SLASH = makeState$1(); // e.g., '/', 'http:/''

@@ -997,9 +1025,11 @@ var S_PROTOCOL_SLASH_SLASH = makeState$1(); // e.g., '//', 'http://'

var S_EMAIL_PORT = makeState$1(EMAIL); // (C) Email address with a port
var S_MAILTO_EMAIL = makeState$1(MAILTOEMAIL); // Email that begins with the mailto prefix (D)
var S_MAILTO_EMAIL_NON_ACCEPTING = makeState$1(); // (D) Followed by some non-query string chars
var S_LOCALPART = makeState$1(); // Local part of the email address
var S_LOCALPART_AT = makeState$1(); // Local part of the email address plus @
var S_LOCALPART_DOT = makeState$1(); // Local part of the email address plus '.' (localpart cannot end in .)
var S_NL = makeState$1(NL); // single new line
var S_NL = makeState$1(NL$1); // single new line
// Make path from start to protocol (with '//')
S_START$1.on(TNL, S_NL).on(PROTOCOL, S_PROTOCOL).on(SLASH, S_PROTOCOL_SLASH);
S_START$1.on(NL, S_NL).on(PROTOCOL, S_PROTOCOL).on(MAILTO, S_MAILTO$1).on(SLASH, S_PROTOCOL_SLASH);

@@ -1012,3 +1042,3 @@ S_PROTOCOL.on(SLASH, S_PROTOCOL_SLASH);

// Force URL for anything sane followed by protocol
// Force URL for protocol followed by anything sane
S_PROTOCOL_SLASH_SLASH.on(TLD, S_URL).on(DOMAIN, S_URL).on(NUM, S_URL).on(LOCALHOST, S_URL);

@@ -1042,3 +1072,3 @@

// Types of characters the URL can definitely end in
var qsAccepting = [DOMAIN, AT, LOCALHOST, NUM, PLUS, POUND, PROTOCOL, SLASH, TLD, UNDERSCORE, SYM];
var qsAccepting = [DOMAIN, AT, LOCALHOST, NUM, PLUS, POUND, PROTOCOL, SLASH, TLD, UNDERSCORE, SYM, AMPERSAND];

@@ -1115,4 +1145,13 @@ // Types of tokens that can follow a URL and be part of the query string

// For addresses with the mailto prefix
// 'mailto:' followed by anything sane is a valid email
S_MAILTO$1.on(TLD, S_MAILTO_EMAIL).on(DOMAIN, S_MAILTO_EMAIL).on(NUM, S_MAILTO_EMAIL).on(LOCALHOST, S_MAILTO_EMAIL);
// Greedily get more potential valid email values
S_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
S_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
// For addresses without the mailto prefix
// Tokens allowed in the localpart of the email
var localpartAccepting = [DOMAIN, NUM, PLUS, POUND, QUERY, UNDERSCORE, SYM, TLD];
var localpartAccepting = [DOMAIN, NUM, PLUS, POUND, QUERY, UNDERSCORE, SYM, AMPERSAND, TLD];

@@ -1207,4 +1246,4 @@ // Some of the tokens in `localpartAccepting` are already accounted for here and

var parser = Object.freeze({
State: State,
TOKENS: TOKENS$1,
State: TokenState,
TOKENS: multi,
run: run$1,

@@ -1234,3 +1273,3 @@ start: S_START$1

var find = function find(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -1264,3 +1303,3 @@ var tokens = tokenize(str);

var test = function test(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -1267,0 +1306,0 @@ var tokens = tokenize(str);

@@ -1,1 +0,1 @@

"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};define("linkify",["exports"],function(e){function t(e,t){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],o=Object.create(e.prototype);for(var a in n)o[a]=n[a];return o.constructor=t,t.prototype=o,t}function n(e){e=e||{},this.defaultProtocol=e.defaultProtocol||h.defaultProtocol,this.events=e.events||h.events,this.format=e.format||h.format,this.formatHref=e.formatHref||h.formatHref,this.nl2br=e.nl2br||h.nl2br,this.tagName=e.tagName||h.tagName,this.target=e.target||h.target,this.validate=e.validate||h.validate,this.ignoreTags=[],this.attributes=e.attributes||e.linkAttributes||h.attributes,this.className=e.className||e.linkClass||h.className;for(var t=e.ignoreTags||h.ignoreTags,n=0;n<t.length;n++)this.ignoreTags.push(t[n].toUpperCase())}function o(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function a(e){return e}function r(e,t){return"url"===t?"_blank":null}function i(){return function(e){this.j=[],this.T=e||null}}function s(e,t,n,o){for(var a=0,r=e.length,i=t,s=[],c=void 0;a<r&&(c=i.next(e[a]));)i=c,a++;if(a>=r)return[];for(;a<r-1;)c=new f(o),s.push(c),i.on(e[a],c),i=c,a++;return c=new f(n),s.push(c),i.on(e[r-1],c),s}function c(){return function(e){e&&(this.v=e)}}function l(e){var n=e?{v:e}:{};return t(d,c(),n)}function u(e){return e instanceof b||e instanceof C}var h={defaultProtocol:"http",events:null,format:a,formatHref:a,nl2br:!1,tagName:"a",target:r,validate:!0,ignoreTags:[],attributes:null,className:"linkified"};n.prototype={resolve:function(e){var t=e.toHref(this.defaultProtocol);return{formatted:this.get("format",e.toString(),e),formattedHref:this.get("formatHref",t,e),tagName:this.get("tagName",t,e),className:this.get("className",t,e),target:this.get("target",t,e),events:this.getObject("events",t,e),attributes:this.getObject("attributes",t,e)}},check:function(e){return this.get("validate",e.toString(),e)},get:function(e,t,n){var o=this[e];if(!o)return o;switch("undefined"==typeof o?"undefined":_typeof(o)){case"function":return o(t,n.type);case"object":var a=o[n.type]||h[e];return"function"==typeof a?a(t,n.type):a}return o},getObject:function(e,t,n){var o=this[e];return"function"==typeof o?o(t,n.type):o}};var p=Object.freeze({defaults:h,Options:n,contains:o}),g=i();g.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n<e.length;n++)this.j.push([e[n],t]);return this}return this.j.push([e,t]),this},next:function(e){for(var t=0;t<this.j.length;t++){var n=this.j[t],o=n[0],a=n[1];if(this.test(e,o))return a}return this.defaultTransition},accepts:function(){return!!this.T},test:function(e,t){return e===t},emit:function(){return this.T}};var f=t(g,i(),{test:function(e,t){return e===t||t instanceof RegExp&&t.test(e)}}),m=t(g,i(),{jump:function(e){var t=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}}),d=c();d.prototype={toString:function(){return this.v+""}};var b=l(),v=l("@"),y=l(":"),k=l("."),w=l(),j=l(),x=l("\n"),z=l(),O=l("+"),S=l("#"),N=l(),T=l("?"),E=l("/"),L=l("_"),A=l(),C=l(),P=l(),q=l("{"),R=l("["),H=l("<"),B=l("("),U=l("}"),_=l("]"),K=l(">"),M=l(")"),D=Object.freeze({Base:d,DOMAIN:b,AT:v,COLON:y,DOT:k,PUNCTUATION:w,LOCALHOST:j,NL:x,NUM:z,PLUS:O,POUND:S,QUERY:T,PROTOCOL:N,SLASH:E,UNDERSCORE:L,SYM:A,TLD:C,WS:P,OPENBRACE:q,OPENBRACKET:R,OPENANGLEBRACKET:H,OPENPAREN:B,CLOSEBRACE:U,CLOSEBRACKET:_,CLOSEANGLEBRACKET:K,CLOSEPAREN:M}),I="aaa|aarp|abb|abbott|abogado|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|af|afl|ag|agency|ai|aig|airforce|airtel|al|alibaba|alipay|allfinanz|alsace|am|amica|amsterdam|an|analytics|android|ao|apartments|app|apple|aq|aquarelle|ar|aramco|archi|army|arpa|arte|as|asia|associates|at|attorney|au|auction|audi|audio|author|auto|autos|avianca|aw|ax|axa|az|azure|ba|baidu|band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bb|bbc|bbva|bcg|bcn|bd|be|beats|beer|bentley|berlin|best|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bom|bond|boo|book|boots|bosch|bostik|bot|boutique|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chloe|christmas|chrome|church|ci|cipriani|circle|cisco|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|date|dating|datsun|day|dclk|de|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount|dj|dk|dm|dnp|do|docs|dog|doha|domains|download|drive|dubai|durban|dvag|dz|earth|eat|ec|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epson|equipment|er|erni|es|esq|estate|et|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|fast|feedback|ferrero|fi|film|final|finance|financial|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|florist|flowers|flsmidth|fly|fm|fo|foo|football|ford|forex|forsale|forum|foundation|fox|fr|fresenius|frl|frogans|frontier|fund|furniture|futbol|fyi|ga|gal|gallery|gallup|game|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|gold|goldpoint|golf|goo|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|group|gs|gt|gu|gucci|guge|guide|guitars|guru|gw|gy|hamburg|hangout|haus|hdfcbank|health|healthcare|help|helsinki|here|hermes|hiphop|hitachi|hiv|hk|hm|hn|hockey|holdings|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hr|hsbc|ht|hu|hyundai|ibm|icbc|ice|icu|id|ie|ifm|iinet|il|im|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|international|investments|io|ipiranga|iq|ir|irish|is|iselect|ist|istanbul|it|itau|iwc|jaguar|java|jcb|je|jetzt|jewelry|jlc|jll|jm|jmp|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kitchen|kiwi|km|kn|koeln|komatsu|kp|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|lamborghini|lamer|lancaster|land|landrover|lanxess|lasalle|lat|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|legal|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|limited|limo|lincoln|linde|link|live|living|lixil|lk|loan|loans|local|locus|lol|london|lotte|lotto|love|lr|ls|lt|ltd|ltda|lu|lupin|luxe|luxury|lv|ly|ma|madrid|maif|maison|makeup|man|management|mango|market|marketing|markets|marriott|mba|mc|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|mg|mh|miami|microsoft|mil|mini|mk|ml|mm|mma|mn|mo|mobi|mobily|moda|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar|mp|mq|mr|ms|mt|mtn|mtpc|mtr|mu|museum|mutuelle|mv|mw|mx|my|mz|na|nadex|nagoya|name|natura|navy|nc|ne|nec|net|netbank|network|neustar|new|news|nexus|nf|ng|ngo|nhk|ni|nico|nikon|ninja|nissan|nl|no|nokia|norton|nowruz|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|office|okinawa|om|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|origins|osaka|otsuka|ovh|pa|page|pamperedchef|panerai|paris|pars|partners|parts|party|passagens|pe|pet|pf|pg|ph|pharmacy|philips|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pohl|poker|porn|post|pr|praxi|press|pro|prod|productions|prof|promo|properties|property|protection|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|racing|re|read|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|ricoh|rio|rip|ro|rocher|rocks|rodeo|room|rs|rsvp|ru|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|saxo|sb|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scor|scot|sd|se|seat|security|seek|select|sener|services|seven|sew|sex|sexy|sfr|sg|sh|sharp|shell|shia|shiksha|shoes|show|shriram|si|singles|site|sj|sk|ski|skin|sky|skype|sl|sm|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|st|stada|star|starhub|statefarm|statoil|stc|stcgroup|stockholm|storage|store|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|taobao|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|team|tech|technology|tel|telecity|telefonica|temasek|tennis|tf|tg|th|thd|theater|theatre|tickets|tienda|tiffany|tips|tires|tirol|tj|tk|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tp|tr|trade|trading|training|travel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubs|ug|uk|unicom|university|uno|uol|us|uy|uz|va|vacations|vana|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|viking|villas|vin|vip|virgin|vision|vista|vistaprint|viva|vlaanderen|vn|vodka|volkswagen|vote|voting|voto|voyage|vu|vuelos|wales|walter|wang|wanggou|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|wme|wolterskluwer|work|works|world|ws|wtc|wtf|xbox|xerox|xin|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|youtube|yt|za|zara|zero|zip|zm|zone|zuerich|zw".split("|"),G="0123456789".split(""),Y="0123456789abcdefghijklmnopqrstuvwxyz".split(""),Q=[" ","\f","\r","\t","\x0B"," "," ","᠎"],W=[],X=function(e){return new f(e)},Z=X(),F=X(z),J=X(b),V=X(),$=X(P);Z.on("@",X(v)).on(".",X(k)).on("+",X(O)).on("#",X(S)).on("?",X(T)).on("/",X(E)).on("_",X(L)).on(":",X(y)).on("{",X(q)).on("[",X(R)).on("<",X(H)).on("(",X(B)).on("}",X(U)).on("]",X(_)).on(">",X(K)).on(")",X(M)).on([",",";","!",'"',"'"],X(w)),Z.on("\n",X(x)).on(Q,$),$.on(Q,$);for(var ee=0;ee<I.length;ee++){var te=s(I[ee],Z,C,b);W.push.apply(W,te)}var ne=s("file",Z,b,b),oe=s("ftp",Z,b,b),ae=s("http",Z,b,b);W.push.apply(W,ne),W.push.apply(W,oe),W.push.apply(W,ae);var re=ne.pop(),ie=oe.pop(),se=ae.pop(),ce=X(b),le=X(N);ie.on("s",ce).on(":",le),se.on("s",ce).on(":",le),W.push(ce),re.on(":",le),ce.on(":",le);var ue=s("localhost",Z,j,b);W.push.apply(W,ue),Z.on(G,F),F.on("-",V).on(G,F).on(Y,J),J.on("-",V).on(Y,J);for(var he=0;he<W.length;he++)W[he].on("-",V).on(Y,J);V.on("-",V).on(G,J).on(Y,J),Z.defaultTransition=X(A);var pe=function(e){for(var t=e.replace(/[A-Z]/g,function(e){return e.toLowerCase()}),n=e.length,o=[],a=0;a<n;){for(var r=Z,i=null,s=null,c=0,l=null,u=-1;a<n&&(s=r.next(t[a]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,c++,a++;if(!(u<0)){a-=u,c-=u;var h=l.emit();o.push(new h(e.substr(a-c,c)))}}return o},ge=Z,fe=Object.freeze({State:f,TOKENS:D,run:pe,start:ge}),me=c();me.prototype={type:"token",isLink:!1,toString:function(){for(var e=[],t=0;t<this.v.length;t++)e.push(this.v[t].toString());return e.join("")},toHref:function(){return this.toString()},toObject:function(){var e=arguments.length<=0||void 0===arguments[0]?"http":arguments[0];return{type:this.type,value:this.toString(),href:this.toHref(e)}}};var de=t(me,c(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),be=t(me,c(),{type:"text"}),ve=t(me,c(),{type:"nl"}),ye=t(me,c(),{type:"url",isLink:!0,toHref:function(){for(var e=arguments.length<=0||void 0===arguments[0]?"http":arguments[0],t=!1,n=!1,o=this.v,a=[],r=0;o[r]instanceof N;)t=!0,a.push(o[r].toString().toLowerCase()),r++;for(;o[r]instanceof E;)n=!0,a.push(o[r].toString()),r++;for(;u(o[r]);)a.push(o[r].toString().toLowerCase()),r++;for(;r<o.length;r++)a.push(o[r].toString());return a=a.join(""),t||n||(a=e+"://"+a),a},hasProtocol:function(){return this.v[0]instanceof N}}),ke=Object.freeze({Base:me,EMAIL:de,NL:ve,TEXT:be,URL:ye}),we=function(e){return new m(e)},je=we(),xe=we(),ze=we(),Oe=we(),Se=we(),Ne=we(),Te=we(ye),Ee=we(),Le=we(ye),Ae=we(ye),Ce=we(),Pe=we(),qe=we(),Re=we(),He=we(),Be=we(ye),Ue=we(ye),_e=we(ye),Ke=we(ye),Me=we(),De=we(),Ie=we(),Ge=we(),Ye=we(),Qe=we(),We=we(de),Xe=we(),Ze=we(de),Fe=we(),Je=we(),Ve=we(),$e=we(ve);je.on(x,$e).on(N,xe).on(E,ze),xe.on(E,ze),ze.on(E,Oe),je.on(C,Se).on(b,Se).on(j,Te).on(z,Se),Oe.on(C,Ae).on(b,Ae).on(z,Ae).on(j,Ae),Se.on(k,Ne),Ye.on(k,Qe),Ne.on(C,Te).on(b,Se).on(z,Se).on(j,Se),Qe.on(C,We).on(b,Ye).on(z,Ye).on(j,Ye),Te.on(k,Ne),We.on(k,Qe),Te.on(y,Ee).on(E,Ae),Ee.on(z,Le),Le.on(E,Ae),We.on(y,Xe),Xe.on(z,Ze);var et=[b,v,j,z,O,S,N,E,C,L,A],tt=[y,k,T,w,U,_,K,M,q,R,H,B];Ae.on(q,Pe).on(R,qe).on(H,Re).on(B,He),Ce.on(q,Pe).on(R,qe).on(H,Re).on(B,He),Pe.on(U,Ae),qe.on(_,Ae),Re.on(K,Ae),He.on(M,Ae),Be.on(U,Ae),Ue.on(_,Ae),_e.on(K,Ae),Ke.on(M,Ae),Me.on(U,Ae),De.on(_,Ae),Ie.on(K,Ae),Ge.on(M,Ae),Pe.on(et,Be),qe.on(et,Ue),Re.on(et,_e),He.on(et,Ke),Pe.on(tt,Me),qe.on(tt,De),Re.on(tt,Ie),He.on(tt,Ge),Be.on(et,Be),Ue.on(et,Ue),_e.on(et,_e),Ke.on(et,Ke),Be.on(tt,Be),Ue.on(tt,Ue),_e.on(tt,_e),Ke.on(tt,Ke),Me.on(et,Be),De.on(et,Ue),Ie.on(et,_e),Ge.on(et,Ke),Me.on(tt,Me),De.on(tt,De),Ie.on(tt,Ie),Ge.on(tt,Ge),Ae.on(et,Ae),Ce.on(et,Ae),Ae.on(tt,Ce),Ce.on(tt,Ce);var nt=[b,z,O,S,T,L,A,C];Se.on(nt,Fe).on(v,Je),Te.on(nt,Fe).on(v,Je),Ne.on(nt,Fe),Fe.on(nt,Fe).on(v,Je).on(k,Ve),Ve.on(nt,Fe),Je.on(C,Ye).on(b,Ye).on(j,We);var ot=function(e){for(var t=e.length,n=0,o=[],a=[];n<t;){for(var r=je,i=null,s=null,c=0,l=null,u=-1;n<t&&!(i=r.next(e[n]));)a.push(e[n++]);for(;n<t&&(s=i||r.next(e[n]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,n++,c++;if(u<0)for(var h=n-c;h<n;h++)a.push(e[h]);else{a.length>0&&(o.push(new be(a)),a=[]),n-=u,c-=u;var p=l.emit();o.push(new p(e.slice(n-c,n)))}}return a.length>0&&o.push(new be(a)),o},at=Object.freeze({State:m,TOKENS:ke,run:ot,start:je});Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var rt=function(e){return ot(pe(e))},it=function(e){for(var t=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=rt(e),o=[],a=0;a<n.length;a++){var r=n[a];!r.isLink||t&&r.type!==t||o.push(r.toObject())}return o},st=function(e){var t=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=rt(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)};e.find=it,e.inherits=t,e.options=p,e.parser=at,e.scanner=fe,e.test=st,e.tokenize=rt;try{Object.defineProperty(e,"__esModule",{value:!0})}catch(ct){e.__esModule=!0}});
"use strict";var _typeof="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};define("linkify",["exports"],function(e){function t(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Object.create(e.prototype);for(var a in n)o[a]=n[a];return o.constructor=t,t.prototype=o,t}function n(e){e=e||{},this.defaultProtocol=e.defaultProtocol||p.defaultProtocol,this.events=e.events||p.events,this.format=e.format||p.format,this.formatHref=e.formatHref||p.formatHref,this.nl2br=e.nl2br||p.nl2br,this.tagName=e.tagName||p.tagName,this.target=e.target||p.target,this.validate=e.validate||p.validate,this.ignoreTags=[],this.attributes=e.attributes||e.linkAttributes||p.attributes,this.className=e.className||e.linkClass||p.className;for(var t=e.ignoreTags||p.ignoreTags,n=0;n<t.length;n++)this.ignoreTags.push(t[n].toUpperCase())}function o(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}function a(e){return e}function r(e,t){return"url"===t?"_blank":null}function i(){return function(e){this.j=[],this.T=e||null}}function s(e,t,n,o){for(var a=0,r=e.length,i=t,s=[],c=void 0;a<r&&(c=i.next(e[a]));)i=c,a++;if(a>=r)return[];for(;a<r-1;)c=new f(o),s.push(c),i.on(e[a],c),i=c,a++;return c=new f(n),s.push(c),i.on(e[r-1],c),s}function c(){return function(e){e&&(this.v=e)}}function l(e){var n=e?{v:e}:{};return t(d,c(),n)}function u(e){return e instanceof b||e instanceof P}var p={defaultProtocol:"http",events:null,format:a,formatHref:a,nl2br:!1,tagName:"a",target:r,validate:!0,ignoreTags:[],attributes:null,className:"linkified"};n.prototype={resolve:function(e){var t=e.toHref(this.defaultProtocol);return{formatted:this.get("format",e.toString(),e),formattedHref:this.get("formatHref",t,e),tagName:this.get("tagName",t,e),className:this.get("className",t,e),target:this.get("target",t,e),events:this.getObject("events",t,e),attributes:this.getObject("attributes",t,e)}},check:function(e){return this.get("validate",e.toString(),e)},get:function(e,t,n){var o=this[e];if(!o)return o;switch("undefined"==typeof o?"undefined":_typeof(o)){case"function":return o(t,n.type);case"object":var a=o[n.type]||p[e];return"function"==typeof a?a(t,n.type):a}return o},getObject:function(e,t,n){var o=this[e];return"function"==typeof o?o(t,n.type):o}};var h=Object.freeze({defaults:p,Options:n,contains:o}),g=i();g.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n<e.length;n++)this.j.push([e[n],t]);return this}return this.j.push([e,t]),this},next:function(e){for(var t=0;t<this.j.length;t++){var n=this.j[t],o=n[0],a=n[1];if(this.test(e,o))return a}return this.defaultTransition},accepts:function(){return!!this.T},test:function(e,t){return e===t},emit:function(){return this.T}};var f=t(g,i(),{test:function(e,t){return e===t||t instanceof RegExp&&t.test(e)}}),m=t(g,i(),{jump:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}}),d=c();d.prototype={toString:function(){return this.v+""}};var b=l(),y=l("@"),v=l(":"),k=l("."),w=l(),j=l(),x=l("\n"),z=l(),O=l("+"),S=l("#"),N=l(),T=l("mailto:"),A=l("?"),L=l("/"),E=l("_"),C=l(),P=l(),R=l(),q=l("{"),H=l("["),M=l("<"),B=l("("),U=l("}"),_=l("]"),D=l(">"),I=l(")"),K=l("&"),G=Object.freeze({Base:d,DOMAIN:b,AT:y,COLON:v,DOT:k,PUNCTUATION:w,LOCALHOST:j,NL:x,NUM:z,PLUS:O,POUND:S,QUERY:A,PROTOCOL:N,MAILTO:T,SLASH:L,UNDERSCORE:E,SYM:C,TLD:P,WS:R,OPENBRACE:q,OPENBRACKET:H,OPENANGLEBRACKET:M,OPENPAREN:B,CLOSEBRACE:U,CLOSEBRACKET:_,CLOSEANGLEBRACKET:D,CLOSEPAREN:I,AMPERSAND:K}),Y="aaa|aarp|abb|abbott|abogado|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|af|afl|ag|agency|ai|aig|airforce|airtel|al|alibaba|alipay|allfinanz|alsace|am|amica|amsterdam|an|analytics|android|ao|apartments|app|apple|aq|aquarelle|ar|aramco|archi|army|arpa|arte|as|asia|associates|at|attorney|au|auction|audi|audio|author|auto|autos|avianca|aw|ax|axa|az|azure|ba|baidu|band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bb|bbc|bbva|bcg|bcn|bd|be|beats|beer|bentley|berlin|best|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bom|bond|boo|book|boots|bosch|bostik|bot|boutique|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chloe|christmas|chrome|church|ci|cipriani|circle|cisco|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|date|dating|datsun|day|dclk|de|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount|dj|dk|dm|dnp|do|docs|dog|doha|domains|download|drive|dubai|durban|dvag|dz|earth|eat|ec|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epson|equipment|er|erni|es|esq|estate|et|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|fast|feedback|ferrero|fi|film|final|finance|financial|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|florist|flowers|flsmidth|fly|fm|fo|foo|football|ford|forex|forsale|forum|foundation|fox|fr|fresenius|frl|frogans|frontier|fund|furniture|futbol|fyi|ga|gal|gallery|gallup|game|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|gold|goldpoint|golf|goo|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|group|gs|gt|gu|gucci|guge|guide|guitars|guru|gw|gy|hamburg|hangout|haus|hdfcbank|health|healthcare|help|helsinki|here|hermes|hiphop|hitachi|hiv|hk|hm|hn|hockey|holdings|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hr|hsbc|ht|hu|hyundai|ibm|icbc|ice|icu|id|ie|ifm|iinet|il|im|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|international|investments|io|ipiranga|iq|ir|irish|is|iselect|ist|istanbul|it|itau|iwc|jaguar|java|jcb|je|jetzt|jewelry|jlc|jll|jm|jmp|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kitchen|kiwi|km|kn|koeln|komatsu|kp|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|lamborghini|lamer|lancaster|land|landrover|lanxess|lasalle|lat|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|legal|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|limited|limo|lincoln|linde|link|live|living|lixil|lk|loan|loans|local|locus|lol|london|lotte|lotto|love|lr|ls|lt|ltd|ltda|lu|lupin|luxe|luxury|lv|ly|ma|madrid|maif|maison|makeup|man|management|mango|market|marketing|markets|marriott|mba|mc|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|mg|mh|miami|microsoft|mil|mini|mk|ml|mm|mma|mn|mo|mobi|mobily|moda|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar|mp|mq|mr|ms|mt|mtn|mtpc|mtr|mu|museum|mutuelle|mv|mw|mx|my|mz|na|nadex|nagoya|name|natura|navy|nc|ne|nec|net|netbank|network|neustar|new|news|nexus|nf|ng|ngo|nhk|ni|nico|nikon|ninja|nissan|nl|no|nokia|norton|nowruz|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|office|okinawa|om|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|origins|osaka|otsuka|ovh|pa|page|pamperedchef|panerai|paris|pars|partners|parts|party|passagens|pe|pet|pf|pg|ph|pharmacy|philips|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pohl|poker|porn|post|pr|praxi|press|pro|prod|productions|prof|promo|properties|property|protection|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|racing|re|read|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|ricoh|rio|rip|ro|rocher|rocks|rodeo|room|rs|rsvp|ru|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|saxo|sb|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scor|scot|sd|se|seat|security|seek|select|sener|services|seven|sew|sex|sexy|sfr|sg|sh|sharp|shell|shia|shiksha|shoes|show|shriram|si|singles|site|sj|sk|ski|skin|sky|skype|sl|sm|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|st|stada|star|starhub|statefarm|statoil|stc|stcgroup|stockholm|storage|store|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|taobao|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|team|tech|technology|tel|telecity|telefonica|temasek|tennis|tf|tg|th|thd|theater|theatre|tickets|tienda|tiffany|tips|tires|tirol|tj|tk|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tp|tr|trade|trading|training|travel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubs|ug|uk|unicom|university|uno|uol|us|uy|uz|va|vacations|vana|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|viking|villas|vin|vip|virgin|vision|vista|vistaprint|viva|vlaanderen|vn|vodka|volkswagen|vote|voting|voto|voyage|vu|vuelos|wales|walter|wang|wanggou|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|wme|wolterskluwer|work|works|world|ws|wtc|wtf|xbox|xerox|xin|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|youtube|yt|za|zara|zero|zip|zm|zone|zuerich|zw".split("|"),Q="0123456789".split(""),W="0123456789abcdefghijklmnopqrstuvwxyz".split(""),X=[" ","\f","\r","\t","\x0B"," "," ","᠎"],Z=[],F=function(e){return new f(e)},J=F(),V=F(z),$=F(b),ee=F(),te=F(R);J.on("@",F(y)).on(".",F(k)).on("+",F(O)).on("#",F(S)).on("?",F(A)).on("/",F(L)).on("_",F(E)).on(":",F(v)).on("{",F(q)).on("[",F(H)).on("<",F(M)).on("(",F(B)).on("}",F(U)).on("]",F(_)).on(">",F(D)).on(")",F(I)).on("&",F(K)).on([",",";","!",'"',"'"],F(w)),J.on("\n",F(x)).on(X,te),te.on(X,te);for(var ne=0;ne<Y.length;ne++){var oe=s(Y[ne],J,P,b);Z.push.apply(Z,oe)}var ae=s("file",J,b,b),re=s("ftp",J,b,b),ie=s("http",J,b,b),se=s("mailto",J,b,b);Z.push.apply(Z,ae),Z.push.apply(Z,re),Z.push.apply(Z,ie);var ce=ae.pop(),le=re.pop(),ue=ie.pop(),pe=se.pop(),he=F(b),ge=F(N),fe=F(T);le.on("s",he).on(":",ge),ue.on("s",he).on(":",ge),Z.push(he),ce.on(":",ge),he.on(":",ge),pe.on(":",fe);var me=s("localhost",J,j,b);Z.push.apply(Z,me),J.on(Q,V),V.on("-",ee).on(Q,V).on(W,$),$.on("-",ee).on(W,$);for(var de=0;de<Z.length;de++)Z[de].on("-",ee).on(W,$);ee.on("-",ee).on(Q,$).on(W,$),J.defaultTransition=F(C);var be=function(e){for(var t=e.replace(/[A-Z]/g,function(e){return e.toLowerCase()}),n=e.length,o=[],a=0;a<n;){for(var r=J,i=null,s=null,c=0,l=null,u=-1;a<n&&(s=r.next(t[a]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,c++,a++;if(!(u<0)){a-=u,c-=u;var p=l.emit();o.push(new p(e.substr(a-c,c)))}}return o},ye=J,ve=Object.freeze({State:f,TOKENS:G,run:be,start:ye}),ke=c();ke.prototype={type:"token",isLink:!1,toString:function(){for(var e=[],t=0;t<this.v.length;t++)e.push(this.v[t].toString());return e.join("")},toHref:function(){return this.toString()},toObject:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(e)}}};var we=t(ke,c(),{type:"email",isLink:!0}),je=t(ke,c(),{type:"email",isLink:!0,toHref:function(){this.v;return"mailto:"+this.toString()}}),xe=t(ke,c(),{type:"text"}),ze=t(ke,c(),{type:"nl"}),Oe=t(ke,c(),{type:"url",isLink:!0,toHref:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",t=!1,n=!1,o=this.v,a=[],r=0;o[r]instanceof N;)t=!0,a.push(o[r].toString().toLowerCase()),r++;for(;o[r]instanceof L;)n=!0,a.push(o[r].toString()),r++;for(;u(o[r]);)a.push(o[r].toString().toLowerCase()),r++;for(;r<o.length;r++)a.push(o[r].toString());return a=a.join(""),t||n||(a=e+"://"+a),a},hasProtocol:function(){return this.v[0]instanceof N}}),Se=Object.freeze({Base:ke,MAILTOEMAIL:we,EMAIL:je,NL:ze,TEXT:xe,URL:Oe}),Ne=function(e){return new m(e)},Te=Ne(),Ae=Ne(),Le=Ne(),Ee=Ne(),Ce=Ne(),Pe=Ne(),Re=Ne(),qe=Ne(Oe),He=Ne(),Me=Ne(Oe),Be=Ne(Oe),Ue=Ne(),_e=Ne(),De=Ne(),Ie=Ne(),Ke=Ne(),Ge=Ne(Oe),Ye=Ne(Oe),Qe=Ne(Oe),We=Ne(Oe),Xe=Ne(),Ze=Ne(),Fe=Ne(),Je=Ne(),Ve=Ne(),$e=Ne(),et=Ne(je),tt=Ne(),nt=Ne(je),ot=Ne(we),at=Ne(),rt=Ne(),it=Ne(),st=Ne(),ct=Ne(ze);Te.on(x,ct).on(N,Ae).on(T,Le).on(L,Ee),Ae.on(L,Ee),Ee.on(L,Ce),Te.on(P,Pe).on(b,Pe).on(j,qe).on(z,Pe),Ce.on(P,Be).on(b,Be).on(z,Be).on(j,Be),Pe.on(k,Re),Ve.on(k,$e),Re.on(P,qe).on(b,Pe).on(z,Pe).on(j,Pe),$e.on(P,et).on(b,Ve).on(z,Ve).on(j,Ve),qe.on(k,Re),et.on(k,$e),qe.on(v,He).on(L,Be),He.on(z,Me),Me.on(L,Be),et.on(v,tt),tt.on(z,nt);var lt=[b,y,j,z,O,S,N,L,P,E,C,K],ut=[v,k,A,w,U,_,D,I,q,H,M,B];Be.on(q,_e).on(H,De).on(M,Ie).on(B,Ke),Ue.on(q,_e).on(H,De).on(M,Ie).on(B,Ke),_e.on(U,Be),De.on(_,Be),Ie.on(D,Be),Ke.on(I,Be),Ge.on(U,Be),Ye.on(_,Be),Qe.on(D,Be),We.on(I,Be),Xe.on(U,Be),Ze.on(_,Be),Fe.on(D,Be),Je.on(I,Be),_e.on(lt,Ge),De.on(lt,Ye),Ie.on(lt,Qe),Ke.on(lt,We),_e.on(ut,Xe),De.on(ut,Ze),Ie.on(ut,Fe),Ke.on(ut,Je),Ge.on(lt,Ge),Ye.on(lt,Ye),Qe.on(lt,Qe),We.on(lt,We),Ge.on(ut,Ge),Ye.on(ut,Ye),Qe.on(ut,Qe),We.on(ut,We),Xe.on(lt,Ge),Ze.on(lt,Ye),Fe.on(lt,Qe),Je.on(lt,We),Xe.on(ut,Xe),Ze.on(ut,Ze),Fe.on(ut,Fe),Je.on(ut,Je),Be.on(lt,Be),Ue.on(lt,Be),Be.on(ut,Ue),Ue.on(ut,Ue),Le.on(P,ot).on(b,ot).on(z,ot).on(j,ot),ot.on(lt,ot).on(ut,at),at.on(lt,ot).on(ut,at);var pt=[b,z,O,S,A,E,C,K,P];Pe.on(pt,rt).on(y,it),qe.on(pt,rt).on(y,it),Re.on(pt,rt),rt.on(pt,rt).on(y,it).on(k,st),st.on(pt,rt),it.on(P,Ve).on(b,Ve).on(j,et);var ht=function(e){for(var t=e.length,n=0,o=[],a=[];n<t;){for(var r=Te,i=null,s=null,c=0,l=null,u=-1;n<t&&!(i=r.next(e[n]));)a.push(e[n++]);for(;n<t&&(s=i||r.next(e[n]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,n++,c++;if(u<0)for(var p=n-c;p<n;p++)a.push(e[p]);else{a.length>0&&(o.push(new xe(a)),a=[]),n-=u,c-=u;var h=l.emit();o.push(new h(e.slice(n-c,n)))}}return a.length>0&&o.push(new xe(a)),o},gt=Object.freeze({State:m,TOKENS:Se,run:ht,start:Te});Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var ft=function(e){return ht(be(e))},mt=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=ft(e),o=[],a=0;a<n.length;a++){var r=n[a];!r.isLink||t&&r.type!==t||o.push(r.toObject())}return o},dt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=ft(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)};e.find=mt,e.inherits=t,e.options=h,e.parser=gt,e.scanner=ve,e.test=dt,e.tokenize=ft;try{Object.defineProperty(e,"__esModule",{value:!0})}catch(bt){e.__esModule=!0}});
;(function () {
'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 ? "symbol" : typeof obj; };
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; };

@@ -10,3 +10,3 @@ (function (exports) {

function inherits(parent, child) {
var props = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

@@ -287,3 +287,3 @@ var extended = Object.create(parent.prototype);

*/
var State = inherits(BaseState, createStateClass(), {
var TokenState = inherits(BaseState, createStateClass(), {

@@ -299,3 +299,3 @@ /**

jump: function jump(token) {
var tClass = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -458,3 +458,3 @@ var state = this.next(new token('')); // dummy temp token

*/
var TNL = inheritsToken('\n');
var NL = inheritsToken('\n');

@@ -486,3 +486,2 @@ /**

* `ftps:`
* There's Another super weird one

@@ -495,2 +494,10 @@ @class PROTOCOL

/**
Represents the start of the email URI protocol
@class MAILTO
@extends TextToken
*/
var MAILTO = inheritsToken('mailto:');
/**
@class QUERY

@@ -547,3 +554,5 @@ @extends TextToken

var TOKENS = Object.freeze({
var AMPERSAND = inheritsToken('&');
var text = Object.freeze({
Base: TextToken,

@@ -556,3 +565,3 @@ DOMAIN: DOMAIN,

LOCALHOST: LOCALHOST,
NL: TNL,
NL: NL,
NUM: NUM,

@@ -563,2 +572,3 @@ PLUS: PLUS,

PROTOCOL: PROTOCOL,
MAILTO: MAILTO,
SLASH: SLASH,

@@ -576,3 +586,4 @@ UNDERSCORE: UNDERSCORE,

CLOSEANGLEBRACKET: CLOSEANGLEBRACKET,
CLOSEPAREN: CLOSEPAREN
CLOSEPAREN: CLOSEPAREN,
AMPERSAND: AMPERSAND
});

@@ -593,3 +604,3 @@

var ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', ' ', ' ', '᠎']; // excluding line breaks
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', '\xA0', '\u1680', '\u180E']; // excluding line breaks

@@ -609,7 +620,7 @@ var domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/

// States for special URL symbols
S_START.on('@', makeState(AT)).on('.', makeState(DOT)).on('+', makeState(PLUS)).on('#', makeState(POUND)).on('?', makeState(QUERY)).on('/', makeState(SLASH)).on('_', makeState(UNDERSCORE)).on(':', makeState(COLON)).on('{', makeState(OPENBRACE)).on('[', makeState(OPENBRACKET)).on('<', makeState(OPENANGLEBRACKET)).on('(', makeState(OPENPAREN)).on('}', makeState(CLOSEBRACE)).on(']', makeState(CLOSEBRACKET)).on('>', makeState(CLOSEANGLEBRACKET)).on(')', makeState(CLOSEPAREN)).on([',', ';', '!', '"', '\''], makeState(PUNCTUATION));
S_START.on('@', makeState(AT)).on('.', makeState(DOT)).on('+', makeState(PLUS)).on('#', makeState(POUND)).on('?', makeState(QUERY)).on('/', makeState(SLASH)).on('_', makeState(UNDERSCORE)).on(':', makeState(COLON)).on('{', makeState(OPENBRACE)).on('[', makeState(OPENBRACKET)).on('<', makeState(OPENANGLEBRACKET)).on('(', makeState(OPENPAREN)).on('}', makeState(CLOSEBRACE)).on(']', makeState(CLOSEBRACKET)).on('>', makeState(CLOSEANGLEBRACKET)).on(')', makeState(CLOSEPAREN)).on('&', makeState(AMPERSAND)).on([',', ';', '!', '"', '\''], makeState(PUNCTUATION));
// Whitespace jumps
// Tokens of only non-newline whitespace are arbitrarily long
S_START.on('\n', makeState(TNL)).on(WHITESPACE, S_WS);
S_START.on('\n', makeState(NL)).on(WHITESPACE, S_WS);

@@ -630,2 +641,3 @@ // If any whitespace except newline, more whitespace!

var partialProtocolHttpStates = stateify('http', S_START, DOMAIN, DOMAIN);
var partialProtocolMailtoStates = stateify('mailto', S_START, DOMAIN, DOMAIN);

@@ -641,4 +653,6 @@ // Add the states to the array of DOMAINeric states

var S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();
var S_MAILTO = partialProtocolMailtoStates.pop();
var S_PROTOCOL_SECURE = makeState(DOMAIN);
var S_FULL_PROTOCOL = makeState(PROTOCOL); // Full protocol ends with COLON
var S_FULL_MAILTO = makeState(MAILTO); // Mailto ends with COLON

@@ -655,2 +669,3 @@ // Secure protocols (end with 's')

S_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);
S_MAILTO.on(':', S_FULL_MAILTO);

@@ -748,3 +763,3 @@ // Localhost

State: CharacterState,
TOKENS: TOKENS,
TOKENS: text,
run: run,

@@ -829,3 +844,3 @@ start: start

toObject: function toObject() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -841,2 +856,12 @@ return {

/**
Represents an arbitrarily mailto email address with the prefix included
@class MAILTO
@extends MultiToken
*/
var MAILTOEMAIL = inherits(MultiToken, createTokenClass(), {
type: 'email',
isLink: true
});
/**
Represents a list of tokens making up a valid email address

@@ -850,2 +875,3 @@ @class EMAIL

toHref: function toHref() {
var tokens = this.v;
return 'mailto:' + this.toString();

@@ -867,3 +893,3 @@ }

*/
var NL = inherits(MultiToken, createTokenClass(), { type: 'nl' });
var NL$1 = inherits(MultiToken, createTokenClass(), { type: 'nl' });

@@ -888,3 +914,3 @@ /**

toHref: function toHref() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -936,6 +962,7 @@ var hasProtocol = false;

var TOKENS$1 = Object.freeze({
var multi = Object.freeze({
Base: MultiToken,
MAILTOEMAIL: MAILTOEMAIL,
EMAIL: EMAIL,
NL: NL,
NL: NL$1,
TEXT: TEXT,

@@ -961,3 +988,3 @@ URL: URL

var makeState$1 = function makeState$1(tokenClass) {
return new State(tokenClass);
return new TokenState(tokenClass);
};

@@ -971,2 +998,3 @@

var S_PROTOCOL = makeState$1(); // e.g., 'http:'
var S_MAILTO$1 = makeState$1(); // 'mailto:'
var S_PROTOCOL_SLASH = makeState$1(); // e.g., '/', 'http:/''

@@ -998,9 +1026,11 @@ var S_PROTOCOL_SLASH_SLASH = makeState$1(); // e.g., '//', 'http://'

var S_EMAIL_PORT = makeState$1(EMAIL); // (C) Email address with a port
var S_MAILTO_EMAIL = makeState$1(MAILTOEMAIL); // Email that begins with the mailto prefix (D)
var S_MAILTO_EMAIL_NON_ACCEPTING = makeState$1(); // (D) Followed by some non-query string chars
var S_LOCALPART = makeState$1(); // Local part of the email address
var S_LOCALPART_AT = makeState$1(); // Local part of the email address plus @
var S_LOCALPART_DOT = makeState$1(); // Local part of the email address plus '.' (localpart cannot end in .)
var S_NL = makeState$1(NL); // single new line
var S_NL = makeState$1(NL$1); // single new line
// Make path from start to protocol (with '//')
S_START$1.on(TNL, S_NL).on(PROTOCOL, S_PROTOCOL).on(SLASH, S_PROTOCOL_SLASH);
S_START$1.on(NL, S_NL).on(PROTOCOL, S_PROTOCOL).on(MAILTO, S_MAILTO$1).on(SLASH, S_PROTOCOL_SLASH);

@@ -1013,3 +1043,3 @@ S_PROTOCOL.on(SLASH, S_PROTOCOL_SLASH);

// Force URL for anything sane followed by protocol
// Force URL for protocol followed by anything sane
S_PROTOCOL_SLASH_SLASH.on(TLD, S_URL).on(DOMAIN, S_URL).on(NUM, S_URL).on(LOCALHOST, S_URL);

@@ -1043,3 +1073,3 @@

// Types of characters the URL can definitely end in
var qsAccepting = [DOMAIN, AT, LOCALHOST, NUM, PLUS, POUND, PROTOCOL, SLASH, TLD, UNDERSCORE, SYM];
var qsAccepting = [DOMAIN, AT, LOCALHOST, NUM, PLUS, POUND, PROTOCOL, SLASH, TLD, UNDERSCORE, SYM, AMPERSAND];

@@ -1116,4 +1146,13 @@ // Types of tokens that can follow a URL and be part of the query string

// For addresses with the mailto prefix
// 'mailto:' followed by anything sane is a valid email
S_MAILTO$1.on(TLD, S_MAILTO_EMAIL).on(DOMAIN, S_MAILTO_EMAIL).on(NUM, S_MAILTO_EMAIL).on(LOCALHOST, S_MAILTO_EMAIL);
// Greedily get more potential valid email values
S_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
S_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
// For addresses without the mailto prefix
// Tokens allowed in the localpart of the email
var localpartAccepting = [DOMAIN, NUM, PLUS, POUND, QUERY, UNDERSCORE, SYM, TLD];
var localpartAccepting = [DOMAIN, NUM, PLUS, POUND, QUERY, UNDERSCORE, SYM, AMPERSAND, TLD];

@@ -1208,4 +1247,4 @@ // Some of the tokens in `localpartAccepting` are already accounted for here and

var parser = Object.freeze({
State: State,
TOKENS: TOKENS$1,
State: TokenState,
TOKENS: multi,
run: run$1,

@@ -1235,3 +1274,3 @@ start: S_START$1

var find = function find(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -1265,3 +1304,3 @@ var tokens = tokenize(str);

var test = function test(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -1279,3 +1318,3 @@ var tokens = tokenize(str);

exports.tokenize = tokenize;
})(window.linkify = window.linkify || {});
})(self.linkify = self.linkify || {});
})();

@@ -1,1 +0,1 @@

!function(){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t};!function(e){function n(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],o=Object.create(t.prototype);for(var a in n)o[a]=n[a];return o.constructor=e,e.prototype=o,e}function o(t){t=t||{},this.defaultProtocol=t.defaultProtocol||g.defaultProtocol,this.events=t.events||g.events,this.format=t.format||g.format,this.formatHref=t.formatHref||g.formatHref,this.nl2br=t.nl2br||g.nl2br,this.tagName=t.tagName||g.tagName,this.target=t.target||g.target,this.validate=t.validate||g.validate,this.ignoreTags=[],this.attributes=t.attributes||t.linkAttributes||g.attributes,this.className=t.className||t.linkClass||g.className;for(var e=t.ignoreTags||g.ignoreTags,n=0;n<e.length;n++)this.ignoreTags.push(e[n].toUpperCase())}function a(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return!0;return!1}function r(t){return t}function i(t,e){return"url"===e?"_blank":null}function s(){return function(t){this.j=[],this.T=t||null}}function c(t,e,n,o){for(var a=0,r=t.length,i=e,s=[],c=void 0;a<r&&(c=i.next(t[a]));)i=c,a++;if(a>=r)return[];for(;a<r-1;)c=new m(o),s.push(c),i.on(t[a],c),i=c,a++;return c=new m(n),s.push(c),i.on(t[r-1],c),s}function l(){return function(t){t&&(this.v=t)}}function u(t){var e=t?{v:t}:{};return n(b,l(),e)}function h(t){return t instanceof v||t instanceof P}var g={defaultProtocol:"http",events:null,format:r,formatHref:r,nl2br:!1,tagName:"a",target:i,validate:!0,ignoreTags:[],attributes:null,className:"linkified"};o.prototype={resolve:function(t){var e=t.toHref(this.defaultProtocol);return{formatted:this.get("format",t.toString(),t),formattedHref:this.get("formatHref",e,t),tagName:this.get("tagName",e,t),className:this.get("className",e,t),target:this.get("target",e,t),events:this.getObject("events",e,t),attributes:this.getObject("attributes",e,t)}},check:function(t){return this.get("validate",t.toString(),t)},get:function(e,n,o){var a=this[e];if(!a)return a;switch("undefined"==typeof a?"undefined":t(a)){case"function":return a(n,o.type);case"object":var r=a[o.type]||g[e];return"function"==typeof r?r(n,o.type):r}return a},getObject:function(t,e,n){var o=this[t];return"function"==typeof o?o(e,n.type):o}};var p=Object.freeze({defaults:g,Options:o,contains:a}),f=s();f.prototype={defaultTransition:!1,on:function(t,e){if(t instanceof Array){for(var n=0;n<t.length;n++)this.j.push([t[n],e]);return this}return this.j.push([t,e]),this},next:function(t){for(var e=0;e<this.j.length;e++){var n=this.j[e],o=n[0],a=n[1];if(this.test(t,o))return a}return this.defaultTransition},accepts:function(){return!!this.T},test:function(t,e){return t===e},emit:function(){return this.T}};var m=n(f,s(),{test:function(t,e){return t===e||e instanceof RegExp&&e.test(t)}}),d=n(f,s(),{jump:function(t){var e=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=this.next(new t(""));return n===this.defaultTransition?(n=new this.constructor(e),this.on(t,n)):e&&(n.T=e),n},test:function(t,e){return t instanceof e}}),b=l();b.prototype={toString:function(){return this.v+""}};var v=u(),y=u("@"),k=u(":"),w=u("."),j=u(),x=u(),z=u("\n"),O=u(),S=u("+"),N=u("#"),T=u(),E=u("?"),L=u("/"),A=u("_"),C=u(),P=u(),q=u(),R=u("{"),H=u("["),B=u("<"),U=u("("),K=u("}"),D=u("]"),M=u(">"),I=u(")"),_=Object.freeze({Base:b,DOMAIN:v,AT:y,COLON:k,DOT:w,PUNCTUATION:j,LOCALHOST:x,NL:z,NUM:O,PLUS:S,POUND:N,QUERY:E,PROTOCOL:T,SLASH:L,UNDERSCORE:A,SYM:C,TLD:P,WS:q,OPENBRACE:R,OPENBRACKET:H,OPENANGLEBRACKET:B,OPENPAREN:U,CLOSEBRACE:K,CLOSEBRACKET:D,CLOSEANGLEBRACKET:M,CLOSEPAREN:I}),G="aaa|aarp|abb|abbott|abogado|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|af|afl|ag|agency|ai|aig|airforce|airtel|al|alibaba|alipay|allfinanz|alsace|am|amica|amsterdam|an|analytics|android|ao|apartments|app|apple|aq|aquarelle|ar|aramco|archi|army|arpa|arte|as|asia|associates|at|attorney|au|auction|audi|audio|author|auto|autos|avianca|aw|ax|axa|az|azure|ba|baidu|band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bb|bbc|bbva|bcg|bcn|bd|be|beats|beer|bentley|berlin|best|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bom|bond|boo|book|boots|bosch|bostik|bot|boutique|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chloe|christmas|chrome|church|ci|cipriani|circle|cisco|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|date|dating|datsun|day|dclk|de|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount|dj|dk|dm|dnp|do|docs|dog|doha|domains|download|drive|dubai|durban|dvag|dz|earth|eat|ec|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epson|equipment|er|erni|es|esq|estate|et|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|fast|feedback|ferrero|fi|film|final|finance|financial|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|florist|flowers|flsmidth|fly|fm|fo|foo|football|ford|forex|forsale|forum|foundation|fox|fr|fresenius|frl|frogans|frontier|fund|furniture|futbol|fyi|ga|gal|gallery|gallup|game|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|gold|goldpoint|golf|goo|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|group|gs|gt|gu|gucci|guge|guide|guitars|guru|gw|gy|hamburg|hangout|haus|hdfcbank|health|healthcare|help|helsinki|here|hermes|hiphop|hitachi|hiv|hk|hm|hn|hockey|holdings|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hr|hsbc|ht|hu|hyundai|ibm|icbc|ice|icu|id|ie|ifm|iinet|il|im|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|international|investments|io|ipiranga|iq|ir|irish|is|iselect|ist|istanbul|it|itau|iwc|jaguar|java|jcb|je|jetzt|jewelry|jlc|jll|jm|jmp|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kitchen|kiwi|km|kn|koeln|komatsu|kp|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|lamborghini|lamer|lancaster|land|landrover|lanxess|lasalle|lat|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|legal|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|limited|limo|lincoln|linde|link|live|living|lixil|lk|loan|loans|local|locus|lol|london|lotte|lotto|love|lr|ls|lt|ltd|ltda|lu|lupin|luxe|luxury|lv|ly|ma|madrid|maif|maison|makeup|man|management|mango|market|marketing|markets|marriott|mba|mc|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|mg|mh|miami|microsoft|mil|mini|mk|ml|mm|mma|mn|mo|mobi|mobily|moda|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar|mp|mq|mr|ms|mt|mtn|mtpc|mtr|mu|museum|mutuelle|mv|mw|mx|my|mz|na|nadex|nagoya|name|natura|navy|nc|ne|nec|net|netbank|network|neustar|new|news|nexus|nf|ng|ngo|nhk|ni|nico|nikon|ninja|nissan|nl|no|nokia|norton|nowruz|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|office|okinawa|om|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|origins|osaka|otsuka|ovh|pa|page|pamperedchef|panerai|paris|pars|partners|parts|party|passagens|pe|pet|pf|pg|ph|pharmacy|philips|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pohl|poker|porn|post|pr|praxi|press|pro|prod|productions|prof|promo|properties|property|protection|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|racing|re|read|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|ricoh|rio|rip|ro|rocher|rocks|rodeo|room|rs|rsvp|ru|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|saxo|sb|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scor|scot|sd|se|seat|security|seek|select|sener|services|seven|sew|sex|sexy|sfr|sg|sh|sharp|shell|shia|shiksha|shoes|show|shriram|si|singles|site|sj|sk|ski|skin|sky|skype|sl|sm|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|st|stada|star|starhub|statefarm|statoil|stc|stcgroup|stockholm|storage|store|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|taobao|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|team|tech|technology|tel|telecity|telefonica|temasek|tennis|tf|tg|th|thd|theater|theatre|tickets|tienda|tiffany|tips|tires|tirol|tj|tk|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tp|tr|trade|trading|training|travel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubs|ug|uk|unicom|university|uno|uol|us|uy|uz|va|vacations|vana|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|viking|villas|vin|vip|virgin|vision|vista|vistaprint|viva|vlaanderen|vn|vodka|volkswagen|vote|voting|voto|voyage|vu|vuelos|wales|walter|wang|wanggou|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|wme|wolterskluwer|work|works|world|ws|wtc|wtf|xbox|xerox|xin|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|youtube|yt|za|zara|zero|zip|zm|zone|zuerich|zw".split("|"),Y="0123456789".split(""),Q="0123456789abcdefghijklmnopqrstuvwxyz".split(""),W=[" ","\f","\r","\t","\x0B"," "," ","᠎"],X=[],Z=function(t){return new m(t)},F=Z(),J=Z(O),V=Z(v),$=Z(),tt=Z(q);F.on("@",Z(y)).on(".",Z(w)).on("+",Z(S)).on("#",Z(N)).on("?",Z(E)).on("/",Z(L)).on("_",Z(A)).on(":",Z(k)).on("{",Z(R)).on("[",Z(H)).on("<",Z(B)).on("(",Z(U)).on("}",Z(K)).on("]",Z(D)).on(">",Z(M)).on(")",Z(I)).on([",",";","!",'"',"'"],Z(j)),F.on("\n",Z(z)).on(W,tt),tt.on(W,tt);for(var et=0;et<G.length;et++){var nt=c(G[et],F,P,v);X.push.apply(X,nt)}var ot=c("file",F,v,v),at=c("ftp",F,v,v),rt=c("http",F,v,v);X.push.apply(X,ot),X.push.apply(X,at),X.push.apply(X,rt);var it=ot.pop(),st=at.pop(),ct=rt.pop(),lt=Z(v),ut=Z(T);st.on("s",lt).on(":",ut),ct.on("s",lt).on(":",ut),X.push(lt),it.on(":",ut),lt.on(":",ut);var ht=c("localhost",F,x,v);X.push.apply(X,ht),F.on(Y,J),J.on("-",$).on(Y,J).on(Q,V),V.on("-",$).on(Q,V);for(var gt=0;gt<X.length;gt++)X[gt].on("-",$).on(Q,V);$.on("-",$).on(Y,V).on(Q,V),F.defaultTransition=Z(C);var pt=function(t){for(var e=t.replace(/[A-Z]/g,function(t){return t.toLowerCase()}),n=t.length,o=[],a=0;a<n;){for(var r=F,i=null,s=null,c=0,l=null,u=-1;a<n&&(s=r.next(e[a]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,c++,a++;if(!(u<0)){a-=u,c-=u;var h=l.emit();o.push(new h(t.substr(a-c,c)))}}return o},ft=F,mt=Object.freeze({State:m,TOKENS:_,run:pt,start:ft}),dt=l();dt.prototype={type:"token",isLink:!1,toString:function(){for(var t=[],e=0;e<this.v.length;e++)t.push(this.v[e].toString());return t.join("")},toHref:function(){return this.toString()},toObject:function(){var t=arguments.length<=0||void 0===arguments[0]?"http":arguments[0];return{type:this.type,value:this.toString(),href:this.toHref(t)}}};var bt=n(dt,l(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),vt=n(dt,l(),{type:"text"}),yt=n(dt,l(),{type:"nl"}),kt=n(dt,l(),{type:"url",isLink:!0,toHref:function(){for(var t=arguments.length<=0||void 0===arguments[0]?"http":arguments[0],e=!1,n=!1,o=this.v,a=[],r=0;o[r]instanceof T;)e=!0,a.push(o[r].toString().toLowerCase()),r++;for(;o[r]instanceof L;)n=!0,a.push(o[r].toString()),r++;for(;h(o[r]);)a.push(o[r].toString().toLowerCase()),r++;for(;r<o.length;r++)a.push(o[r].toString());return a=a.join(""),e||n||(a=t+"://"+a),a},hasProtocol:function(){return this.v[0]instanceof T}}),wt=Object.freeze({Base:dt,EMAIL:bt,NL:yt,TEXT:vt,URL:kt}),jt=function(t){return new d(t)},xt=jt(),zt=jt(),Ot=jt(),St=jt(),Nt=jt(),Tt=jt(),Et=jt(kt),Lt=jt(),At=jt(kt),Ct=jt(kt),Pt=jt(),qt=jt(),Rt=jt(),Ht=jt(),Bt=jt(),Ut=jt(kt),Kt=jt(kt),Dt=jt(kt),Mt=jt(kt),It=jt(),_t=jt(),Gt=jt(),Yt=jt(),Qt=jt(),Wt=jt(),Xt=jt(bt),Zt=jt(),Ft=jt(bt),Jt=jt(),Vt=jt(),$t=jt(),te=jt(yt);xt.on(z,te).on(T,zt).on(L,Ot),zt.on(L,Ot),Ot.on(L,St),xt.on(P,Nt).on(v,Nt).on(x,Et).on(O,Nt),St.on(P,Ct).on(v,Ct).on(O,Ct).on(x,Ct),Nt.on(w,Tt),Qt.on(w,Wt),Tt.on(P,Et).on(v,Nt).on(O,Nt).on(x,Nt),Wt.on(P,Xt).on(v,Qt).on(O,Qt).on(x,Qt),Et.on(w,Tt),Xt.on(w,Wt),Et.on(k,Lt).on(L,Ct),Lt.on(O,At),At.on(L,Ct),Xt.on(k,Zt),Zt.on(O,Ft);var ee=[v,y,x,O,S,N,T,L,P,A,C],ne=[k,w,E,j,K,D,M,I,R,H,B,U];Ct.on(R,qt).on(H,Rt).on(B,Ht).on(U,Bt),Pt.on(R,qt).on(H,Rt).on(B,Ht).on(U,Bt),qt.on(K,Ct),Rt.on(D,Ct),Ht.on(M,Ct),Bt.on(I,Ct),Ut.on(K,Ct),Kt.on(D,Ct),Dt.on(M,Ct),Mt.on(I,Ct),It.on(K,Ct),_t.on(D,Ct),Gt.on(M,Ct),Yt.on(I,Ct),qt.on(ee,Ut),Rt.on(ee,Kt),Ht.on(ee,Dt),Bt.on(ee,Mt),qt.on(ne,It),Rt.on(ne,_t),Ht.on(ne,Gt),Bt.on(ne,Yt),Ut.on(ee,Ut),Kt.on(ee,Kt),Dt.on(ee,Dt),Mt.on(ee,Mt),Ut.on(ne,Ut),Kt.on(ne,Kt),Dt.on(ne,Dt),Mt.on(ne,Mt),It.on(ee,Ut),_t.on(ee,Kt),Gt.on(ee,Dt),Yt.on(ee,Mt),It.on(ne,It),_t.on(ne,_t),Gt.on(ne,Gt),Yt.on(ne,Yt),Ct.on(ee,Ct),Pt.on(ee,Ct),Ct.on(ne,Pt),Pt.on(ne,Pt);var oe=[v,O,S,N,E,A,C,P];Nt.on(oe,Jt).on(y,Vt),Et.on(oe,Jt).on(y,Vt),Tt.on(oe,Jt),Jt.on(oe,Jt).on(y,Vt).on(w,$t),$t.on(oe,Jt),Vt.on(P,Qt).on(v,Qt).on(x,Xt);var ae=function(t){for(var e=t.length,n=0,o=[],a=[];n<e;){for(var r=xt,i=null,s=null,c=0,l=null,u=-1;n<e&&!(i=r.next(t[n]));)a.push(t[n++]);for(;n<e&&(s=i||r.next(t[n]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,n++,c++;if(u<0)for(var h=n-c;h<n;h++)a.push(t[h]);else{a.length>0&&(o.push(new vt(a)),a=[]),n-=u,c-=u;var g=l.emit();o.push(new g(t.slice(n-c,n)))}}return a.length>0&&o.push(new vt(a)),o},re=Object.freeze({State:d,TOKENS:wt,run:ae,start:xt});Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)});var ie=function(t){return ae(pt(t))},se=function(t){for(var e=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=ie(t),o=[],a=0;a<n.length;a++){var r=n[a];!r.isLink||e&&r.type!==e||o.push(r.toObject())}return o},ce=function(t){var e=arguments.length<=1||void 0===arguments[1]?null:arguments[1],n=ie(t);return 1===n.length&&n[0].isLink&&(!e||n[0].type===e)};e.find=se,e.inherits=n,e.options=p,e.parser=re,e.scanner=mt,e.test=ce,e.tokenize=ie}(window.linkify=window.linkify||{})}();
!function(){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(e){function n(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Object.create(t.prototype);for(var a in n)o[a]=n[a];return o.constructor=e,e.prototype=o,e}function o(t){t=t||{},this.defaultProtocol=t.defaultProtocol||h.defaultProtocol,this.events=t.events||h.events,this.format=t.format||h.format,this.formatHref=t.formatHref||h.formatHref,this.nl2br=t.nl2br||h.nl2br,this.tagName=t.tagName||h.tagName,this.target=t.target||h.target,this.validate=t.validate||h.validate,this.ignoreTags=[],this.attributes=t.attributes||t.linkAttributes||h.attributes,this.className=t.className||t.linkClass||h.className;for(var e=t.ignoreTags||h.ignoreTags,n=0;n<e.length;n++)this.ignoreTags.push(e[n].toUpperCase())}function a(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return!0;return!1}function r(t){return t}function i(t,e){return"url"===e?"_blank":null}function s(){return function(t){this.j=[],this.T=t||null}}function c(t,e,n,o){for(var a=0,r=t.length,i=e,s=[],c=void 0;a<r&&(c=i.next(t[a]));)i=c,a++;if(a>=r)return[];for(;a<r-1;)c=new m(o),s.push(c),i.on(t[a],c),i=c,a++;return c=new m(n),s.push(c),i.on(t[r-1],c),s}function l(){return function(t){t&&(this.v=t)}}function u(t){var e=t?{v:t}:{};return n(b,l(),e)}function p(t){return t instanceof v||t instanceof R}var h={defaultProtocol:"http",events:null,format:r,formatHref:r,nl2br:!1,tagName:"a",target:i,validate:!0,ignoreTags:[],attributes:null,className:"linkified"};o.prototype={resolve:function(t){var e=t.toHref(this.defaultProtocol);return{formatted:this.get("format",t.toString(),t),formattedHref:this.get("formatHref",e,t),tagName:this.get("tagName",e,t),className:this.get("className",e,t),target:this.get("target",e,t),events:this.getObject("events",e,t),attributes:this.getObject("attributes",e,t)}},check:function(t){return this.get("validate",t.toString(),t)},get:function(e,n,o){var a=this[e];if(!a)return a;switch("undefined"==typeof a?"undefined":t(a)){case"function":return a(n,o.type);case"object":var r=a[o.type]||h[e];return"function"==typeof r?r(n,o.type):r}return a},getObject:function(t,e,n){var o=this[t];return"function"==typeof o?o(e,n.type):o}};var g=Object.freeze({defaults:h,Options:o,contains:a}),f=s();f.prototype={defaultTransition:!1,on:function(t,e){if(t instanceof Array){for(var n=0;n<t.length;n++)this.j.push([t[n],e]);return this}return this.j.push([t,e]),this},next:function(t){for(var e=0;e<this.j.length;e++){var n=this.j[e],o=n[0],a=n[1];if(this.test(t,o))return a}return this.defaultTransition},accepts:function(){return!!this.T},test:function(t,e){return t===e},emit:function(){return this.T}};var m=n(f,s(),{test:function(t,e){return t===e||e instanceof RegExp&&e.test(t)}}),d=n(f,s(),{jump:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new t(""));return n===this.defaultTransition?(n=new this.constructor(e),this.on(t,n)):e&&(n.T=e),n},test:function(t,e){return t instanceof e}}),b=l();b.prototype={toString:function(){return this.v+""}};var v=u(),y=u("@"),k=u(":"),w=u("."),j=u(),x=u(),z=u("\n"),O=u(),S=u("+"),N=u("#"),T=u(),A=u("mailto:"),L=u("?"),E=u("/"),C=u("_"),P=u(),R=u(),q=u(),H=u("{"),B=u("["),U=u("<"),M=u("("),D=u("}"),I=u("]"),K=u(">"),_=u(")"),G=u("&"),Y=Object.freeze({Base:b,DOMAIN:v,AT:y,COLON:k,DOT:w,PUNCTUATION:j,LOCALHOST:x,NL:z,NUM:O,PLUS:S,POUND:N,QUERY:L,PROTOCOL:T,MAILTO:A,SLASH:E,UNDERSCORE:C,SYM:P,TLD:R,WS:q,OPENBRACE:H,OPENBRACKET:B,OPENANGLEBRACKET:U,OPENPAREN:M,CLOSEBRACE:D,CLOSEBRACKET:I,CLOSEANGLEBRACKET:K,CLOSEPAREN:_,AMPERSAND:G}),Q="aaa|aarp|abb|abbott|abogado|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|af|afl|ag|agency|ai|aig|airforce|airtel|al|alibaba|alipay|allfinanz|alsace|am|amica|amsterdam|an|analytics|android|ao|apartments|app|apple|aq|aquarelle|ar|aramco|archi|army|arpa|arte|as|asia|associates|at|attorney|au|auction|audi|audio|author|auto|autos|avianca|aw|ax|axa|az|azure|ba|baidu|band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bb|bbc|bbva|bcg|bcn|bd|be|beats|beer|bentley|berlin|best|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bom|bond|boo|book|boots|bosch|bostik|bot|boutique|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chloe|christmas|chrome|church|ci|cipriani|circle|cisco|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|date|dating|datsun|day|dclk|de|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount|dj|dk|dm|dnp|do|docs|dog|doha|domains|download|drive|dubai|durban|dvag|dz|earth|eat|ec|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epson|equipment|er|erni|es|esq|estate|et|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|fast|feedback|ferrero|fi|film|final|finance|financial|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|florist|flowers|flsmidth|fly|fm|fo|foo|football|ford|forex|forsale|forum|foundation|fox|fr|fresenius|frl|frogans|frontier|fund|furniture|futbol|fyi|ga|gal|gallery|gallup|game|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|gold|goldpoint|golf|goo|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|group|gs|gt|gu|gucci|guge|guide|guitars|guru|gw|gy|hamburg|hangout|haus|hdfcbank|health|healthcare|help|helsinki|here|hermes|hiphop|hitachi|hiv|hk|hm|hn|hockey|holdings|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hr|hsbc|ht|hu|hyundai|ibm|icbc|ice|icu|id|ie|ifm|iinet|il|im|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|international|investments|io|ipiranga|iq|ir|irish|is|iselect|ist|istanbul|it|itau|iwc|jaguar|java|jcb|je|jetzt|jewelry|jlc|jll|jm|jmp|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kitchen|kiwi|km|kn|koeln|komatsu|kp|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|lamborghini|lamer|lancaster|land|landrover|lanxess|lasalle|lat|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|legal|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|limited|limo|lincoln|linde|link|live|living|lixil|lk|loan|loans|local|locus|lol|london|lotte|lotto|love|lr|ls|lt|ltd|ltda|lu|lupin|luxe|luxury|lv|ly|ma|madrid|maif|maison|makeup|man|management|mango|market|marketing|markets|marriott|mba|mc|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|mg|mh|miami|microsoft|mil|mini|mk|ml|mm|mma|mn|mo|mobi|mobily|moda|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar|mp|mq|mr|ms|mt|mtn|mtpc|mtr|mu|museum|mutuelle|mv|mw|mx|my|mz|na|nadex|nagoya|name|natura|navy|nc|ne|nec|net|netbank|network|neustar|new|news|nexus|nf|ng|ngo|nhk|ni|nico|nikon|ninja|nissan|nl|no|nokia|norton|nowruz|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|office|okinawa|om|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|origins|osaka|otsuka|ovh|pa|page|pamperedchef|panerai|paris|pars|partners|parts|party|passagens|pe|pet|pf|pg|ph|pharmacy|philips|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pohl|poker|porn|post|pr|praxi|press|pro|prod|productions|prof|promo|properties|property|protection|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|racing|re|read|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|ricoh|rio|rip|ro|rocher|rocks|rodeo|room|rs|rsvp|ru|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|saxo|sb|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scor|scot|sd|se|seat|security|seek|select|sener|services|seven|sew|sex|sexy|sfr|sg|sh|sharp|shell|shia|shiksha|shoes|show|shriram|si|singles|site|sj|sk|ski|skin|sky|skype|sl|sm|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|st|stada|star|starhub|statefarm|statoil|stc|stcgroup|stockholm|storage|store|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|taobao|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|team|tech|technology|tel|telecity|telefonica|temasek|tennis|tf|tg|th|thd|theater|theatre|tickets|tienda|tiffany|tips|tires|tirol|tj|tk|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tp|tr|trade|trading|training|travel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubs|ug|uk|unicom|university|uno|uol|us|uy|uz|va|vacations|vana|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|viking|villas|vin|vip|virgin|vision|vista|vistaprint|viva|vlaanderen|vn|vodka|volkswagen|vote|voting|voto|voyage|vu|vuelos|wales|walter|wang|wanggou|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|wme|wolterskluwer|work|works|world|ws|wtc|wtf|xbox|xerox|xin|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|youtube|yt|za|zara|zero|zip|zm|zone|zuerich|zw".split("|"),W="0123456789".split(""),X="0123456789abcdefghijklmnopqrstuvwxyz".split(""),Z=[" ","\f","\r","\t","\x0B"," "," ","᠎"],F=[],J=function(t){return new m(t)},V=J(),$=J(O),tt=J(v),et=J(),nt=J(q);V.on("@",J(y)).on(".",J(w)).on("+",J(S)).on("#",J(N)).on("?",J(L)).on("/",J(E)).on("_",J(C)).on(":",J(k)).on("{",J(H)).on("[",J(B)).on("<",J(U)).on("(",J(M)).on("}",J(D)).on("]",J(I)).on(">",J(K)).on(")",J(_)).on("&",J(G)).on([",",";","!",'"',"'"],J(j)),V.on("\n",J(z)).on(Z,nt),nt.on(Z,nt);for(var ot=0;ot<Q.length;ot++){var at=c(Q[ot],V,R,v);F.push.apply(F,at)}var rt=c("file",V,v,v),it=c("ftp",V,v,v),st=c("http",V,v,v),ct=c("mailto",V,v,v);F.push.apply(F,rt),F.push.apply(F,it),F.push.apply(F,st);var lt=rt.pop(),ut=it.pop(),pt=st.pop(),ht=ct.pop(),gt=J(v),ft=J(T),mt=J(A);ut.on("s",gt).on(":",ft),pt.on("s",gt).on(":",ft),F.push(gt),lt.on(":",ft),gt.on(":",ft),ht.on(":",mt);var dt=c("localhost",V,x,v);F.push.apply(F,dt),V.on(W,$),$.on("-",et).on(W,$).on(X,tt),tt.on("-",et).on(X,tt);for(var bt=0;bt<F.length;bt++)F[bt].on("-",et).on(X,tt);et.on("-",et).on(W,tt).on(X,tt),V.defaultTransition=J(P);var vt=function(t){for(var e=t.replace(/[A-Z]/g,function(t){return t.toLowerCase()}),n=t.length,o=[],a=0;a<n;){for(var r=V,i=null,s=null,c=0,l=null,u=-1;a<n&&(s=r.next(e[a]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,c++,a++;if(!(u<0)){a-=u,c-=u;var p=l.emit();o.push(new p(t.substr(a-c,c)))}}return o},yt=V,kt=Object.freeze({State:m,TOKENS:Y,run:vt,start:yt}),wt=l();wt.prototype={type:"token",isLink:!1,toString:function(){for(var t=[],e=0;e<this.v.length;e++)t.push(this.v[e].toString());return t.join("")},toHref:function(){return this.toString()},toObject:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(t)}}};var jt=n(wt,l(),{type:"email",isLink:!0}),xt=n(wt,l(),{type:"email",isLink:!0,toHref:function(){this.v;return"mailto:"+this.toString()}}),zt=n(wt,l(),{type:"text"}),Ot=n(wt,l(),{type:"nl"}),St=n(wt,l(),{type:"url",isLink:!0,toHref:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",e=!1,n=!1,o=this.v,a=[],r=0;o[r]instanceof T;)e=!0,a.push(o[r].toString().toLowerCase()),r++;for(;o[r]instanceof E;)n=!0,a.push(o[r].toString()),r++;for(;p(o[r]);)a.push(o[r].toString().toLowerCase()),r++;for(;r<o.length;r++)a.push(o[r].toString());return a=a.join(""),e||n||(a=t+"://"+a),a},hasProtocol:function(){return this.v[0]instanceof T}}),Nt=Object.freeze({Base:wt,MAILTOEMAIL:jt,EMAIL:xt,NL:Ot,TEXT:zt,URL:St}),Tt=function(t){return new d(t)},At=Tt(),Lt=Tt(),Et=Tt(),Ct=Tt(),Pt=Tt(),Rt=Tt(),qt=Tt(),Ht=Tt(St),Bt=Tt(),Ut=Tt(St),Mt=Tt(St),Dt=Tt(),It=Tt(),Kt=Tt(),_t=Tt(),Gt=Tt(),Yt=Tt(St),Qt=Tt(St),Wt=Tt(St),Xt=Tt(St),Zt=Tt(),Ft=Tt(),Jt=Tt(),Vt=Tt(),$t=Tt(),te=Tt(),ee=Tt(xt),ne=Tt(),oe=Tt(xt),ae=Tt(jt),re=Tt(),ie=Tt(),se=Tt(),ce=Tt(),le=Tt(Ot);At.on(z,le).on(T,Lt).on(A,Et).on(E,Ct),Lt.on(E,Ct),Ct.on(E,Pt),At.on(R,Rt).on(v,Rt).on(x,Ht).on(O,Rt),Pt.on(R,Mt).on(v,Mt).on(O,Mt).on(x,Mt),Rt.on(w,qt),$t.on(w,te),qt.on(R,Ht).on(v,Rt).on(O,Rt).on(x,Rt),te.on(R,ee).on(v,$t).on(O,$t).on(x,$t),Ht.on(w,qt),ee.on(w,te),Ht.on(k,Bt).on(E,Mt),Bt.on(O,Ut),Ut.on(E,Mt),ee.on(k,ne),ne.on(O,oe);var ue=[v,y,x,O,S,N,T,E,R,C,P,G],pe=[k,w,L,j,D,I,K,_,H,B,U,M];Mt.on(H,It).on(B,Kt).on(U,_t).on(M,Gt),Dt.on(H,It).on(B,Kt).on(U,_t).on(M,Gt),It.on(D,Mt),Kt.on(I,Mt),_t.on(K,Mt),Gt.on(_,Mt),Yt.on(D,Mt),Qt.on(I,Mt),Wt.on(K,Mt),Xt.on(_,Mt),Zt.on(D,Mt),Ft.on(I,Mt),Jt.on(K,Mt),Vt.on(_,Mt),It.on(ue,Yt),Kt.on(ue,Qt),_t.on(ue,Wt),Gt.on(ue,Xt),It.on(pe,Zt),Kt.on(pe,Ft),_t.on(pe,Jt),Gt.on(pe,Vt),Yt.on(ue,Yt),Qt.on(ue,Qt),Wt.on(ue,Wt),Xt.on(ue,Xt),Yt.on(pe,Yt),Qt.on(pe,Qt),Wt.on(pe,Wt),Xt.on(pe,Xt),Zt.on(ue,Yt),Ft.on(ue,Qt),Jt.on(ue,Wt),Vt.on(ue,Xt),Zt.on(pe,Zt),Ft.on(pe,Ft),Jt.on(pe,Jt),Vt.on(pe,Vt),Mt.on(ue,Mt),Dt.on(ue,Mt),Mt.on(pe,Dt),Dt.on(pe,Dt),Et.on(R,ae).on(v,ae).on(O,ae).on(x,ae),ae.on(ue,ae).on(pe,re),re.on(ue,ae).on(pe,re);var he=[v,O,S,N,L,C,P,G,R];Rt.on(he,ie).on(y,se),Ht.on(he,ie).on(y,se),qt.on(he,ie),ie.on(he,ie).on(y,se).on(w,ce),ce.on(he,ie),se.on(R,$t).on(v,$t).on(x,ee);var ge=function(t){for(var e=t.length,n=0,o=[],a=[];n<e;){for(var r=At,i=null,s=null,c=0,l=null,u=-1;n<e&&!(i=r.next(t[n]));)a.push(t[n++]);for(;n<e&&(s=i||r.next(t[n]));)i=null,r=s,r.accepts()?(u=0,l=r):u>=0&&u++,n++,c++;if(u<0)for(var p=n-c;p<n;p++)a.push(t[p]);else{a.length>0&&(o.push(new zt(a)),a=[]),n-=u,c-=u;var h=l.emit();o.push(new h(t.slice(n-c,n)))}}return a.length>0&&o.push(new zt(a)),o},fe=Object.freeze({State:d,TOKENS:Nt,run:ge,start:At});Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)});var me=function(t){return ge(vt(t))},de=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=me(t),o=[],a=0;a<n.length;a++){var r=n[a];!r.isLink||e&&r.type!==e||o.push(r.toObject())}return o},be=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=me(t);return 1===n.length&&n[0].isLink&&(!e||n[0].type===e)};e.find=de,e.inherits=n,e.options=g,e.parser=fe,e.scanner=kt,e.test=be,e.tokenize=me}(self.linkify=self.linkify||{})}();

@@ -11,7 +11,7 @@ 'use strict';

var tokenize = linkify.tokenize; /**
Linkify a HTML DOM node
*/
var tokenize = linkify.tokenize,
options = linkify.options; /**
Linkify a HTML DOM node
*/
var options = linkify.options;
var Options = options.Options;

@@ -71,14 +71,14 @@

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
events = _opts$resolve.events,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var events = _opts$resolve.events;
var attributes = _opts$resolve.attributes;
// Build the link
var link = doc.createElement(tagName);

@@ -171,3 +171,3 @@ link.setAttribute('href', formattedHref);

function linkifyElement(element, opts) {
var doc = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
var doc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

@@ -174,0 +174,0 @@

@@ -32,3 +32,3 @@ 'use strict';

function linkifyHtml(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -123,14 +123,14 @@ var tokens = _simpleHtmlTokenizer2.default.tokenize(str);

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
// Build up attributes
var attributeArray = [['href', formattedHref]];

@@ -185,2 +185,3 @@

var token = tokens[i];
if (token.type === StartTag && token.tagName.toUpperCase() === tagName) {

@@ -193,2 +194,3 @@ // Nested tag of the same type, "add to stack"

}
skippedTokens.push(token);

@@ -214,5 +216,5 @@ i++;

for (var i = 0; i < attrs.length; i++) {
var _attrs$i = attrs[i];
var name = _attrs$i[0];
var value = _attrs$i[1];
var _attrs$i = attrs[i],
name = _attrs$i[0],
value = _attrs$i[1];

@@ -219,0 +221,0 @@ attrStrs.push(name + '="' + escapeAttr(value) + '"');

@@ -18,3 +18,3 @@ 'use strict';

function apply($) {
var doc = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
var doc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

@@ -21,0 +21,0 @@

@@ -41,14 +41,12 @@ 'use strict';

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
href = _opts$resolve.href,
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes,
events = _opts$resolve.events;
var href = _opts$resolve.href;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var events = _opts$resolve.events;
var props = {

@@ -83,3 +81,3 @@ key: 'linkified-' + ++linkId,

function linkifyReactElement(element, opts) {
var elementId = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2];
var elementId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

@@ -86,0 +84,0 @@ if (_react2.default.Children.count(element.props.children) === 0) {

@@ -11,7 +11,7 @@ 'use strict';

var tokenize = linkify.tokenize; /**
Convert strings of text into linkable HTML text
*/
var tokenize = linkify.tokenize,
options = linkify.options; /**
Convert strings of text into linkable HTML text
*/
var options = linkify.options;
var Options = options.Options;

@@ -42,3 +42,3 @@

function linkifyStr(str) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

@@ -61,12 +61,10 @@ opts = new Options(opts);

var _opts$resolve = opts.resolve(token);
var _opts$resolve = opts.resolve(token),
formatted = _opts$resolve.formatted,
formattedHref = _opts$resolve.formattedHref,
tagName = _opts$resolve.tagName,
className = _opts$resolve.className,
target = _opts$resolve.target,
attributes = _opts$resolve.attributes;
var formatted = _opts$resolve.formatted;
var formattedHref = _opts$resolve.formattedHref;
var tagName = _opts$resolve.tagName;
var className = _opts$resolve.className;
var target = _opts$resolve.target;
var attributes = _opts$resolve.attributes;
var link = '<' + tagName + ' href="' + escapeAttr(formattedHref) + '"';

@@ -73,0 +71,0 @@

@@ -42,3 +42,3 @@ 'use strict';

var find = function find(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -72,3 +72,3 @@ var tokens = tokenize(str);

var test = function test(str) {
var type = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -75,0 +75,0 @@ var tokens = tokenize(str);

@@ -43,2 +43,3 @@ 'use strict';

var S_PROTOCOL = makeState(); // e.g., 'http:'
var S_MAILTO = makeState(); // 'mailto:'
var S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''

@@ -70,2 +71,4 @@ var S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'

var S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port
var S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)
var S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars
var S_LOCALPART = makeState(); // Local part of the email address

@@ -77,3 +80,3 @@ var S_LOCALPART_AT = makeState(); // Local part of the email address plus @

// Make path from start to protocol (with '//')
S_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.SLASH, S_PROTOCOL_SLASH);
S_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);

@@ -86,3 +89,3 @@ S_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);

// Force URL for anything sane followed by protocol
// Force URL for protocol followed by anything sane
S_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);

@@ -116,3 +119,3 @@

// Types of characters the URL can definitely end in
var qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM];
var qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];

@@ -189,4 +192,13 @@ // Types of tokens that can follow a URL and be part of the query string

// For addresses with the mailto prefix
// 'mailto:' followed by anything sane is a valid email
S_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);
// Greedily get more potential valid email values
S_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
S_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);
// For addresses without the mailto prefix
// Tokens allowed in the localpart of the email
var localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.TLD];
var localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];

@@ -193,0 +205,0 @@ // Some of the tokens in `localpartAccepting` are already accounted for here and

@@ -27,3 +27,3 @@ 'use strict';

var ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', ' ', ' ', '᠎']; // excluding line breaks
var WHITESPACE = [' ', '\f', '\r', '\t', '\v', '\xA0', '\u1680', '\u180E']; // excluding line breaks

@@ -43,3 +43,3 @@ var domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/

// States for special URL symbols
S_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on([',', ';', '!', '"', '\''], makeState(_text.PUNCTUATION));
S_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '"', '\''], makeState(_text.PUNCTUATION));

@@ -64,2 +64,3 @@ // Whitespace jumps

var partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);
var partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN);

@@ -75,4 +76,6 @@ // Add the states to the array of DOMAINeric states

var S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();
var S_MAILTO = partialProtocolMailtoStates.pop();
var S_PROTOCOL_SECURE = makeState(_text.DOMAIN);
var S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON
var S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON

@@ -89,2 +92,3 @@ // Secure protocols (end with 's')

S_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);
S_MAILTO.on(':', S_FULL_MAILTO);

@@ -91,0 +95,0 @@ // Localhost

@@ -161,3 +161,3 @@ 'use strict';

jump: function jump(token) {
var tClass = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

@@ -164,0 +164,0 @@ var state = this.next(new token('')); // dummy temp token

'use strict';
exports.__esModule = true;
exports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.Base = undefined;
exports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;

@@ -87,3 +87,3 @@ var _createTokenClass = require('./create-token-class');

toObject: function toObject() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -99,2 +99,12 @@ return {

/**
Represents an arbitrarily mailto email address with the prefix included
@class MAILTO
@extends MultiToken
*/
var MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {
type: 'email',
isLink: true
});
/**
Represents a list of tokens making up a valid email address

@@ -108,2 +118,3 @@ @class EMAIL

toHref: function toHref() {
var tokens = this.v;
return 'mailto:' + this.toString();

@@ -145,3 +156,3 @@ }

toHref: function toHref() {
var protocol = arguments.length <= 0 || arguments[0] === undefined ? 'http' : arguments[0];
var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';

@@ -194,2 +205,3 @@ var hasProtocol = false;

exports.Base = MultiToken;
exports.MAILTOEMAIL = MAILTOEMAIL;
exports.EMAIL = EMAIL;

@@ -196,0 +208,0 @@ exports.NL = NL;

'use strict';
exports.__esModule = true;
exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;
exports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;

@@ -109,3 +109,2 @@ var _createTokenClass = require('./create-token-class');

* `ftps:`
* There's Another super weird one

@@ -118,2 +117,10 @@ @class PROTOCOL

/**
Represents the start of the email URI protocol
@class MAILTO
@extends TextToken
*/
var MAILTO = inheritsToken('mailto:');
/**
@class QUERY

@@ -170,2 +177,4 @@ @extends TextToken

var AMPERSAND = inheritsToken('&');
exports.Base = TextToken;

@@ -184,2 +193,3 @@ exports.DOMAIN = DOMAIN;

exports.PROTOCOL = PROTOCOL;
exports.MAILTO = MAILTO;
exports.SLASH = SLASH;

@@ -197,2 +207,3 @@ exports.UNDERSCORE = UNDERSCORE;

exports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;
exports.CLOSEPAREN = CLOSEPAREN;
exports.CLOSEPAREN = CLOSEPAREN;
exports.AMPERSAND = AMPERSAND;

@@ -10,5 +10,5 @@ 'use strict';

var TT = linkify.scanner.TOKENS; // Text tokens
var _linkify$parser = linkify.parser;
var MT = _linkify$parser.TOKENS;
var State = _linkify$parser.State; // Multi tokens, state
var _linkify$parser = linkify.parser,
MT = _linkify$parser.TOKENS,
State = _linkify$parser.State; // Multi tokens, state

@@ -24,2 +24,3 @@ var MultiToken = MT.Base;

var TT_UNDERSCORE = TT.UNDERSCORE;
var TT_DOT = TT.DOT;

@@ -41,4 +42,4 @@ function MENTION(value) {

var S_MENTION = new State(MENTION);
var S_MENTION_SLASH = new State();
var S_MENTION_SLASH_SYMS = new State();
var S_MENTION_DIVIDER = new State();
var S_MENTION_DIVIDER_SYMS = new State();

@@ -49,3 +50,3 @@ // @_,

// @_*
S_AT_SYMS.on(TT_UNDERSCORE, S_AT_SYMS);
S_AT_SYMS.on(TT_UNDERSCORE, S_AT_SYMS).on(TT_DOT, S_AT_SYMS);

@@ -60,13 +61,13 @@ // Valid mention (not made up entirely of symbols)

// Mention with a slash
S_MENTION.on(TT_SLASH, S_MENTION_SLASH);
// Mention with a divider
S_MENTION.on(TT_SLASH, S_MENTION_DIVIDER).on(TT_DOT, S_MENTION_DIVIDER);
// Mention _ trailing stash plus syms
S_MENTION_SLASH.on(TT_UNDERSCORE, S_MENTION_SLASH_SYMS);
S_MENTION_SLASH_SYMS.on(TT_UNDERSCORE, S_MENTION_SLASH_SYMS);
S_MENTION_DIVIDER.on(TT_UNDERSCORE, S_MENTION_DIVIDER_SYMS);
S_MENTION_DIVIDER_SYMS.on(TT_UNDERSCORE, S_MENTION_DIVIDER_SYMS);
// Once we get a word token, mentions can start up again
S_MENTION_SLASH.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_DIVIDER.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_SLASH_SYMS.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
S_MENTION_DIVIDER_SYMS.on(TT_DOMAIN, S_MENTION).on(TT_LOCALHOST, S_MENTION).on(TT_TLD, S_MENTION).on(TT_NUM, S_MENTION);
}

@@ -6,3 +6,3 @@ "use strict";

function inherits(parent, child) {
var props = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

@@ -9,0 +9,0 @@ var extended = Object.create(parent.prototype);

@@ -5,3 +5,3 @@ '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 ? "symbol" : typeof obj; };
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; };

@@ -8,0 +8,0 @@ var defaults = {

@@ -26,3 +26,3 @@ "use strict";

if (matches) {
return "&" + matches[1] + ";";
return this.named[matches[1]] || "&" + matches[1] + ";";
}

@@ -29,0 +29,0 @@ };

@@ -90,3 +90,11 @@ 'use strict';

if (chars) {
this.index = endIndex + 1;
var count = entity.length;
// consume the entity chars
while (count) {
this.consume();
count--;
}
// consume the `;`
this.consume();
return chars;

@@ -97,4 +105,9 @@ }

markTagStart: function markTagStart() {
// these properties to be removed in next major bump
this.tagLine = this.line;
this.tagColumn = this.column;
if (this.delegate.tagOpen) {
this.delegate.tagOpen();
}
},

@@ -151,3 +164,3 @@

if (char === "-" && this.input.charAt(this.index) === "-") {
this.index++;
this.consume();
this.state = 'commentStart';

@@ -235,9 +248,12 @@ this.delegate.beginComment();

beforeAttributeName: function beforeAttributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.consume();
return;
} else if (char === "/") {
this.state = 'selfClosingStartTag';
this.consume();
} else if (char === ">") {
this.consume();
this.delegate.finishTag();

@@ -248,2 +264,3 @@ this.state = 'beforeData';

this.delegate.beginAttribute();
this.consume();
this.delegate.appendToAttributeName(char);

@@ -254,18 +271,23 @@ }

attributeName: function attributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.state = 'afterAttributeName';
this.consume();
} else if (char === "/") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.state = 'beforeAttributeValue';
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeName(char);

@@ -276,5 +298,6 @@ }

afterAttributeName: function afterAttributeName() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.consume();
return;

@@ -284,4 +307,6 @@ } else if (char === "/") {

this.delegate.finishAttributeValue();
this.consume();
this.state = 'selfClosingStartTag';
} else if (char === "=") {
this.consume();
this.state = 'beforeAttributeValue';

@@ -291,2 +316,3 @@ } else if (char === ">") {

this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -297,2 +323,3 @@ this.state = 'beforeData';

this.delegate.finishAttributeValue();
this.consume();
this.state = 'attributeName';

@@ -305,13 +332,18 @@ this.delegate.beginAttribute();

beforeAttributeValue: function beforeAttributeValue() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {} else if (char === '"') {
if ((0, _utils.isSpace)(char)) {
this.consume();
} else if (char === '"') {
this.state = 'attributeValueDoubleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === "'") {
this.state = 'attributeValueSingleQuoted';
this.delegate.beginAttributeValue(true);
this.consume();
} else if (char === ">") {
this.delegate.beginAttributeValue(false);
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();

@@ -322,2 +354,3 @@ this.state = 'beforeData';

this.delegate.beginAttributeValue(false);
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -354,14 +387,18 @@ }

attributeValueUnquoted: function attributeValueUnquoted() {
var char = this.consume();
var char = this.peek();
if ((0, _utils.isSpace)(char)) {
this.delegate.finishAttributeValue();
this.consume();
this.state = 'beforeAttributeName';
} else if (char === "&") {
this.consume();
this.delegate.appendToAttributeValue(this.consumeCharRef(">") || "&");
} else if (char === ">") {
this.delegate.finishAttributeValue();
this.consume();
this.delegate.finishTag();
this.state = 'beforeData';
} else {
this.consume();
this.delegate.appendToAttributeValue(char);

@@ -368,0 +405,0 @@ }

"use strict";
exports.__esModule = true;
var HTML5NamedCharRefs = {};
var HTML5NamedCharRefs = {
// We don't need the complete named character reference because linkifyHtml
// does not modify the escape sequences. We do need &nbsp; so that
// whitespace is parsed properly. Other types of whitespace should already
// be accounted for
nbsp: "\xA0"
};
exports.default = HTML5NamedCharRefs;
{
"name": "linkifyjs",
"version": "2.1.3",
"version": "2.1.4",
"description": "Intelligent link recognition, made easy",

@@ -34,4 +34,3 @@ "repository": {

"babel-plugin-transform-es2015-modules-amd": "^6.6.5",
"babel-preset-es2015": "^6.6.0",
"babel-preset-es2015-loose": "^7.0.0",
"babel-preset-es2015": "^6.16.0",
"chai": "^3.5.0",

@@ -54,3 +53,3 @@ "coveralls": "^2.11.4",

"karma": "^1.1.0",
"karma-chrome-launcher": "^1.0.1",
"karma-chrome-launcher": "^2.0.0",
"karma-firefox-launcher": "^1.0.0",

@@ -67,5 +66,5 @@ "karma-phantomjs-launcher": "^1.0.0",

"requirejs": "^2.1.22",
"rollup": "^0.34.7",
"rollup": "~0.40.0",
"run-sequence": "^1.1.5",
"simple-html-tokenizer": "git+https://github.com/nfrasser/simple-html-tokenizer.git#master",
"simple-html-tokenizer": "git+https://github.com/nfrasser/simple-html-tokenizer.git#04799f4638ec5ed903a4e5aa6e832269fa59be6b",
"through2": "^2.0.1"

@@ -72,0 +71,0 @@ },

@@ -6,3 +6,3 @@ # Linkify

[![Build Status](https://travis-ci.org/SoapBox/linkifyjs.svg)](https://travis-ci.org/SoapBox/linkifyjs)
[![Build Status](https://saucelabs.com/open_sauce/build_status/nfrasser.svg)](https://saucelabs.com/beta/builds/c63720f642964f77927b2fda198b4a94)
[![Sauce Test Status](https://saucelabs.com/buildstatus/nfrasser)](https://saucelabs.com/u/nfrasser)
[![Coverage Status](https://coveralls.io/repos/SoapBox/linkifyjs/badge.svg?branch=master)](https://coveralls.io/r/SoapBox/linkifyjs?branch=master)

@@ -9,0 +9,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc