1require=(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ 2/*! 3 * Cross-Browser Split 1.1.1 4 * Copyright 2007-2012 Steven Levithan <stevenlevithan.com> 5 * Available under the MIT License 6 * ECMAScript compliant, uniform cross-browser split method 7 */ 8 9/** 10 * Splits a string into an array of strings using a regex or string separator. Matches of the 11 * separator are not included in the result array. However, if `separator` is a regex that contains 12 * capturing groups, backreferences are spliced into the result each time `separator` is matched. 13 * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably 14 * cross-browser. 15 * @param {String} str String to split. 16 * @param {RegExp|String} separator Regex or string to use for separating the string. 17 * @param {Number} [limit] Maximum number of items to include in the result array. 18 * @returns {Array} Array of substrings. 19 * @example 20 * 21 * // Basic use 22 * split('a b c d', ' '); 23 * // -> ['a', 'b', 'c', 'd'] 24 * 25 * // With limit 26 * split('a b c d', ' ', 2); 27 * // -> ['a', 'b'] 28 * 29 * // Backreferences in result array 30 * split('..word1 word2..', /([a-z]+)(\d+)/i); 31 * // -> ['..', 'word', '1', ' ', 'word', '2', '..'] 32 */ 33module.exports = (function split(undef) { 34 35 var nativeSplit = String.prototype.split, 36 compliantExecNpcg = /()??/.exec("")[1] === undef, 37 // NPCG: nonparticipating capturing group 38 self; 39 40 self = function(str, separator, limit) { 41 // If `separator` is not a regex, use `nativeSplit` 42 if (Object.prototype.toString.call(separator) !== "[object RegExp]") { 43 return nativeSplit.call(str, separator, limit); 44 } 45 var output = [], 46 flags = (separator.ignoreCase ? "i" : "") + (separator.multiline ? "m" : "") + (separator.extended ? "x" : "") + // Proposed for ES6 47 (separator.sticky ? "y" : ""), 48 // Firefox 3+ 49 lastLastIndex = 0, 50 // Make `global` and avoid `lastIndex` issues by working with a copy 51 separator = new RegExp(separator.source, flags + "g"), 52 separator2, match, lastIndex, lastLength; 53 str += ""; // Type-convert 54 if (!compliantExecNpcg) { 55 // Doesn't need flags gy, but they don't hurt 56 separator2 = new RegExp("^" + separator.source + "$(?!\\s)", flags); 57 } 58 /* Values for `limit`, per the spec: 59 * If undefined: 4294967295 // Math.pow(2, 32) - 1 60 * If 0, Infinity, or NaN: 0 61 * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296; 62 * If negative number: 4294967296 - Math.floor(Math.abs(limit)) 63 * If other: Type-convert, then use the above rules 64 */ 65 limit = limit === undef ? -1 >>> 0 : // Math.pow(2, 32) - 1 66 limit >>> 0; // ToUint32(limit) 67 while (match = separator.exec(str)) { 68 // `separator.lastIndex` is not reliable cross-browser 69 lastIndex = match.index + match[0].length; 70 if (lastIndex > lastLastIndex) { 71 output.push(str.slice(lastLastIndex, match.index)); 72 // Fix browsers whose `exec` methods don't consistently return `undefined` for 73 // nonparticipating capturing groups 74 if (!compliantExecNpcg && match.length > 1) { 75 match[0].replace(separator2, function() { 76 for (var i = 1; i < arguments.length - 2; i++) { 77 if (arguments[i] === undef) { 78 match[i] = undef; 79 } 80 } 81 }); 82 } 83 if (match.length > 1 && match.index < str.length) { 84 Array.prototype.push.apply(output, match.slice(1)); 85 } 86 lastLength = match[0].length; 87 lastLastIndex = lastIndex; 88 if (output.length >= limit) { 89 break; 90 } 91 } 92 if (separator.lastIndex === match.index) { 93 separator.lastIndex++; // Avoid an infinite loop 94 } 95 } 96 if (lastLastIndex === str.length) { 97 if (lastLength || !separator.test("")) { 98 output.push(""); 99 } 100 } else { 101 output.push(str.slice(lastLastIndex)); 102 } 103 return output.length > limit ? output.slice(0, limit) : output; 104 }; 105 106 return self; 107})(); 108 109},{}],2:[function(require,module,exports){ 110// contains, add, remove, toggle 111var indexof = require('indexof') 112 113module.exports = ClassList 114 115function ClassList(elem) { 116 var cl = elem.classList 117 118 if (cl) { 119 return cl 120 } 121 122 var classList = { 123 add: add 124 , remove: remove 125 , contains: contains 126 , toggle: toggle 127 , toString: $toString 128 , length: 0 129 , item: item 130 } 131 132 return classList 133 134 function add(token) { 135 var list = getTokens() 136 if (indexof(list, token) > -1) { 137 return 138 } 139 list.push(token) 140 setTokens(list) 141 } 142 143 function remove(token) { 144 var list = getTokens() 145 , index = indexof(list, token) 146 147 if (index === -1) { 148 return 149 } 150 151 list.splice(index, 1) 152 setTokens(list) 153 } 154 155 function contains(token) { 156 return indexof(getTokens(), token) > -1 157 } 158 159 function toggle(token) { 160 if (contains(token)) { 161 remove(token) 162 return false 163 } else { 164 add(token) 165 return true 166 } 167 } 168 169 function $toString() { 170 return elem.className 171 } 172 173 function item(index) { 174 var tokens = getTokens() 175 return tokens[index] || null 176 } 177 178 function getTokens() { 179 var className = elem.className 180 181 return filter(className.split(" "), isTruthy) 182 } 183 184 function setTokens(list) { 185 var length = list.length 186 187 elem.className = list.join(" ") 188 classList.length = length 189 190 for (var i = 0; i < list.length; i++) { 191 classList[i] = list[i] 192 } 193 194 delete list[length] 195 } 196} 197 198function filter (arr, fn) { 199 var ret = [] 200 for (var i = 0; i < arr.length; i++) { 201 if (fn(arr[i])) ret.push(arr[i]) 202 } 203 return ret 204} 205 206function isTruthy(value) { 207 return !!value 208} 209 210},{"indexof":3}],3:[function(require,module,exports){ 211 212var indexOf = [].indexOf; 213 214module.exports = function(arr, obj){ 215 if (indexOf) return arr.indexOf(obj); 216 for (var i = 0; i < arr.length; ++i) { 217 if (arr[i] === obj) return i; 218 } 219 return -1; 220}; 221},{}],4:[function(require,module,exports){ 222 223},{}
223],"hyperscript-helpers":[function(require,module,exports){ 224'use strict'; 225 226Object.defineProperty(exports, '__esModule', { 227 value: true 228}); 229var isValidString = function isValidString(param) { 230 return typeof param === 'string' && param.length > 0; 231}; 232 233var startsWith = function startsWith(string, start) { 234 return string[0] === start; 235}; 236 237var isSelector = function isSelector(param) { 238 return isValidString(param) && (startsWith(param, '.') || startsWith(param, '#')); 239}; 240 241var node = function node(h) { 242 return function (tagName) { 243 return function (first) { 244 for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 245 rest[_key - 1] = arguments[_key]; 246 } 247 248 if (isSelector(first)) { 249 return h.apply(undefined, [tagName + first].concat(rest)); 250 } else if (typeof first === 'undefined') { 251 return h(tagName); 252 } else { 253 return h.apply(undefined, [tagName, first].concat(rest)); 254 } 255 }; 256 }; 257}; 258 259var TAG_NAMES = ['a', 'abbr', 'acronym', 'address', 'applet', 'area', 'article', 'aside', 'audio', 'b', 'base', 'basefont', 'bdi', 'bdo', 'bgsound', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'command', 'content', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'image', 'img', 'input', 'ins', 'isindex', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'listing', 'main', 'map', 'mark', 'marquee', 'math', 'menu', 'menuitem', 'meta', 'meter', 'multicol', 'nav', 'nextid', 'nobr', 'noembed', 'noframes', 'n
259oscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'plaintext', 'pre', 'progress', 'q', 'rb', 'rbc', 'rp', 'rt', 'rtc', 'ruby', 's', 'samp', 'script', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'svg', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr', 'xmp']; 260 261exports['default'] = function (h) { 262 var createTag = node(h); 263 var exported = { TAG_NAMES: TAG_NAMES, isSelector: isSelector, createTag: createTag }; 264 TAG_NAMES.forEach(function (n) { 265 exported[n] = createTag(n); 266 }); 267 return exported; 268}; 269 270module.exports = exports['default']; 271},{}],"hyperscript":[function(require,module,exports){ 272var split = require('browser-split') 273var ClassList = require('class-list') 274 275var w = typeof window === 'undefined' ? require('html-element') : window 276var document = w.document 277var Text = w.Text 278 279function context () { 280 281 var cleanupFuncs = [] 282 283 function h() { 284 var args = [].slice.call(arguments), e = null 285 function item (l) { 286 var r 287 function parseClass (string) { 288 // Our minimal parser doesnât understand escaping CSS special 289 // characters like `#`. Donât use them. More reading: 290 // https://mathiasbynens.be/notes/css-escapes . 291 292 var m = split(string, /([\.#]?[^\s#.]+)/) 293 if(/^\.|#/.test(m[1])) 294 e = document.createElement('div') 295 forEach(m, function (v) { 296 var s = v.substring(1,v.length) 297 if(!v) return 298 if(!e) 299 e = document.createElement(v) 300 else if (v[0] === '.') 301 ClassList(e).add(s) 302 else if (v[0] === '#') 303 e.setAttribute('id', s) 304 }) 305 } 306 307 if(l == null) 308 ; 309 else if('string' === typeof l) { 310 if(!e) 311 parseClass(l) 312 else 313 e.appendChild(r = document.createTextNode(l)) 314 } 315 else if('number' === typeof l 316 || 'boolean' === typeof l 317 || l instanceof Date 318 || l instanceof RegExp ) { 319 e.appendChild(r = document.createTextNode(l.toString())) 320 } 321 //there might be a better way to handle this... 322 else if (isArray(l)) 323 forEach(l, item) 324 else if(isNode(l)) 325 e.appendChild(r = l) 326 else if(l instanceof Text) 327 e.appendChild(r = l) 328 else if ('object' === typeof l) { 329 for (var k in l) { 330 if('function' === typeof l[k]) { 331 if(/^on\w+/.test(k)) { 332 (function (k, l) { // capture k, l in the closure 333 if (e.addEventListener){ 334 e.addEventListener(k.substring(2), l[k], false) 335 cleanupFuncs.push(function(){ 336 e.removeEventListener(k.substring(2), l[k], false) 337 }) 338 }else{ 339 e.attachEvent(k, l[k]) 340 cleanupFuncs.push(function(){ 341 e.detachEvent(k, l[k]) 342 }) 343 } 344 })(k, l) 345 } else { 346 // observable 347 e[k] = l[k]() 348 cleanupFuncs.push(l[k](function (v) { 349 e[k] = v 350 })) 351 } 352 } 353 else if(k === 'style') { 354 if('string' === typeof l[k]) { 355 e.style.cssText = l[k] 356 }else{ 357 for (var s in l[k]) (function(s, v) { 358 if('function' === typeof v) { 359 // observable 360 e.style.setProperty(s, v()) 361 cleanupFuncs.push(v(function (val) { 362 e.style.setProperty(s, val) 363 })) 364 } else 365 var match = l[k][s].match(/(.*)\W+!important\W*$/); 366 if (match) { 367 e.style.setProperty(s, match[1], 'important') 368 } else { 369 e.style.setProperty(s, l[k][s]) 370 } 371 })(s, l[k][s]) 372 } 373 } else if(k === 'attrs') { 374 for (var v in l[k]) { 375 e.setAttribute(v, l[k][v]) 376 } 377 } 378 else if (k.substr(0, 5) === "data-") { 379 e.setAttribute(k, l[k]) 380 } else { 381 e[k] = l[k] 382 } 383 } 384 } else if ('function' === typeof l) { 385 //assume it's an observable! 386 var v = l() 387 e.appendChild(r = isNode(v) ? v : document.createTextNode(v)) 388 389 cleanupFuncs.push(l(function (v) { 390 if(isNode(v) && r.parentElement) 391 r.parentElement.replaceChild(v, r), r = v 392 else 393 r.textContent = v 394 })) 395 } 396 397 return r 398 } 399 while(args.length) 400 item(args.shift()) 401 402 return e 403 } 404 405 h.cleanup = function () { 406 for (var i = 0; i < cleanupFuncs.length; i++){ 407 cleanupFuncs[i]() 408 } 409 cleanupFuncs.length = 0 410 } 411 412 return h 413} 414 415var h = module.exports = context() 416h.context = context 417 418function isNode (el) { 419 return el && el.nodeName && el.nodeType 420} 421 422function forEach (arr, fn) { 423 if (arr.forEach) return arr.forEach(fn) 424 for (var i = 0; i < arr.length; i++) fn(arr[i], i) 425} 426 427function isArray (arr) { 428 return Object.prototype.toString.call(arr) == '[object Array]' 429} 430 431 432 433},{"browser-split":1,"class-list":2,"html-element":4}]},{},[]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.