From a52450d1ad967aa56775d59ae58f6f004d8df29a Mon Sep 17 00:00:00 2001 From: Vladimir Borisov Date: Thu, 29 Sep 2022 16:16:08 +0300 Subject: [PATCH] Update server.js --- server.js | 2761 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 1645 insertions(+), 1116 deletions(-) diff --git a/server.js b/server.js index bb4f934..0c27aca 100644 --- a/server.js +++ b/server.js @@ -1,5 +1,5 @@ window={};module.parent=module.parent||{};process.env.NODE_ENV="production";require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= 0 ? x : false } -},{"./lib/common":39,"./lib/server/parse-http":40,"./lib/server/parse-udp":41,"./lib/server/parse-websocket":42,"./lib/server/swarm":43,"bencode":44,"debug":"debug","dgram":undefined,"events":undefined,"http":undefined,"inherits":341,"run-series":656,"string2compact":739,"ws":784}],50:[function(require,module,exports){ +},{"./lib/common":39,"./lib/server/parse-http":40,"./lib/server/parse-udp":41,"./lib/server/parse-websocket":42,"./lib/server/swarm":43,"bencode":44,"debug":"debug","dgram":undefined,"events":undefined,"http":undefined,"inherits":342,"run-series":657,"string2compact":739,"ws":785}],50:[function(require,module,exports){ /* global Blob, FileReader */ module.exports = function blobToBuffer (blob, cb) { @@ -23756,7 +23756,7 @@ function setErrorStatus (error, status) { } } -},{"http-errors":100,"iconv-lite":338,"on-finished":590,"raw-body":635,"zlib":undefined}],90:[function(require,module,exports){ +},{"http-errors":100,"iconv-lite":339,"on-finished":591,"raw-body":636,"zlib":undefined}],90:[function(require,module,exports){ /*! * body-parser * Copyright(c) 2014 Jonathan Ong @@ -24439,7 +24439,7 @@ function typeChecker (type) { } } -},{"../read":89,"bytes":121,"content-type":94,"debug":"debug","depd":95,"http-errors":100,"qs":628,"querystring":undefined,"type-is":101}],94:[function(require,module,exports){ +},{"../read":89,"bytes":121,"content-type":94,"debug":"debug","depd":95,"http-errors":100,"qs":629,"querystring":undefined,"type-is":101}],94:[function(require,module,exports){ /*! * content-type * Copyright(c) 2015 Douglas Christopher Wilson @@ -25694,7 +25694,7 @@ function toIdentifier (str) { }).join('').replace(/[^ _0-9a-z]/gi, '') } -},{"depd":95,"inherits":341,"setprototypeof":668,"statuses":676}],101:[function(require,module,exports){ +},{"depd":95,"inherits":342,"setprototypeof":669,"statuses":677}],101:[function(require,module,exports){ /*! * type-is * Copyright(c) 2014 Jonathan Ong @@ -25958,7 +25958,7 @@ function tryNormalizeType (value) { } } -},{"media-typer":546,"mime-types":551}],102:[function(require,module,exports){ +},{"media-typer":547,"mime-types":552}],102:[function(require,module,exports){ module.exports = copy function copy(source, target, target_start, source_start, source_end) { @@ -29958,7 +29958,7 @@ LineStream.prototype._reencode = function(line, chunkEncoding) { })(this); -},{"long":499}],120:[function(require,module,exports){ +},{"long":500}],120:[function(require,module,exports){ /* Copyright 2013-2014 Daniel Wirtz @@ -33269,7 +33269,7 @@ module.exports = (function() { })(); -},{"buffer":undefined,"long":499,"memcpy":"memcpy"}],121:[function(require,module,exports){ +},{"buffer":undefined,"long":500,"memcpy":"memcpy"}],121:[function(require,module,exports){ /*! * bytes * Copyright(c) 2012-2014 TJ Holowaychuk @@ -33906,7 +33906,7 @@ messages.forEach(function(message) { }; }); -},{"./cast_channel":123,"fs":undefined,"protobufjs":623}],128:[function(require,module,exports){ +},{"./cast_channel":123,"fs":undefined,"protobufjs":624}],128:[function(require,module,exports){ var EventEmitter = require('events').EventEmitter; var util = require('util'); var tls = require('tls'); @@ -36577,7 +36577,7 @@ compact2string.multi6 = function (buf) { return output; }; -},{"ipaddr.js":345}],172:[function(require,module,exports){ +},{"ipaddr.js":346}],172:[function(require,module,exports){ module.exports = function (xs, fn) { var res = []; for (var i = 0; i < xs.length; i++) { @@ -36737,7 +36737,7 @@ function u8Concat (parts) { return u8 } -},{"inherits":341,"readable-stream":179,"typedarray":764}],174:[function(require,module,exports){ +},{"inherits":342,"readable-stream":179,"typedarray":764}],174:[function(require,module,exports){ // a duplex stream is just a stream that is both readable and writable. // Since JS doesn't have multiple prototypal inheritance, this class // prototypally inherits from Readable, and then parasitically from @@ -36813,7 +36813,7 @@ function forEach(xs, f) { f(xs[i], i); } } -},{"./_stream_readable":176,"./_stream_writable":178,"core-util-is":185,"inherits":341,"process-nextick-args":621}],175:[function(require,module,exports){ +},{"./_stream_readable":176,"./_stream_writable":178,"core-util-is":185,"inherits":342,"process-nextick-args":622}],175:[function(require,module,exports){ // a passthrough stream. // basically just the most minimal sort of Transform stream. // Every written chunk gets output as-is. @@ -36840,7 +36840,7 @@ function PassThrough(options) { PassThrough.prototype._transform = function (chunk, encoding, cb) { cb(null, chunk); }; -},{"./_stream_transform":177,"core-util-is":185,"inherits":341}],176:[function(require,module,exports){ +},{"./_stream_transform":177,"core-util-is":185,"inherits":342}],176:[function(require,module,exports){ 'use strict'; module.exports = Readable; @@ -37721,7 +37721,7 @@ function indexOf(xs, x) { } return -1; } -},{"./_stream_duplex":174,"buffer":undefined,"core-util-is":185,"events":undefined,"inherits":341,"isarray":348,"process-nextick-args":621,"string_decoder/":740,"util":undefined}],177:[function(require,module,exports){ +},{"./_stream_duplex":174,"buffer":undefined,"core-util-is":185,"events":undefined,"inherits":342,"isarray":349,"process-nextick-args":622,"string_decoder/":740,"util":undefined}],177:[function(require,module,exports){ // a transform stream is a readable/writable stream where you do // something with the data. Sometimes it's called a "filter", // but that's not a great name for it, since that implies a thing where @@ -37902,7 +37902,7 @@ function done(stream, er) { return stream.push(null); } -},{"./_stream_duplex":174,"core-util-is":185,"inherits":341}],178:[function(require,module,exports){ +},{"./_stream_duplex":174,"core-util-is":185,"inherits":342}],178:[function(require,module,exports){ // A bit simpler than readable streams. // Implement an async ._write(chunk, encoding, cb), and it'll handle all // the drain event emission and buffering. @@ -38419,7 +38419,7 @@ function CorkedRequest(state) { } }; } -},{"./_stream_duplex":174,"buffer":undefined,"core-util-is":185,"events":undefined,"inherits":341,"process-nextick-args":621,"util-deprecate":773}],179:[function(require,module,exports){ +},{"./_stream_duplex":174,"buffer":undefined,"core-util-is":185,"events":undefined,"inherits":342,"process-nextick-args":622,"util-deprecate":773}],179:[function(require,module,exports){ var Stream = (function (){ try { return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify @@ -38718,7 +38718,7 @@ function getProtohost(url) { : undefined; } -},{"debug":"debug","events":undefined,"finalhandler":305,"http":undefined,"parseurl":604,"utils-merge":774}],181:[function(require,module,exports){ +},{"debug":"debug","events":undefined,"finalhandler":306,"http":undefined,"parseurl":605,"utils-merge":774}],181:[function(require,module,exports){ /*! * content-disposition * Copyright(c) 2014 Douglas Christopher Wilson @@ -39988,7 +39988,7 @@ function objectToString(o) { }()); -},{"object-assign":589,"vary":779}],187:[function(require,module,exports){ +},{"object-assign":590,"vary":779}],187:[function(require,module,exports){ // Generated by CoffeeScript 1.7.1 var Buffer, create; @@ -41326,7 +41326,7 @@ module.exports = response => { return stream; }; -},{"mimic-response":554,"stream":undefined,"zlib":undefined}],206:[function(require,module,exports){ +},{"mimic-response":555,"stream":undefined,"zlib":undefined}],206:[function(require,module,exports){ /*! * depd * Copyright(c) 2014-2017 Douglas Christopher Wilson @@ -42731,7 +42731,7 @@ function decodeList (list, enc, buf, offset) { return offset } -},{"./types":213,"ip":344,"safe-buffer":212}],212:[function(require,module,exports){ +},{"./types":213,"ip":345,"safe-buffer":212}],212:[function(require,module,exports){ arguments[4][29][0].apply(exports,arguments) },{"buffer":undefined,"dup":29}],213:[function(require,module,exports){ exports.toString = function (type) { @@ -46073,7 +46073,7 @@ var eos = function(stream, opts, callback) { module.exports = eos; -},{"once":591}],229:[function(require,module,exports){ +},{"once":592}],229:[function(require,module,exports){ var url = require("url"); var os = require("os"); var events = require("events"); @@ -46097,6 +46097,8 @@ var EngineFS = new events.EventEmitter(); var Counter = require("./lib/refcounter"); +var GuessFileIdx = require("./lib/guessFileIdx") + var IH_REGEX = new RegExp("([0-9A-Fa-f]){40}", "g"); // Events: @@ -46288,7 +46290,7 @@ function prewarmStream(hash, idx) if (engines[hash]) engines[hash].ready(function() { engines[hash].files[idx].select() }); // select without priority so we start downloading }; -function openPath(path, cb) +function openPath(path, trackers, cb) { // length: 40 ; info hash var parts = path.split("/").filter(function(x) { return x }); @@ -46297,7 +46299,18 @@ function openPath(path, cb) var infoHash = parts[0].toLowerCase(); var i = Number(parts[1]); - createEngine(infoHash, function(err, engine) + var opts = {} + + if (trackers) { + const defaults = EngineFS.getDefaults(infoHash) + opts.peerSearch = { + min: defaults.peerSearch.min, + max: defaults.peerSearch.max, + sources: trackers + } + } + + createEngine(infoHash, opts, function(err, engine) { if (err) return cb(err); @@ -46348,9 +46361,16 @@ router.get("/stats.json", function(req, res) { router.all("/:infoHash/create", function(req, res) { var ih = req.params.infoHash.toLowerCase(); - createEngine(ih, req.body || { }, function() { + var body = req.body || { } + createEngine(ih, body, function() { res.writeHead(200, jsonHead); - res.end(JSON.stringify(getStatistics(engines[ih]))); + var engineStats = getStatistics(engines[ih]) + if (body.guessFileIdx && engineStats.files) { + // we don't have a default file idx + // so we will guess it for the clients + engineStats.guessedFileIdx = GuessFileIdx(engineStats.files, body.guessFileIdx) + } + res.end(JSON.stringify(engineStats)); }); }); @@ -46408,13 +46428,14 @@ router.get("/removeAll", function(req, res) { router.get("/:infoHash/:idx", sendDLNAHeaders, function(req, res, next) { var u = url.parse(req.url, true); - openPath(u.pathname, function(err, handle, e) + var trackers = u.query.tr && [].concat(u.query.tr) + openPath(u.pathname, trackers, function(err, handle, e) { if (err) { console.error(err); res.statusCode = 500; return res.end(); } if (u.query.external) { res.statusCode = 307; - res.setHeader("Location", "/" + e.infoHash + "/" + encodeURIComponent(handle.name)); + res.setHeader("Location", "/" + e.infoHash + "/" + encodeURIComponent(handle.name) + (u.query.download ? '?download=1' : '')); return res.end(); } @@ -46438,6 +46459,7 @@ router.get("/:infoHash/:idx", sendDLNAHeaders, function(req, res, next) { res.setHeader("Accept-Ranges", "bytes"); res.setHeader("Content-Type", mime.lookup(handle.name)); res.setHeader("Cache-Control", "max-age=0, no-cache"); + if (u.query.download) res.setHeader("Content-Disposition", 'attachment; filename="'+handle.name+'";'); if (u.query.subtitles) res.setHeader("CaptionInfo.sec", u.query.subtitles); //res.setHeader("Access-Control-Max-Age", "1728000"); @@ -46707,7 +46729,53 @@ EngineFS.getRootRouter = function() { module.exports = EngineFS; -},{"./lib/refcounter":230,"body-parser":88,"connect":180,"events":undefined,"fs":undefined,"http":undefined,"mime":552,"node-fetch":"node-fetch","os":undefined,"parse-torrent-file":597,"path":undefined,"peer-search":608,"pump":626,"range-parser":634,"router":652,"url":undefined,"util":undefined}],230:[function(require,module,exports){ +},{"./lib/guessFileIdx":230,"./lib/refcounter":231,"body-parser":88,"connect":180,"events":undefined,"fs":undefined,"http":undefined,"mime":553,"node-fetch":"node-fetch","os":undefined,"parse-torrent-file":598,"path":undefined,"peer-search":609,"pump":627,"range-parser":635,"router":653,"url":undefined,"util":undefined}],230:[function(require,module,exports){ +var parseVideoName = require('video-name-parser'); + +var MEDIA_FILE_EXTENTIONS = /.mkv$|.avi$|.mp4$|.wmv$|.vp8$|.mov$|.mpg$|.ts$|.m3u8$|.webm$|.flac$|.mp3$|.wav$|.wma$|.aac$|.ogg$/i; + +module.exports = function(files, seriesInfo) { + if (!files || !Array.isArray(files) || !seriesInfo) + return -1; + + var mediaFiles = files.filter(function(file) { + return file.path.match(MEDIA_FILE_EXTENTIONS); + }); + + if (mediaFiles.length === 0) + return -1; + + if (!seriesInfo.season || !seriesInfo.episode) + seriesInfo = false + + var mediaFilesForEpisode = seriesInfo ? + mediaFiles.filter(function(file) { + try { + var info = parseVideoName(file.path); + return info.season !== null && + isFinite(info.season) && + info.season === seriesInfo.season && + Array.isArray(info.episode) && + info.episode.indexOf(seriesInfo.episode) !== -1; + } catch (e) { + return -1; + } + }) + : + []; + + var selectedFile = (mediaFilesForEpisode.length > 0 ? mediaFilesForEpisode : mediaFiles) + .reduce(function(result, file) { + if (!result || file.length > result.length) + return file; + + return result; + }, null); + + return files.indexOf(selectedFile); +} + +},{"video-name-parser":780}],231:[function(require,module,exports){ // Increment/decrement a counter on `incEv`/`decEv`; generate the ID of the counter with `idFn` // Calls `onPositive` when counter is >0 and `onZero` when counter has stayed on 0 for `timeout` milliseconds function Counter(evs, incEv, decEv, idFn, onPositive, onZero, timeout) @@ -46737,7 +46805,7 @@ function Counter(evs, incEv, decEv, idFn, onPositive, onZero, timeout) }; module.exports = Counter; -},{}],231:[function(require,module,exports){ +},{}],232:[function(require,module,exports){ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); @@ -48296,7 +48364,7 @@ exports.Request = Request; exports.Response = Response; exports.FetchError = FetchError; -},{"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],232:[function(require,module,exports){ +},{"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],233:[function(require,module,exports){ /*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk @@ -48376,7 +48444,7 @@ function escapeHtml(string) { : html; } -},{}],233:[function(require,module,exports){ +},{}],234:[function(require,module,exports){ /*! * etag * Copyright(c) 2014-2016 Douglas Christopher Wilson @@ -48509,7 +48577,7 @@ function stattag (stat) { return '"' + size + '-' + mtime + '"' } -},{"crypto":undefined,"fs":undefined}],234:[function(require,module,exports){ +},{"crypto":undefined,"fs":undefined}],235:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -48522,7 +48590,7 @@ function stattag (stat) { module.exports = require('./lib/express'); -},{"./lib/express":236}],235:[function(require,module,exports){ +},{"./lib/express":237}],236:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -49168,7 +49236,7 @@ function tryRender(view, options, callback) { } } -},{"./middleware/init":237,"./middleware/query":238,"./router":241,"./utils":244,"./view":245,"array-flatten":246,"debug":"debug","depd":206,"finalhandler":258,"http":undefined,"methods":548,"path":undefined,"setprototypeof":298,"utils-merge":301}],236:[function(require,module,exports){ +},{"./middleware/init":238,"./middleware/query":239,"./router":242,"./utils":245,"./view":246,"array-flatten":247,"debug":"debug","depd":206,"finalhandler":259,"http":undefined,"methods":549,"path":undefined,"setprototypeof":299,"utils-merge":302}],237:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -49282,7 +49350,7 @@ exports.urlencoded = bodyParser.urlencoded }); }); -},{"./application":235,"./middleware/query":238,"./request":239,"./response":240,"./router":241,"./router/route":243,"body-parser":247,"events":undefined,"merge-descriptors":547,"serve-static":297}],237:[function(require,module,exports){ +},{"./application":236,"./middleware/query":239,"./request":240,"./response":241,"./router":242,"./router/route":244,"body-parser":248,"events":undefined,"merge-descriptors":548,"serve-static":298}],238:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -49327,7 +49395,7 @@ exports.init = function(app){ }; -},{"setprototypeof":298}],238:[function(require,module,exports){ +},{"setprototypeof":299}],239:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -49376,7 +49444,7 @@ module.exports = function query(options) { }; }; -},{"parseurl":280,"qs":282,"utils-merge":301}],239:[function(require,module,exports){ +},{"parseurl":281,"qs":283,"utils-merge":302}],240:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -49899,7 +49967,7 @@ function defineGetter(obj, name, getter) { }); } -},{"accepts":1,"depd":206,"fresh":310,"http":undefined,"net":undefined,"parseurl":280,"proxy-addr":624,"range-parser":286,"type-is":760}],240:[function(require,module,exports){ +},{"accepts":1,"depd":206,"fresh":311,"http":undefined,"net":undefined,"parseurl":281,"proxy-addr":625,"range-parser":287,"type-is":760}],241:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -51038,7 +51106,7 @@ function stringify (value, replacer, spaces, escape) { return json } -},{"./utils":244,"content-disposition":181,"cookie":184,"cookie-signature":183,"depd":206,"encodeurl":227,"escape-html":232,"http":undefined,"on-finished":590,"path":undefined,"safe-buffer":296,"send":658,"statuses":300,"utils-merge":301,"vary":779}],241:[function(require,module,exports){ +},{"./utils":245,"content-disposition":181,"cookie":184,"cookie-signature":183,"depd":206,"encodeurl":227,"escape-html":233,"http":undefined,"on-finished":591,"path":undefined,"safe-buffer":297,"send":659,"statuses":301,"utils-merge":302,"vary":779}],242:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -51702,7 +51770,7 @@ function wrap(old, fn) { }; } -},{"./layer":242,"./route":243,"array-flatten":246,"debug":"debug","depd":206,"methods":548,"parseurl":280,"setprototypeof":298,"utils-merge":301}],242:[function(require,module,exports){ +},{"./layer":243,"./route":244,"array-flatten":247,"debug":"debug","depd":206,"methods":549,"parseurl":281,"setprototypeof":299,"utils-merge":302}],243:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -51885,7 +51953,7 @@ function decode_param(val) { } } -},{"debug":"debug","path-to-regexp":606}],243:[function(require,module,exports){ +},{"debug":"debug","path-to-regexp":607}],244:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -52103,7 +52171,7 @@ methods.forEach(function(method){ }; }); -},{"./layer":242,"array-flatten":246,"debug":"debug","methods":548}],244:[function(require,module,exports){ +},{"./layer":243,"array-flatten":247,"debug":"debug","methods":549}],245:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -52411,7 +52479,7 @@ function newObject() { return {}; } -},{"array-flatten":246,"content-disposition":181,"content-type":182,"depd":206,"etag":233,"proxy-addr":624,"qs":282,"querystring":undefined,"safe-buffer":296,"send":658}],245:[function(require,module,exports){ +},{"array-flatten":247,"content-disposition":181,"content-type":182,"depd":206,"etag":234,"proxy-addr":625,"qs":283,"querystring":undefined,"safe-buffer":297,"send":659}],246:[function(require,module,exports){ /*! * express * Copyright(c) 2009-2013 TJ Holowaychuk @@ -52595,7 +52663,7 @@ function tryStat(path) { } } -},{"debug":"debug","fs":undefined,"path":undefined}],246:[function(require,module,exports){ +},{"debug":"debug","fs":undefined,"path":undefined}],247:[function(require,module,exports){ 'use strict' /** @@ -52661,9 +52729,9 @@ function arrayFlatten (array, depth) { return flattenWithDepth(array, [], depth) } -},{}],247:[function(require,module,exports){ +},{}],248:[function(require,module,exports){ arguments[4][88][0].apply(exports,arguments) -},{"./lib/types/json":249,"./lib/types/raw":250,"./lib/types/text":251,"./lib/types/urlencoded":252,"depd":206,"dup":88}],248:[function(require,module,exports){ +},{"./lib/types/json":250,"./lib/types/raw":251,"./lib/types/text":252,"./lib/types/urlencoded":253,"depd":206,"dup":88}],249:[function(require,module,exports){ /*! * body-parser * Copyright(c) 2014-2015 Douglas Christopher Wilson @@ -52846,7 +52914,7 @@ function contentstream (req, debug, inflate) { return stream } -},{"http-errors":315,"iconv-lite":278,"on-finished":590,"raw-body":287,"zlib":undefined}],249:[function(require,module,exports){ +},{"http-errors":316,"iconv-lite":279,"on-finished":591,"raw-body":288,"zlib":undefined}],250:[function(require,module,exports){ /*! * body-parser * Copyright(c) 2014 Jonathan Ong @@ -53080,9 +53148,9 @@ function typeChecker (type) { } } -},{"../read":248,"bytes":253,"content-type":182,"debug":"debug","http-errors":315,"type-is":760}],250:[function(require,module,exports){ +},{"../read":249,"bytes":254,"content-type":182,"debug":"debug","http-errors":316,"type-is":760}],251:[function(require,module,exports){ arguments[4][91][0].apply(exports,arguments) -},{"../read":248,"bytes":253,"debug":"debug","dup":91,"type-is":760}],251:[function(require,module,exports){ +},{"../read":249,"bytes":254,"debug":"debug","dup":91,"type-is":760}],252:[function(require,module,exports){ /*! * body-parser * Copyright(c) 2014-2015 Douglas Christopher Wilson @@ -53205,7 +53273,7 @@ function typeChecker (type) { } } -},{"../read":248,"bytes":253,"content-type":182,"debug":"debug","type-is":760}],252:[function(require,module,exports){ +},{"../read":249,"bytes":254,"content-type":182,"debug":"debug","type-is":760}],253:[function(require,module,exports){ /*! * body-parser * Copyright(c) 2014 Jonathan Ong @@ -53491,7 +53559,7 @@ function typeChecker (type) { } } -},{"../read":248,"bytes":253,"content-type":182,"debug":"debug","depd":206,"http-errors":315,"qs":282,"querystring":undefined,"type-is":760}],253:[function(require,module,exports){ +},{"../read":249,"bytes":254,"content-type":182,"debug":"debug","depd":206,"http-errors":316,"qs":283,"querystring":undefined,"type-is":760}],254:[function(require,module,exports){ /*! * bytes * Copyright(c) 2012-2014 TJ Holowaychuk @@ -53652,7 +53720,7 @@ function parse(val) { return Math.floor(map[unit] * floatValue); } -},{}],254:[function(require,module,exports){ +},{}],255:[function(require,module,exports){ /** * This is the web browser implementation of `debug()`. * @@ -53839,7 +53907,7 @@ function localstorage() { } catch (e) {} } -},{"./debug":255}],255:[function(require,module,exports){ +},{"./debug":256}],256:[function(require,module,exports){ /** * This is the common logic for both the Node.js and web browser @@ -54043,9 +54111,9 @@ function coerce(val) { return val; } -},{"ms":561}],256:[function(require,module,exports){ +},{"ms":562}],257:[function(require,module,exports){ arguments[4][203][0].apply(exports,arguments) -},{"./browser.js":254,"./node.js":257,"dup":203}],257:[function(require,module,exports){ +},{"./browser.js":255,"./node.js":258,"dup":203}],258:[function(require,module,exports){ /** * Module dependencies. */ @@ -54295,7 +54363,7 @@ function init (debug) { exports.enable(load()); -},{"./debug":255,"fs":undefined,"net":undefined,"tty":undefined,"util":undefined}],258:[function(require,module,exports){ +},{"./debug":256,"fs":undefined,"net":undefined,"tty":undefined,"util":undefined}],259:[function(require,module,exports){ /*! * finalhandler * Copyright(c) 2014-2017 Douglas Christopher Wilson @@ -54628,7 +54696,7 @@ function setHeaders (res, headers) { } } -},{"debug":"debug","encodeurl":227,"escape-html":232,"on-finished":590,"parseurl":280,"statuses":300,"unpipe":768}],259:[function(require,module,exports){ +},{"debug":"debug","encodeurl":227,"escape-html":233,"on-finished":591,"parseurl":281,"statuses":301,"unpipe":768}],260:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -55185,7 +55253,7 @@ function findIdx(table, val) { } -},{"buffer":undefined}],260:[function(require,module,exports){ +},{"buffer":undefined}],261:[function(require,module,exports){ "use strict"; // Description of supported double byte encodings and aliases. @@ -55363,7 +55431,7 @@ module.exports = { 'xxbig5': 'big5hkscs', }; -},{"./tables/big5-added.json":266,"./tables/cp936.json":267,"./tables/cp949.json":268,"./tables/cp950.json":269,"./tables/eucjp.json":270,"./tables/gb18030-ranges.json":271,"./tables/gbk-added.json":272,"./tables/shiftjis.json":273}],261:[function(require,module,exports){ +},{"./tables/big5-added.json":267,"./tables/cp936.json":268,"./tables/cp949.json":269,"./tables/cp950.json":270,"./tables/eucjp.json":271,"./tables/gb18030-ranges.json":272,"./tables/gbk-added.json":273,"./tables/shiftjis.json":274}],262:[function(require,module,exports){ "use strict"; // Update this array if you add/rename/remove files in this directory. @@ -55387,7 +55455,7 @@ for (var i = 0; i < modules.length; i++) { exports[enc] = module[enc]; } -},{"./dbcs-codec":259,"./dbcs-data":260,"./internal":262,"./sbcs-codec":263,"./sbcs-data":265,"./sbcs-data-generated":264,"./utf16":274,"./utf7":275}],262:[function(require,module,exports){ +},{"./dbcs-codec":260,"./dbcs-data":261,"./internal":263,"./sbcs-codec":264,"./sbcs-data":266,"./sbcs-data-generated":265,"./utf16":275,"./utf7":276}],263:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -55577,7 +55645,7 @@ InternalDecoderCesu8.prototype.end = function() { return res; } -},{"buffer":undefined,"string_decoder":undefined}],263:[function(require,module,exports){ +},{"buffer":undefined,"string_decoder":undefined}],264:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -55652,7 +55720,7 @@ SBCSDecoder.prototype.write = function(buf) { SBCSDecoder.prototype.end = function() { } -},{"buffer":undefined}],264:[function(require,module,exports){ +},{"buffer":undefined}],265:[function(require,module,exports){ "use strict"; // Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. @@ -56104,7 +56172,7 @@ module.exports = { "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" } } -},{}],265:[function(require,module,exports){ +},{}],266:[function(require,module,exports){ "use strict"; // Manually added data to be used by sbcs codec in addition to generated one. @@ -56275,7 +56343,7 @@ module.exports = { }; -},{}],266:[function(require,module,exports){ +},{}],267:[function(require,module,exports){ module.exports=[ ["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"], ["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"], @@ -56399,7 +56467,7 @@ module.exports=[ ["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"] ] -},{}],267:[function(require,module,exports){ +},{}],268:[function(require,module,exports){ module.exports=[ ["0","\u0000",127,"€"], ["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"], @@ -56665,7 +56733,7 @@ module.exports=[ ["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"] ] -},{}],268:[function(require,module,exports){ +},{}],269:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"], @@ -56940,7 +57008,7 @@ module.exports=[ ["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"] ] -},{}],269:[function(require,module,exports){ +},{}],270:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"], @@ -57119,7 +57187,7 @@ module.exports=[ ["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"] ] -},{}],270:[function(require,module,exports){ +},{}],271:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["8ea1","。",62], @@ -57303,9 +57371,9 @@ module.exports=[ ["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"] ] -},{}],271:[function(require,module,exports){ -module.exports={"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]} },{}],272:[function(require,module,exports){ +module.exports={"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]} +},{}],273:[function(require,module,exports){ module.exports=[ ["a140","",62], ["a180","",32], @@ -57362,7 +57430,7 @@ module.exports=[ ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] ] -},{}],273:[function(require,module,exports){ +},{}],274:[function(require,module,exports){ module.exports=[ ["0","\u0000",128], ["a1","。",62], @@ -57489,7 +57557,7 @@ module.exports=[ ["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"] ] -},{}],274:[function(require,module,exports){ +},{}],275:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -57668,7 +57736,7 @@ function detectEncoding(buf, defaultEncoding) { -},{"buffer":undefined}],275:[function(require,module,exports){ +},{"buffer":undefined}],276:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -57960,7 +58028,7 @@ Utf7IMAPDecoder.prototype.end = function() { -},{"buffer":undefined}],276:[function(require,module,exports){ +},{"buffer":undefined}],277:[function(require,module,exports){ "use strict"; var BOMChar = '\uFEFF'; @@ -58014,7 +58082,7 @@ StripBOMWrapper.prototype.end = function() { } -},{}],277:[function(require,module,exports){ +},{}],278:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer; @@ -58231,7 +58299,7 @@ module.exports = function (iconv) { } } -},{"buffer":undefined,"stream":undefined}],278:[function(require,module,exports){ +},{"buffer":undefined,"stream":undefined}],279:[function(require,module,exports){ "use strict"; // Some environments don't have global Buffer (e.g. React Native). @@ -58381,7 +58449,7 @@ if ("Ā" != "\u0100") { console.error("iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); } -},{"../encodings":261,"./bom-handling":276,"./extend-node":277,"./streams":279,"buffer":undefined}],279:[function(require,module,exports){ +},{"../encodings":262,"./bom-handling":277,"./extend-node":278,"./streams":280,"buffer":undefined}],280:[function(require,module,exports){ "use strict"; var Buffer = require("buffer").Buffer, @@ -58504,7 +58572,7 @@ IconvLiteDecoderStream.prototype.collect = function(cb) { } -},{"buffer":undefined,"stream":undefined}],280:[function(require,module,exports){ +},{"buffer":undefined,"stream":undefined}],281:[function(require,module,exports){ /*! * parseurl * Copyright(c) 2014 Jonathan Ong @@ -58660,7 +58728,7 @@ function fresh (url, parsedUrl) { parsedUrl._raw === url } -},{"url":undefined}],281:[function(require,module,exports){ +},{"url":undefined}],282:[function(require,module,exports){ 'use strict'; var replace = String.prototype.replace; @@ -58680,7 +58748,7 @@ module.exports = { RFC3986: 'RFC3986' }; -},{}],282:[function(require,module,exports){ +},{}],283:[function(require,module,exports){ 'use strict'; var stringify = require('./stringify'); @@ -58693,7 +58761,7 @@ module.exports = { stringify: stringify }; -},{"./formats":281,"./parse":283,"./stringify":284}],283:[function(require,module,exports){ +},{"./formats":282,"./parse":284,"./stringify":285}],284:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -58869,7 +58937,7 @@ module.exports = function (str, opts) { return utils.compact(obj); }; -},{"./utils":285}],284:[function(require,module,exports){ +},{"./utils":286}],285:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -59081,7 +59149,7 @@ module.exports = function (object, opts) { return joined.length > 0 ? prefix + joined : ''; }; -},{"./formats":281,"./utils":285}],285:[function(require,module,exports){ +},{"./formats":282,"./utils":286}],286:[function(require,module,exports){ 'use strict'; var has = Object.prototype.hasOwnProperty; @@ -59285,7 +59353,7 @@ exports.isBuffer = function isBuffer(obj) { return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); }; -},{}],286:[function(require,module,exports){ +},{}],287:[function(require,module,exports){ /*! * range-parser * Copyright(c) 2012-2014 TJ Holowaychuk @@ -59445,7 +59513,7 @@ function sortByRangeStart (a, b) { return a.start - b.start } -},{}],287:[function(require,module,exports){ +},{}],288:[function(require,module,exports){ /*! * raw-body * Copyright(c) 2013-2014 Jonathan Ong @@ -59733,7 +59801,7 @@ function readStream (stream, encoding, length, limit, callback) { } } -},{"bytes":253,"http-errors":292,"iconv-lite":278,"unpipe":768}],288:[function(require,module,exports){ +},{"bytes":254,"http-errors":293,"iconv-lite":279,"unpipe":768}],289:[function(require,module,exports){ /*! * depd * Copyright(c) 2014-2017 Douglas Christopher Wilson @@ -60255,15 +60323,15 @@ function DeprecationError (namespace, message, stack) { return error } -},{"./lib/compat":291,"path":undefined}],289:[function(require,module,exports){ +},{"./lib/compat":292,"path":undefined}],290:[function(require,module,exports){ arguments[4][207][0].apply(exports,arguments) -},{"dup":207}],290:[function(require,module,exports){ +},{"dup":207}],291:[function(require,module,exports){ arguments[4][208][0].apply(exports,arguments) -},{"dup":208}],291:[function(require,module,exports){ +},{"dup":208}],292:[function(require,module,exports){ arguments[4][209][0].apply(exports,arguments) -},{"./callsite-tostring":289,"./event-listener-count":290,"dup":209,"events":undefined}],292:[function(require,module,exports){ +},{"./callsite-tostring":290,"./event-listener-count":291,"dup":209,"events":undefined}],293:[function(require,module,exports){ arguments[4][100][0].apply(exports,arguments) -},{"depd":288,"dup":100,"inherits":341,"setprototypeof":293,"statuses":295}],293:[function(require,module,exports){ +},{"depd":289,"dup":100,"inherits":342,"setprototypeof":294,"statuses":296}],294:[function(require,module,exports){ module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); function setProtoOf(obj, proto) { @@ -60280,7 +60348,7 @@ function mixinProperties(obj, proto) { return obj; } -},{}],294:[function(require,module,exports){ +},{}],295:[function(require,module,exports){ module.exports={ "100": "Continue", "101": "Switching Protocols", @@ -60346,7 +60414,7 @@ module.exports={ "510": "Not Extended", "511": "Network Authentication Required" } -},{}],295:[function(require,module,exports){ +},{}],296:[function(require,module,exports){ /*! * statuses * Copyright(c) 2014 Jonathan Ong @@ -60458,9 +60526,9 @@ function status (code) { return n } -},{"./codes.json":294}],296:[function(require,module,exports){ +},{"./codes.json":295}],297:[function(require,module,exports){ arguments[4][15][0].apply(exports,arguments) -},{"buffer":undefined,"dup":15}],297:[function(require,module,exports){ +},{"buffer":undefined,"dup":15}],298:[function(require,module,exports){ /*! * serve-static * Copyright(c) 2010 Sencha Inc. @@ -60672,9 +60740,9 @@ function createRedirectDirectoryListener () { } } -},{"encodeurl":227,"escape-html":232,"parseurl":280,"path":undefined,"send":658,"url":undefined}],298:[function(require,module,exports){ -arguments[4][293][0].apply(exports,arguments) -},{"dup":293}],299:[function(require,module,exports){ +},{"encodeurl":227,"escape-html":233,"parseurl":281,"path":undefined,"send":659,"url":undefined}],299:[function(require,module,exports){ +arguments[4][294][0].apply(exports,arguments) +},{"dup":294}],300:[function(require,module,exports){ module.exports={ "100": "Continue", "101": "Switching Protocols", @@ -60741,7 +60809,7 @@ module.exports={ "511": "Network Authentication Required" } -},{}],300:[function(require,module,exports){ +},{}],301:[function(require,module,exports){ /*! * statuses * Copyright(c) 2014 Jonathan Ong @@ -60856,7 +60924,7 @@ function status (code) { return n } -},{"./codes.json":299}],301:[function(require,module,exports){ +},{"./codes.json":300}],302:[function(require,module,exports){ /** * Merge object b with object a. * @@ -60881,7 +60949,7 @@ exports = module.exports = function(a, b){ return a; }; -},{}],302:[function(require,module,exports){ +},{}],303:[function(require,module,exports){ 'use strict'; var hasOwn = Object.prototype.hasOwnProperty; @@ -60969,7 +61037,7 @@ module.exports = function extend() { }; -},{}],303:[function(require,module,exports){ +},{}],304:[function(require,module,exports){ 'use strict' if (process.env.FFMPEG_BIN) { @@ -60999,7 +61067,7 @@ if (process.env.FFMPEG_BIN) { module.exports = ffmpegPath } -},{"os":undefined,"path":undefined}],304:[function(require,module,exports){ +},{"os":undefined,"path":undefined}],305:[function(require,module,exports){ var Node = function(list, val) { this.prev = this.next = this; this.value = val; @@ -61068,7 +61136,7 @@ FIFO.prototype.pop = function() { }; module.exports = FIFO; -},{}],305:[function(require,module,exports){ +},{}],306:[function(require,module,exports){ /*! * finalhandler * Copyright(c) 2014-2017 Douglas Christopher Wilson @@ -61369,7 +61437,7 @@ function setHeaders (res, headers) { } } -},{"debug":"debug","encodeurl":306,"escape-html":232,"on-finished":590,"parseurl":604,"statuses":676,"unpipe":768}],306:[function(require,module,exports){ +},{"debug":"debug","encodeurl":307,"escape-html":233,"on-finished":591,"parseurl":605,"statuses":677,"unpipe":768}],307:[function(require,module,exports){ /*! * encodeurl * Copyright(c) 2016 Douglas Christopher Wilson @@ -61431,7 +61499,7 @@ function encodeUrl (url) { .replace(ENCODE_CHARS_REGEXP, encodeURI) } -},{}],307:[function(require,module,exports){ +},{}],308:[function(require,module,exports){ var nativeHttps = require('https'), nativeHttp = require('http'), url = require('url'), @@ -61542,7 +61610,7 @@ for (var protocol in protocols) { }(h); } -},{"http":undefined,"https":undefined,"underscore":766,"url":undefined}],308:[function(require,module,exports){ +},{"http":undefined,"https":undefined,"underscore":766,"url":undefined}],309:[function(require,module,exports){ /*jshint -W054 */ ;(function (exports) { 'use strict'; @@ -61579,7 +61647,7 @@ for (var protocol in protocols) { exports.forEachAsync = forEachAsync; }('undefined' !== typeof exports && exports || new Function('return this')())); -},{}],309:[function(require,module,exports){ +},{}],310:[function(require,module,exports){ /*! * forwarded * Copyright(c) 2014-2017 Douglas Christopher Wilson @@ -61657,7 +61725,7 @@ function parse (header) { return list } -},{}],310:[function(require,module,exports){ +},{}],311:[function(require,module,exports){ /*! * fresh * Copyright(c) 2012 TJ Holowaychuk @@ -61796,7 +61864,7 @@ function parseTokenList (str) { return list } -},{}],311:[function(require,module,exports){ +},{}],312:[function(require,module,exports){ module.exports = realpath realpath.realpath = realpath realpath.sync = realpathSync @@ -61864,7 +61932,7 @@ function unmonkeypatch () { fs.realpathSync = origRealpathSync } -},{"./old.js":312,"fs":undefined}],312:[function(require,module,exports){ +},{"./old.js":313,"fs":undefined}],313:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -62169,7 +62237,7 @@ exports.realpath = function realpath(p, cache, cb) { } }; -},{"fs":undefined,"path":undefined}],313:[function(require,module,exports){ +},{"fs":undefined,"path":undefined}],314:[function(require,module,exports){ // originally pulled out of simple-peer module.exports = function getBrowserRTC () { @@ -62186,7 +62254,7 @@ module.exports = function getBrowserRTC () { return wrtc } -},{}],314:[function(require,module,exports){ +},{}],315:[function(require,module,exports){ var hat = module.exports = function (bits, base) { if (!base) base = 16; if (bits === undefined) bits = 128; @@ -62250,11 +62318,11 @@ hat.rack = function (bits, base, expandBy) { return fn; }; -},{}],315:[function(require,module,exports){ +},{}],316:[function(require,module,exports){ arguments[4][100][0].apply(exports,arguments) -},{"depd":206,"dup":100,"inherits":341,"setprototypeof":316,"statuses":318}],316:[function(require,module,exports){ -arguments[4][293][0].apply(exports,arguments) -},{"dup":293}],317:[function(require,module,exports){ +},{"depd":206,"dup":100,"inherits":342,"setprototypeof":317,"statuses":319}],317:[function(require,module,exports){ +arguments[4][294][0].apply(exports,arguments) +},{"dup":294}],318:[function(require,module,exports){ module.exports={ "100": "Continue", "101": "Switching Protocols", @@ -62322,9 +62390,9 @@ module.exports={ "511": "Network Authentication Required" } -},{}],318:[function(require,module,exports){ -arguments[4][300][0].apply(exports,arguments) -},{"./codes.json":317,"dup":300}],319:[function(require,module,exports){ +},{}],319:[function(require,module,exports){ +arguments[4][301][0].apply(exports,arguments) +},{"./codes.json":318,"dup":301}],320:[function(require,module,exports){ "use strict" // Multibyte codec. In this scheme, a character is represented by 1 or more bytes. @@ -62880,7 +62948,7 @@ function findIdx(table, val) { } -},{}],320:[function(require,module,exports){ +},{}],321:[function(require,module,exports){ "use strict" // Description of supported double byte encodings and aliases. @@ -63058,7 +63126,7 @@ module.exports = { 'xxbig5': 'big5hkscs', }; -},{"./tables/big5-added.json":326,"./tables/cp936.json":327,"./tables/cp949.json":328,"./tables/cp950.json":329,"./tables/eucjp.json":330,"./tables/gb18030-ranges.json":331,"./tables/gbk-added.json":332,"./tables/shiftjis.json":333}],321:[function(require,module,exports){ +},{"./tables/big5-added.json":327,"./tables/cp936.json":328,"./tables/cp949.json":329,"./tables/cp950.json":330,"./tables/eucjp.json":331,"./tables/gb18030-ranges.json":332,"./tables/gbk-added.json":333,"./tables/shiftjis.json":334}],322:[function(require,module,exports){ "use strict" // Update this array if you add/rename/remove files in this directory. @@ -63082,7 +63150,7 @@ for (var i = 0; i < modules.length; i++) { exports[enc] = module[enc]; } -},{"./dbcs-codec":319,"./dbcs-data":320,"./internal":322,"./sbcs-codec":323,"./sbcs-data":325,"./sbcs-data-generated":324,"./utf16":334,"./utf7":335}],322:[function(require,module,exports){ +},{"./dbcs-codec":320,"./dbcs-data":321,"./internal":323,"./sbcs-codec":324,"./sbcs-data":326,"./sbcs-data-generated":325,"./utf16":335,"./utf7":336}],323:[function(require,module,exports){ "use strict" // Export Node.js internal encodings. @@ -63271,7 +63339,7 @@ InternalDecoderCesu8.prototype.end = function() { return res; } -},{"string_decoder":undefined}],323:[function(require,module,exports){ +},{"string_decoder":undefined}],324:[function(require,module,exports){ "use strict" // Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that @@ -63345,7 +63413,7 @@ SBCSDecoder.prototype.write = function(buf) { SBCSDecoder.prototype.end = function() { } -},{}],324:[function(require,module,exports){ +},{}],325:[function(require,module,exports){ "use strict" // Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. @@ -63797,7 +63865,7 @@ module.exports = { "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" } } -},{}],325:[function(require,module,exports){ +},{}],326:[function(require,module,exports){ "use strict" // Manually added data to be used by sbcs codec in addition to generated one. @@ -63968,9 +64036,7 @@ module.exports = { }; -},{}],326:[function(require,module,exports){ -arguments[4][266][0].apply(exports,arguments) -},{"dup":266}],327:[function(require,module,exports){ +},{}],327:[function(require,module,exports){ arguments[4][267][0].apply(exports,arguments) },{"dup":267}],328:[function(require,module,exports){ arguments[4][268][0].apply(exports,arguments) @@ -63985,6 +64051,8 @@ arguments[4][272][0].apply(exports,arguments) },{"dup":272}],333:[function(require,module,exports){ arguments[4][273][0].apply(exports,arguments) },{"dup":273}],334:[function(require,module,exports){ +arguments[4][274][0].apply(exports,arguments) +},{"dup":274}],335:[function(require,module,exports){ "use strict" // Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js @@ -64162,7 +64230,7 @@ function detectEncoding(buf, defaultEncoding) { -},{}],335:[function(require,module,exports){ +},{}],336:[function(require,module,exports){ "use strict" // UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 @@ -64453,7 +64521,7 @@ Utf7IMAPDecoder.prototype.end = function() { -},{}],336:[function(require,module,exports){ +},{}],337:[function(require,module,exports){ "use strict" var BOMChar = '\uFEFF'; @@ -64507,7 +64575,7 @@ StripBOMWrapper.prototype.end = function() { } -},{}],337:[function(require,module,exports){ +},{}],338:[function(require,module,exports){ "use strict" // == Extend Node primitives to use iconv-lite ================================= @@ -64723,7 +64791,7 @@ module.exports = function (iconv) { } } -},{"buffer":undefined,"stream":undefined}],338:[function(require,module,exports){ +},{"buffer":undefined,"stream":undefined}],339:[function(require,module,exports){ "use strict" var bomHandling = require('./bom-handling'), @@ -64866,7 +64934,7 @@ if (nodeVer) { } -},{"../encodings":321,"./bom-handling":336,"./extend-node":337,"./streams":339}],339:[function(require,module,exports){ +},{"../encodings":322,"./bom-handling":337,"./extend-node":338,"./streams":340}],340:[function(require,module,exports){ "use strict" var Transform = require("stream").Transform; @@ -64988,7 +65056,7 @@ IconvLiteDecoderStream.prototype.collect = function(cb) { } -},{"stream":undefined}],340:[function(require,module,exports){ +},{"stream":undefined}],341:[function(require,module,exports){ var wrappy = require('wrappy') var reqs = Object.create(null) var once = require('once') @@ -65044,7 +65112,7 @@ function slice (args) { return array } -},{"once":591,"wrappy":783}],341:[function(require,module,exports){ +},{"once":592,"wrappy":784}],342:[function(require,module,exports){ try { var util = require('util'); if (typeof util.inherits !== 'function') throw ''; @@ -65053,9 +65121,9 @@ try { module.exports = require('./inherits_browser.js'); } -},{"./inherits_browser.js":342,"util":undefined}],342:[function(require,module,exports){ +},{"./inherits_browser.js":343,"util":undefined}],343:[function(require,module,exports){ arguments[4][10][0].apply(exports,arguments) -},{"dup":10}],343:[function(require,module,exports){ +},{"dup":10}],344:[function(require,module,exports){ var ip = require('ip') @@ -65207,7 +65275,7 @@ module.exports = function (blocklist) { } -},{"ip":344}],344:[function(require,module,exports){ +},{"ip":345}],345:[function(require,module,exports){ 'use strict'; var ip = exports; @@ -65625,7 +65693,7 @@ ip.fromLong = function(ipl) { (ipl & 255) ); }; -},{"buffer":undefined,"os":undefined}],345:[function(require,module,exports){ +},{"buffer":undefined,"os":undefined}],346:[function(require,module,exports){ (function() { var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root; @@ -66162,7 +66230,7 @@ ip.fromLong = function(ipl) { }).call(this); -},{}],346:[function(require,module,exports){ +},{}],347:[function(require,module,exports){ /* $lab:coverage:off$ */ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991 /* $lab:coverage:on$ */ @@ -66186,7 +66254,7 @@ function isSafePositiveInteger (x) { x <= MAX_SAFE_INTEGER } -},{}],347:[function(require,module,exports){ +},{}],348:[function(require,module,exports){ module.exports = isTypedArray isTypedArray.strict = isStrictTypedArray isTypedArray.loose = isLooseTypedArray @@ -66229,14 +66297,14 @@ function isLooseTypedArray(arr) { return names[toString.call(arr)] } -},{}],348:[function(require,module,exports){ +},{}],349:[function(require,module,exports){ var toString = {}.toString; module.exports = Array.isArray || function (arr) { return toString.call(arr) == '[object Array]'; }; -},{}],349:[function(require,module,exports){ +},{}],350:[function(require,module,exports){ var fs = require('fs') var core if (process.platform === 'win32' || global.TESTING_WINDOWS) { @@ -66295,7 +66363,7 @@ function sync (path, options) { } } -},{"./mode.js":350,"./windows.js":351,"fs":undefined}],350:[function(require,module,exports){ +},{"./mode.js":351,"./windows.js":352,"fs":undefined}],351:[function(require,module,exports){ module.exports = isexe isexe.sync = sync @@ -66338,7 +66406,7 @@ function checkMode (stat, options) { return ret } -},{"fs":undefined}],351:[function(require,module,exports){ +},{"fs":undefined}],352:[function(require,module,exports){ module.exports = isexe isexe.sync = sync @@ -66382,7 +66450,7 @@ function sync (path, options) { return checkStat(fs.statSync(path), path, options) } -},{"fs":undefined}],352:[function(require,module,exports){ +},{"fs":undefined}],353:[function(require,module,exports){ /* index.js - Kademlia DHT K-bucket implementation as a binary tree. @@ -66713,7 +66781,7 @@ KBucket.prototype._update = function (node, index, contact) { this.emit('updated', incumbent, selection) } -},{"buffer-equals":115,"events":undefined,"inherits":341,"randombytes":633}],353:[function(require,module,exports){ +},{"buffer-equals":115,"events":undefined,"inherits":342,"randombytes":634}],354:[function(require,module,exports){ var dgram = require('dgram') var bencode = require('bencode') var isIP = require('net').isIP @@ -66935,7 +67003,7 @@ RPC.prototype._resolveAndQuery = function (peer, query, cb) { function noop () {} -},{"bencode":14,"dgram":undefined,"dns":undefined,"events":undefined,"net":undefined,"util":undefined}],354:[function(require,module,exports){ +},{"bencode":14,"dgram":undefined,"dns":undefined,"events":undefined,"net":undefined,"util":undefined}],355:[function(require,module,exports){ var socket = require('k-rpc-socket') var KBucket = require('k-bucket') var equals = require('buffer-equals') @@ -67293,7 +67361,7 @@ function toBuffer (str) { throw new Error('Pass a buffer or a string') } -},{"buffer-equals":115,"events":undefined,"k-bucket":355,"k-rpc-socket":353,"randombytes":357,"safe-buffer":358,"util":undefined}],355:[function(require,module,exports){ +},{"buffer-equals":115,"events":undefined,"k-bucket":356,"k-rpc-socket":354,"randombytes":358,"safe-buffer":359,"util":undefined}],356:[function(require,module,exports){ /* index.js - Kademlia DHT K-bucket implementation as a binary tree. @@ -67647,13 +67715,13 @@ KBucket.prototype._update = function (node, index, contact) { this.emit('updated', incumbent, selection) } -},{"events":undefined,"inherits":341,"randombytes":356}],356:[function(require,module,exports){ -arguments[4][28][0].apply(exports,arguments) -},{"crypto":undefined,"dup":28}],357:[function(require,module,exports){ +},{"events":undefined,"inherits":342,"randombytes":357}],357:[function(require,module,exports){ arguments[4][28][0].apply(exports,arguments) },{"crypto":undefined,"dup":28}],358:[function(require,module,exports){ +arguments[4][28][0].apply(exports,arguments) +},{"crypto":undefined,"dup":28}],359:[function(require,module,exports){ arguments[4][15][0].apply(exports,arguments) -},{"buffer":undefined,"dup":15}],359:[function(require,module,exports){ +},{"buffer":undefined,"dup":15}],360:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -67662,7 +67730,7 @@ var DataView = getNative(root, 'DataView'); module.exports = DataView; -},{"./_getNative":423,"./_root":460}],360:[function(require,module,exports){ +},{"./_getNative":424,"./_root":461}],361:[function(require,module,exports){ var hashClear = require('./_hashClear'), hashDelete = require('./_hashDelete'), hashGet = require('./_hashGet'), @@ -67696,7 +67764,7 @@ Hash.prototype.set = hashSet; module.exports = Hash; -},{"./_hashClear":429,"./_hashDelete":430,"./_hashGet":431,"./_hashHas":432,"./_hashSet":433}],361:[function(require,module,exports){ +},{"./_hashClear":430,"./_hashDelete":431,"./_hashGet":432,"./_hashHas":433,"./_hashSet":434}],362:[function(require,module,exports){ var listCacheClear = require('./_listCacheClear'), listCacheDelete = require('./_listCacheDelete'), listCacheGet = require('./_listCacheGet'), @@ -67730,7 +67798,7 @@ ListCache.prototype.set = listCacheSet; module.exports = ListCache; -},{"./_listCacheClear":441,"./_listCacheDelete":442,"./_listCacheGet":443,"./_listCacheHas":444,"./_listCacheSet":445}],362:[function(require,module,exports){ +},{"./_listCacheClear":442,"./_listCacheDelete":443,"./_listCacheGet":444,"./_listCacheHas":445,"./_listCacheSet":446}],363:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -67739,7 +67807,7 @@ var Map = getNative(root, 'Map'); module.exports = Map; -},{"./_getNative":423,"./_root":460}],363:[function(require,module,exports){ +},{"./_getNative":424,"./_root":461}],364:[function(require,module,exports){ var mapCacheClear = require('./_mapCacheClear'), mapCacheDelete = require('./_mapCacheDelete'), mapCacheGet = require('./_mapCacheGet'), @@ -67773,7 +67841,7 @@ MapCache.prototype.set = mapCacheSet; module.exports = MapCache; -},{"./_mapCacheClear":446,"./_mapCacheDelete":447,"./_mapCacheGet":448,"./_mapCacheHas":449,"./_mapCacheSet":450}],364:[function(require,module,exports){ +},{"./_mapCacheClear":447,"./_mapCacheDelete":448,"./_mapCacheGet":449,"./_mapCacheHas":450,"./_mapCacheSet":451}],365:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -67782,7 +67850,7 @@ var Promise = getNative(root, 'Promise'); module.exports = Promise; -},{"./_getNative":423,"./_root":460}],365:[function(require,module,exports){ +},{"./_getNative":424,"./_root":461}],366:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -67791,7 +67859,7 @@ var Set = getNative(root, 'Set'); module.exports = Set; -},{"./_getNative":423,"./_root":460}],366:[function(require,module,exports){ +},{"./_getNative":424,"./_root":461}],367:[function(require,module,exports){ var MapCache = require('./_MapCache'), setCacheAdd = require('./_setCacheAdd'), setCacheHas = require('./_setCacheHas'); @@ -67820,7 +67888,7 @@ SetCache.prototype.has = setCacheHas; module.exports = SetCache; -},{"./_MapCache":363,"./_setCacheAdd":461,"./_setCacheHas":462}],367:[function(require,module,exports){ +},{"./_MapCache":364,"./_setCacheAdd":462,"./_setCacheHas":463}],368:[function(require,module,exports){ var ListCache = require('./_ListCache'), stackClear = require('./_stackClear'), stackDelete = require('./_stackDelete'), @@ -67849,7 +67917,7 @@ Stack.prototype.set = stackSet; module.exports = Stack; -},{"./_ListCache":361,"./_stackClear":466,"./_stackDelete":467,"./_stackGet":468,"./_stackHas":469,"./_stackSet":470}],368:[function(require,module,exports){ +},{"./_ListCache":362,"./_stackClear":467,"./_stackDelete":468,"./_stackGet":469,"./_stackHas":470,"./_stackSet":471}],369:[function(require,module,exports){ var root = require('./_root'); /** Built-in value references. */ @@ -67857,7 +67925,7 @@ var Symbol = root.Symbol; module.exports = Symbol; -},{"./_root":460}],369:[function(require,module,exports){ +},{"./_root":461}],370:[function(require,module,exports){ var root = require('./_root'); /** Built-in value references. */ @@ -67865,7 +67933,7 @@ var Uint8Array = root.Uint8Array; module.exports = Uint8Array; -},{"./_root":460}],370:[function(require,module,exports){ +},{"./_root":461}],371:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -67874,7 +67942,7 @@ var WeakMap = getNative(root, 'WeakMap'); module.exports = WeakMap; -},{"./_getNative":423,"./_root":460}],371:[function(require,module,exports){ +},{"./_getNative":424,"./_root":461}],372:[function(require,module,exports){ /** * A faster alternative to `Function#apply`, this function invokes `func` * with the `this` binding of `thisArg` and the arguments of `args`. @@ -67897,7 +67965,7 @@ function apply(func, thisArg, args) { module.exports = apply; -},{}],372:[function(require,module,exports){ +},{}],373:[function(require,module,exports){ /** * A specialized version of `_.every` for arrays without support for * iteratee shorthands. @@ -67922,7 +67990,7 @@ function arrayEvery(array, predicate) { module.exports = arrayEvery; -},{}],373:[function(require,module,exports){ +},{}],374:[function(require,module,exports){ /** * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. @@ -67949,7 +68017,7 @@ function arrayFilter(array, predicate) { module.exports = arrayFilter; -},{}],374:[function(require,module,exports){ +},{}],375:[function(require,module,exports){ var baseTimes = require('./_baseTimes'), isArguments = require('./isArguments'), isArray = require('./isArray'), @@ -68000,7 +68068,7 @@ function arrayLikeKeys(value, inherited) { module.exports = arrayLikeKeys; -},{"./_baseTimes":405,"./_isIndex":434,"./isArguments":482,"./isArray":483,"./isBuffer":485,"./isTypedArray":492}],375:[function(require,module,exports){ +},{"./_baseTimes":406,"./_isIndex":435,"./isArguments":483,"./isArray":484,"./isBuffer":486,"./isTypedArray":493}],376:[function(require,module,exports){ /** * A specialized version of `_.map` for arrays without support for iteratee * shorthands. @@ -68023,7 +68091,7 @@ function arrayMap(array, iteratee) { module.exports = arrayMap; -},{}],376:[function(require,module,exports){ +},{}],377:[function(require,module,exports){ /** * Appends the elements of `values` to `array`. * @@ -68045,7 +68113,7 @@ function arrayPush(array, values) { module.exports = arrayPush; -},{}],377:[function(require,module,exports){ +},{}],378:[function(require,module,exports){ /** * A specialized version of `_.some` for arrays without support for iteratee * shorthands. @@ -68070,7 +68138,7 @@ function arraySome(array, predicate) { module.exports = arraySome; -},{}],378:[function(require,module,exports){ +},{}],379:[function(require,module,exports){ var baseAssignValue = require('./_baseAssignValue'), eq = require('./eq'); @@ -68100,7 +68168,7 @@ function assignValue(object, key, value) { module.exports = assignValue; -},{"./_baseAssignValue":381,"./eq":477}],379:[function(require,module,exports){ +},{"./_baseAssignValue":382,"./eq":478}],380:[function(require,module,exports){ var eq = require('./eq'); /** @@ -68123,7 +68191,7 @@ function assocIndexOf(array, key) { module.exports = assocIndexOf; -},{"./eq":477}],380:[function(require,module,exports){ +},{"./eq":478}],381:[function(require,module,exports){ var copyObject = require('./_copyObject'), keys = require('./keys'); @@ -68142,7 +68210,7 @@ function baseAssign(object, source) { module.exports = baseAssign; -},{"./_copyObject":410,"./keys":493}],381:[function(require,module,exports){ +},{"./_copyObject":411,"./keys":494}],382:[function(require,module,exports){ var defineProperty = require('./_defineProperty'); /** @@ -68169,7 +68237,7 @@ function baseAssignValue(object, key, value) { module.exports = baseAssignValue; -},{"./_defineProperty":415}],382:[function(require,module,exports){ +},{"./_defineProperty":416}],383:[function(require,module,exports){ var isObject = require('./isObject'); /** Built-in value references. */ @@ -68201,7 +68269,7 @@ var baseCreate = (function() { module.exports = baseCreate; -},{"./isObject":489}],383:[function(require,module,exports){ +},{"./isObject":490}],384:[function(require,module,exports){ var baseForOwn = require('./_baseForOwn'), createBaseEach = require('./_createBaseEach'); @@ -68217,7 +68285,7 @@ var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; -},{"./_baseForOwn":386,"./_createBaseEach":413}],384:[function(require,module,exports){ +},{"./_baseForOwn":387,"./_createBaseEach":414}],385:[function(require,module,exports){ var baseEach = require('./_baseEach'); /** @@ -68240,7 +68308,7 @@ function baseEvery(collection, predicate) { module.exports = baseEvery; -},{"./_baseEach":383}],385:[function(require,module,exports){ +},{"./_baseEach":384}],386:[function(require,module,exports){ var createBaseFor = require('./_createBaseFor'); /** @@ -68258,7 +68326,7 @@ var baseFor = createBaseFor(); module.exports = baseFor; -},{"./_createBaseFor":414}],386:[function(require,module,exports){ +},{"./_createBaseFor":415}],387:[function(require,module,exports){ var baseFor = require('./_baseFor'), keys = require('./keys'); @@ -68276,7 +68344,7 @@ function baseForOwn(object, iteratee) { module.exports = baseForOwn; -},{"./_baseFor":385,"./keys":493}],387:[function(require,module,exports){ +},{"./_baseFor":386,"./keys":494}],388:[function(require,module,exports){ var castPath = require('./_castPath'), toKey = require('./_toKey'); @@ -68302,7 +68370,7 @@ function baseGet(object, path) { module.exports = baseGet; -},{"./_castPath":409,"./_toKey":472}],388:[function(require,module,exports){ +},{"./_castPath":410,"./_toKey":473}],389:[function(require,module,exports){ var arrayPush = require('./_arrayPush'), isArray = require('./isArray'); @@ -68324,7 +68392,7 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) { module.exports = baseGetAllKeys; -},{"./_arrayPush":376,"./isArray":483}],389:[function(require,module,exports){ +},{"./_arrayPush":377,"./isArray":484}],390:[function(require,module,exports){ var Symbol = require('./_Symbol'), getRawTag = require('./_getRawTag'), objectToString = require('./_objectToString'); @@ -68354,7 +68422,7 @@ function baseGetTag(value) { module.exports = baseGetTag; -},{"./_Symbol":368,"./_getRawTag":424,"./_objectToString":457}],390:[function(require,module,exports){ +},{"./_Symbol":369,"./_getRawTag":425,"./_objectToString":458}],391:[function(require,module,exports){ /** * The base implementation of `_.hasIn` without support for deep paths. * @@ -68369,7 +68437,7 @@ function baseHasIn(object, key) { module.exports = baseHasIn; -},{}],391:[function(require,module,exports){ +},{}],392:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObjectLike = require('./isObjectLike'); @@ -68389,7 +68457,7 @@ function baseIsArguments(value) { module.exports = baseIsArguments; -},{"./_baseGetTag":389,"./isObjectLike":490}],392:[function(require,module,exports){ +},{"./_baseGetTag":390,"./isObjectLike":491}],393:[function(require,module,exports){ var baseIsEqualDeep = require('./_baseIsEqualDeep'), isObjectLike = require('./isObjectLike'); @@ -68419,7 +68487,7 @@ function baseIsEqual(value, other, bitmask, customizer, stack) { module.exports = baseIsEqual; -},{"./_baseIsEqualDeep":393,"./isObjectLike":490}],393:[function(require,module,exports){ +},{"./_baseIsEqualDeep":394,"./isObjectLike":491}],394:[function(require,module,exports){ var Stack = require('./_Stack'), equalArrays = require('./_equalArrays'), equalByTag = require('./_equalByTag'), @@ -68504,7 +68572,7 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { module.exports = baseIsEqualDeep; -},{"./_Stack":367,"./_equalArrays":416,"./_equalByTag":417,"./_equalObjects":418,"./_getTag":426,"./isArray":483,"./isBuffer":485,"./isTypedArray":492}],394:[function(require,module,exports){ +},{"./_Stack":368,"./_equalArrays":417,"./_equalByTag":418,"./_equalObjects":419,"./_getTag":427,"./isArray":484,"./isBuffer":486,"./isTypedArray":493}],395:[function(require,module,exports){ var Stack = require('./_Stack'), baseIsEqual = require('./_baseIsEqual'); @@ -68568,7 +68636,7 @@ function baseIsMatch(object, source, matchData, customizer) { module.exports = baseIsMatch; -},{"./_Stack":367,"./_baseIsEqual":392}],395:[function(require,module,exports){ +},{"./_Stack":368,"./_baseIsEqual":393}],396:[function(require,module,exports){ var isFunction = require('./isFunction'), isMasked = require('./_isMasked'), isObject = require('./isObject'), @@ -68617,7 +68685,7 @@ function baseIsNative(value) { module.exports = baseIsNative; -},{"./_isMasked":438,"./_toSource":473,"./isFunction":487,"./isObject":489}],396:[function(require,module,exports){ +},{"./_isMasked":439,"./_toSource":474,"./isFunction":488,"./isObject":490}],397:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isLength = require('./isLength'), isObjectLike = require('./isObjectLike'); @@ -68679,7 +68747,7 @@ function baseIsTypedArray(value) { module.exports = baseIsTypedArray; -},{"./_baseGetTag":389,"./isLength":488,"./isObjectLike":490}],397:[function(require,module,exports){ +},{"./_baseGetTag":390,"./isLength":489,"./isObjectLike":491}],398:[function(require,module,exports){ var baseMatches = require('./_baseMatches'), baseMatchesProperty = require('./_baseMatchesProperty'), identity = require('./identity'), @@ -68712,7 +68780,7 @@ function baseIteratee(value) { module.exports = baseIteratee; -},{"./_baseMatches":399,"./_baseMatchesProperty":400,"./identity":481,"./isArray":483,"./property":495}],398:[function(require,module,exports){ +},{"./_baseMatches":400,"./_baseMatchesProperty":401,"./identity":482,"./isArray":484,"./property":496}],399:[function(require,module,exports){ var isPrototype = require('./_isPrototype'), nativeKeys = require('./_nativeKeys'); @@ -68744,7 +68812,7 @@ function baseKeys(object) { module.exports = baseKeys; -},{"./_isPrototype":439,"./_nativeKeys":455}],399:[function(require,module,exports){ +},{"./_isPrototype":440,"./_nativeKeys":456}],400:[function(require,module,exports){ var baseIsMatch = require('./_baseIsMatch'), getMatchData = require('./_getMatchData'), matchesStrictComparable = require('./_matchesStrictComparable'); @@ -68768,7 +68836,7 @@ function baseMatches(source) { module.exports = baseMatches; -},{"./_baseIsMatch":394,"./_getMatchData":422,"./_matchesStrictComparable":452}],400:[function(require,module,exports){ +},{"./_baseIsMatch":395,"./_getMatchData":423,"./_matchesStrictComparable":453}],401:[function(require,module,exports){ var baseIsEqual = require('./_baseIsEqual'), get = require('./get'), hasIn = require('./hasIn'), @@ -68803,7 +68871,7 @@ function baseMatchesProperty(path, srcValue) { module.exports = baseMatchesProperty; -},{"./_baseIsEqual":392,"./_isKey":436,"./_isStrictComparable":440,"./_matchesStrictComparable":452,"./_toKey":472,"./get":479,"./hasIn":480}],401:[function(require,module,exports){ +},{"./_baseIsEqual":393,"./_isKey":437,"./_isStrictComparable":441,"./_matchesStrictComparable":453,"./_toKey":473,"./get":480,"./hasIn":481}],402:[function(require,module,exports){ /** * The base implementation of `_.property` without support for deep paths. * @@ -68819,7 +68887,7 @@ function baseProperty(key) { module.exports = baseProperty; -},{}],402:[function(require,module,exports){ +},{}],403:[function(require,module,exports){ var baseGet = require('./_baseGet'); /** @@ -68837,7 +68905,7 @@ function basePropertyDeep(path) { module.exports = basePropertyDeep; -},{"./_baseGet":387}],403:[function(require,module,exports){ +},{"./_baseGet":388}],404:[function(require,module,exports){ var identity = require('./identity'), overRest = require('./_overRest'), setToString = require('./_setToString'); @@ -68856,7 +68924,7 @@ function baseRest(func, start) { module.exports = baseRest; -},{"./_overRest":459,"./_setToString":464,"./identity":481}],404:[function(require,module,exports){ +},{"./_overRest":460,"./_setToString":465,"./identity":482}],405:[function(require,module,exports){ var constant = require('./constant'), defineProperty = require('./_defineProperty'), identity = require('./identity'); @@ -68880,7 +68948,7 @@ var baseSetToString = !defineProperty ? identity : function(func, string) { module.exports = baseSetToString; -},{"./_defineProperty":415,"./constant":475,"./identity":481}],405:[function(require,module,exports){ +},{"./_defineProperty":416,"./constant":476,"./identity":482}],406:[function(require,module,exports){ /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. @@ -68902,7 +68970,7 @@ function baseTimes(n, iteratee) { module.exports = baseTimes; -},{}],406:[function(require,module,exports){ +},{}],407:[function(require,module,exports){ var Symbol = require('./_Symbol'), arrayMap = require('./_arrayMap'), isArray = require('./isArray'), @@ -68941,7 +69009,7 @@ function baseToString(value) { module.exports = baseToString; -},{"./_Symbol":368,"./_arrayMap":375,"./isArray":483,"./isSymbol":491}],407:[function(require,module,exports){ +},{"./_Symbol":369,"./_arrayMap":376,"./isArray":484,"./isSymbol":492}],408:[function(require,module,exports){ /** * The base implementation of `_.unary` without support for storing metadata. * @@ -68957,7 +69025,7 @@ function baseUnary(func) { module.exports = baseUnary; -},{}],408:[function(require,module,exports){ +},{}],409:[function(require,module,exports){ /** * Checks if a `cache` value for `key` exists. * @@ -68972,7 +69040,7 @@ function cacheHas(cache, key) { module.exports = cacheHas; -},{}],409:[function(require,module,exports){ +},{}],410:[function(require,module,exports){ var isArray = require('./isArray'), isKey = require('./_isKey'), stringToPath = require('./_stringToPath'), @@ -68995,7 +69063,7 @@ function castPath(value, object) { module.exports = castPath; -},{"./_isKey":436,"./_stringToPath":471,"./isArray":483,"./toString":498}],410:[function(require,module,exports){ +},{"./_isKey":437,"./_stringToPath":472,"./isArray":484,"./toString":499}],411:[function(require,module,exports){ var assignValue = require('./_assignValue'), baseAssignValue = require('./_baseAssignValue'); @@ -69037,7 +69105,7 @@ function copyObject(source, props, object, customizer) { module.exports = copyObject; -},{"./_assignValue":378,"./_baseAssignValue":381}],411:[function(require,module,exports){ +},{"./_assignValue":379,"./_baseAssignValue":382}],412:[function(require,module,exports){ var root = require('./_root'); /** Used to detect overreaching core-js shims. */ @@ -69045,7 +69113,7 @@ var coreJsData = root['__core-js_shared__']; module.exports = coreJsData; -},{"./_root":460}],412:[function(require,module,exports){ +},{"./_root":461}],413:[function(require,module,exports){ var baseRest = require('./_baseRest'), isIterateeCall = require('./_isIterateeCall'); @@ -69084,7 +69152,7 @@ function createAssigner(assigner) { module.exports = createAssigner; -},{"./_baseRest":403,"./_isIterateeCall":435}],413:[function(require,module,exports){ +},{"./_baseRest":404,"./_isIterateeCall":436}],414:[function(require,module,exports){ var isArrayLike = require('./isArrayLike'); /** @@ -69118,7 +69186,7 @@ function createBaseEach(eachFunc, fromRight) { module.exports = createBaseEach; -},{"./isArrayLike":484}],414:[function(require,module,exports){ +},{"./isArrayLike":485}],415:[function(require,module,exports){ /** * Creates a base function for methods like `_.forIn` and `_.forOwn`. * @@ -69145,7 +69213,7 @@ function createBaseFor(fromRight) { module.exports = createBaseFor; -},{}],415:[function(require,module,exports){ +},{}],416:[function(require,module,exports){ var getNative = require('./_getNative'); var defineProperty = (function() { @@ -69158,7 +69226,7 @@ var defineProperty = (function() { module.exports = defineProperty; -},{"./_getNative":423}],416:[function(require,module,exports){ +},{"./_getNative":424}],417:[function(require,module,exports){ var SetCache = require('./_SetCache'), arraySome = require('./_arraySome'), cacheHas = require('./_cacheHas'); @@ -69243,7 +69311,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { module.exports = equalArrays; -},{"./_SetCache":366,"./_arraySome":377,"./_cacheHas":408}],417:[function(require,module,exports){ +},{"./_SetCache":367,"./_arraySome":378,"./_cacheHas":409}],418:[function(require,module,exports){ var Symbol = require('./_Symbol'), Uint8Array = require('./_Uint8Array'), eq = require('./eq'), @@ -69357,7 +69425,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { module.exports = equalByTag; -},{"./_Symbol":368,"./_Uint8Array":369,"./_equalArrays":416,"./_mapToArray":451,"./_setToArray":463,"./eq":477}],418:[function(require,module,exports){ +},{"./_Symbol":369,"./_Uint8Array":370,"./_equalArrays":417,"./_mapToArray":452,"./_setToArray":464,"./eq":478}],419:[function(require,module,exports){ var getAllKeys = require('./_getAllKeys'); /** Used to compose bitmasks for value comparisons. */ @@ -69448,13 +69516,13 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { module.exports = equalObjects; -},{"./_getAllKeys":420}],419:[function(require,module,exports){ +},{"./_getAllKeys":421}],420:[function(require,module,exports){ /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; module.exports = freeGlobal; -},{}],420:[function(require,module,exports){ +},{}],421:[function(require,module,exports){ var baseGetAllKeys = require('./_baseGetAllKeys'), getSymbols = require('./_getSymbols'), keys = require('./keys'); @@ -69472,7 +69540,7 @@ function getAllKeys(object) { module.exports = getAllKeys; -},{"./_baseGetAllKeys":388,"./_getSymbols":425,"./keys":493}],421:[function(require,module,exports){ +},{"./_baseGetAllKeys":389,"./_getSymbols":426,"./keys":494}],422:[function(require,module,exports){ var isKeyable = require('./_isKeyable'); /** @@ -69492,7 +69560,7 @@ function getMapData(map, key) { module.exports = getMapData; -},{"./_isKeyable":437}],422:[function(require,module,exports){ +},{"./_isKeyable":438}],423:[function(require,module,exports){ var isStrictComparable = require('./_isStrictComparable'), keys = require('./keys'); @@ -69518,7 +69586,7 @@ function getMatchData(object) { module.exports = getMatchData; -},{"./_isStrictComparable":440,"./keys":493}],423:[function(require,module,exports){ +},{"./_isStrictComparable":441,"./keys":494}],424:[function(require,module,exports){ var baseIsNative = require('./_baseIsNative'), getValue = require('./_getValue'); @@ -69537,7 +69605,7 @@ function getNative(object, key) { module.exports = getNative; -},{"./_baseIsNative":395,"./_getValue":427}],424:[function(require,module,exports){ +},{"./_baseIsNative":396,"./_getValue":428}],425:[function(require,module,exports){ var Symbol = require('./_Symbol'); /** Used for built-in method references. */ @@ -69585,7 +69653,7 @@ function getRawTag(value) { module.exports = getRawTag; -},{"./_Symbol":368}],425:[function(require,module,exports){ +},{"./_Symbol":369}],426:[function(require,module,exports){ var arrayFilter = require('./_arrayFilter'), stubArray = require('./stubArray'); @@ -69617,7 +69685,7 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbols; -},{"./_arrayFilter":373,"./stubArray":496}],426:[function(require,module,exports){ +},{"./_arrayFilter":374,"./stubArray":497}],427:[function(require,module,exports){ var DataView = require('./_DataView'), Map = require('./_Map'), Promise = require('./_Promise'), @@ -69677,7 +69745,7 @@ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || module.exports = getTag; -},{"./_DataView":359,"./_Map":362,"./_Promise":364,"./_Set":365,"./_WeakMap":370,"./_baseGetTag":389,"./_toSource":473}],427:[function(require,module,exports){ +},{"./_DataView":360,"./_Map":363,"./_Promise":365,"./_Set":366,"./_WeakMap":371,"./_baseGetTag":390,"./_toSource":474}],428:[function(require,module,exports){ /** * Gets the value at `key` of `object`. * @@ -69692,7 +69760,7 @@ function getValue(object, key) { module.exports = getValue; -},{}],428:[function(require,module,exports){ +},{}],429:[function(require,module,exports){ var castPath = require('./_castPath'), isArguments = require('./isArguments'), isArray = require('./isArray'), @@ -69733,7 +69801,7 @@ function hasPath(object, path, hasFunc) { module.exports = hasPath; -},{"./_castPath":409,"./_isIndex":434,"./_toKey":472,"./isArguments":482,"./isArray":483,"./isLength":488}],429:[function(require,module,exports){ +},{"./_castPath":410,"./_isIndex":435,"./_toKey":473,"./isArguments":483,"./isArray":484,"./isLength":489}],430:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** @@ -69750,7 +69818,7 @@ function hashClear() { module.exports = hashClear; -},{"./_nativeCreate":454}],430:[function(require,module,exports){ +},{"./_nativeCreate":455}],431:[function(require,module,exports){ /** * Removes `key` and its value from the hash. * @@ -69769,7 +69837,7 @@ function hashDelete(key) { module.exports = hashDelete; -},{}],431:[function(require,module,exports){ +},{}],432:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used to stand-in for `undefined` hash values. */ @@ -69801,7 +69869,7 @@ function hashGet(key) { module.exports = hashGet; -},{"./_nativeCreate":454}],432:[function(require,module,exports){ +},{"./_nativeCreate":455}],433:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used for built-in method references. */ @@ -69826,7 +69894,7 @@ function hashHas(key) { module.exports = hashHas; -},{"./_nativeCreate":454}],433:[function(require,module,exports){ +},{"./_nativeCreate":455}],434:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used to stand-in for `undefined` hash values. */ @@ -69851,7 +69919,7 @@ function hashSet(key, value) { module.exports = hashSet; -},{"./_nativeCreate":454}],434:[function(require,module,exports){ +},{"./_nativeCreate":455}],435:[function(require,module,exports){ /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -69875,7 +69943,7 @@ function isIndex(value, length) { module.exports = isIndex; -},{}],435:[function(require,module,exports){ +},{}],436:[function(require,module,exports){ var eq = require('./eq'), isArrayLike = require('./isArrayLike'), isIndex = require('./_isIndex'), @@ -69907,7 +69975,7 @@ function isIterateeCall(value, index, object) { module.exports = isIterateeCall; -},{"./_isIndex":434,"./eq":477,"./isArrayLike":484,"./isObject":489}],436:[function(require,module,exports){ +},{"./_isIndex":435,"./eq":478,"./isArrayLike":485,"./isObject":490}],437:[function(require,module,exports){ var isArray = require('./isArray'), isSymbol = require('./isSymbol'); @@ -69938,7 +70006,7 @@ function isKey(value, object) { module.exports = isKey; -},{"./isArray":483,"./isSymbol":491}],437:[function(require,module,exports){ +},{"./isArray":484,"./isSymbol":492}],438:[function(require,module,exports){ /** * Checks if `value` is suitable for use as unique object key. * @@ -69955,7 +70023,7 @@ function isKeyable(value) { module.exports = isKeyable; -},{}],438:[function(require,module,exports){ +},{}],439:[function(require,module,exports){ var coreJsData = require('./_coreJsData'); /** Used to detect methods masquerading as native. */ @@ -69977,7 +70045,7 @@ function isMasked(func) { module.exports = isMasked; -},{"./_coreJsData":411}],439:[function(require,module,exports){ +},{"./_coreJsData":412}],440:[function(require,module,exports){ /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -69997,7 +70065,7 @@ function isPrototype(value) { module.exports = isPrototype; -},{}],440:[function(require,module,exports){ +},{}],441:[function(require,module,exports){ var isObject = require('./isObject'); /** @@ -70014,7 +70082,7 @@ function isStrictComparable(value) { module.exports = isStrictComparable; -},{"./isObject":489}],441:[function(require,module,exports){ +},{"./isObject":490}],442:[function(require,module,exports){ /** * Removes all key-value entries from the list cache. * @@ -70029,7 +70097,7 @@ function listCacheClear() { module.exports = listCacheClear; -},{}],442:[function(require,module,exports){ +},{}],443:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** Used for built-in method references. */ @@ -70066,7 +70134,7 @@ function listCacheDelete(key) { module.exports = listCacheDelete; -},{"./_assocIndexOf":379}],443:[function(require,module,exports){ +},{"./_assocIndexOf":380}],444:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -70087,7 +70155,7 @@ function listCacheGet(key) { module.exports = listCacheGet; -},{"./_assocIndexOf":379}],444:[function(require,module,exports){ +},{"./_assocIndexOf":380}],445:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -70105,7 +70173,7 @@ function listCacheHas(key) { module.exports = listCacheHas; -},{"./_assocIndexOf":379}],445:[function(require,module,exports){ +},{"./_assocIndexOf":380}],446:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -70133,7 +70201,7 @@ function listCacheSet(key, value) { module.exports = listCacheSet; -},{"./_assocIndexOf":379}],446:[function(require,module,exports){ +},{"./_assocIndexOf":380}],447:[function(require,module,exports){ var Hash = require('./_Hash'), ListCache = require('./_ListCache'), Map = require('./_Map'); @@ -70156,7 +70224,7 @@ function mapCacheClear() { module.exports = mapCacheClear; -},{"./_Hash":360,"./_ListCache":361,"./_Map":362}],447:[function(require,module,exports){ +},{"./_Hash":361,"./_ListCache":362,"./_Map":363}],448:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -70176,7 +70244,7 @@ function mapCacheDelete(key) { module.exports = mapCacheDelete; -},{"./_getMapData":421}],448:[function(require,module,exports){ +},{"./_getMapData":422}],449:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -70194,7 +70262,7 @@ function mapCacheGet(key) { module.exports = mapCacheGet; -},{"./_getMapData":421}],449:[function(require,module,exports){ +},{"./_getMapData":422}],450:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -70212,7 +70280,7 @@ function mapCacheHas(key) { module.exports = mapCacheHas; -},{"./_getMapData":421}],450:[function(require,module,exports){ +},{"./_getMapData":422}],451:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -70236,7 +70304,7 @@ function mapCacheSet(key, value) { module.exports = mapCacheSet; -},{"./_getMapData":421}],451:[function(require,module,exports){ +},{"./_getMapData":422}],452:[function(require,module,exports){ /** * Converts `map` to its key-value pairs. * @@ -70256,7 +70324,7 @@ function mapToArray(map) { module.exports = mapToArray; -},{}],452:[function(require,module,exports){ +},{}],453:[function(require,module,exports){ /** * A specialized version of `matchesProperty` for source values suitable * for strict equality comparisons, i.e. `===`. @@ -70278,7 +70346,7 @@ function matchesStrictComparable(key, srcValue) { module.exports = matchesStrictComparable; -},{}],453:[function(require,module,exports){ +},{}],454:[function(require,module,exports){ var memoize = require('./memoize'); /** Used as the maximum memoize cache size. */ @@ -70306,7 +70374,7 @@ function memoizeCapped(func) { module.exports = memoizeCapped; -},{"./memoize":494}],454:[function(require,module,exports){ +},{"./memoize":495}],455:[function(require,module,exports){ var getNative = require('./_getNative'); /* Built-in method references that are verified to be native. */ @@ -70314,7 +70382,7 @@ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; -},{"./_getNative":423}],455:[function(require,module,exports){ +},{"./_getNative":424}],456:[function(require,module,exports){ var overArg = require('./_overArg'); /* Built-in method references for those with the same name as other `lodash` methods. */ @@ -70322,7 +70390,7 @@ var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; -},{"./_overArg":458}],456:[function(require,module,exports){ +},{"./_overArg":459}],457:[function(require,module,exports){ var freeGlobal = require('./_freeGlobal'); /** Detect free variable `exports`. */ @@ -70346,7 +70414,7 @@ var nodeUtil = (function() { module.exports = nodeUtil; -},{"./_freeGlobal":419}],457:[function(require,module,exports){ +},{"./_freeGlobal":420}],458:[function(require,module,exports){ /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -70370,7 +70438,7 @@ function objectToString(value) { module.exports = objectToString; -},{}],458:[function(require,module,exports){ +},{}],459:[function(require,module,exports){ /** * Creates a unary function that invokes `func` with its argument transformed. * @@ -70387,7 +70455,7 @@ function overArg(func, transform) { module.exports = overArg; -},{}],459:[function(require,module,exports){ +},{}],460:[function(require,module,exports){ var apply = require('./_apply'); /* Built-in method references for those with the same name as other `lodash` methods. */ @@ -70425,7 +70493,7 @@ function overRest(func, start, transform) { module.exports = overRest; -},{"./_apply":371}],460:[function(require,module,exports){ +},{"./_apply":372}],461:[function(require,module,exports){ var freeGlobal = require('./_freeGlobal'); /** Detect free variable `self`. */ @@ -70436,7 +70504,7 @@ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; -},{"./_freeGlobal":419}],461:[function(require,module,exports){ +},{"./_freeGlobal":420}],462:[function(require,module,exports){ /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -70457,7 +70525,7 @@ function setCacheAdd(value) { module.exports = setCacheAdd; -},{}],462:[function(require,module,exports){ +},{}],463:[function(require,module,exports){ /** * Checks if `value` is in the array cache. * @@ -70473,7 +70541,7 @@ function setCacheHas(value) { module.exports = setCacheHas; -},{}],463:[function(require,module,exports){ +},{}],464:[function(require,module,exports){ /** * Converts `set` to an array of its values. * @@ -70493,7 +70561,7 @@ function setToArray(set) { module.exports = setToArray; -},{}],464:[function(require,module,exports){ +},{}],465:[function(require,module,exports){ var baseSetToString = require('./_baseSetToString'), shortOut = require('./_shortOut'); @@ -70509,7 +70577,7 @@ var setToString = shortOut(baseSetToString); module.exports = setToString; -},{"./_baseSetToString":404,"./_shortOut":465}],465:[function(require,module,exports){ +},{"./_baseSetToString":405,"./_shortOut":466}],466:[function(require,module,exports){ /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 800, HOT_SPAN = 16; @@ -70548,7 +70616,7 @@ function shortOut(func) { module.exports = shortOut; -},{}],466:[function(require,module,exports){ +},{}],467:[function(require,module,exports){ var ListCache = require('./_ListCache'); /** @@ -70565,7 +70633,7 @@ function stackClear() { module.exports = stackClear; -},{"./_ListCache":361}],467:[function(require,module,exports){ +},{"./_ListCache":362}],468:[function(require,module,exports){ /** * Removes `key` and its value from the stack. * @@ -70585,7 +70653,7 @@ function stackDelete(key) { module.exports = stackDelete; -},{}],468:[function(require,module,exports){ +},{}],469:[function(require,module,exports){ /** * Gets the stack value for `key`. * @@ -70601,7 +70669,7 @@ function stackGet(key) { module.exports = stackGet; -},{}],469:[function(require,module,exports){ +},{}],470:[function(require,module,exports){ /** * Checks if a stack value for `key` exists. * @@ -70617,7 +70685,7 @@ function stackHas(key) { module.exports = stackHas; -},{}],470:[function(require,module,exports){ +},{}],471:[function(require,module,exports){ var ListCache = require('./_ListCache'), Map = require('./_Map'), MapCache = require('./_MapCache'); @@ -70653,7 +70721,7 @@ function stackSet(key, value) { module.exports = stackSet; -},{"./_ListCache":361,"./_Map":362,"./_MapCache":363}],471:[function(require,module,exports){ +},{"./_ListCache":362,"./_Map":363,"./_MapCache":364}],472:[function(require,module,exports){ var memoizeCapped = require('./_memoizeCapped'); /** Used to match property names within property paths. */ @@ -70683,7 +70751,7 @@ var stringToPath = memoizeCapped(function(string) { module.exports = stringToPath; -},{"./_memoizeCapped":453}],472:[function(require,module,exports){ +},{"./_memoizeCapped":454}],473:[function(require,module,exports){ var isSymbol = require('./isSymbol'); /** Used as references for various `Number` constants. */ @@ -70706,7 +70774,7 @@ function toKey(value) { module.exports = toKey; -},{"./isSymbol":491}],473:[function(require,module,exports){ +},{"./isSymbol":492}],474:[function(require,module,exports){ /** Used for built-in method references. */ var funcProto = Function.prototype; @@ -70734,7 +70802,7 @@ function toSource(func) { module.exports = toSource; -},{}],474:[function(require,module,exports){ +},{}],475:[function(require,module,exports){ var assignValue = require('./_assignValue'), copyObject = require('./_copyObject'), createAssigner = require('./_createAssigner'), @@ -70794,7 +70862,7 @@ var assign = createAssigner(function(object, source) { module.exports = assign; -},{"./_assignValue":378,"./_copyObject":410,"./_createAssigner":412,"./_isPrototype":439,"./isArrayLike":484,"./keys":493}],475:[function(require,module,exports){ +},{"./_assignValue":379,"./_copyObject":411,"./_createAssigner":413,"./_isPrototype":440,"./isArrayLike":485,"./keys":494}],476:[function(require,module,exports){ /** * Creates a function that returns `value`. * @@ -70822,7 +70890,7 @@ function constant(value) { module.exports = constant; -},{}],476:[function(require,module,exports){ +},{}],477:[function(require,module,exports){ var baseAssign = require('./_baseAssign'), baseCreate = require('./_baseCreate'); @@ -70867,7 +70935,7 @@ function create(prototype, properties) { module.exports = create; -},{"./_baseAssign":380,"./_baseCreate":382}],477:[function(require,module,exports){ +},{"./_baseAssign":381,"./_baseCreate":383}],478:[function(require,module,exports){ /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) @@ -70906,7 +70974,7 @@ function eq(value, other) { module.exports = eq; -},{}],478:[function(require,module,exports){ +},{}],479:[function(require,module,exports){ var arrayEvery = require('./_arrayEvery'), baseEvery = require('./_baseEvery'), baseIteratee = require('./_baseIteratee'), @@ -70964,7 +71032,7 @@ function every(collection, predicate, guard) { module.exports = every; -},{"./_arrayEvery":372,"./_baseEvery":384,"./_baseIteratee":397,"./_isIterateeCall":435,"./isArray":483}],479:[function(require,module,exports){ +},{"./_arrayEvery":373,"./_baseEvery":385,"./_baseIteratee":398,"./_isIterateeCall":436,"./isArray":484}],480:[function(require,module,exports){ var baseGet = require('./_baseGet'); /** @@ -70999,7 +71067,7 @@ function get(object, path, defaultValue) { module.exports = get; -},{"./_baseGet":387}],480:[function(require,module,exports){ +},{"./_baseGet":388}],481:[function(require,module,exports){ var baseHasIn = require('./_baseHasIn'), hasPath = require('./_hasPath'); @@ -71035,7 +71103,7 @@ function hasIn(object, path) { module.exports = hasIn; -},{"./_baseHasIn":390,"./_hasPath":428}],481:[function(require,module,exports){ +},{"./_baseHasIn":391,"./_hasPath":429}],482:[function(require,module,exports){ /** * This method returns the first argument it receives. * @@ -71058,7 +71126,7 @@ function identity(value) { module.exports = identity; -},{}],482:[function(require,module,exports){ +},{}],483:[function(require,module,exports){ var baseIsArguments = require('./_baseIsArguments'), isObjectLike = require('./isObjectLike'); @@ -71096,7 +71164,7 @@ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsAr module.exports = isArguments; -},{"./_baseIsArguments":391,"./isObjectLike":490}],483:[function(require,module,exports){ +},{"./_baseIsArguments":392,"./isObjectLike":491}],484:[function(require,module,exports){ /** * Checks if `value` is classified as an `Array` object. * @@ -71124,7 +71192,7 @@ var isArray = Array.isArray; module.exports = isArray; -},{}],484:[function(require,module,exports){ +},{}],485:[function(require,module,exports){ var isFunction = require('./isFunction'), isLength = require('./isLength'); @@ -71159,7 +71227,7 @@ function isArrayLike(value) { module.exports = isArrayLike; -},{"./isFunction":487,"./isLength":488}],485:[function(require,module,exports){ +},{"./isFunction":488,"./isLength":489}],486:[function(require,module,exports){ var root = require('./_root'), stubFalse = require('./stubFalse'); @@ -71199,7 +71267,7 @@ var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; -},{"./_root":460,"./stubFalse":497}],486:[function(require,module,exports){ +},{"./_root":461,"./stubFalse":498}],487:[function(require,module,exports){ var baseKeys = require('./_baseKeys'), getTag = require('./_getTag'), isArguments = require('./isArguments'), @@ -71278,7 +71346,7 @@ function isEmpty(value) { module.exports = isEmpty; -},{"./_baseKeys":398,"./_getTag":426,"./_isPrototype":439,"./isArguments":482,"./isArray":483,"./isArrayLike":484,"./isBuffer":485,"./isTypedArray":492}],487:[function(require,module,exports){ +},{"./_baseKeys":399,"./_getTag":427,"./_isPrototype":440,"./isArguments":483,"./isArray":484,"./isArrayLike":485,"./isBuffer":486,"./isTypedArray":493}],488:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObject = require('./isObject'); @@ -71317,7 +71385,7 @@ function isFunction(value) { module.exports = isFunction; -},{"./_baseGetTag":389,"./isObject":489}],488:[function(require,module,exports){ +},{"./_baseGetTag":390,"./isObject":490}],489:[function(require,module,exports){ /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -71354,7 +71422,7 @@ function isLength(value) { module.exports = isLength; -},{}],489:[function(require,module,exports){ +},{}],490:[function(require,module,exports){ /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) @@ -71387,7 +71455,7 @@ function isObject(value) { module.exports = isObject; -},{}],490:[function(require,module,exports){ +},{}],491:[function(require,module,exports){ /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". @@ -71418,7 +71486,7 @@ function isObjectLike(value) { module.exports = isObjectLike; -},{}],491:[function(require,module,exports){ +},{}],492:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObjectLike = require('./isObjectLike'); @@ -71449,7 +71517,7 @@ function isSymbol(value) { module.exports = isSymbol; -},{"./_baseGetTag":389,"./isObjectLike":490}],492:[function(require,module,exports){ +},{"./_baseGetTag":390,"./isObjectLike":491}],493:[function(require,module,exports){ var baseIsTypedArray = require('./_baseIsTypedArray'), baseUnary = require('./_baseUnary'), nodeUtil = require('./_nodeUtil'); @@ -71478,7 +71546,7 @@ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedA module.exports = isTypedArray; -},{"./_baseIsTypedArray":396,"./_baseUnary":407,"./_nodeUtil":456}],493:[function(require,module,exports){ +},{"./_baseIsTypedArray":397,"./_baseUnary":408,"./_nodeUtil":457}],494:[function(require,module,exports){ var arrayLikeKeys = require('./_arrayLikeKeys'), baseKeys = require('./_baseKeys'), isArrayLike = require('./isArrayLike'); @@ -71517,7 +71585,7 @@ function keys(object) { module.exports = keys; -},{"./_arrayLikeKeys":374,"./_baseKeys":398,"./isArrayLike":484}],494:[function(require,module,exports){ +},{"./_arrayLikeKeys":375,"./_baseKeys":399,"./isArrayLike":485}],495:[function(require,module,exports){ var MapCache = require('./_MapCache'); /** Error message constants. */ @@ -71592,7 +71660,7 @@ memoize.Cache = MapCache; module.exports = memoize; -},{"./_MapCache":363}],495:[function(require,module,exports){ +},{"./_MapCache":364}],496:[function(require,module,exports){ var baseProperty = require('./_baseProperty'), basePropertyDeep = require('./_basePropertyDeep'), isKey = require('./_isKey'), @@ -71626,7 +71694,7 @@ function property(path) { module.exports = property; -},{"./_baseProperty":401,"./_basePropertyDeep":402,"./_isKey":436,"./_toKey":472}],496:[function(require,module,exports){ +},{"./_baseProperty":402,"./_basePropertyDeep":403,"./_isKey":437,"./_toKey":473}],497:[function(require,module,exports){ /** * This method returns a new empty array. * @@ -71651,7 +71719,7 @@ function stubArray() { module.exports = stubArray; -},{}],497:[function(require,module,exports){ +},{}],498:[function(require,module,exports){ /** * This method returns `false`. * @@ -71671,7 +71739,7 @@ function stubFalse() { module.exports = stubFalse; -},{}],498:[function(require,module,exports){ +},{}],499:[function(require,module,exports){ var baseToString = require('./_baseToString'); /** @@ -71701,7 +71769,7 @@ function toString(value) { module.exports = toString; -},{"./_baseToString":406}],499:[function(require,module,exports){ +},{"./_baseToString":407}],500:[function(require,module,exports){ /* Copyright 2013 Daniel Wirtz Copyright 2009 The Closure Library Authors. All Rights Reserved. @@ -72782,7 +72850,7 @@ module.exports = toString; return Long; }); -},{}],500:[function(require,module,exports){ +},{}],501:[function(require,module,exports){ var events = require('events') var inherits = require('inherits') @@ -72929,7 +72997,7 @@ LRU.prototype.evict = function () { this.emit('evict', {key: key, value: value}) } -},{"events":undefined,"inherits":341}],501:[function(require,module,exports){ +},{"events":undefined,"inherits":342}],502:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -73113,7 +73181,7 @@ class DashMPDParser extends stream_1.Writable { } exports.default = DashMPDParser; -},{"./parse-time":504,"sax":506,"stream":undefined}],502:[function(require,module,exports){ +},{"./parse-time":505,"sax":507,"stream":undefined}],503:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -73295,7 +73363,7 @@ let m3u8stream = ((playlistURL, options = {}) => { m3u8stream.parseTimestamp = parse_time_1.humanStr; module.exports = m3u8stream; -},{"./dash-mpd-parser":501,"./m3u8-parser":503,"./parse-time":504,"./queue":505,"miniget":555,"stream":undefined,"url":undefined}],503:[function(require,module,exports){ +},{"./dash-mpd-parser":502,"./m3u8-parser":504,"./parse-time":505,"./queue":506,"miniget":556,"stream":undefined,"url":undefined}],504:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const stream_1 = require("stream"); @@ -73407,7 +73475,7 @@ class m3u8Parser extends stream_1.Writable { } exports.default = m3u8Parser; -},{"stream":undefined}],504:[function(require,module,exports){ +},{"stream":undefined}],505:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.durationStr = exports.humanStr = void 0; @@ -73461,7 +73529,7 @@ exports.durationStr = (time) => { return total; }; -},{}],505:[function(require,module,exports){ +},{}],506:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class Queue { @@ -73514,7 +73582,7 @@ class Queue { } exports.default = Queue; -},{}],506:[function(require,module,exports){ +},{}],507:[function(require,module,exports){ ;(function (sax) { // wrapper for non-node envs sax.parser = function (strict, opt) { return new SAXParser(strict, opt) } sax.SAXParser = SAXParser @@ -75081,7 +75149,7 @@ exports.default = Queue; } })(typeof exports === 'undefined' ? this.sax = {} : exports) -},{"stream":undefined,"string_decoder":undefined}],507:[function(require,module,exports){ +},{"stream":undefined,"string_decoder":undefined}],508:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -75094,7 +75162,7 @@ module.exports = { StreamFactorySource: require('./lib/source/streamFactorySource') }; -},{"./lib/decoder":508,"./lib/document":509,"./lib/schema":538,"./lib/source/fileSource":540,"./lib/source/httpSource":541,"./lib/source/streamFactorySource":543}],508:[function(require,module,exports){ +},{"./lib/decoder":509,"./lib/document":510,"./lib/schema":539,"./lib/source/fileSource":541,"./lib/source/httpSource":542,"./lib/source/streamFactorySource":544}],509:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -75816,7 +75884,7 @@ Decoder.prototype.parseEbmlIDs = function(source, ebmlIDs, callback) { }); }; -},{"./document2":511,"./schema":538,"./source/fileSource":540,"./source/httpSource":541,"./source/source":542,"./tools":544,"buffer":undefined,"debug":"debug","fs":undefined,"stream":undefined,"util":undefined}],509:[function(require,module,exports){ +},{"./document2":512,"./schema":539,"./source/fileSource":541,"./source/httpSource":542,"./source/source":543,"./tools":545,"buffer":undefined,"debug":"debug","fs":undefined,"stream":undefined,"util":undefined}],510:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76288,7 +76356,7 @@ Document.prototype.toString = function() { return "[Document source=" + this.source + "]"; } -},{"./dom/attachedFile":513,"./dom/attachments":514,"./dom/audio":515,"./dom/crc-32":516,"./dom/cuePoint":517,"./dom/cueReference":518,"./dom/cueTrackPositions":519,"./dom/cues":520,"./dom/info":522,"./dom/seek":524,"./dom/seekHead":525,"./dom/segment3":529,"./dom/simpleTag":530,"./dom/tag":531,"./dom/tags":532,"./dom/targets":533,"./dom/trackEntry":534,"./dom/tracks":535,"./dom/video":536,"./element":537,"./schema":538,"./tools":544,"async":7,"crc":196,"debug":"debug","fs":undefined,"util":undefined}],510:[function(require,module,exports){ +},{"./dom/attachedFile":514,"./dom/attachments":515,"./dom/audio":516,"./dom/crc-32":517,"./dom/cuePoint":518,"./dom/cueReference":519,"./dom/cueTrackPositions":520,"./dom/cues":521,"./dom/info":523,"./dom/seek":525,"./dom/seekHead":526,"./dom/segment3":530,"./dom/simpleTag":531,"./dom/tag":532,"./dom/tags":533,"./dom/targets":534,"./dom/trackEntry":535,"./dom/tracks":536,"./dom/video":537,"./element":538,"./schema":539,"./tools":545,"async":7,"crc":196,"debug":"debug","fs":undefined,"util":undefined}],511:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76337,7 +76405,7 @@ Object.defineProperty(Document1.prototype, "segments", { } }); -},{"./document":509,"./schema":538,"async":7,"util":undefined}],511:[function(require,module,exports){ +},{"./document":510,"./schema":539,"async":7,"util":undefined}],512:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76439,7 +76507,7 @@ Document2.prototype._prepareDocument = function(options, callback) { }); }; -},{"./document1":510,"./schema":538,"async":7,"util":undefined}],512:[function(require,module,exports){ +},{"./document1":511,"./schema":539,"async":7,"util":undefined}],513:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76654,7 +76722,7 @@ module.exports = { oneChild: oneChild }; -},{"../schema":538,"../tools":544}],513:[function(require,module,exports){ +},{"../schema":539,"../tools":545}],514:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76682,7 +76750,7 @@ _proto.addAttribute(AttachedFile.prototype, "FileDescription"); _proto.addAttribute(AttachedFile.prototype, "FileData"); _proto.addAttribute(AttachedFile.prototype, "FileUID"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],514:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],515:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76706,7 +76774,7 @@ Attachments.prototype.toString = function() { _proto.addChild(Attachments.prototype, "AttachedFile"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],515:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],516:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76733,7 +76801,7 @@ _proto.addAttribute(Audio.prototype, "OutputSamplingFrequency"); _proto.addAttribute(Audio.prototype, "Channels"); _proto.addAttribute(Audio.prototype, "BitDepth"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],516:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],517:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76762,7 +76830,7 @@ CRC_32.prototype.toString = function() { return "[CRC-32 #" + this.tagId + "]"; }; -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],517:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],518:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76788,7 +76856,7 @@ _proto.addAttribute(CuePoint.prototype, "CueTime"); _proto.addChild(CuePoint.prototype, "CueTrackPositions"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],518:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],519:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76812,7 +76880,7 @@ CueReference.prototype.toString = function() { _proto.addAttribute(CueReference.prototype, "CueRefTime"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],519:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],520:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76843,7 +76911,7 @@ _proto.addAttribute(CueTrackPositions.prototype, "CueCodecState"); _proto.addChild(CueTrackPositions.prototype, "CueReference"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],520:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],521:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76867,7 +76935,7 @@ Cues.prototype.toString = function() { _proto.addChild(Cues.prototype, "CuePoint"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],521:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],522:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76885,7 +76953,7 @@ util.inherits(Element1, Element); module.exports = Element1; -},{"../element":537,"../schema":538,"./_proto":512,"util":undefined}],522:[function(require,module,exports){ +},{"../element":538,"../schema":539,"./_proto":513,"util":undefined}],523:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76924,7 +76992,7 @@ _proto.addAttribute(Info.prototype, "Title"); _proto.addAttribute(Info.prototype, "MuxingApp"); _proto.addAttribute(Info.prototype, "WritingApp"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],523:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],524:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76944,7 +77012,7 @@ module.exports = MasterElement; _proto.oneChild(MasterElement.prototype, "CRC_32"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],524:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],525:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76969,7 +77037,7 @@ Seek.prototype.toString = function() { _proto.addAttribute(Seek.prototype, "SeekID"); _proto.addAttribute(Seek.prototype, "SeekPosition"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],525:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],526:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -76993,7 +77061,7 @@ SeekHead.prototype.toString = function() { _proto.addChild(SeekHead.prototype, "Seek"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],526:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],527:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77025,7 +77093,7 @@ _proto.oneChild(Segment.prototype, "Tracks"); _proto.oneChild(Segment.prototype, "Tags"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],527:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],528:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77159,7 +77227,7 @@ Segment1.prototype.normalize = function(options, callback) { return callback(); }; -},{"../schema":538,"./segment":526,"util":undefined}],528:[function(require,module,exports){ +},{"../schema":539,"./segment":527,"util":undefined}],529:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77521,7 +77589,7 @@ Segment2.prototype.addSimpleTagSync = function(targetInfos, name, language, defa return simpleTag; }; -},{"../schema":538,"../tools":544,"./segment1":527,"crc":196,"fs":undefined,"mime":552,"path":undefined,"util":undefined}],529:[function(require,module,exports){ +},{"../schema":539,"../tools":545,"./segment1":528,"crc":196,"fs":undefined,"mime":553,"path":undefined,"util":undefined}],530:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77545,7 +77613,7 @@ module.exports = Segment3; Segment3.prototype.findTagByName = function(tagName) { }; -},{"../schema":538,"./segment2":528,"async":7,"fs":undefined,"mime":552,"path":undefined,"util":undefined}],530:[function(require,module,exports){ +},{"../schema":539,"./segment2":529,"async":7,"fs":undefined,"mime":553,"path":undefined,"util":undefined}],531:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77575,7 +77643,7 @@ _proto.addAttribute(SimpleTag.prototype, "TagDefault"); _proto.addAttribute(SimpleTag.prototype, "TagString"); _proto.addAttribute(SimpleTag.prototype, "TagBinary"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],531:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],532:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77601,7 +77669,7 @@ _proto.oneChild(Tag.prototype, "Targets", true); _proto.addChild(Tag.prototype, "SimpleTag"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],532:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],533:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77625,7 +77693,7 @@ Tags.prototype.toString = function() { _proto.addChild(Tags.prototype, "Tag"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],533:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],534:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77655,7 +77723,7 @@ _proto.addChild(Targets.prototype, "TagEditionUID"); _proto.addChild(Targets.prototype, "TagChapterUID"); _proto.addChild(Targets.prototype, "TagAttachmentUID"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],534:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],535:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77709,7 +77777,7 @@ _proto.addChild(TrackEntry.prototype, "TrackOperation"); _proto.addChild(TrackEntry.prototype, "ContentEncodings"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],535:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],536:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77733,7 +77801,7 @@ Tracks.prototype.toString = function() { _proto.addChild(Tracks.prototype, "TrackEntry"); -},{"../schema":538,"./_proto":512,"./masterElement":523,"util":undefined}],536:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./masterElement":524,"util":undefined}],537:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -77770,7 +77838,7 @@ _proto.addAttribute(Video.prototype, "DisplayUnit"); _proto.addAttribute(Video.prototype, "AspectRatioType"); _proto.addAttribute(Video.prototype, "ColourSpace"); -},{"../schema":538,"./_proto":512,"./element1":521,"util":undefined}],537:[function(require,module,exports){ +},{"../schema":539,"./_proto":513,"./element1":522,"util":undefined}],538:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -78940,7 +79008,7 @@ Object.defineProperty(Element.prototype, "empty", { } }); -},{"./schema":538,"./tools":544,"assert":undefined,"async":7,"crc":196,"debug":"debug","fs":undefined,"stream":undefined,"util":undefined}],538:[function(require,module,exports){ +},{"./schema":539,"./tools":545,"assert":undefined,"async":7,"crc":196,"debug":"debug","fs":undefined,"stream":undefined,"util":undefined}],539:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81007,7 +81075,7 @@ for ( var ebmlID in byEbmlID) { module.exports = schema; -},{}],539:[function(require,module,exports){ +},{}],540:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81216,7 +81284,7 @@ AbstractSource.prototype.release = function(callback) { this.end(this, callback); }; -},{"../tools":544,"./source":542,"assert":undefined,"debug":"debug","fs":undefined,"util":undefined}],540:[function(require,module,exports){ +},{"../tools":545,"./source":543,"assert":undefined,"debug":"debug","fs":undefined,"util":undefined}],541:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81318,7 +81386,7 @@ FileSource.prototype.toString = function() { return "[FileSource file=" + this.filename + "]"; }; -},{"./abstractSource":539,"debug":"debug","fs":undefined,"util":undefined}],541:[function(require,module,exports){ +},{"./abstractSource":540,"debug":"debug","fs":undefined,"util":undefined}],542:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81432,7 +81500,7 @@ HttpSource.prototype.toString = function() { return "[HttpSource url=" + this.url + "]"; }; -},{"./abstractSource":539,"debug":"debug","follow-redirects":307,"fs":undefined,"url":undefined,"util":undefined}],542:[function(require,module,exports){ +},{"./abstractSource":540,"debug":"debug","follow-redirects":308,"fs":undefined,"url":undefined,"util":undefined}],543:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81443,7 +81511,7 @@ function Source() { module.exports = Source; -},{"debug":"debug"}],543:[function(require,module,exports){ +},{"debug":"debug"}],544:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81505,7 +81573,7 @@ StreamFactorySource.prototype.toString = function() { return "[StreamFactorySource factory=" + this.streamFactory + "]"; }; -},{"./abstractSource":539,"debug":"debug","fs":undefined,"util":undefined}],544:[function(require,module,exports){ +},{"./abstractSource":540,"debug":"debug","fs":undefined,"util":undefined}],545:[function(require,module,exports){ /*jslint node: true, vars: true, nomen: true */ 'use strict'; @@ -81995,7 +82063,7 @@ var tools = { module.exports = tools; -},{"./schema":538,"dateformat":199,"debug":"debug","util":undefined}],545:[function(require,module,exports){ +},{"./schema":539,"dateformat":199,"debug":"debug","util":undefined}],546:[function(require,module,exports){ /** * Module dependencies. */ @@ -82144,7 +82212,7 @@ function coerce(val) { return val; } -},{"tty":undefined}],546:[function(require,module,exports){ +},{"tty":undefined}],547:[function(require,module,exports){ /*! * media-typer * Copyright(c) 2014 Douglas Christopher Wilson @@ -82416,7 +82484,7 @@ function splitType(string) { return obj } -},{}],547:[function(require,module,exports){ +},{}],548:[function(require,module,exports){ /*! * merge-descriptors * Copyright(c) 2014 Jonathan Ong @@ -82478,7 +82546,7 @@ function merge(dest, src, redefine) { return dest } -},{}],548:[function(require,module,exports){ +},{}],549:[function(require,module,exports){ /*! * methods * Copyright(c) 2013-2014 TJ Holowaychuk @@ -82549,7 +82617,7 @@ function getBasicNodeMethods() { ]; } -},{"http":undefined}],549:[function(require,module,exports){ +},{"http":undefined}],550:[function(require,module,exports){ module.exports={ "application/1d-interleaved-parityfec": { "source": "iana" @@ -89356,9 +89424,9 @@ module.exports={ } } -},{}],550:[function(require,module,exports){ +},{}],551:[function(require,module,exports){ arguments[4][3][0].apply(exports,arguments) -},{"./db.json":549,"dup":3}],551:[function(require,module,exports){ +},{"./db.json":550,"dup":3}],552:[function(require,module,exports){ /*! * mime-types * Copyright(c) 2014 Jonathan Ong @@ -89548,7 +89616,7 @@ function populateMaps (extensions, types) { }) } -},{"mime-db":550,"path":undefined}],552:[function(require,module,exports){ +},{"mime-db":551,"path":undefined}],553:[function(require,module,exports){ var path = require('path'); var fs = require('fs'); @@ -89658,10 +89726,10 @@ mime.charsets = { module.exports = mime; -},{"./types.json":553,"fs":undefined,"path":undefined}],553:[function(require,module,exports){ +},{"./types.json":554,"fs":undefined,"path":undefined}],554:[function(require,module,exports){ module.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mdp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":["woff"],"application/font-woff2":["woff2"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["dmg"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-nzb":["nzb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-research-info-systems":["ris"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp4":["mp4a","m4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/opentype":["otf"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jpeg":["jpeg","jpg","jpe"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-mrsid-image":["sid"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/sgml":["sgml","sgm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["markdown","md","mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-pascal":["p","pas"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]} -},{}],554:[function(require,module,exports){ +},{}],555:[function(require,module,exports){ 'use strict'; // We define these manually to ensure they're always copied @@ -89696,7 +89764,7 @@ module.exports = (fromStream, toStream) => { } }; -},{}],555:[function(require,module,exports){ +},{}],556:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -89983,7 +90051,7 @@ function Miniget(url, options = {}) { } module.exports = Miniget; -},{"http":undefined,"https":undefined,"stream":undefined,"url":undefined}],556:[function(require,module,exports){ +},{"http":undefined,"https":undefined,"stream":undefined,"url":undefined}],557:[function(require,module,exports){ module.exports = minimatch minimatch.Minimatch = Minimatch @@ -90908,7 +90976,7 @@ function regExpEscape (s) { return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') } -},{"brace-expansion":112,"path":undefined}],557:[function(require,module,exports){ +},{"brace-expansion":112,"path":undefined}],558:[function(require,module,exports){ module.exports = function (args, opts) { if (!opts) opts = {}; @@ -91146,7 +91214,7 @@ function isNumber (x) { } -},{}],558:[function(require,module,exports){ +},{}],559:[function(require,module,exports){ var path = require('path'); var fs = require('fs'); var _0777 = parseInt('0777', 8); @@ -91246,7 +91314,7 @@ mkdirP.sync = function sync (p, opts, made) { return made; }; -},{"fs":undefined,"path":undefined}],559:[function(require,module,exports){ +},{"fs":undefined,"path":undefined}],560:[function(require,module,exports){ //! moment.js //! version : 2.10.6 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors @@ -94442,7 +94510,7 @@ mkdirP.sync = function sync (p, opts, made) { return _moment; })); -},{}],560:[function(require,module,exports){ +},{}],561:[function(require,module,exports){ // file:src/log.js /* * Copyright (c) 2012-2013. Telecom ParisTech/TSI/MM/GPAC Cyril Concolato @@ -102354,7 +102422,7 @@ if (typeof exports !== 'undefined') { exports.createFile = MP4Box.createFile; } -},{}],561:[function(require,module,exports){ +},{}],562:[function(require,module,exports){ /** * Helpers. */ @@ -102508,7 +102576,7 @@ function plural(ms, n, name) { return Math.ceil(ms / n) + ' ' + name + 's'; } -},{}],562:[function(require,module,exports){ +},{}],563:[function(require,module,exports){ var packet = require('dns-packet') var dgram = require('dgram') var thunky = require('thunky') @@ -102628,7 +102696,7 @@ module.exports = function (opts) { return that } -},{"dgram":undefined,"dns-packet":211,"events":undefined,"thunky":563}],563:[function(require,module,exports){ +},{"dgram":undefined,"dns-packet":211,"events":undefined,"thunky":564}],564:[function(require,module,exports){ var isError = function(err) { // inlined from util so this works in the browser return Object.prototype.toString.call(err) === '[object Error]'; }; @@ -102660,7 +102728,7 @@ var thunky = function(fn) { }; module.exports = thunky; -},{}],564:[function(require,module,exports){ +},{}],565:[function(require,module,exports){ var helpers = {} helpers.yearSimilar = function(parsedYear, altYear) { @@ -102768,7 +102836,7 @@ helpers.simplifyName = function(args) { module.exports = helpers -},{}],565:[function(require,module,exports){ +},{}],566:[function(require,module,exports){ var namedQueue = require('named-queue'); var helpers = require('./helpers') @@ -102861,7 +102929,7 @@ function worker(task, cb) { module.exports = nameToImdb; -},{"./helpers":564,"./providers/cinemeta":566,"./providers/imdbFind":567,"named-queue":568}],566:[function(require,module,exports){ +},{"./helpers":565,"./providers/cinemeta":567,"./providers/imdbFind":568,"named-queue":569}],567:[function(require,module,exports){ var fetch = require("node-fetch") var helpers = require("../helpers") @@ -102921,7 +102989,7 @@ function metadataFind(query, cb) { module.exports = metadataFind -},{"../helpers":564,"node-fetch":"node-fetch"}],567:[function(require,module,exports){ +},{"../helpers":565,"node-fetch":"node-fetch"}],568:[function(require,module,exports){ var needle = require("needle") var helpers = require("../helpers") @@ -103041,7 +103109,7 @@ function imdbFind(task, cb, loose) { module.exports = imdbFind -},{"../helpers":564,"needle":573}],568:[function(require,module,exports){ +},{"../helpers":565,"needle":574}],569:[function(require,module,exports){ function namedQueue(processor, concurrency) { concurrency = concurrency || 1 @@ -103104,7 +103172,7 @@ function namedQueue(processor, concurrency) { module.exports = namedQueue -},{}],569:[function(require,module,exports){ +},{}],570:[function(require,module,exports){ var createHash = require('crypto').createHash; function get_header(header, credentials, opts) { @@ -103216,7 +103284,7 @@ module.exports = { digest : digest.generate } -},{"crypto":undefined}],570:[function(require,module,exports){ +},{"crypto":undefined}],571:[function(require,module,exports){ // // Simple cookie handling implementation based on the standard RFC 6265. // This module just has two functionalities: @@ -103291,7 +103359,7 @@ exports.read = parseSetCookieHeader; // writes a cookie string header exports.write = writeCookieString; -},{}],571:[function(require,module,exports){ +},{}],572:[function(require,module,exports){ var iconv, inherits = require('util').inherits, stream = require('stream'); @@ -103346,7 +103414,7 @@ module.exports = function(charset) { return new stream.PassThrough; } -},{"iconv-lite":338,"stream":undefined,"util":undefined}],572:[function(require,module,exports){ +},{"iconv-lite":339,"stream":undefined,"util":undefined}],573:[function(require,module,exports){ var readFile = require('fs').readFile, basename = require('path').basename; @@ -103444,7 +103512,7 @@ function flatten(object, into, prefix) { return into; } -},{"fs":undefined,"path":undefined}],573:[function(require,module,exports){ +},{"fs":undefined,"path":undefined}],574:[function(require,module,exports){ ////////////////////////////////////////// // Needle -- Node.js HTTP Client // Written by Tomás Pollak @@ -104109,7 +104177,7 @@ exports.request = function(method, uri, data, opts, callback) { return new Needle(method, uri, data, opts, callback).start(); }; -},{"../package.json":576,"./auth":569,"./cookies":570,"./decoder":571,"./multipart":572,"./parsers":574,"./querystring":575,"debug":"debug","fs":undefined,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],574:[function(require,module,exports){ +},{"../package.json":577,"./auth":570,"./cookies":571,"./decoder":572,"./multipart":573,"./parsers":575,"./querystring":576,"debug":"debug","fs":undefined,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],575:[function(require,module,exports){ ////////////////////////////////////////// // Defines mappings between content-type // and the appropriate parsers. @@ -104180,7 +104248,7 @@ try { } catch(e) { /* xml2js not found */ } -},{"stream":undefined,"xml2js":801}],575:[function(require,module,exports){ +},{"stream":undefined,"xml2js":802}],576:[function(require,module,exports){ // based on the qs module, but handles null objects as expected // fixes by Tomas Pollak. @@ -104227,7 +104295,7 @@ function stringifyObject(obj, prefix) { exports.build = stringify; -},{}],576:[function(require,module,exports){ +},{}],577:[function(require,module,exports){ module.exports={ "name": "needle", "version": "1.1.2", @@ -104298,7 +104366,7 @@ module.exports={ } } -},{}],577:[function(require,module,exports){ +},{}],578:[function(require,module,exports){ /*! * negotiator * Copyright(c) 2012 Federico Romero @@ -104424,7 +104492,7 @@ function loadModule(moduleName) { return module; } -},{"./lib/charset":578,"./lib/encoding":579,"./lib/language":580,"./lib/mediaType":581}],578:[function(require,module,exports){ +},{"./lib/charset":579,"./lib/encoding":580,"./lib/language":581,"./lib/mediaType":582}],579:[function(require,module,exports){ /** * negotiator * Copyright(c) 2012 Isaac Z. Schlueter @@ -104595,7 +104663,7 @@ function isQuality(spec) { return spec.q > 0; } -},{}],579:[function(require,module,exports){ +},{}],580:[function(require,module,exports){ /** * negotiator * Copyright(c) 2012 Isaac Z. Schlueter @@ -104781,7 +104849,7 @@ function isQuality(spec) { return spec.q > 0; } -},{}],580:[function(require,module,exports){ +},{}],581:[function(require,module,exports){ /** * negotiator * Copyright(c) 2012 Isaac Z. Schlueter @@ -104962,7 +105030,7 @@ function isQuality(spec) { return spec.q > 0; } -},{}],581:[function(require,module,exports){ +},{}],582:[function(require,module,exports){ /** * negotiator * Copyright(c) 2012 Isaac Z. Schlueter @@ -105258,7 +105326,7 @@ function splitParameters(str) { return parameters; } -},{}],582:[function(require,module,exports){ +},{}],583:[function(require,module,exports){ var os = require('os') function pickInterface (interfaces, family) { @@ -105297,7 +105365,7 @@ ipv4.ipv6 = ipv6 module.exports = ipv4 -},{"os":undefined}],583:[function(require,module,exports){ +},{"os":undefined}],584:[function(require,module,exports){ 'use strict'; (function () { @@ -105308,7 +105376,7 @@ module.exports = ipv4 } })() -},{"./lib/client":584,"./lib/core":586,"./lib/server":587}],584:[function(require,module,exports){ +},{"./lib/client":585,"./lib/core":587,"./lib/server":588}],585:[function(require,module,exports){ 'use strict'; (function () { @@ -105391,7 +105459,7 @@ module.exports = ipv4 module.exports = self })() -},{"./constants":585,"./core":586,"events":undefined,"util":undefined}],585:[function(require,module,exports){ +},{"./constants":586,"./core":587,"events":undefined,"util":undefined}],586:[function(require,module,exports){ 'use strict'; (function () { @@ -105406,7 +105474,7 @@ module.exports = ipv4 } })() -},{}],586:[function(require,module,exports){ +},{}],587:[function(require,module,exports){ 'use strict'; (function () { @@ -105667,7 +105735,7 @@ module.exports = ipv4 module.exports = self })() -},{"../package.json":588,"./constants":585,"dgram":undefined,"events":undefined,"net":undefined,"os":undefined,"util":undefined}],587:[function(require,module,exports){ +},{"../package.json":589,"./constants":586,"dgram":undefined,"events":undefined,"net":undefined,"os":undefined,"util":undefined}],588:[function(require,module,exports){ 'use strict'; (function () { @@ -105825,7 +105893,7 @@ module.exports = ipv4 module.exports = self })() -},{"./constants":585,"./core":586,"events":undefined,"extend":302,"util":undefined,"uuid/v4":778}],588:[function(require,module,exports){ +},{"./constants":586,"./core":587,"events":undefined,"extend":303,"util":undefined,"uuid/v4":778}],589:[function(require,module,exports){ module.exports={ "name": "node-ssdp-js", "version": "0.9.6", @@ -105858,7 +105926,7 @@ module.exports={ } } -},{}],589:[function(require,module,exports){ +},{}],590:[function(require,module,exports){ /* object-assign (c) Sindre Sorhus @@ -105950,7 +106018,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { return to; }; -},{}],590:[function(require,module,exports){ +},{}],591:[function(require,module,exports){ /*! * on-finished * Copyright(c) 2013 Jonathan Ong @@ -106148,7 +106216,7 @@ function patchAssignSocket(res, callback) { } } -},{"ee-first":215}],591:[function(require,module,exports){ +},{"ee-first":215}],592:[function(require,module,exports){ var wrappy = require('wrappy') module.exports = wrappy(once) module.exports.strict = wrappy(onceStrict) @@ -106192,7 +106260,7 @@ function onceStrict (fn) { return f } -},{"wrappy":783}],592:[function(require,module,exports){ +},{"wrappy":784}],593:[function(require,module,exports){ var exec = require('child_process').exec , path = require('path') ; @@ -106257,7 +106325,7 @@ function escape(s) { return s.replace(/"/g, '\\\"'); } -},{"child_process":undefined,"path":undefined}],593:[function(require,module,exports){ +},{"child_process":undefined,"path":undefined}],594:[function(require,module,exports){ /** * User: seb * Date: 10/5/12 @@ -106407,7 +106475,7 @@ ep.prototype.NoOperation = function(cb, token ){ this.call('NoOperation', arguments); }; -},{"xmlrpc":824}],594:[function(require,module,exports){ +},{"xmlrpc":825}],595:[function(require,module,exports){ var fs = require('fs'), ee = require('events').EventEmitter, Api = require('./endpoints.js'); @@ -106586,7 +106654,7 @@ os.prototype.padLeft = function(str, c, length) { } return str; }; -},{"./endpoints.js":593,"events":undefined,"fs":undefined}],595:[function(require,module,exports){ +},{"./endpoints.js":594,"events":undefined,"fs":undefined}],596:[function(require,module,exports){ /*! * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed @@ -106674,7 +106742,7 @@ function Options(defaults) { module.exports = Options; -},{"fs":undefined}],596:[function(require,module,exports){ +},{"fs":undefined}],597:[function(require,module,exports){ 'use strict'; var isWindows = process.platform === 'win32'; var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/; @@ -106701,7 +106769,7 @@ module.exports = function () { return path; }; -},{}],597:[function(require,module,exports){ +},{}],598:[function(require,module,exports){ module.exports = decodeTorrentFile module.exports.decode = decodeTorrentFile module.exports.encode = encodeTorrentFile @@ -106850,7 +106918,7 @@ function ensure (bool, fieldName) { if (!bool) throw new Error('Torrent is missing required field: ' + fieldName) } -},{"bencode":600,"path":undefined,"simple-sha1":672,"uniq":767}],598:[function(require,module,exports){ +},{"bencode":601,"path":undefined,"simple-sha1":673,"uniq":767}],599:[function(require,module,exports){ /** * replaces parseInt(buffer.toString('ascii', start, end)). * For strings with less then ~30 charachters, this is actually a lot faster. @@ -107014,7 +107082,7 @@ decode.buffer = function () { module.exports = decode -},{}],599:[function(require,module,exports){ +},{}],600:[function(require,module,exports){ /** * Encodes data in bencode. * @@ -107127,9 +107195,9 @@ encode.list = function (buffers, data) { module.exports = encode -},{}],600:[function(require,module,exports){ +},{}],601:[function(require,module,exports){ arguments[4][14][0].apply(exports,arguments) -},{"./decode":598,"./encode":599,"dup":14}],601:[function(require,module,exports){ +},{"./decode":599,"./encode":600,"dup":14}],602:[function(require,module,exports){ /* global Blob */ const bencode = require('bencode') @@ -107385,7 +107453,7 @@ function ensure (bool, fieldName) { // https://github.com/substack/node-browserify/issues/1483 ;((() => { Buffer.alloc(0) }))() -},{"bencode":14,"blob-to-buffer":50,"fs":undefined,"magnet-uri":602,"path":undefined,"simple-get":670,"simple-sha1":672,"uniq":767}],602:[function(require,module,exports){ +},{"bencode":14,"blob-to-buffer":50,"fs":undefined,"magnet-uri":603,"path":undefined,"simple-get":671,"simple-sha1":673,"uniq":767}],603:[function(require,module,exports){ module.exports = magnetURIDecode module.exports.decode = magnetURIDecode module.exports.encode = magnetURIEncode @@ -107523,9 +107591,9 @@ function magnetURIEncode (obj) { return result } -},{"safe-buffer":603,"thirty-two":744,"uniq":767,"xtend":829}],603:[function(require,module,exports){ +},{"safe-buffer":604,"thirty-two":744,"uniq":767,"xtend":830}],604:[function(require,module,exports){ arguments[4][29][0].apply(exports,arguments) -},{"buffer":undefined,"dup":29}],604:[function(require,module,exports){ +},{"buffer":undefined,"dup":29}],605:[function(require,module,exports){ /*! * parseurl * Copyright(c) 2014 Jonathan Ong @@ -107665,7 +107733,7 @@ function fresh(url, parsedUrl) { && parsedUrl._raw === url } -},{"url":undefined}],605:[function(require,module,exports){ +},{"url":undefined}],606:[function(require,module,exports){ 'use strict'; function posix(path) { @@ -107687,7 +107755,7 @@ module.exports = process.platform === 'win32' ? win32 : posix; module.exports.posix = posix; module.exports.win32 = win32; -},{}],606:[function(require,module,exports){ +},{}],607:[function(require,module,exports){ /** * Expose `pathtoRegexp`. */ @@ -107818,7 +107886,7 @@ function pathtoRegexp(path, keys, options) { return new RegExp(path, flags); }; -},{}],607:[function(require,module,exports){ +},{}],608:[function(require,module,exports){ var bittorrentDHT = require('bittorrent-dht') var EventEmitter = require('events').EventEmitter @@ -107854,7 +107922,7 @@ function DHT(infoHash) DHT.prototype.__proto__ = EventEmitter.prototype; module.exports = DHT; -},{"bittorrent-dht":18,"events":undefined}],608:[function(require,module,exports){ +},{"bittorrent-dht":18,"events":undefined}],609:[function(require,module,exports){ var DHT = require("./dht"); var Tracker = require("./tracker"); var events = require("events"); @@ -107939,7 +108007,7 @@ module.exports = function peerSearch(sources, swarm, options) swarm.peerSearch = self; }; -},{"./dht":607,"./tracker":609,"events":undefined}],609:[function(require,module,exports){ +},{"./dht":608,"./tracker":610,"events":undefined}],610:[function(require,module,exports){ var trackerCli = require('bittorrent-tracker') var EventEmitter = require('events').EventEmitter @@ -107966,7 +108034,7 @@ function Tracker(url, opts, infoHash) }; Tracker.prototype.__proto__ = EventEmitter.prototype; module.exports = Tracker; -},{"bittorrent-tracker":33,"events":undefined}],610:[function(require,module,exports){ +},{"bittorrent-tracker":33,"events":undefined}],611:[function(require,module,exports){ var Duplex = require('stream').Duplex || require('readable-stream').Duplex; var EventEmitter = require('events').EventEmitter; var bitfield = require('bitfield'); @@ -108331,7 +108399,7 @@ Wire.prototype._read = noop; module.exports = Wire; -},{"bitfield":611,"bncode":612,"events":undefined,"readable-stream":619,"speedometer":674,"stream":undefined,"util":undefined}],611:[function(require,module,exports){ +},{"bitfield":612,"bncode":613,"events":undefined,"readable-stream":620,"speedometer":675,"stream":undefined,"util":undefined}],612:[function(require,module,exports){ var Container = typeof Buffer !== "undefined" ? Buffer //in node, use buffers : typeof Int8Array !== "undefined" ? Int8Array //in newer browsers, use webgl int8arrays : function(l){ var a=new Array(l); for(var i=0;i @@ -115389,7 +115457,7 @@ function nextTick(fn, arg1, arg2, arg3) { })(this); -},{"bytebuffer":"bytebuffer","fs":undefined,"path":undefined}],623:[function(require,module,exports){ +},{"bytebuffer":"bytebuffer","fs":undefined,"path":undefined}],624:[function(require,module,exports){ /* Copyright 2013 Daniel Wirtz @@ -115409,7 +115477,7 @@ var ProtoBuf = require("./dist/ProtoBuf.js"); module.exports = ProtoBuf; -},{"./dist/ProtoBuf.js":622}],624:[function(require,module,exports){ +},{"./dist/ProtoBuf.js":623}],625:[function(require,module,exports){ /*! * proxy-addr * Copyright(c) 2014-2016 Douglas Christopher Wilson @@ -115738,7 +115806,7 @@ function trustSingle (subnet) { } } -},{"forwarded":309,"ipaddr.js":625}],625:[function(require,module,exports){ +},{"forwarded":310,"ipaddr.js":626}],626:[function(require,module,exports){ (function() { var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex; @@ -116364,7 +116432,7 @@ function trustSingle (subnet) { }).call(this); -},{}],626:[function(require,module,exports){ +},{}],627:[function(require,module,exports){ var once = require('once') var eos = require('end-of-stream') var fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes @@ -116446,11 +116514,11 @@ var pump = function () { module.exports = pump -},{"end-of-stream":228,"fs":undefined,"once":591}],627:[function(require,module,exports){ -arguments[4][281][0].apply(exports,arguments) -},{"dup":281}],628:[function(require,module,exports){ +},{"end-of-stream":228,"fs":undefined,"once":592}],628:[function(require,module,exports){ arguments[4][282][0].apply(exports,arguments) -},{"./formats":627,"./parse":629,"./stringify":630,"dup":282}],629:[function(require,module,exports){ +},{"dup":282}],629:[function(require,module,exports){ +arguments[4][283][0].apply(exports,arguments) +},{"./formats":628,"./parse":630,"./stringify":631,"dup":283}],630:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -116619,7 +116687,7 @@ module.exports = function (str, opts) { return utils.compact(obj); }; -},{"./utils":631}],630:[function(require,module,exports){ +},{"./utils":632}],631:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -116828,7 +116896,7 @@ module.exports = function (object, opts) { return keys.join(delimiter); }; -},{"./formats":627,"./utils":631}],631:[function(require,module,exports){ +},{"./formats":628,"./utils":632}],632:[function(require,module,exports){ 'use strict'; var has = Object.prototype.hasOwnProperty; @@ -117012,7 +117080,7 @@ exports.isBuffer = function (obj) { return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); }; -},{}],632:[function(require,module,exports){ +},{}],633:[function(require,module,exports){ var iterate = function (list) { var offset = 0 return function () { @@ -117033,9 +117101,9 @@ var iterate = function (list) { module.exports = iterate -},{}],633:[function(require,module,exports){ +},{}],634:[function(require,module,exports){ arguments[4][28][0].apply(exports,arguments) -},{"crypto":undefined,"dup":28}],634:[function(require,module,exports){ +},{"crypto":undefined,"dup":28}],635:[function(require,module,exports){ /*! * range-parser * Copyright(c) 2012-2014 TJ Holowaychuk @@ -117100,7 +117168,7 @@ function rangeParser(size, str) { return valid ? arr : -1; } -},{}],635:[function(require,module,exports){ +},{}],636:[function(require,module,exports){ /*! * raw-body * Copyright(c) 2013-2014 Jonathan Ong @@ -117422,11 +117490,11 @@ function readStream (stream, encoding, length, limit, callback) { } } -},{"bytes":121,"iconv-lite":338,"unpipe":768}],636:[function(require,module,exports){ +},{"bytes":121,"iconv-lite":339,"unpipe":768}],637:[function(require,module,exports){ arguments[4][174][0].apply(exports,arguments) -},{"./_stream_readable":638,"./_stream_writable":640,"core-util-is":185,"dup":174,"inherits":341,"process-nextick-args":621}],637:[function(require,module,exports){ +},{"./_stream_readable":639,"./_stream_writable":641,"core-util-is":185,"dup":174,"inherits":342,"process-nextick-args":622}],638:[function(require,module,exports){ arguments[4][175][0].apply(exports,arguments) -},{"./_stream_transform":639,"core-util-is":185,"dup":175,"inherits":341}],638:[function(require,module,exports){ +},{"./_stream_transform":640,"core-util-is":185,"dup":175,"inherits":342}],639:[function(require,module,exports){ 'use strict'; module.exports = Readable; @@ -118368,7 +118436,7 @@ function indexOf(xs, x) { } return -1; } -},{"./_stream_duplex":636,"./internal/streams/BufferList":641,"buffer":undefined,"buffer-shims":117,"core-util-is":185,"events":undefined,"inherits":341,"isarray":348,"process-nextick-args":621,"string_decoder/":740,"util":undefined}],639:[function(require,module,exports){ +},{"./_stream_duplex":637,"./internal/streams/BufferList":642,"buffer":undefined,"buffer-shims":117,"core-util-is":185,"events":undefined,"inherits":342,"isarray":349,"process-nextick-args":622,"string_decoder/":740,"util":undefined}],640:[function(require,module,exports){ // a transform stream is a readable/writable stream where you do // something with the data. Sometimes it's called a "filter", // but that's not a great name for it, since that implies a thing where @@ -118551,7 +118619,7 @@ function done(stream, er, data) { return stream.push(null); } -},{"./_stream_duplex":636,"core-util-is":185,"inherits":341}],640:[function(require,module,exports){ +},{"./_stream_duplex":637,"core-util-is":185,"inherits":342}],641:[function(require,module,exports){ // A bit simpler than readable streams. // Implement an async ._write(chunk, encoding, cb), and it'll handle all // the drain event emission and buffering. @@ -119103,7 +119171,7 @@ function CorkedRequest(state) { } }; } -},{"./_stream_duplex":636,"buffer":undefined,"buffer-shims":117,"core-util-is":185,"events":undefined,"inherits":341,"process-nextick-args":621,"util-deprecate":773}],641:[function(require,module,exports){ +},{"./_stream_duplex":637,"buffer":undefined,"buffer-shims":117,"core-util-is":185,"events":undefined,"inherits":342,"process-nextick-args":622,"util-deprecate":773}],642:[function(require,module,exports){ 'use strict'; var Buffer = require('buffer').Buffer; @@ -119168,7 +119236,7 @@ BufferList.prototype.concat = function (n) { } return ret; }; -},{"buffer":undefined,"buffer-shims":117}],642:[function(require,module,exports){ +},{"buffer":undefined,"buffer-shims":117}],643:[function(require,module,exports){ var Stream = (function (){ try { return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify @@ -119186,7 +119254,7 @@ if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { module.exports = Stream; } -},{"./lib/_stream_duplex.js":636,"./lib/_stream_passthrough.js":637,"./lib/_stream_readable.js":638,"./lib/_stream_transform.js":639,"./lib/_stream_writable.js":640}],643:[function(require,module,exports){ +},{"./lib/_stream_duplex.js":637,"./lib/_stream_passthrough.js":638,"./lib/_stream_readable.js":639,"./lib/_stream_transform.js":640,"./lib/_stream_writable.js":641}],644:[function(require,module,exports){ var getForMkv = require('./mkv') var getForMp4 = require('./mp4') @@ -119200,7 +119268,7 @@ module.exports = { getForMp4: getForMp4 } -},{"./mkv":644,"./mp4":645}],644:[function(require,module,exports){ +},{"./mkv":645,"./mp4":646}],645:[function(require,module,exports){ var mkv = require('matroska') function onlySeekCuesAndTracks() { @@ -119282,7 +119350,7 @@ function getForMkv(url, cb) { module.exports = getForMkv -},{"matroska":507}],645:[function(require,module,exports){ +},{"matroska":508}],646:[function(require,module,exports){ var mp4box = require('mp4box') var needle = require('needle') var fs = require('fs') @@ -119422,7 +119490,7 @@ function getForMp4(url, cb) { module.exports = getForMp4 -},{"fs":undefined,"mp4box":560,"needle":573}],646:[function(require,module,exports){ +},{"fs":undefined,"mp4box":561,"needle":574}],647:[function(require,module,exports){ exports.alphasort = alphasort exports.alphasorti = alphasorti exports.setopts = setopts @@ -119664,7 +119732,7 @@ function childrenIgnored (self, path) { }) } -},{"minimatch":556,"path":undefined,"path-is-absolute":605}],647:[function(require,module,exports){ +},{"minimatch":557,"path":undefined,"path-is-absolute":606}],648:[function(require,module,exports){ // Approach: // // 1. Get the minimatch set @@ -120458,7 +120526,7 @@ Glob.prototype._stat2 = function (f, abs, er, stat, cb) { return cb(null, c, stat) } -},{"./common.js":646,"./sync.js":648,"assert":undefined,"events":undefined,"fs":undefined,"fs.realpath":311,"inflight":340,"inherits":649,"minimatch":556,"once":591,"path":undefined,"path-is-absolute":605,"util":undefined}],648:[function(require,module,exports){ +},{"./common.js":647,"./sync.js":649,"assert":undefined,"events":undefined,"fs":undefined,"fs.realpath":312,"inflight":341,"inherits":650,"minimatch":557,"once":592,"path":undefined,"path-is-absolute":606,"util":undefined}],649:[function(require,module,exports){ module.exports = globSync globSync.GlobSync = GlobSync @@ -120946,7 +121014,7 @@ GlobSync.prototype._makeAbs = function (f) { return common.makeAbs(this, f) } -},{"./common.js":646,"./glob.js":647,"assert":undefined,"fs":undefined,"fs.realpath":311,"minimatch":556,"path":undefined,"path-is-absolute":605,"util":undefined}],649:[function(require,module,exports){ +},{"./common.js":647,"./glob.js":648,"assert":undefined,"fs":undefined,"fs.realpath":312,"minimatch":557,"path":undefined,"path-is-absolute":606,"util":undefined}],650:[function(require,module,exports){ try { var util = require('util'); /* istanbul ignore next */ @@ -120957,7 +121025,7 @@ try { module.exports = require('./inherits_browser.js'); } -},{"./inherits_browser.js":650,"util":undefined}],650:[function(require,module,exports){ +},{"./inherits_browser.js":651,"util":undefined}],651:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -120986,7 +121054,7 @@ if (typeof Object.create === 'function') { } } -},{}],651:[function(require,module,exports){ +},{}],652:[function(require,module,exports){ module.exports = rimraf rimraf.sync = rimrafSync @@ -121331,7 +121399,7 @@ function rmkidsSync (p, options) { options.rmdirSync(p, options) } -},{"assert":undefined,"fs":undefined,"glob":647,"path":undefined}],652:[function(require,module,exports){ +},{"assert":undefined,"fs":undefined,"glob":648,"path":undefined}],653:[function(require,module,exports){ /*! * router * Copyright(c) 2013 Roman Shtylman @@ -122069,7 +122137,7 @@ function wrap(old, fn) { } } -},{"./lib/layer":653,"./lib/route":654,"array-flatten":6,"debug":"debug","methods":548,"parseurl":604,"setprototypeof":668,"utils-merge":774}],653:[function(require,module,exports){ +},{"./lib/layer":654,"./lib/route":655,"array-flatten":6,"debug":"debug","methods":549,"parseurl":605,"setprototypeof":669,"utils-merge":774}],654:[function(require,module,exports){ /*! * router * Copyright(c) 2013 Roman Shtylman @@ -122251,7 +122319,7 @@ function decode_param(val){ } } -},{"debug":"debug","path-to-regexp":606}],654:[function(require,module,exports){ +},{"debug":"debug","path-to-regexp":607}],655:[function(require,module,exports){ /*! * router * Copyright(c) 2013 Roman Shtylman @@ -122480,7 +122548,7 @@ methods.forEach(function (method) { } }) -},{"./layer":653,"array-flatten":6,"debug":"debug","methods":548}],655:[function(require,module,exports){ +},{"./layer":654,"array-flatten":6,"debug":"debug","methods":549}],656:[function(require,module,exports){ module.exports = function (tasks, cb) { var results, pending, keys var isSync = true @@ -122528,7 +122596,7 @@ module.exports = function (tasks, cb) { isSync = false } -},{}],656:[function(require,module,exports){ +},{}],657:[function(require,module,exports){ module.exports = function (tasks, cb) { var current = 0 var results = [] @@ -122554,7 +122622,7 @@ module.exports = function (tasks, cb) { isSync = false } -},{}],657:[function(require,module,exports){ +},{}],658:[function(require,module,exports){ ;(function (sax) { // wrapper for non-node envs sax.parser = function (strict, opt) { return new SAXParser(strict, opt) } sax.SAXParser = SAXParser @@ -124132,7 +124200,7 @@ module.exports = function (tasks, cb) { } })(typeof exports === 'undefined' ? this.sax = {} : exports) -},{"stream":undefined,"string_decoder":undefined}],658:[function(require,module,exports){ +},{"stream":undefined,"string_decoder":undefined}],659:[function(require,module,exports){ /*! * send * Copyright(c) 2012 TJ Holowaychuk @@ -125264,15 +125332,15 @@ function setHeaders (res, headers) { } } -},{"debug":"debug","depd":206,"destroy":210,"encodeurl":227,"escape-html":232,"etag":233,"fresh":310,"fs":undefined,"http-errors":315,"mime":663,"ms":561,"on-finished":590,"path":undefined,"range-parser":665,"statuses":667,"stream":undefined,"util":undefined}],659:[function(require,module,exports){ -arguments[4][254][0].apply(exports,arguments) -},{"./debug":660,"dup":254}],660:[function(require,module,exports){ +},{"debug":"debug","depd":206,"destroy":210,"encodeurl":227,"escape-html":233,"etag":234,"fresh":311,"fs":undefined,"http-errors":316,"mime":664,"ms":562,"on-finished":591,"path":undefined,"range-parser":666,"statuses":668,"stream":undefined,"util":undefined}],660:[function(require,module,exports){ arguments[4][255][0].apply(exports,arguments) -},{"dup":255,"ms":561}],661:[function(require,module,exports){ +},{"./debug":661,"dup":255}],661:[function(require,module,exports){ +arguments[4][256][0].apply(exports,arguments) +},{"dup":256,"ms":562}],662:[function(require,module,exports){ arguments[4][203][0].apply(exports,arguments) -},{"./browser.js":659,"./node.js":662,"dup":203}],662:[function(require,module,exports){ -arguments[4][257][0].apply(exports,arguments) -},{"./debug":660,"dup":257,"fs":undefined,"net":undefined,"tty":undefined,"util":undefined}],663:[function(require,module,exports){ +},{"./browser.js":660,"./node.js":663,"dup":203}],663:[function(require,module,exports){ +arguments[4][258][0].apply(exports,arguments) +},{"./debug":661,"dup":258,"fs":undefined,"net":undefined,"tty":undefined,"util":undefined}],664:[function(require,module,exports){ var path = require('path'); var fs = require('fs'); @@ -125382,18 +125450,18 @@ mime.charsets = { module.exports = mime; -},{"./types.json":664,"fs":undefined,"path":undefined}],664:[function(require,module,exports){ +},{"./types.json":665,"fs":undefined,"path":undefined}],665:[function(require,module,exports){ module.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":["woff"],"application/font-woff2":["woff2"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["exe"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["prc","pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["3gpp"],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":["mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":["wav"],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["ra"],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/otf":["otf"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jpeg":["jpeg","jpg","jpe"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["bmp"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":["rtf"],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":["xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]} -},{}],665:[function(require,module,exports){ -arguments[4][286][0].apply(exports,arguments) -},{"dup":286}],666:[function(require,module,exports){ -arguments[4][299][0].apply(exports,arguments) -},{"dup":299}],667:[function(require,module,exports){ +},{}],666:[function(require,module,exports){ +arguments[4][287][0].apply(exports,arguments) +},{"dup":287}],667:[function(require,module,exports){ arguments[4][300][0].apply(exports,arguments) -},{"./codes.json":666,"dup":300}],668:[function(require,module,exports){ -arguments[4][293][0].apply(exports,arguments) -},{"dup":293}],669:[function(require,module,exports){ +},{"dup":300}],668:[function(require,module,exports){ +arguments[4][301][0].apply(exports,arguments) +},{"./codes.json":667,"dup":301}],669:[function(require,module,exports){ +arguments[4][294][0].apply(exports,arguments) +},{"dup":294}],670:[function(require,module,exports){ module.exports = function (stream, cb) { var chunks = [] stream.on('data', function (chunk) { @@ -125409,7 +125477,7 @@ module.exports = function (stream, cb) { }) } -},{}],670:[function(require,module,exports){ +},{}],671:[function(require,module,exports){ module.exports = simpleGet const concat = require('simple-concat') @@ -125509,7 +125577,7 @@ simpleGet.concat = (opts, cb) => { } }) -},{"decompress-response":205,"http":undefined,"https":undefined,"once":591,"querystring":undefined,"simple-concat":669,"url":undefined}],671:[function(require,module,exports){ +},{"decompress-response":205,"http":undefined,"https":undefined,"once":592,"querystring":undefined,"simple-concat":670,"url":undefined}],672:[function(require,module,exports){ /* global Blob */ module.exports = Peer @@ -126059,9 +126127,9 @@ Peer.prototype._debug = function () { function noop () {} -},{"debug":"debug","get-browser-rtc":313,"hat":314,"inherits":341,"is-typedarray":347,"once":591,"stream":undefined}],672:[function(require,module,exports){ +},{"debug":"debug","get-browser-rtc":314,"hat":315,"inherits":342,"is-typedarray":348,"once":592,"stream":undefined}],673:[function(require,module,exports){ arguments[4][30][0].apply(exports,arguments) -},{"crypto":undefined,"dup":30}],673:[function(require,module,exports){ +},{"crypto":undefined,"dup":30}],674:[function(require,module,exports){ /* global Blob */ module.exports = Socket @@ -126299,7 +126367,7 @@ Socket.prototype._onError = function (err) { self._destroy(err) } -},{"debug":"debug","inherits":341,"is-typedarray":347,"stream":undefined,"ws":784}],674:[function(require,module,exports){ +},{"debug":"debug","inherits":342,"is-typedarray":348,"stream":undefined,"ws":785}],675:[function(require,module,exports){ var tick = 1 var maxTick = 65535 var resolution = 4 @@ -126335,11 +126403,11 @@ module.exports = function(seconds) { return buffer.length < resolution ? top : (top - btm) * resolution / buffer.length } } -},{}],675:[function(require,module,exports){ -arguments[4][294][0].apply(exports,arguments) -},{"dup":294}],676:[function(require,module,exports){ +},{}],676:[function(require,module,exports){ arguments[4][295][0].apply(exports,arguments) -},{"./codes.json":675,"dup":295}],677:[function(require,module,exports){ +},{"dup":295}],677:[function(require,module,exports){ +arguments[4][296][0].apply(exports,arguments) +},{"./codes.json":676,"dup":296}],678:[function(require,module,exports){ const express = require('express') const cors = require('cors') const http = require('http') @@ -126453,9 +126521,9 @@ module.exports = function Addon(manifest) { } -},{"./publishToCentral":682,"./publishToDir":683,"cors":186,"express":234,"http":undefined,"querystring":undefined,"stremio-addon-linter":680}],678:[function(require,module,exports){ -arguments[4][231][0].apply(exports,arguments) -},{"dup":231,"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],679:[function(require,module,exports){ +},{"./publishToCentral":683,"./publishToDir":684,"cors":186,"express":235,"http":undefined,"querystring":undefined,"stremio-addon-linter":681}],679:[function(require,module,exports){ +arguments[4][232][0].apply(exports,arguments) +},{"dup":232,"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],680:[function(require,module,exports){ exports = module.exports = SemVer; // The debug function is excluded entirely from the minified version. @@ -127781,10 +127849,10 @@ function coerce(version) { return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); } -},{}],680:[function(require,module,exports){ +},{}],681:[function(require,module,exports){ module.exports = require('./lib/linter') -},{"./lib/linter":681}],681:[function(require,module,exports){ +},{"./lib/linter":682}],682:[function(require,module,exports){ const semver = require('semver') function lintManifest(manifest) { @@ -127872,7 +127940,7 @@ module.exports = { lintCollection: lintCollection, } -},{"semver":679}],682:[function(require,module,exports){ +},{"semver":680}],683:[function(require,module,exports){ const fetch = require('node-fetch') const DEFAULT_API_URL = 'https://api.strem.io' @@ -127891,7 +127959,7 @@ module.exports = function publishToCentral(addonURL, apiURL) { return resp.result }) } -},{"node-fetch":"node-fetch"}],683:[function(require,module,exports){ +},{"node-fetch":"node-fetch"}],684:[function(require,module,exports){ const mkdirp = require('mkdirp') const path = require('path') const fs = require('fs') @@ -127951,7 +128019,7 @@ function commitRes(endPath, res) { } module.exports = publishToDir -},{"fs":undefined,"mkdirp":558,"path":undefined}],684:[function(require,module,exports){ +},{"fs":undefined,"mkdirp":559,"path":undefined}],685:[function(require,module,exports){ var events = require("events"); var namedQueue = require("named-queue"); @@ -128019,7 +128087,7 @@ HLS.subsReceiveMiddleware = subtitlesapi.subsReceiveMiddleware; HLS.thumbMiddleware = thumbapi.thumbMiddleware; -},{"./src/locator-api.js":687,"./src/master-playlists-api.js":688,"./src/segment-api.js":689,"./src/stream-playlist-api.js":690,"./src/subtitles-api.js":691,"./src/thumb-api.js":692,"./src/video-api.js":693,"async":7,"events":undefined,"named-queue":568}],685:[function(require,module,exports){ +},{"./src/locator-api.js":688,"./src/master-playlists-api.js":689,"./src/segment-api.js":690,"./src/stream-playlist-api.js":691,"./src/subtitles-api.js":692,"./src/thumb-api.js":693,"./src/video-api.js":694,"async":7,"events":undefined,"named-queue":569}],686:[function(require,module,exports){ var common = module.exports; var once = require("once"); @@ -128119,7 +128187,7 @@ common.init = function(pathsParam, convertQueueParam){ convertQueue = convertQueueParam; } -},{"child_process":undefined,"end-of-stream":228,"once":591}],686:[function(require,module,exports){ +},{"child_process":undefined,"end-of-stream":228,"once":592}],687:[function(require,module,exports){ module.exports = segmentMiddlewareArgs = { start: { any: [ @@ -128177,7 +128245,7 @@ module.exports = segmentMiddlewareArgs = { } } -},{}],687:[function(require,module,exports){ +},{}],688:[function(require,module,exports){ var path = require("path"); var fs = require("fs"); @@ -128207,7 +128275,7 @@ locatorapi.locateAllExecutables = function(commandsSearchIn) { locatorapi.init = function(pathsParam){ paths = pathsParam; }; -},{"fs":undefined,"path":undefined}],688:[function(require,module,exports){ +},{"fs":undefined,"path":undefined}],689:[function(require,module,exports){ var common = require("./helpers/common.js"); var languageNames = require("stremio-json-data").languageNames; var url = require('url'); @@ -128284,7 +128352,7 @@ masterPlaylistApi.init= function(prepareQueueParam, allSubsParam){ prepareQueue = prepareQueueParam; allSubs = allSubsParam; } -},{"./helpers/common.js":685,"stremio-json-data":694,"url":undefined}],689:[function(require,module,exports){ +},{"./helpers/common.js":686,"stremio-json-data":695,"url":undefined}],690:[function(require,module,exports){ var common = require("./helpers/common.js"); var once = require("once"); @@ -128494,7 +128562,7 @@ segmentApi.init = function(pathsParam, prepareQueueParam, convertQueueParam){ common.init(paths, convertQueue); } -},{"./helpers/common.js":685,"./helpers/ffmpeg-args.js":686,"child_process":undefined,"once":591}],690:[function(require,module,exports){ +},{"./helpers/common.js":686,"./helpers/ffmpeg-args.js":687,"child_process":undefined,"once":592}],691:[function(require,module,exports){ var common = require("./helpers/common.js"); var streamPlaylistApi = module.exports; @@ -128546,7 +128614,7 @@ streamPlaylistApi.init = function(prepareQueueParam){ prepareQueue = prepareQueueParam; } -},{"./helpers/common.js":685}],691:[function(require,module,exports){ +},{"./helpers/common.js":686}],692:[function(require,module,exports){ var common = require("./helpers/common.js"); var subtitlesApi = module.exports; @@ -128590,7 +128658,7 @@ subtitlesApi.init= function(prepareQueueParam, allSubsParam,evsParams){ allSubs = allSubsParam; evs = evsParams; } -},{"./helpers/common.js":685}],692:[function(require,module,exports){ +},{"./helpers/common.js":686}],693:[function(require,module,exports){ var common = require("./helpers/common.js"); var videoapi = require('./video-api.js'); @@ -128622,7 +128690,7 @@ thumbApi.init = function(pathsParam, convertQueueParam){ common.init(paths, convertQueue); } -},{"./helpers/common.js":685,"./video-api.js":693}],693:[function(require,module,exports){ +},{"./helpers/common.js":686,"./video-api.js":694}],694:[function(require,module,exports){ var common = require("./helpers/common.js"); var once = require("once"); var child = require("child_process"); @@ -128835,14 +128903,14 @@ videoApi.init = function(pathsParam, prepareQueueParam){ prepareQueue = prepareQueueParam; } -},{"./helpers/common.js":685,"byline":118,"child_process":undefined,"once":591,"retrieve-keyframes":643}],694:[function(require,module,exports){ +},{"./helpers/common.js":686,"byline":118,"child_process":undefined,"once":592,"retrieve-keyframes":644}],695:[function(require,module,exports){ module.exports = { languageNames: require("./languagesNames.json"), languageMap: require("./languagesISO639-to-ISO639-2.json"), languageForCountry: require("./languagesForCountryISO639-2.json") } -},{"./languagesForCountryISO639-2.json":695,"./languagesISO639-to-ISO639-2.json":696,"./languagesNames.json":697}],695:[function(require,module,exports){ +},{"./languagesForCountryISO639-2.json":696,"./languagesISO639-to-ISO639-2.json":697,"./languagesNames.json":698}],696:[function(require,module,exports){ module.exports={ "AD": [ "cat" @@ -129941,13 +130009,13 @@ module.exports={ ] } -},{}],696:[function(require,module,exports){ +},{}],697:[function(require,module,exports){ module.exports={"aa":"aar","ab":"abk","af":"afr","ak":"aka","sq":"sqi","am":"amh","ar":"ara","an":"arg","hy":"hye","as":"asm","av":"ava","ae":"ave","ay":"aym","az":"aze","ba":"bak","bm":"bam","eu":"eus","be":"bel","bn":"ben","bh":"bih","bi":"bis","bo":"bod","bs":"bos","br":"bre","bg":"bul","my":"mya","ca":"cat","cs":"ces","ch":"cha","ce":"che","zh":"zho","cu":"chu","cv":"chv","kw":"cor","co":"cos","cr":"cre","cy":"cym","da":"dan","de":"ger","dv":"div","nl":"nld","dz":"dzo","el":"ell","en":"eng","eo":"epo","et":"est","ee":"ewe","fo":"fao","fa":"fas","fj":"fij","fi":"fin","fr":"fre","fy":"fry","ff":"ful","ka":"kat","gd":"gla","ga":"gle","gl":"glg","gv":"glv","gn":"grn","gu":"guj","ht":"hat","ha":"hau","he":"heb","hz":"her","hi":"hin","ho":"hmo","hr":"hrv","hu":"hun","ig":"ibo","is":"isl","io":"ido","ii":"iii","iu":"iku","ie":"ile","ia":"ina","id":"ind","ik":"ipk","it":"ita","jv":"jav","ja":"jpn","kl":"kal","kn":"kan","ks":"kas","kr":"kau","kk":"kaz","km":"khm","ki":"kik","rw":"kin","ky":"kir","kv":"kom","kg":"kon","ko":"kor","kj":"kua","ku":"kur","lo":"lao","la":"lat","lv":"lav","li":"lim","ln":"lin","lt":"lit","lb":"ltz","lu":"lub","lg":"lug","mk":"mkd","mh":"mah","ml":"mal","mi":"mri","mr":"mar","ms":"msa","mg":"mlg","mt":"mlt","mn":"mon","na":"nau","nv":"nav","nr":"nbl","nd":"nde","ng":"ndo","ne":"nep","nn":"nno","nb":"nob","no":"nor","ny":"nya","oc":"oci","oj":"oji","or":"ori","om":"orm","os":"oss","pa":"pan","pi":"pli","pl":"pol","pt":"por","ps":"pus","qu":"que","rm":"roh","ro":"ron","rn":"run","ru":"rus","sg":"sag","sa":"san","si":"sin","sk":"slk","sl":"slv","se":"sme","sm":"smo","sn":"sna","sd":"snd","so":"som","st":"sot","es":"spa","sc":"srd","sr":"srp","ss":"ssw","su":"sun","sw":"swa","sv":"swe","ty":"tah","ta":"tam","tt":"tat","te":"tel","tg":"tgk","tl":"tgl","th":"tha","ti":"tir","to":"ton","tn":"tsn","ts":"tso","tk":"tuk","tr":"tur","tw":"twi","ug":"uig","uk":"ukr","ur":"urd","uz":"uzb","ve":"ven","vi":"vie","vo":"vol","wa":"wln","wo":"wol","xh":"xho","yi":"yid","yo":"yor","za":"zha","zu":"zul"} -},{}],697:[function(require,module,exports){ +},{}],698:[function(require,module,exports){ module.exports={"abk":"аҧсуа бызшәа","aar":"Afaraf","afr":"Afrikaans","aka":"Akan","sqi":"gjuha shqipe","amh":"አማርኛ","ara":"العربية","arg":"aragonés","hye":"Հայերեն","asm":"অসমীয়া","ava":"авар мацӀ","ave":"avesta","aym":"aymar aru","aze":"azərbaycan dili","bam":"bamanankan","bak":"башҡорт теле","eus":"euskara","bel":"беларуская мова","ben":"বাংলা","bih":"भोजपुरी","bis":"Bislama","bos":"bosanski jezik","bre":"brezhoneg","bul":"български език","mya":"ဗမာစာ","cat":"català","cha":"Chamoru","che":"нохчийн мотт","nya":"chiCheŵa","zho":"中文 (Zhōngwén)","chv":"чӑваш чӗлхи","cor":"Kernewek","cos":"corsu","cre":"ᓀᐦᐃᔭᐍᐏᐣ","hrv":"hrvatski jezik","ces":"čeština","dan":"dansk","div":"ދިވެހި","nld":"Nederlands","dzo":"རྫོང་ཁ","eng":"English","epo":"Esperanto","est":"eesti","ewe":"Eʋegbe","fao":"føroyskt","fij":"vosa Vakaviti","fin":"suomi","fre":"français","ful":"Fulfulde","glg":"galego","kat":"ქართული","ger":"Deutsch","ell":"ελληνικά","grn":"Avañe'ẽ","guj":"ગુજરાતી","hat":"Kreyòl ayisyen","hau":"Hausa","heb":"עברית","her":"Otjiherero","hin":"हिन्दी","hmo":"Hiri Motu","hun":"magyar","ina":"Interlingua","ind":"Bahasa Indonesia","ile":"Interlingue","gle":"Gaeilge","ibo":"Asụsụ Igbo","ipk":"Iñupiaq","ido":"Ido","isl":"Íslenska","ita":"italiano","iku":"ᐃᓄᒃᑎᑐᑦ","jpn":"日本語 (にほんご)","jav":"basa Jawa","kal":"kalaallisut","kan":"ಕನ್ನಡ","kau":"Kanuri","kas":"कश्मीरी","kaz":"қазақ тілі","khm":"ខ្មែរ","kik":"Gĩkũyũ","kin":"Ikinyarwanda","kir":"Кыргызча","kom":"коми кыв","kon":"KiKongo","kor":"한국어 (韓國語)","kur":"Kurdî","kua":"Kuanyama","lat":"latine","ltz":"Lëtzebuergesch","lug":"Luganda","lim":"Limburgs","lin":"Lingála","lao":"ພາສາລາວ","lit":"lietuvių kalba","lub":"Tshiluba","lav":"latviešu valoda","glv":"Gaelg","mkd":"македонски јазик","mlg":"fiteny malagasy","msa":"bahasa Melayu","mal":"മലയാളം","mlt":"Malti","mri":"te reo Māori","mar":"मराठी","mah":"Kajin M̧ajeļ","mon":"монгол","nau":"Ekakairũ Naoero","nav":"Diné bizaad","nob":"Norsk bokmål","nde":"isiNdebele","nep":"नेपाली","ndo":"Owambo","nno":"Norsk nynorsk","nor":"Norsk","iii":"ꆈꌠ꒿ Nuosuhxop","nbl":"isiNdebele","oci":"occitan","oji":"ᐊᓂᔑᓈᐯᒧᐎᓐ","chu":"ѩзыкъ словѣньскъ","orm":"Afaan Oromoo","ori":"ଓଡ଼ିଆ","oss":"ирон æвзаг","pan":"ਪੰਜਾਬੀ","pli":"पाऴि","fas":"فارسی","pol":"język polski","pus":"پښتو","por":"português", "pob": "português Brazil","que":"Runa Simi","roh":"rumantsch grischun","run":"Ikirundi","ron":"limba română","rus":"русский язык","san":"संस्कृतम्","srd":"sardu","snd":"सिन्धी","sme":"Davvisámegiella","smo":"gagana fa'a Samoa","sag":"yângâ tî sängö","srp":"српски језик","gla":"Gàidhlig","sna":"chiShona","sin":"සිංහල","slk":"slovenčina","slv":"slovenski jezik","som":"Soomaaliga","sot":"Sesotho","spa":"español","sun":"Basa Sunda","swa":"Kiswahili","ssw":"SiSwati","swe":"Svenska","tam":"தமிழ்","tel":"తెలుగు","tgk":"тоҷикӣ","tha":"ไทย","tir":"ትግርኛ","bod":"བོད་ཡིག","tuk":"Türkmen","tgl":"Wikang Tagalog","tsn":"Setswana","ton":"faka Tonga","tur":"Türkçe","tso":"Xitsonga","tat":"татар теле","twi":"Twi","tah":"Reo Tahiti","uig":"Uyƣurqə","ukr":"українська мова","urd":"اردو","uzb":"O'zbek","ven":"Tshivenḓa","vie":"Tiếng Việt","vol":"Volapük","wln":"walon","cym":"Cymraeg","wol":"Wollof","fry":"Frysk","xho":"isiXhosa","yid":"ייִדיש","yor":"Yorùbá","zha":"Saɯ cueŋƅ","zul":"isiZulu"} -},{}],698:[function(require,module,exports){ +},{}],699:[function(require,module,exports){ const addonSDK = require('stremio-addon-sdk') const fs = require('fs') @@ -130059,7 +130127,7 @@ function indexLog(fPath, status) { module.exports = { addon, setEngineUrl, startIndexing } -},{"./lib/catalogHandler":699,"./lib/findFiles":702,"./lib/indexer":705,"./lib/manifest":706,"./lib/manifestNoCatalogs":707,"./lib/mapEntryToMeta":708,"./lib/metaHandler":709,"./lib/storage":710,"./lib/streamHandler":711,"fs":undefined,"stremio-addon-sdk":677}],699:[function(require,module,exports){ +},{"./lib/catalogHandler":700,"./lib/findFiles":703,"./lib/indexer":706,"./lib/manifest":707,"./lib/manifestNoCatalogs":708,"./lib/mapEntryToMeta":709,"./lib/metaHandler":710,"./lib/storage":711,"./lib/streamHandler":712,"fs":undefined,"stremio-addon-sdk":678}],700:[function(require,module,exports){ const consts = require('./consts') function catalogHandler(storage, metaStorage, args, cb) { @@ -130086,7 +130154,7 @@ function catalogHandler(storage, metaStorage, args, cb) { } module.exports = catalogHandler -},{"./consts":700}],700:[function(require,module,exports){ +},{"./consts":701}],701:[function(require,module,exports){ module.exports = { PREFIX_BT: 'bt:', PREFIX_LOCAL: 'local:', @@ -130098,7 +130166,7 @@ module.exports = { INTERESTING_TYPE: ['movie', 'series'], MAX_INDEXED: 10000, } -},{}],701:[function(require,module,exports){ +},{}],702:[function(require,module,exports){ const child = require('child_process') const byline = require('byline') const events = require('events') @@ -130124,7 +130192,7 @@ function findFilesDarwin() { } module.exports = findFilesDarwin -},{"byline":118,"child_process":undefined,"events":undefined}],702:[function(require,module,exports){ +},{"byline":118,"child_process":undefined,"events":undefined}],703:[function(require,module,exports){ const os = require('os') const findFilesWin = require('./win') @@ -130139,7 +130207,7 @@ if (os.platform() === 'darwin') findFiles = findFilesDarwin module.exports = findFiles -},{"./darwin":701,"./unix":703,"./win":704,"os":undefined}],703:[function(require,module,exports){ +},{"./darwin":702,"./unix":704,"./win":705,"os":undefined}],704:[function(require,module,exports){ const child = require('child_process') const events = require('events') const byline = require('byline') @@ -130200,7 +130268,7 @@ function startIndexing() { module.exports = findFilesUnix -},{"byline":118,"child_process":undefined,"events":undefined,"which":782}],704:[function(require,module,exports){ +},{"byline":118,"child_process":undefined,"events":undefined,"which":783}],705:[function(require,module,exports){ const child = require('child_process') const byline = require('byline') const events = require('events') @@ -130245,7 +130313,7 @@ function findFilesWin() { module.exports = findFilesWin -},{"byline":118,"child_process":undefined,"events":undefined}],705:[function(require,module,exports){ +},{"byline":118,"child_process":undefined,"events":undefined}],706:[function(require,module,exports){ const parseTorrent = require('parse-torrent') const fs = require('fs') const path = require('path') @@ -130383,7 +130451,7 @@ module.exports = { indexParsedTorrent } -},{"./consts":700,"fs":undefined,"name-to-imdb":565,"parse-torrent":601,"path":undefined,"util":undefined,"video-name-parser":713}],706:[function(require,module,exports){ +},{"./consts":701,"fs":undefined,"name-to-imdb":566,"parse-torrent":602,"path":undefined,"util":undefined,"video-name-parser":780}],707:[function(require,module,exports){ const consts = require('./consts') const pkg = require('../package') @@ -130408,14 +130476,14 @@ module.exports = { { type: 'other', id: 'local' }, ] } -},{"../package":714,"./consts":700}],707:[function(require,module,exports){ +},{"../package":714,"./consts":701}],708:[function(require,module,exports){ const manifest = require('./manifest') const manifestNoCatalogs = Object.assign({}, manifest) manifestNoCatalogs.name += ' (without catalog support)' manifestNoCatalogs.catalogs = [] manifestNoCatalogs.resources = manifest.resources.filter(resource => (resource.name != 'catalog' && resource != 'catalog')) module.exports = manifestNoCatalogs -},{"./manifest":706}],708:[function(require,module,exports){ +},{"./manifest":707}],709:[function(require,module,exports){ const fetch = require('node-fetch') const consts = require('./consts') @@ -130464,7 +130532,7 @@ function mapEntryToMeta(entry) { module.exports = mapEntryToMeta -},{"./consts":700,"node-fetch":"node-fetch"}],709:[function(require,module,exports){ +},{"./consts":701,"node-fetch":"node-fetch"}],710:[function(require,module,exports){ const fetch = require('node-fetch') const indexer = require('./indexer') @@ -130548,7 +130616,7 @@ function mapFile(entry, uxTime, file, index) { } module.exports = metaHandler -},{"./consts":700,"./indexer":705,"./mapEntryToMeta":708,"node-fetch":"node-fetch"}],710:[function(require,module,exports){ +},{"./consts":701,"./indexer":706,"./mapEntryToMeta":709,"node-fetch":"node-fetch"}],711:[function(require,module,exports){ const pkg = require('../package') var fs = require('fs') var byline = require('byline') @@ -130681,7 +130749,7 @@ function Storage(opts) { } module.exports = Storage -},{"../package":714,"byline":118,"fs":undefined,"util":undefined}],711:[function(require,module,exports){ +},{"../package":714,"byline":118,"fs":undefined,"util":undefined}],712:[function(require,module,exports){ const path = require('path') const consts = require('./consts') @@ -130745,7 +130813,7 @@ function getFileVideoId(f) { } module.exports = streamHandler -},{"./consts":700,"path":undefined}],712:[function(require,module,exports){ +},{"./consts":701,"path":undefined}],713:[function(require,module,exports){ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); @@ -132389,348 +132457,7 @@ exports.Request = Request; exports.Response = Response; exports.FetchError = FetchError; -},{"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],713:[function(require,module,exports){ -/* - * Constants - * */ -var maxSegments = 3; - -var movieKeywords = ["1080p", "720p", "480p", "blurayrip", "brrip", "divx", "dvdrip", "hdrip", "hdtv", "tvrip", "xvid", "camrip"]; - -// Excluded is an object we use to exclude those keywords from consideration for detecting strings like "season X" -var excluded = { }; -movieKeywords.forEach(function(x) { excluded[x] = 1 }); - -var SEGMENTS_SPLIT = /\.| |-|;|_/g; -var MATCH_FILES = /.mp4$|.mkv$|.avi$/; -var minYear = 1900, maxYear = 2030; - -/* - * TWO REFERENCES - * * http://wiki.xbmc.org/index.php?title=Adding_videos_to_the_library/Naming_files/TV_shows - * * http://wiki.xbmc.org/index.php?title=Advancedsettings.xml#.3Ctvshowmatching.3E - */ - - -function simplifyName(n) { - return n.toLowerCase() - .trim() - .replace(/\([^\(]+\)$/, "") // remove brackets at end - .replace(/&/g, "and") - .replace(/[^0-9a-z ]+/g, " ") // remove special chars - .split(" ").filter(function(r){return r}).join(" ") -}; - -function parseVideoName(filePath, options) -{ - //if (! filePath.match(MATCH_FILES)) return { type: "other" }; - - var options = options || {}; - var meta = {}; - - var segments = filePath - .replace(/\\/g, "/") // Support Windows slashes, lol - .split("/") - .reverse() - .filter(function(x) { return x }) - .slice(0, maxSegments); - var firstNameSplit = segments[0].split(/\.| |_/); - - /* - * Helpers to validate if we have found the proper metadata - */ - function saneSeason() - { - return meta.hasOwnProperty("season") && !isNaN(meta.season) - }; - function saneEpisode() - { - return Array.isArray(meta.episode) && meta.episode.length - }; - - /* - * Test for a year in the name - * */ - [segments[0], segments[1]].filter(function(x){return x}).forEach(function(seg) - { - var regex = /\b\d{4}\b/g - var matches - - while (matches = regex.exec(seg)) - { - var number = parseInt(matches[0], 10); - if (number >= minYear && number <= maxYear) - meta.year = number - } - }); - - /* - * Test for "aired" stamp; if aired stamp is there, we have a series - */ - var pad = function(x) { return ("00"+x).slice(-2) }; - [segments[0], segments[1]].filter(function(x){return x}).forEach(function(seg) - { - var aired = seg.match(/(\d\d\d\d)(\.|-| )(\d\d)(\.|-| )(\d\d)/); - if (aired && aired[1]) - { - var year = parseInt(aired[1], 10); - if (year >= minYear && year <= maxYear) - meta.aired = [year, pad(aired[3]), pad(aired[5])].join("-"); - } - }); - - /* - * A typical pattern - "s05e12", "S01E01", etc. ; can be only "E01" - * Those are matched only in the file name - * - * TODO: this stamp may be in another segment (e.g. directory name) - * */ - [segments[0], segments[1]].forEach(function(seg) { - if (seg) seg.split(/\.| |_/).forEach(function(x, i) - { - /* - * Card type one - */ - var seasonMatch = x.match(/S(\d{1,2})/i); /* TODO: bug: uc-css4cd2.avi is a false positive */ - if (seasonMatch) - meta.season = parseInt(seasonMatch[1], 10); - - /* TODO: consider the case when a hyphen is used for multiple episodes ; e.g. e1-3 */ - var episodeMatch = x.match(/E(\d{2})/ig); - if (episodeMatch) - meta.episode = episodeMatch.map(function(y) { return parseInt(y.slice(1), 10) }); - - /* - * 01x20 - */ - var xStampMatch = x.match(/(\d\d?)x(\d\d?)/i); - if (xStampMatch) - { - meta.season = parseInt(xStampMatch[1], 10); - meta.episode = [ parseInt(xStampMatch[2], 10) ]; - } - // if (otherCardMatch) - }); - - /* Extract name from this match */ - var fullMatch = seg && seg.replace(/\.| |;|_/g, " ").match(/^([a-zA-Z0-9,-?!'& ]*) S(\d{1,2})E(\d{2})/i); - if (!meta.name && meta.season && meta.episode && fullMatch && fullMatch[1]) meta.name = fullMatch[1]; - // TODO: consider not going through simplifyName - }); - - /* - * This stamp must be tested before splitting (by dot) - * a pattern of the kind [4.02] - * This pattern should be arround characters which are not digits and not letters - * */ - - var dotStampMatch = segments[0].match(/[^\da-zA-Z](\d\d?)\.(\d\d?)[^\da-zA-Z]/i); - if (! (saneSeason() && saneEpisode()) && dotStampMatch && !meta.year) // exclude meta.year to avoid confusing movie matches - especially if they contain 5.1 for suround sound - { - meta.season = parseInt(dotStampMatch[1], 10); - meta.episode = [ parseInt(dotStampMatch[2], 10) ]; - } - - /* - * A stamp of the style "804", meaning season 8, episode 4 - * */ - if (!(saneSeason() && saneEpisode()) && !options.strict) - { - var stamp = firstNameSplit - .reverse() /* search from the end */ - .map(function(x) - { - if (x.match(new RegExp("\\d\\d\\d\\d?e"))) x = x.slice(0, -1); /* This is a weird case, but I've seen it: dexter.801e.720p.x264-kyr.mkv */ - if (x.match(new RegExp("s\\d\\d\\d\\d?"))) x = x.slice(1); /* I've never seen this, but it might happen */ - return x; - }) - .filter(function(x) - { - return !isNaN(x) && (x.length == 3 || (!meta.year && x.length == 4)) /* 4-digit only allowed if this has not been identified as a year */ - })[0]; /* Notice how always the first match is choosen ; the second might be a part of the episode name (e.g. "Southpark - 102 - weight gain 4000"); - * that presumes episode number/stamp comes before the name, which is where most human beings would put it */ - - /* Since this one is risky, do it only if we haven't matched a year (most likely not a movie) or if year is BEFORE stamp, like: show.2014.801.mkv */ - if (stamp && (!meta.year || (meta.year && (firstNameSplit.indexOf(stamp.toString()) < firstNameSplit.indexOf(meta.year.toString()))))) - { - meta.episode = [ parseInt(stamp.slice(-2), 10) ]; - meta.season = parseInt(stamp.slice(0, -2), 10); - } - } - - /* - * "season 1", "season.1", "season1" - * */ - if (! saneSeason()) - { - var seasonMatch = segments.join("/").match(/season(\.| )?(\d{1,2})/ig); - if (seasonMatch) - meta.season = parseInt(seasonMatch[0].match(/\d/g).join(""), 10); - - var seasonEpMatch = segments.join("/").match(/Season (\d{1,2}) - (\d{1,2})/i); - if (seasonEpMatch) { - meta.season = parseInt(seasonEpMatch[1], 10); - meta.episode = [ parseInt(seasonEpMatch[2], 10) ]; - } - } - - - /* - * "episode 13", "episode.13", "episode13", "ep13", etc. - * */ - if (! saneEpisode()) - { - /* TODO: consider the case when a hyphen is used for multiple episodes ; e.g. e1-3*/ - var episodeMatch = segments.join("/").match(/ep(isode)?(\.| )?(\d+)/ig); - if (episodeMatch) - meta.episode = [ parseInt(episodeMatch[0].match(/\d/g).join(""), 10) ]; - } - - /* - * Try plain number - * This will lead to more false positives than true positives; disabling - * / - /* - if (saneSeason() && !saneEpisode()) - { - var epNumbers = firstNameSplit - .filter(function(x) { return !isNaN(x) && (x.length == 2 || x.length == 1) }) - .map(function(x) { return parseInt(x, 10) }) - - if (epNumbers.length) - meta.episode = epNumbers; - }*/ - - /* - * If still nothing, the number from the second dir can be used, if the first dir has the show name?? - * - * OR, split everything by everything (hyphens, underscores), filter for numbers between 1 and 30 and use the assumption that the episode is on the rightmost and the series is left from it - * (unless the numbers are a part of a date stamp) - * */ - - /* - * Which part (for movies which are split into .cd1. and .cd2., etc.. files) - * TODO: WARNING: this assumes it's in the filename segment - * - * */ - var diskNumberMatch = segments[0].match(/[ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*(\d)[^\d]/); /* weird regexp? */ - if (diskNumberMatch) - meta.diskNumber = parseInt(diskNumberMatch[1], 10); - - /* - * The name of the series / movie - * */ - var isSample; - - (options.fromInside ? segments : [].concat(segments).reverse()).forEach(function(seg, i) - { - if (seg == segments[0]) { - seg = seg.split(".").slice(0, -1).join("."); /* Remove extension */ - - var sourcePrefix = seg.match(/^\[(.*?)\]/) - if (sourcePrefix) seg = seg.slice(sourcePrefix[0].length) - } - - /* - * WARNING: we must change how this works in order to handle cases like - * "the office[1.01]" as well as "the office [1.01]"; if we split those at '[' or ']', we will get the name "the office 1 10" - * For now, here's a hack to fix this - */ - var squareBracket = seg.indexOf("["); - if (squareBracket > -1) seg = seg.slice(0, squareBracket); - - //var segSplit = seg.split(/\.| |-|\[|\]|;|_/), - var segSplit = seg.split(SEGMENTS_SPLIT), - word, - nameParts = []; - - isSample = isSample || seg.match(/^sample/i)|| seg.match(/^etrg/i); - - /* No need to go further; */ - if (meta.name) - return; - - var lastIndex; - segSplit.some(function(word, i) - { - lastIndex = i; - /* words with basic punctuation and two-digit numbers; or numbers in the first position */ - if (! (word.match("^[a-zA-Z,?!'&]*$") || (!isNaN(word) && word.length <= 2) || (!isNaN(word) && i==0)) - || excluded[word.toLowerCase()] - || ((["ep", "episode", "season"].indexOf(word.toLowerCase()) > -1) && !isNaN(segSplit[i+1])) // TODO: more than that, match for stamp too - ) - return true; - - nameParts.push(word); - }); - if (nameParts.length == 1 && !isNaN(nameParts[0])) return; /* Only a number: unacceptable */ - - meta.name = nameParts - .filter(function(x) { return x && x.length > 0 }) - .map(function(x) { return x[0].toUpperCase() + x.slice(1).toLowerCase() }) - .join(" "); - }); - - isSample = isSample || ((segments[1] || "").toLowerCase() == "sample"); /* The directory where the file resides */ - - /* - * This is the time to decide the category of this video - */ - var canBeMovie; - if (options.strict) canBeMovie = meta.hasOwnProperty("year"); - else canBeMovie = meta.hasOwnProperty("year") || meta.hasOwnProperty("diskNumber") || movieKeywords.some(function(keyword) { return segments.join("/").toLowerCase().search(keyword) > -1 }); - - if (meta.name && meta.aired) - meta.type = "series"; - if (meta.name && saneSeason() && saneEpisode()) - meta.type = "series"; - else if (meta.name && canBeMovie) - meta.type = "movie"; - // Must be deprioritized compared to movies - else if (meta.type != "movie" && meta.name && saneSeason()) // assume extras or bloopers? - meta.type = "extras"; - else - meta.type = "other"; - - if (options.fileLength && options.fileLength < (meta.type.match(/movie/) ? 80 : 50)*1024*1024 && meta.type.match(/movie|series/) && !isSample) { - meta.type = "other"; - } - - if (meta.type != "series" || meta.aired) { - delete meta.episode; - delete meta.season; - } - - // we have a year. put it to .aired instead - if (meta.type == "series" && meta.year) { - meta.aired = meta.aired || meta.year; - delete meta.year; - } - - meta.type += isSample ? "-sample" : ""; - - meta.name = meta.name && simplifyName(meta.name); - - /* Try to find the IMDB id from the NFO / hints - */ - //if (meta.nfo) - // meta.imdb_id = (fs.readFileSync(meta.nfo).toString().match("tt\\d{7}") || [])[0]; - - if (options.hints && options.hints.imdb_id) - meta.imdb_id = options.hints.imdb_id; - - meta.tag = []; - if (filePath.match(/1080p/i)) { meta.tag.push("hd"); meta.tag.push("1080p"); } - if (filePath.match(/720p/i)) { meta.tag.push("720p"); } - if (filePath.match(/480p/i)) { meta.tag.push("480p"); } - if (isSample) meta.tag.push("sample"); - - return meta; -} - -module.exports = parseVideoName; - -},{}],714:[function(require,module,exports){ +},{"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}],714:[function(require,module,exports){ module.exports={ "name": "stremio-local-addon", "version": "1.10.0", @@ -132972,7 +132699,7 @@ module.exports = { setOptionValues: setOptionValues, }; -},{"child_process":undefined,"enginefs":229,"fs":undefined,"once":591,"os":undefined,"path":undefined,"walk":781}],716:[function(require,module,exports){ +},{"child_process":undefined,"enginefs":229,"fs":undefined,"once":592,"os":undefined,"path":undefined,"walk":782}],716:[function(require,module,exports){ "use strict"; var myIp = require("./myIp"); var castingUtils = require('./castingUtils'); @@ -133659,7 +133386,7 @@ DLNAClient.prototype.close = function() { module.exports = DLNAClient; -},{"./Player":720,"./castingUtils":723,"bluebird":"bluebird","child_process":undefined,"node-fetch":"node-fetch","pump":626,"querystring":undefined,"tmp":736,"upnp-mediarenderer-client":772,"url":undefined,"util":undefined}],718:[function(require,module,exports){ +},{"./Player":720,"./castingUtils":723,"bluebird":"bluebird","child_process":undefined,"node-fetch":"node-fetch","pump":627,"querystring":undefined,"tmp":736,"upnp-mediarenderer-client":772,"url":undefined,"util":undefined}],718:[function(require,module,exports){ "use strict"; var EventEmitter = require('events'); var util = require('util'); @@ -133743,7 +133470,7 @@ MDNSDiscovery.prototype.onResponse = function(response) { module.exports = MDNSDiscovery; -},{"dns-txt":214,"events":undefined,"multicast-dns":562,"util":undefined}],720:[function(require,module,exports){ +},{"dns-txt":214,"events":undefined,"multicast-dns":563,"util":undefined}],720:[function(require,module,exports){ "use strict"; var myIp = require("./myIp"); var url = require('url'); @@ -133969,7 +133696,7 @@ SSDPDiscovery.prototype.handleResponse = function(response) { module.exports = SSDPDiscovery; -},{"bluebird":"bluebird","events":undefined,"node-fetch":"node-fetch","node-ssdp-js":583,"url":undefined,"util":undefined,"xml2js":801}],722:[function(require,module,exports){ +},{"bluebird":"bluebird","events":undefined,"node-fetch":"node-fetch","node-ssdp-js":584,"url":undefined,"util":undefined,"xml2js":802}],722:[function(require,module,exports){ //require('longjohn'); var fs = require('fs'); var path = require('path'); @@ -134313,7 +134040,7 @@ Casting.prototype.transcode = function(req, res) { module.exports = Casting; -},{"./ChromecastClient":716,"./DLNAClient":717,"./ExternalDiscovery":718,"./MDNSDiscovery":719,"./SSDPDiscovery":721,"./castingUtils":723,"./discovery":724,"child_process":undefined,"domain":undefined,"fs":undefined,"node-fetch":"node-fetch","path":undefined,"pump":626,"router":652,"tmp":736,"url":undefined}],723:[function(require,module,exports){ +},{"./ChromecastClient":716,"./DLNAClient":717,"./ExternalDiscovery":718,"./MDNSDiscovery":719,"./SSDPDiscovery":721,"./castingUtils":723,"./discovery":724,"child_process":undefined,"domain":undefined,"fs":undefined,"node-fetch":"node-fetch","path":undefined,"pump":627,"router":653,"tmp":736,"url":undefined}],723:[function(require,module,exports){ var child = require("child_process"); var fetch = require('node-fetch'); var mime = require('mime-types'); @@ -134452,7 +134179,7 @@ castingUtils.HMSToSec = function(hms) { module.exports = castingUtils; -},{"child_process":undefined,"fs":undefined,"mime-types":551,"node-fetch":"node-fetch","path":undefined,"url":undefined}],724:[function(require,module,exports){ +},{"child_process":undefined,"fs":undefined,"mime-types":552,"node-fetch":"node-fetch","path":undefined,"url":undefined}],724:[function(require,module,exports){ "use strict"; function Discovery(Facilities) { if(! Array.isArray(Facilities)) { @@ -134752,6 +134479,12 @@ module.exports = function(devices) { },{"child_process":undefined,"enginefs":229,"fs":undefined,"http":undefined,"os":undefined,"path":undefined,"stremio-cast":734}],727:[function(require,module,exports){ +if (process.env.TV_ENV) { + process.env.CASTING_DISABLED = 1 + process.env.DISABLE_CACHING = 1 + process.env.NO_CORS = 1 +} + var pkg = require("./package") var enginefs = require("enginefs") @@ -134831,12 +134564,13 @@ console.log("Using app path -> "+appPath); // CORS; by default, we do not allow CORS on this server for security reasons, except strem.io and stremio.net enginefs.router.use(function(req, res, next) { - var ok = !req.headers.origin || req.headers.origin.match(".strem.io(\:80)?$") + var ok = process.env.NO_CORS ? true : !req.headers.origin || req.headers.origin.match(".strem.io(\:80)?$") || req.headers.origin.match(".stremio.net(\:80)?$") || req.headers.origin.match(".stremio.com(\:80)?$") || req.headers.origin.match("gstatic.com") || req.headers.origin === "https://stremio.github.io" - || req.headers.origin.match("(127.0.0.1|localhost):11470$"); + || req.headers.origin.match("(127.0.0.1|localhost):11470$") + || req.headers.origin.match("peario.xyz"); if (ok) enginefs.sendCORSHeaders(req, res, next); else next(); }); @@ -134977,6 +134711,11 @@ enginefs.router.get("/subtitles.:ext", function(req, res) { res.end(); return; } + if (handle.tracks.length === 0) { + res.writeHead(500); + res.end(); + return; + } if (isVtt) res.write("WEBVTT\n\n"); var format = function(d) { return isVtt ? moment(d).utcOffset(0).format("HH:mm:ss.SSS") : moment(d).utcOffset(0).format("HH:mm:ss,SSS") @@ -135192,7 +134931,7 @@ enginefs.getDefaults = function(ih) { module.exports = enginefs; -},{"./cache":715,"./casting/casting":722,"./lib/hash":728,"./lib/https":729,"./lib/proxy":730,"./lib/tracks":731,"./package":"./package","./settings":738,"enginefs":229,"ffmpeg-static":303,"http":undefined,"ip":732,"is-positive-integer":346,"minimist":557,"mkdirp":558,"moment":559,"open":592,"os":undefined,"path":undefined,"stremio-hls-middleware":684,"stremio-local-addon":698,"torrent-stream":749,"url":undefined,"ytdl-core":834}],728:[function(require,module,exports){ +},{"./cache":715,"./casting/casting":722,"./lib/hash":728,"./lib/https":729,"./lib/proxy":730,"./lib/tracks":731,"./package":"./package","./settings":738,"enginefs":229,"ffmpeg-static":304,"http":undefined,"ip":732,"is-positive-integer":347,"minimist":558,"mkdirp":559,"moment":560,"open":593,"os":undefined,"path":undefined,"stremio-hls-middleware":685,"stremio-local-addon":699,"torrent-stream":749,"url":undefined,"ytdl-core":835}],728:[function(require,module,exports){ var _ = require("underscore"); var fs = require("fs"); var path = require("path"); @@ -135281,7 +135020,7 @@ function hash(args, cb) module.exports = hash; -},{"fs":undefined,"opensubtitles":594,"path":undefined,"simple-get":670,"underscore":766,"url":undefined}],729:[function(require,module,exports){ +},{"fs":undefined,"opensubtitles":595,"path":undefined,"simple-get":671,"underscore":766,"url":undefined}],729:[function(require,module,exports){ var https = require("https"); var fetch = require("node-fetch"); var net = require('net'); @@ -135568,7 +135307,7 @@ module.exports = { getRouter: getRouter } -},{"https":undefined,"node-fetch":"node-fetch","path":undefined,"router":652,"stream":undefined}],731:[function(require,module,exports){ +},{"https":undefined,"node-fetch":"node-fetch","path":undefined,"router":653,"stream":undefined}],731:[function(require,module,exports){ var subRetriever = require("subtitles-grouping/lib/retriever"); var subParser = require("subtitles-grouping/lib/srt").parseString; @@ -135604,63 +135343,81 @@ function blacklistTracks(condition) module.exports = tracks; },{"subtitles-grouping/lib/retriever":741,"subtitles-grouping/lib/srt":742}],732:[function(require,module,exports){ -var ip = exports, - Buffer = require('buffer').Buffer, - os = require('os'); +var ip = exports; +var { Buffer } = require('buffer'); +var os = require('os'); -ip.toBuffer = function toBuffer(ip, buff, offset) { +ip.toBuffer = function (ip, buff, offset) { offset = ~~offset; var result; - if (/^(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { + if (this.isV4Format(ip)) { result = buff || new Buffer(offset + 4); - ip.split(/\./g).map(function(byte) { + ip.split(/\./g).map((byte) => { result[offset++] = parseInt(byte, 10) & 0xff; }); - } else if (/^[a-f0-9:]+$/.test(ip)) { - var s = ip.split(/::/g, 2), - head = (s[0] || '').split(/:/g, 8), - tail = (s[1] || '').split(/:/g, 8); + } else if (this.isV6Format(ip)) { + var sections = ip.split(':', 8); - if (tail.length === 0) { - // xxxx:: - while (head.length < 8) head.push('0000'); - } else if (head.length === 0) { - // ::xxxx - while (tail.length < 8) tail.unshift('0000'); - } else { - // xxxx::xxxx - while (head.length + tail.length < 8) head.push('0000'); + var i; + for (i = 0; i < sections.length; i++) { + var isv4 = this.isV4Format(sections[i]); + var v4Buffer; + + if (isv4) { + v4Buffer = this.toBuffer(sections[i]); + sections[i] = v4Buffer.slice(0, 2).toString('hex'); + } + + if (v4Buffer && ++i < 8) { + sections.splice(i, 0, v4Buffer.slice(2, 4).toString('hex')); + } + } + + if (sections[0] === '') { + while (sections.length < 8) sections.unshift('0'); + } else if (sections[sections.length - 1] === '') { + while (sections.length < 8) sections.push('0'); + } else if (sections.length < 8) { + for (i = 0; i < sections.length && sections[i] !== ''; i++); + var argv = [i, 1]; + for (i = 9 - sections.length; i > 0; i--) { + argv.push('0'); + } + sections.splice.apply(sections, argv); } result = buff || new Buffer(offset + 16); - head.concat(tail).map(function(word) { - word = parseInt(word, 16); + for (i = 0; i < sections.length; i++) { + var word = parseInt(sections[i], 16); result[offset++] = (word >> 8) & 0xff; result[offset++] = word & 0xff; - }); - } else { - throw Error('Invalid ip address: ' + ip); + } + } + + if (!result) { + throw Error(`Invalid ip address: ${ip}`); } return result; }; -ip.toString = function toString(buff, offset, length) { +ip.toString = function (buff, offset, length) { offset = ~~offset; length = length || (buff.length - offset); var result = []; + var i; if (length === 4) { // IPv4 - for (var i = 0; i < length; i++) { + for (i = 0; i < length; i++) { result.push(buff[offset + i]); } result = result.join('.'); } else if (length === 16) { // IPv6 - for (var i = 0; i < length; i += 2) { + for (i = 0; i < length; i += 2) { result.push(buff.readUInt16BE(offset + i).toString(16)); } result = result.join(':'); @@ -135671,7 +135428,28 @@ ip.toString = function toString(buff, offset, length) { return result; }; -ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { +var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; +var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; + +ip.isV4Format = function (ip) { + return ipv4Regex.test(ip); +}; + +ip.isV6Format = function (ip) { + return ipv6Regex.test(ip); +}; + +function _normalizeFamily(family) { + if (family === 4) { + return 'ipv4'; + } + if (family === 6) { + return 'ipv6'; + } + return family ? family.toLowerCase() : 'ipv4'; +} + +ip.fromPrefixLen = function (prefixlen, family) { if (prefixlen > 32) { family = 'ipv6'; } else { @@ -135691,59 +135469,65 @@ ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { } prefixlen -= bits; - buff[i] = ~(0xff >> bits); + buff[i] = ~(0xff >> bits) & 0xff; } return ip.toString(buff); }; -ip.mask = function mask(addr, mask) { +ip.mask = function (addr, mask) { addr = ip.toBuffer(addr); mask = ip.toBuffer(mask); var result = new Buffer(Math.max(addr.length, mask.length)); // Same protocol - do bitwise and + var i; if (addr.length === mask.length) { - for (var i = 0; i < addr.length; i++) { + for (i = 0; i < addr.length; i++) { result[i] = addr[i] & mask[i]; } } else if (mask.length === 4) { // IPv6 address and IPv4 mask // (Mask low bits) - for (var i = 0; i < mask.length; i++) { - result[i] = addr[addr.length - 4 + i] & mask[i]; + for (i = 0; i < mask.length; i++) { + result[i] = addr[addr.length - 4 + i] & mask[i]; } } else { // IPv6 mask and IPv4 addr - for (var i = 0; i < result.length - 6; i++) { + for (i = 0; i < result.length - 6; i++) { result[i] = 0; } // ::ffff:ipv4 result[10] = 0xff; result[11] = 0xff; - for (var i = 0; i < addr.length; i++) { + for (i = 0; i < addr.length; i++) { result[i + 12] = addr[i] & mask[i + 12]; } + i += 12; + } + for (; i < result.length; i++) { + result[i] = 0; } return ip.toString(result); }; -ip.cidr = function cidr(cidrString) { +ip.cidr = function (cidrString) { var cidrParts = cidrString.split('/'); - if (cidrParts.length != 2) - throw new Error('invalid CIDR subnet: ' + addr); - var addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); return ip.mask(addr, mask); -} +}; -ip.subnet = function subnet(addr, mask) { +ip.subnet = function (addr, mask) { var networkAddress = ip.toLong(ip.mask(addr, mask)); // Calculate the mask's length. @@ -135751,7 +135535,7 @@ ip.subnet = function subnet(addr, mask) { var maskLength = 0; for (var i = 0; i < maskBuffer.length; i++) { - if (maskBuffer[i] == 0xff) { + if (maskBuffer[i] === 0xff) { maskLength += 8; } else { var octet = maskBuffer[i] & 0xff; @@ -135766,34 +135550,38 @@ ip.subnet = function subnet(addr, mask) { return { networkAddress: ip.fromLong(networkAddress), - firstAddress: numberOfAddresses <= 2 ? - ip.fromLong(networkAddress) : - ip.fromLong(networkAddress + 1), - lastAddress: numberOfAddresses <= 2 ? - ip.fromLong(networkAddress + numberOfAddresses - 1) : - ip.fromLong(networkAddress + numberOfAddresses - 2), + firstAddress: numberOfAddresses <= 2 + ? ip.fromLong(networkAddress) + : ip.fromLong(networkAddress + 1), + lastAddress: numberOfAddresses <= 2 + ? ip.fromLong(networkAddress + numberOfAddresses - 1) + : ip.fromLong(networkAddress + numberOfAddresses - 2), broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), subnetMask: mask, subnetMaskLength: maskLength, - numHosts: numberOfAddresses <= 2 ? - numberOfAddresses : numberOfAddresses - 2, - length: numberOfAddresses + numHosts: numberOfAddresses <= 2 + ? numberOfAddresses : numberOfAddresses - 2, + length: numberOfAddresses, + contains(other) { + return networkAddress === ip.toLong(ip.mask(other, mask)); + }, }; -} +}; -ip.cidrSubnet = function cidrSubnet(cidrString) { +ip.cidrSubnet = function (cidrString) { var cidrParts = cidrString.split('/'); - if (cidrParts.length !== 2) - throw new Error('invalid CIDR subnet: ' + addr); - var addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); return ip.subnet(addr, mask); -} +}; -ip.not = function not(addr) { +ip.not = function (addr) { var buff = ip.toBuffer(addr); for (var i = 0; i < buff.length; i++) { buff[i] = 0xff ^ buff[i]; @@ -135801,42 +135589,45 @@ ip.not = function not(addr) { return ip.toString(buff); }; -ip.or = function or(a, b) { +ip.or = function (a, b) { + var i; + a = ip.toBuffer(a); b = ip.toBuffer(b); // same protocol - if (a.length == b.length) { - for (var i = 0; i < a.length; ++i) { + if (a.length === b.length) { + for (i = 0; i < a.length; ++i) { a[i] |= b[i]; } return ip.toString(a); // mixed protocols - } else { - var buff = a; - var other = b; - if (b.length > a.length) { - buff = b; - other = a; - } - - var offset = buff.length - other.length; - for (var i = offset; i < buff.length; ++i) { - buff[i] |= other[i - offset]; - } - - return ip.toString(buff); } + var buff = a; + var other = b; + if (b.length > a.length) { + buff = b; + other = a; + } + + var offset = buff.length - other.length; + for (i = offset; i < buff.length; ++i) { + buff[i] |= other[i - offset]; + } + + return ip.toString(buff); }; -ip.isEqual = function isEqual(a, b) { +ip.isEqual = function (a, b) { + var i; + a = ip.toBuffer(a); b = ip.toBuffer(b); // Same protocol if (a.length === b.length) { - for (var i = 0; i < a.length; i++) { + for (i = 0; i < a.length; i++) { if (a[i] !== b[i]) return false; } return true; @@ -135850,43 +135641,47 @@ ip.isEqual = function isEqual(a, b) { } // a - IPv4, b - IPv6 - for (var i = 0; i < 10; i++) { + for (i = 0; i < 10; i++) { if (b[i] !== 0) return false; } var word = b.readUInt16BE(10); if (word !== 0 && word !== 0xffff) return false; - for (var i = 0; i < 4; i++) { + for (i = 0; i < 4; i++) { if (a[i] !== b[i + 12]) return false; } return true; }; -ip.isPrivate = function isPrivate(addr) { - return addr.match(/^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match( - /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^fc00:/) != null || addr.match(/^fe80:/) != null || - addr.match(/^::1$/) != null || addr.match(/^::$/) != null; +ip.isPrivate = function (addr) { + return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i + .test(addr) + || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) + || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i + .test(addr) + || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) + || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) + || /^f[cd][0-9a-f]{2}:/i.test(addr) + || /^fe80:/i.test(addr) + || /^::1$/.test(addr) + || /^::$/.test(addr); }; -ip.isPublic = function isPublic(addr) { +ip.isPublic = function (addr) { return !ip.isPrivate(addr); -} +}; -ip.isLoopback = function isLoopback(addr) { - return /^127\.0\.0\.1$/.test(addr) +ip.isLoopback = function (addr) { + return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/ + .test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); }; -ip.loopback = function loopback(family) { +ip.loopback = function (family) { // // Default to `ipv4` // @@ -135896,9 +135691,7 @@ ip.loopback = function loopback(family) { throw new Error('family must be ipv4 or ipv6'); } - return family === 'ipv4' - ? '127.0.0.1' - : 'fe80::1'; + return family === 'ipv4' ? '127.0.0.1' : 'fe80::1'; }; // @@ -135914,11 +135707,10 @@ ip.loopback = function loopback(family) { // If not found see `undefined`. // * 'public': the first public ip address of family. // * 'private': the first private ip address of family. -// * undefined: First address with `ipv4` or loopback addres `127.0.0.1`. +// * undefined: First address with `ipv4` or loopback address `127.0.0.1`. // -ip.address = function address(name, family) { - var interfaces = os.networkInterfaces(), - all; +ip.address = function (name, family) { + var interfaces = os.networkInterfaces(); // // Default to `ipv4` @@ -135929,62 +135721,56 @@ ip.address = function address(name, family) { // If a specific network interface has been named, // return the address. // - if (name && !~['public', 'private'].indexOf(name)) { - return interfaces[name].filter(function (details) { - details.family = details.family.toLowerCase(); - return details.family === family; - })[0].address; + if (name && name !== 'private' && name !== 'public') { + var res = interfaces[name].filter((details) => { + var itemFamily = _normalizeFamily(details.family); + return itemFamily === family; + }); + if (res.length === 0) { + return undefined; + } + return res[0].address; } - var all = Object.keys(interfaces).map(function (nic) { + var all = Object.keys(interfaces).map((nic) => { // // Note: name will only be `public` or `private` // when this is called. // - var addresses = interfaces[nic].filter(function (details) { - details.family = details.family.toLowerCase(); + var addresses = interfaces[nic].filter((details) => { + details.family = _normalizeFamily(details.family); if (details.family !== family || ip.isLoopback(details.address)) { return false; - } - else if (!name) { + } if (!name) { return true; } - return name === 'public' - ? !ip.isPrivate(details.address) - : ip.isPrivate(details.address) + return name === 'public' ? ip.isPrivate(details.address) + : ip.isPublic(details.address); }); - return addresses.length - ? addresses[0].address - : undefined; + return addresses.length ? addresses[0].address : undefined; }).filter(Boolean); - return !all.length - ? ip.loopback(family) - : all[0]; + return !all.length ? ip.loopback(family) : all[0]; }; -ip.toLong = function toInt(ip){ - var ipl=0; - ip.split('.').forEach(function( octet ) { - ipl<<=8; - ipl+=parseInt(octet); +ip.toLong = function (ip) { + var ipl = 0; + ip.split('.').forEach((octet) => { + ipl <<= 8; + ipl += parseInt(octet); }); - return(ipl >>>0); + return (ipl >>> 0); }; -ip.fromLong = function fromInt(ipl){ - return ( (ipl>>>24) +'.' + - (ipl>>16 & 255) +'.' + - (ipl>>8 & 255) +'.' + - (ipl & 255) ); +ip.fromLong = function (ipl) { + return (`${ipl >>> 24}.${ + ipl >> 16 & 255}.${ + ipl >> 8 & 255}.${ + ipl & 255}`); }; -function _normalizeFamily(family) { - return family ? family.toLowerCase() : 'ipv4'; -} - },{"buffer":undefined,"os":undefined}],733:[function(require,module,exports){ var fetch = typeof (window) !== 'undefined' ? window.fetch : require('node-fetch') var events = require('events') @@ -136095,7 +135881,7 @@ var fs = require('fs'), path = require('path'), crypto = require('crypto'), - tmpDir = require('os.tmpdir'), + tmpDir = require('os-tmpdir'), _c = process.binding('constants'); @@ -136570,15 +136356,17 @@ module.exports.tmpName = _getTmpName; module.exports.tmpNameSync = _getTmpNameSync; module.exports.setGracefulCleanup = _setGracefulCleanup; -},{"crypto":undefined,"fs":undefined,"os.tmpdir":596,"path":undefined}],737:[function(require,module,exports){ +},{"crypto":undefined,"fs":undefined,"os-tmpdir":597,"path":undefined}],737:[function(require,module,exports){ module.exports={ "name": "stremio-server", - "version": "4.18.0", + "version": "4.19.0", "stremioRuntimeVersion": "4.0", "description": "Stremio HTTP server", "main": "init.js", "scripts": { "build-android": "webpack --config webpack.config.android.js", + "build-tizen": "webpack -p --define process.env.TV_ENV='1' --config webpack.config.tizen.js", + "build-webos": "webpack -p --define process.env.TV_ENV='1' --config webpack.config.webos.js", "test": "jest" }, "keywords": [ @@ -136590,12 +136378,12 @@ module.exports={ "castv2": "Ivshti/node-castv2", "debounce": "^1.0.0", "dns-txt": "^2.0.2", - "enginefs": "https://github.com/Stremio/enginefs#72de4b5204b43ef47a8c05c2b0b22c4d79171a3c", - "entry": "git://github.com/Ivshti/entry", + "enginefs": "https://github.com/Stremio/enginefs#f6c66830cd99f7f7df4eb4967798394635501e53", + "entry": "Ivshti/entry", "extend": "^3.0.0", "ffmpeg-static": "^4.2.7", "iconv-lite": "0.x.x", - "ip": "^0.3.0", + "ip": "^1.1.5", "is-positive-integer": "^1.1.1", "jschardet": "1.x.x", "mime": ">=1.2.11", @@ -136618,13 +136406,13 @@ module.exports={ "stremio-local-addon": "https://github.com/Stremio/stremio-local-addon#2f6fd829945bf3b0e347f9b8f149845c76823838", "subtitles-grouping": "1.5.4", "tmp": "^0.0.31", - "torrent-stream": "git+ssh://git@github.com/Stremio/torrent-stream.git#89f9e7d6db9d99ca8866307f2de70d56d1c6ed69", + "torrent-stream": "git+ssh://git@github.com/Stremio/torrent-stream.git#2e1751dfe10c716be06169e9358f137186a1b2c0", "upnp-mediarenderer-client": "1.2.4", "vlc-command": "1.x.x", "walk": "2.x.x", "xml2js": "0.4.x", "xmlbuilder": "4.2.0", - "ytdl-core": "4.8.3" + "ytdl-core": "4.9.0" }, "author": "Smart Code LTD", "license": "MIT", @@ -136633,7 +136421,12 @@ module.exports={ "jest-json-schema": "^2.1.0", "m3u8-parser": "^4.4.0", "webpack": "^4.34.0", - "webpack-cli": "^3.3.4" + "webpack-cli": "^3.3.4", + "@babel/preset-env": "7.16.0", + "babel-loader": "8.2.3", + "core-js": "^3.21.1", + "@babel/polyfill": "7.12.1", + "string-replace-loader": "3.1.0" } } @@ -136645,7 +136438,10 @@ var pkg = require("./package") var isPositiveInteger = require("is-positive-integer") function Settings(appPath, args) { - var self = { }; + var self = { + get serverVersion() { return pkg.version; }, + set serverVersion(_) {} + }; util._extend(self, args); var p = path.join(appPath, "server-settings.json"); @@ -136654,25 +136450,20 @@ function Settings(appPath, args) { fs.writeFile(p, JSON.stringify(self, null, 4), cb) }; self.load = function() { - var storeSettings = false; try { - util._extend(self, JSON.parse(fs.readFileSync(p).toString())) - storeSettings = self.serverVersion != pkg.version; - } catch(e) { - storeSettings = true; - } - if(storeSettings) { - self.serverVersion = pkg.version; // not really a setting, read-only + Object.assign(self, JSON.parse(fs.readFileSync(p).toString())) self.save(function(){ // Done saving }) + } catch(e) { + console.error("Cannot update settings", e.message); } }; // Defaults self.appPath = appPath; self.cacheRoot = self.hasOwnProperty("cacheRoot") ? self.cacheRoot : appPath; - self.cacheSize = self.hasOwnProperty("cacheSize") ? + self.cacheSize = process.env.DISABLE_CACHING ? 0 : self.hasOwnProperty("cacheSize") ? self.cacheSize : process.platform === 'android' ? 0 : 2*1024*1024*1024; @@ -136692,7 +136483,7 @@ function Settings(appPath, args) { }; module.exports = Settings; -},{"./package":"./package","fs":undefined,"is-positive-integer":346,"path":undefined,"util":undefined}],739:[function(require,module,exports){ +},{"./package":"./package","fs":undefined,"is-positive-integer":347,"path":undefined,"util":undefined}],739:[function(require,module,exports){ var addrToIPPort = require('addr-to-ip-port') var ipaddr = require('ipaddr.js') @@ -136725,7 +136516,7 @@ module.exports = function (addrs) { module.exports.multi = module.exports module.exports.multi6 = module.exports -},{"addr-to-ip-port":5,"ipaddr.js":345}],740:[function(require,module,exports){ +},{"addr-to-ip-port":5,"ipaddr.js":346}],740:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -137027,7 +136818,7 @@ module.exports = { retrieveSrt: retrieveSrt, }; -},{"charset-detector":139,"fs":undefined,"iconv-lite":338,"needle":573,"stream":undefined,"underscore":766,"zip":844,"zlib":undefined}],742:[function(require,module,exports){ +},{"charset-detector":139,"fs":undefined,"iconv-lite":339,"needle":574,"stream":undefined,"underscore":766,"zip":845,"zlib":undefined}],742:[function(require,module,exports){ var SECOND = 1000 , MINUTE = 60 * SECOND , HOUR = 60 * MINUTE; @@ -137538,7 +137329,7 @@ FileStream.prototype.destroy = function() { module.exports = FileStream; -},{"bagpipe":8,"debug":"debug","readable-stream":642,"util":undefined}],749:[function(require,module,exports){ +},{"bagpipe":8,"debug":"debug","readable-stream":643,"util":undefined}],749:[function(require,module,exports){ var magnet = require('magnet-uri'); var hat = require('hat'); var pws = require('peer-wire-swarm'); @@ -137564,7 +137355,16 @@ var storageCircular = require('./storage-circular'); var fileStream = require('./file-stream'); var piece = require('./piece'); -var MAX_REQUESTS = 5; +// The number of requests when wires number is close to WIRE_COUNT_TO_USE_MAX_REQUESTS_PER_WIRE +var MAX_REQUESTS_PER_WIRE = 5; +// When the number of wires reaches WIRE_COUNT_TO_USE_MAX_REQUESTS_PER_WIRE it is guaranteed that +// the maximum requests is set to MAX_REQUESTS_PER_WIRE +var WIRE_COUNT_TO_USE_MAX_REQUESTS_PER_WIRE = 30; +// The number of requests when there is only one wire +var SINGE_WIRE_REQUESTS = 50; +// How quickly we go from SINGE_WIRE_REQUESTS to MAX_REQUESTS_PER_WIRE +// If set to 1 the transition will be linear +var WIRE_REQUEST_POWER = 4; var CHOKE_TIMEOUT = 5000; var REQUEST_TIMEOUT = 30000; var SPEED_THRESHOLD = 3 * piece.BLOCK_SIZE; @@ -137932,11 +137732,19 @@ var torrentStream = function(link, opts) { } }; + var getRequestsNumber = function() { + var unchoked = wires.filter(function(peer) { return !peer.peerChoking }).length; + // Returns a linear value between 1 and 0 for the range of 1 to WIRE_COUNT_TO_USE_MAX_REQUESTS_PER_WIRE + var normalRange = 1 - Math.max(0, Math.min(1, (unchoked - 1) / (WIRE_COUNT_TO_USE_MAX_REQUESTS_PER_WIRE - 1))); + // Scales the normalRange between SINGE_WIRE_REQUESTS and MAX_REQUESTS_PER_WIRE using the WIRE_REQUEST_POWER + return Math.round(Math.pow(normalRange, WIRE_REQUEST_POWER) * (SINGE_WIRE_REQUESTS - MAX_REQUESTS_PER_WIRE) + MAX_REQUESTS_PER_WIRE); + }; + var speedRanker = function(wire) { var speed = wire.downloadSpeed() || 1; if (speed > SPEED_THRESHOLD) return thruthy; - var secs = MAX_REQUESTS * piece.BLOCK_SIZE / speed; + var secs = getRequestsNumber() * piece.BLOCK_SIZE / speed; var tries = 10; var ptr = 0; @@ -137973,7 +137781,8 @@ var torrentStream = function(link, opts) { // Selects requests for a wire var select = function(wire, hotswap) { - if (wire.requests.length >= MAX_REQUESTS) return true; + var maxRequests = getRequestsNumber(); + if (wire.requests.length >= maxRequests) return true; var rank = speedRanker(wire); @@ -137981,8 +137790,8 @@ var torrentStream = function(link, opts) { var next = engine.selection[i]; for (var j = next.from + next.offset; j <= (next.selectTo || next.to); j++) { if (!wire.peerPieces[mapPiece(j)] || !rank(j)) continue; - while (wire.requests.length < MAX_REQUESTS && onrequest(wire, j, critical[j] || hotswap)); - if (wire.requests.length < MAX_REQUESTS) continue; + while (wire.requests.length < maxRequests && onrequest(wire, j, critical[j] || hotswap)); + if (wire.requests.length < maxRequests) continue; if (next.priority) shufflePriority(i); return true; } @@ -138308,13 +138117,393 @@ var torrentStream = function(link, opts) { module.exports = torrentStream; -},{"./encode-metadata":746,"./exchange-metadata":747,"./file-stream":748,"./piece":757,"./storage":759,"./storage-circular":758,"bagpipe":8,"bitfield":16,"bncode":87,"end-of-stream":228,"events":undefined,"fs":undefined,"hat":314,"ip":752,"ip-set":343,"magnet-uri":753,"mkdirp":558,"os":undefined,"parse-torrent-file":597,"path":undefined,"peer-wire-swarm":620,"rimraf":651,"underscore":766}],750:[function(require,module,exports){ +},{"./encode-metadata":746,"./exchange-metadata":747,"./file-stream":748,"./piece":757,"./storage":759,"./storage-circular":758,"bagpipe":8,"bitfield":16,"bncode":87,"end-of-stream":228,"events":undefined,"fs":undefined,"hat":315,"ip":752,"ip-set":344,"magnet-uri":753,"mkdirp":559,"os":undefined,"parse-torrent-file":598,"path":undefined,"peer-wire-swarm":621,"rimraf":652,"underscore":766}],750:[function(require,module,exports){ arguments[4][129][0].apply(exports,arguments) },{"dup":129,"ms":754}],751:[function(require,module,exports){ arguments[4][130][0].apply(exports,arguments) },{"./debug":750,"dup":130,"fs":undefined,"net":undefined,"tty":undefined,"util":undefined}],752:[function(require,module,exports){ -arguments[4][732][0].apply(exports,arguments) -},{"buffer":undefined,"dup":732,"os":undefined}],753:[function(require,module,exports){ +var ip = exports, + Buffer = require('buffer').Buffer, + os = require('os'); + +ip.toBuffer = function toBuffer(ip, buff, offset) { + offset = ~~offset; + + var result; + + if (/^(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { + result = buff || new Buffer(offset + 4); + ip.split(/\./g).map(function(byte) { + result[offset++] = parseInt(byte, 10) & 0xff; + }); + } else if (/^[a-f0-9:]+$/.test(ip)) { + var s = ip.split(/::/g, 2), + head = (s[0] || '').split(/:/g, 8), + tail = (s[1] || '').split(/:/g, 8); + + if (tail.length === 0) { + // xxxx:: + while (head.length < 8) head.push('0000'); + } else if (head.length === 0) { + // ::xxxx + while (tail.length < 8) tail.unshift('0000'); + } else { + // xxxx::xxxx + while (head.length + tail.length < 8) head.push('0000'); + } + + result = buff || new Buffer(offset + 16); + head.concat(tail).map(function(word) { + word = parseInt(word, 16); + result[offset++] = (word >> 8) & 0xff; + result[offset++] = word & 0xff; + }); + } else { + throw Error('Invalid ip address: ' + ip); + } + + return result; +}; + +ip.toString = function toString(buff, offset, length) { + offset = ~~offset; + length = length || (buff.length - offset); + + var result = []; + if (length === 4) { + // IPv4 + for (var i = 0; i < length; i++) { + result.push(buff[offset + i]); + } + result = result.join('.'); + } else if (length === 16) { + // IPv6 + for (var i = 0; i < length; i += 2) { + result.push(buff.readUInt16BE(offset + i).toString(16)); + } + result = result.join(':'); + result = result.replace(/(^|:)0(:0)*:0(:|$)/, '$1::$3'); + result = result.replace(/:{3,4}/, '::'); + } + + return result; +}; + +ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { + if (prefixlen > 32) { + family = 'ipv6'; + } else { + family = _normalizeFamily(family); + } + + var len = 4; + if (family === 'ipv6') { + len = 16; + } + var buff = new Buffer(len); + + for (var i = 0, n = buff.length; i < n; ++i) { + var bits = 8; + if (prefixlen < 8) { + bits = prefixlen; + } + prefixlen -= bits; + + buff[i] = ~(0xff >> bits); + } + + return ip.toString(buff); +}; + +ip.mask = function mask(addr, mask) { + addr = ip.toBuffer(addr); + mask = ip.toBuffer(mask); + + var result = new Buffer(Math.max(addr.length, mask.length)); + + // Same protocol - do bitwise and + if (addr.length === mask.length) { + for (var i = 0; i < addr.length; i++) { + result[i] = addr[i] & mask[i]; + } + } else if (mask.length === 4) { + // IPv6 address and IPv4 mask + // (Mask low bits) + for (var i = 0; i < mask.length; i++) { + result[i] = addr[addr.length - 4 + i] & mask[i]; + } + } else { + // IPv6 mask and IPv4 addr + for (var i = 0; i < result.length - 6; i++) { + result[i] = 0; + } + + // ::ffff:ipv4 + result[10] = 0xff; + result[11] = 0xff; + for (var i = 0; i < addr.length; i++) { + result[i + 12] = addr[i] & mask[i + 12]; + } + } + + return ip.toString(result); +}; + +ip.cidr = function cidr(cidrString) { + var cidrParts = cidrString.split('/'); + + if (cidrParts.length != 2) + throw new Error('invalid CIDR subnet: ' + addr); + + var addr = cidrParts[0]; + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + + return ip.mask(addr, mask); +} + +ip.subnet = function subnet(addr, mask) { + var networkAddress = ip.toLong(ip.mask(addr, mask)); + + // Calculate the mask's length. + var maskBuffer = ip.toBuffer(mask); + var maskLength = 0; + + for (var i = 0; i < maskBuffer.length; i++) { + if (maskBuffer[i] == 0xff) { + maskLength += 8; + } else { + var octet = maskBuffer[i] & 0xff; + while (octet) { + octet = (octet << 1) & 0xff; + maskLength++; + } + } + } + + var numberOfAddresses = Math.pow(2, 32 - maskLength); + + return { + networkAddress: ip.fromLong(networkAddress), + firstAddress: numberOfAddresses <= 2 ? + ip.fromLong(networkAddress) : + ip.fromLong(networkAddress + 1), + lastAddress: numberOfAddresses <= 2 ? + ip.fromLong(networkAddress + numberOfAddresses - 1) : + ip.fromLong(networkAddress + numberOfAddresses - 2), + broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), + subnetMask: mask, + subnetMaskLength: maskLength, + numHosts: numberOfAddresses <= 2 ? + numberOfAddresses : numberOfAddresses - 2, + length: numberOfAddresses + }; +} + +ip.cidrSubnet = function cidrSubnet(cidrString) { + var cidrParts = cidrString.split('/'); + + if (cidrParts.length !== 2) + throw new Error('invalid CIDR subnet: ' + addr); + + var addr = cidrParts[0]; + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + + return ip.subnet(addr, mask); +} + +ip.not = function not(addr) { + var buff = ip.toBuffer(addr); + for (var i = 0; i < buff.length; i++) { + buff[i] = 0xff ^ buff[i]; + } + return ip.toString(buff); +}; + +ip.or = function or(a, b) { + a = ip.toBuffer(a); + b = ip.toBuffer(b); + + // same protocol + if (a.length == b.length) { + for (var i = 0; i < a.length; ++i) { + a[i] |= b[i]; + } + return ip.toString(a); + + // mixed protocols + } else { + var buff = a; + var other = b; + if (b.length > a.length) { + buff = b; + other = a; + } + + var offset = buff.length - other.length; + for (var i = offset; i < buff.length; ++i) { + buff[i] |= other[i - offset]; + } + + return ip.toString(buff); + } +}; + +ip.isEqual = function isEqual(a, b) { + a = ip.toBuffer(a); + b = ip.toBuffer(b); + + // Same protocol + if (a.length === b.length) { + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + return true; + } + + // Swap + if (b.length === 4) { + var t = b; + b = a; + a = t; + } + + // a - IPv4, b - IPv6 + for (var i = 0; i < 10; i++) { + if (b[i] !== 0) return false; + } + + var word = b.readUInt16BE(10); + if (word !== 0 && word !== 0xffff) return false; + + for (var i = 0; i < 4; i++) { + if (a[i] !== b[i + 12]) return false; + } + + return true; +}; + +ip.isPrivate = function isPrivate(addr) { + return addr.match(/^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || + addr.match(/^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/) != null || + addr.match( + /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/) != null || + addr.match(/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || + addr.match(/^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/) != null || + addr.match(/^fc00:/) != null || addr.match(/^fe80:/) != null || + addr.match(/^::1$/) != null || addr.match(/^::$/) != null; +}; + +ip.isPublic = function isPublic(addr) { + return !ip.isPrivate(addr); +} + +ip.isLoopback = function isLoopback(addr) { + return /^127\.0\.0\.1$/.test(addr) + || /^fe80::1$/.test(addr) + || /^::1$/.test(addr) + || /^::$/.test(addr); +}; + +ip.loopback = function loopback(family) { + // + // Default to `ipv4` + // + family = _normalizeFamily(family); + + if (family !== 'ipv4' && family !== 'ipv6') { + throw new Error('family must be ipv4 or ipv6'); + } + + return family === 'ipv4' + ? '127.0.0.1' + : 'fe80::1'; +}; + +// +// ### function address (name, family) +// #### @name {string|'public'|'private'} **Optional** Name or security +// of the network interface. +// #### @family {ipv4|ipv6} **Optional** IP family of the address (defaults +// to ipv4). +// +// Returns the address for the network interface on the current system with +// the specified `name`: +// * String: First `family` address of the interface. +// If not found see `undefined`. +// * 'public': the first public ip address of family. +// * 'private': the first private ip address of family. +// * undefined: First address with `ipv4` or loopback addres `127.0.0.1`. +// +ip.address = function address(name, family) { + var interfaces = os.networkInterfaces(), + all; + + // + // Default to `ipv4` + // + family = _normalizeFamily(family); + + // + // If a specific network interface has been named, + // return the address. + // + if (name && !~['public', 'private'].indexOf(name)) { + return interfaces[name].filter(function (details) { + details.family = details.family.toLowerCase(); + return details.family === family; + })[0].address; + } + + var all = Object.keys(interfaces).map(function (nic) { + // + // Note: name will only be `public` or `private` + // when this is called. + // + var addresses = interfaces[nic].filter(function (details) { + details.family = details.family.toLowerCase(); + if (details.family !== family || ip.isLoopback(details.address)) { + return false; + } + else if (!name) { + return true; + } + + return name === 'public' + ? !ip.isPrivate(details.address) + : ip.isPrivate(details.address) + }); + + return addresses.length + ? addresses[0].address + : undefined; + }).filter(Boolean); + + return !all.length + ? ip.loopback(family) + : all[0]; +}; + +ip.toLong = function toInt(ip){ + var ipl=0; + ip.split('.').forEach(function( octet ) { + ipl<<=8; + ipl+=parseInt(octet); + }); + return(ipl >>>0); +}; + +ip.fromLong = function fromInt(ipl){ + return ( (ipl>>>24) +'.' + + (ipl>>16 & 255) +'.' + + (ipl>>8 & 255) +'.' + + (ipl & 255) ); +}; + +function _normalizeFamily(family) { + return family ? family.toLowerCase() : 'ipv4'; +} + +},{"buffer":undefined,"os":undefined}],753:[function(require,module,exports){ var base32 = require('thirty-two') /** @@ -138927,7 +139116,7 @@ module.exports = function(dir, torrent, opts, engine) { },{"async":7,"bagpipe":8,"crypto":undefined,"debug":"debug","fs":undefined,"path":undefined,"underscore":766}],760:[function(require,module,exports){ arguments[4][101][0].apply(exports,arguments) -},{"dup":101,"media-typer":546,"mime-types":763}],761:[function(require,module,exports){ +},{"dup":101,"media-typer":547,"mime-types":763}],761:[function(require,module,exports){ arguments[4][2][0].apply(exports,arguments) },{"dup":2}],762:[function(require,module,exports){ arguments[4][3][0].apply(exports,arguments) @@ -142019,7 +142208,7 @@ function resolveService(serviceId) { module.exports = DeviceClient; -},{"./package.json":771,"concat-stream":173,"debug":"debug","elementtree":218,"events":undefined,"http":undefined,"network-address":582,"os":undefined,"url":undefined,"util":undefined}],771:[function(require,module,exports){ +},{"./package.json":771,"concat-stream":173,"debug":"debug","elementtree":218,"events":undefined,"http":undefined,"network-address":583,"os":undefined,"url":undefined,"util":undefined}],771:[function(require,module,exports){ module.exports={ "name": "upnp-device-client", "version": "1.0.2", @@ -142370,8 +142559,8 @@ module.exports = MediaRendererClient; module.exports = require('util').deprecate; },{"util":undefined}],774:[function(require,module,exports){ -arguments[4][301][0].apply(exports,arguments) -},{"dup":301}],775:[function(require,module,exports){ +arguments[4][302][0].apply(exports,arguments) +},{"dup":302}],775:[function(require,module,exports){ var dgram = require('dgram'); var cyclist = require('cyclist'); var util = require('util'); @@ -142962,6 +143151,347 @@ function vary (res, field) { } },{}],780:[function(require,module,exports){ +/* + * Constants + * */ +var maxSegments = 3; + +var movieKeywords = ["1080p", "720p", "480p", "blurayrip", "brrip", "divx", "dvdrip", "hdrip", "hdtv", "tvrip", "xvid", "camrip"]; + +// Excluded is an object we use to exclude those keywords from consideration for detecting strings like "season X" +var excluded = { }; +movieKeywords.forEach(function(x) { excluded[x] = 1 }); + +var SEGMENTS_SPLIT = /\.| |-|;|_/g; +var MATCH_FILES = /.mp4$|.mkv$|.avi$/; +var minYear = 1900, maxYear = 2030; + +/* + * TWO REFERENCES + * * http://wiki.xbmc.org/index.php?title=Adding_videos_to_the_library/Naming_files/TV_shows + * * http://wiki.xbmc.org/index.php?title=Advancedsettings.xml#.3Ctvshowmatching.3E + */ + + +function simplifyName(n) { + return n.toLowerCase() + .trim() + .replace(/\([^\(]+\)$/, "") // remove brackets at end + .replace(/&/g, "and") + .replace(/[^0-9a-z ]+/g, " ") // remove special chars + .split(" ").filter(function(r){return r}).join(" ") +}; + +function parseVideoName(filePath, options) +{ + //if (! filePath.match(MATCH_FILES)) return { type: "other" }; + + var options = options || {}; + var meta = {}; + + var segments = filePath + .replace(/\\/g, "/") // Support Windows slashes, lol + .split("/") + .reverse() + .filter(function(x) { return x }) + .slice(0, maxSegments); + var firstNameSplit = segments[0].split(/\.| |_/); + + /* + * Helpers to validate if we have found the proper metadata + */ + function saneSeason() + { + return meta.hasOwnProperty("season") && !isNaN(meta.season) + }; + function saneEpisode() + { + return Array.isArray(meta.episode) && meta.episode.length + }; + + /* + * Test for a year in the name + * */ + [segments[0], segments[1]].filter(function(x){return x}).forEach(function(seg) + { + var regex = /\b\d{4}\b/g + var matches + + while (matches = regex.exec(seg)) + { + var number = parseInt(matches[0], 10); + if (number >= minYear && number <= maxYear) + meta.year = number + } + }); + + /* + * Test for "aired" stamp; if aired stamp is there, we have a series + */ + var pad = function(x) { return ("00"+x).slice(-2) }; + [segments[0], segments[1]].filter(function(x){return x}).forEach(function(seg) + { + var aired = seg.match(/(\d\d\d\d)(\.|-| )(\d\d)(\.|-| )(\d\d)/); + if (aired && aired[1]) + { + var year = parseInt(aired[1], 10); + if (year >= minYear && year <= maxYear) + meta.aired = [year, pad(aired[3]), pad(aired[5])].join("-"); + } + }); + + /* + * A typical pattern - "s05e12", "S01E01", etc. ; can be only "E01" + * Those are matched only in the file name + * + * TODO: this stamp may be in another segment (e.g. directory name) + * */ + [segments[0], segments[1]].forEach(function(seg) { + if (seg) seg.split(/\.| |_/).forEach(function(x, i) + { + /* + * Card type one + */ + var seasonMatch = x.match(/S(\d{1,2})/i); /* TODO: bug: uc-css4cd2.avi is a false positive */ + if (seasonMatch) + meta.season = parseInt(seasonMatch[1], 10); + + /* TODO: consider the case when a hyphen is used for multiple episodes ; e.g. e1-3 */ + var episodeMatch = x.match(/E(\d{2})/ig); + if (episodeMatch) + meta.episode = episodeMatch.map(function(y) { return parseInt(y.slice(1), 10) }); + + /* + * 01x20 + */ + var xStampMatch = x.match(/(\d\d?)x(\d\d?)/i); + if (xStampMatch) + { + meta.season = parseInt(xStampMatch[1], 10); + meta.episode = [ parseInt(xStampMatch[2], 10) ]; + } + // if (otherCardMatch) + }); + + /* Extract name from this match */ + var fullMatch = seg && seg.replace(/\.| |;|_/g, " ").match(/^([a-zA-Z0-9,-?!'& ]*) S(\d{1,2})E(\d{2})/i); + if (!meta.name && meta.season && meta.episode && fullMatch && fullMatch[1]) meta.name = fullMatch[1]; + // TODO: consider not going through simplifyName + }); + + /* + * This stamp must be tested before splitting (by dot) + * a pattern of the kind [4.02] + * This pattern should be arround characters which are not digits and not letters + * */ + + var dotStampMatch = segments[0].match(/[^\da-zA-Z](\d\d?)\.(\d\d?)[^\da-zA-Z]/i); + if (! (saneSeason() && saneEpisode()) && dotStampMatch && !meta.year) // exclude meta.year to avoid confusing movie matches - especially if they contain 5.1 for suround sound + { + meta.season = parseInt(dotStampMatch[1], 10); + meta.episode = [ parseInt(dotStampMatch[2], 10) ]; + } + + /* + * A stamp of the style "804", meaning season 8, episode 4 + * */ + if (!(saneSeason() && saneEpisode()) && !options.strict) + { + var stamp = firstNameSplit + .reverse() /* search from the end */ + .map(function(x) + { + if (x.match(new RegExp("\\d\\d\\d\\d?e"))) x = x.slice(0, -1); /* This is a weird case, but I've seen it: dexter.801e.720p.x264-kyr.mkv */ + if (x.match(new RegExp("s\\d\\d\\d\\d?"))) x = x.slice(1); /* I've never seen this, but it might happen */ + return x; + }) + .filter(function(x) + { + return !isNaN(x) && (x.length == 3 || (!meta.year && x.length == 4)) /* 4-digit only allowed if this has not been identified as a year */ + })[0]; /* Notice how always the first match is choosen ; the second might be a part of the episode name (e.g. "Southpark - 102 - weight gain 4000"); + * that presumes episode number/stamp comes before the name, which is where most human beings would put it */ + + /* Since this one is risky, do it only if we haven't matched a year (most likely not a movie) or if year is BEFORE stamp, like: show.2014.801.mkv */ + if (stamp && (!meta.year || (meta.year && (firstNameSplit.indexOf(stamp.toString()) < firstNameSplit.indexOf(meta.year.toString()))))) + { + meta.episode = [ parseInt(stamp.slice(-2), 10) ]; + meta.season = parseInt(stamp.slice(0, -2), 10); + } + } + + /* + * "season 1", "season.1", "season1" + * */ + if (! saneSeason()) + { + var seasonMatch = segments.join("/").match(/season(\.| )?(\d{1,2})/ig); + if (seasonMatch) + meta.season = parseInt(seasonMatch[0].match(/\d/g).join(""), 10); + + var seasonEpMatch = segments.join("/").match(/Season (\d{1,2}) - (\d{1,2})/i); + if (seasonEpMatch) { + meta.season = parseInt(seasonEpMatch[1], 10); + meta.episode = [ parseInt(seasonEpMatch[2], 10) ]; + } + } + + + /* + * "episode 13", "episode.13", "episode13", "ep13", etc. + * */ + if (! saneEpisode()) + { + /* TODO: consider the case when a hyphen is used for multiple episodes ; e.g. e1-3*/ + var episodeMatch = segments.join("/").match(/ep(isode)?(\.| )?(\d+)/ig); + if (episodeMatch) + meta.episode = [ parseInt(episodeMatch[0].match(/\d/g).join(""), 10) ]; + } + + /* + * Try plain number + * This will lead to more false positives than true positives; disabling + * / + /* + if (saneSeason() && !saneEpisode()) + { + var epNumbers = firstNameSplit + .filter(function(x) { return !isNaN(x) && (x.length == 2 || x.length == 1) }) + .map(function(x) { return parseInt(x, 10) }) + + if (epNumbers.length) + meta.episode = epNumbers; + }*/ + + /* + * If still nothing, the number from the second dir can be used, if the first dir has the show name?? + * + * OR, split everything by everything (hyphens, underscores), filter for numbers between 1 and 30 and use the assumption that the episode is on the rightmost and the series is left from it + * (unless the numbers are a part of a date stamp) + * */ + + /* + * Which part (for movies which are split into .cd1. and .cd2., etc.. files) + * TODO: WARNING: this assumes it's in the filename segment + * + * */ + var diskNumberMatch = segments[0].match(/[ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*(\d)[^\d]/); /* weird regexp? */ + if (diskNumberMatch) + meta.diskNumber = parseInt(diskNumberMatch[1], 10); + + /* + * The name of the series / movie + * */ + var isSample; + + (options.fromInside ? segments : [].concat(segments).reverse()).forEach(function(seg, i) + { + if (seg == segments[0]) { + seg = seg.split(".").slice(0, -1).join("."); /* Remove extension */ + + var sourcePrefix = seg.match(/^\[(.*?)\]/) + if (sourcePrefix) seg = seg.slice(sourcePrefix[0].length) + } + + /* + * WARNING: we must change how this works in order to handle cases like + * "the office[1.01]" as well as "the office [1.01]"; if we split those at '[' or ']', we will get the name "the office 1 10" + * For now, here's a hack to fix this + */ + var squareBracket = seg.indexOf("["); + if (squareBracket > -1) seg = seg.slice(0, squareBracket); + + //var segSplit = seg.split(/\.| |-|\[|\]|;|_/), + var segSplit = seg.split(SEGMENTS_SPLIT), + word, + nameParts = []; + + isSample = isSample || seg.match(/^sample/i)|| seg.match(/^etrg/i); + + /* No need to go further; */ + if (meta.name) + return; + + var lastIndex; + segSplit.some(function(word, i) + { + lastIndex = i; + /* words with basic punctuation and two-digit numbers; or numbers in the first position */ + if (! (word.match("^[a-zA-Z,?!'&]*$") || (!isNaN(word) && word.length <= 2) || (!isNaN(word) && i==0)) + || excluded[word.toLowerCase()] + || ((["ep", "episode", "season"].indexOf(word.toLowerCase()) > -1) && !isNaN(segSplit[i+1])) // TODO: more than that, match for stamp too + ) + return true; + + nameParts.push(word); + }); + if (nameParts.length == 1 && !isNaN(nameParts[0])) return; /* Only a number: unacceptable */ + + meta.name = nameParts + .filter(function(x) { return x && x.length > 0 }) + .map(function(x) { return x[0].toUpperCase() + x.slice(1).toLowerCase() }) + .join(" "); + }); + + isSample = isSample || ((segments[1] || "").toLowerCase() == "sample"); /* The directory where the file resides */ + + /* + * This is the time to decide the category of this video + */ + var canBeMovie; + if (options.strict) canBeMovie = meta.hasOwnProperty("year"); + else canBeMovie = meta.hasOwnProperty("year") || meta.hasOwnProperty("diskNumber") || movieKeywords.some(function(keyword) { return segments.join("/").toLowerCase().search(keyword) > -1 }); + + if (meta.name && meta.aired) + meta.type = "series"; + if (meta.name && saneSeason() && saneEpisode()) + meta.type = "series"; + else if (meta.name && canBeMovie) + meta.type = "movie"; + // Must be deprioritized compared to movies + else if (meta.type != "movie" && meta.name && saneSeason()) // assume extras or bloopers? + meta.type = "extras"; + else + meta.type = "other"; + + if (options.fileLength && options.fileLength < (meta.type.match(/movie/) ? 80 : 50)*1024*1024 && meta.type.match(/movie|series/) && !isSample) { + meta.type = "other"; + } + + if (meta.type != "series" || meta.aired) { + delete meta.episode; + delete meta.season; + } + + // we have a year. put it to .aired instead + if (meta.type == "series" && meta.year) { + meta.aired = meta.aired || meta.year; + delete meta.year; + } + + meta.type += isSample ? "-sample" : ""; + + meta.name = meta.name && simplifyName(meta.name); + + /* Try to find the IMDB id from the NFO / hints + */ + //if (meta.nfo) + // meta.imdb_id = (fs.readFileSync(meta.nfo).toString().match("tt\\d{7}") || [])[0]; + + if (options.hints && options.hints.imdb_id) + meta.imdb_id = options.hints.imdb_id; + + meta.tag = []; + if (filePath.match(/1080p/i)) { meta.tag.push("hd"); meta.tag.push("1080p"); } + if (filePath.match(/720p/i)) { meta.tag.push("720p"); } + if (filePath.match(/480p/i)) { meta.tag.push("480p"); } + if (isSample) meta.tag.push("sample"); + + return meta; +} + +module.exports = parseVideoName; + +},{}],781:[function(require,module,exports){ /*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true*/ (function () { "use strict"; @@ -143052,7 +143582,7 @@ function vary (res, field) { }; }()); -},{}],781:[function(require,module,exports){ +},{}],782:[function(require,module,exports){ // Adapted from work by jorge@jorgechamorro.com on 2010-11-25 (function () { "use strict"; @@ -143355,7 +143885,7 @@ function vary (res, field) { }; }()); -},{"./node-type-emitter":780,"events":undefined,"foreachasync":308,"fs":undefined,"path":undefined,"util":undefined}],782:[function(require,module,exports){ +},{"./node-type-emitter":781,"events":undefined,"foreachasync":309,"fs":undefined,"path":undefined,"util":undefined}],783:[function(require,module,exports){ module.exports = which which.sync = whichSync @@ -143492,7 +144022,7 @@ function whichSync (cmd, opt) { throw getNotFoundError(cmd) } -},{"isexe":349,"path":undefined}],783:[function(require,module,exports){ +},{"isexe":350,"path":undefined}],784:[function(require,module,exports){ // Returns a wrapper function that returns a wrapped callback // The wrapper function should do some stuff, and return a // presumably different callback function. @@ -143527,7 +144057,7 @@ function wrappy (fn, cb) { } } -},{}],784:[function(require,module,exports){ +},{}],785:[function(require,module,exports){ 'use strict'; /*! @@ -143578,7 +144108,7 @@ WS.connect = WS.createConnection = function connect(address, fn) { return client; }; -},{"./lib/Receiver":792,"./lib/Sender":794,"./lib/WebSocket":797,"./lib/WebSocketServer":798}],785:[function(require,module,exports){ +},{"./lib/Receiver":793,"./lib/Sender":795,"./lib/WebSocket":798,"./lib/WebSocketServer":799}],786:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -143643,7 +144173,7 @@ BufferPool.prototype.reset = function(forceNewBuffer) { module.exports = BufferPool; -},{"util":undefined}],786:[function(require,module,exports){ +},{"util":undefined}],787:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -143692,7 +144222,7 @@ exports.BufferUtil = { } } -},{}],787:[function(require,module,exports){ +},{}],788:[function(require,module,exports){ 'use strict'; /*! @@ -143711,7 +144241,7 @@ var bufferUtil; module.exports = bufferUtil.BufferUtil || bufferUtil; -},{"./BufferUtil.fallback":786}],788:[function(require,module,exports){ +},{"./BufferUtil.fallback":787}],789:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -143736,7 +144266,7 @@ module.exports = { 1010: 'extension handshake missing', 1011: 'an unexpected condition prevented the request from being fulfilled', }; -},{}],789:[function(require,module,exports){ +},{}],790:[function(require,module,exports){ var util = require('util'); @@ -143808,7 +144338,7 @@ function format(value) { }).join(', '); } -},{"util":undefined}],790:[function(require,module,exports){ +},{"util":undefined}],791:[function(require,module,exports){ var zlib = require('zlib'); @@ -144147,7 +144677,7 @@ PerMessageDeflate.prototype.compress = function (data, fin, callback) { module.exports = PerMessageDeflate; -},{"zlib":undefined}],791:[function(require,module,exports){ +},{"zlib":undefined}],792:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -144343,7 +144873,7 @@ function bufferIndex(buffer, byte) { return -1; } -},{"util":undefined}],792:[function(require,module,exports){ +},{"util":undefined}],793:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -145138,7 +145668,7 @@ var opcodes = { } } -},{"./BufferPool":785,"./BufferUtil":787,"./ErrorCodes":788,"./PerMessageDeflate":790,"./Validation":796,"util":undefined}],793:[function(require,module,exports){ +},{"./BufferPool":786,"./BufferUtil":788,"./ErrorCodes":789,"./PerMessageDeflate":791,"./Validation":797,"util":undefined}],794:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -145264,7 +145794,7 @@ Sender.prototype.error = function (reason) { return this; }; -},{"events":undefined,"util":undefined}],794:[function(require,module,exports){ +},{"events":undefined,"util":undefined}],795:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -145576,7 +146106,7 @@ function getRandomMask() { return randomBytes(4); } -},{"./BufferUtil":787,"./ErrorCodes":788,"./PerMessageDeflate":790,"events":undefined,"randombytes":633,"util":undefined}],795:[function(require,module,exports){ +},{"./BufferUtil":788,"./ErrorCodes":789,"./PerMessageDeflate":791,"events":undefined,"randombytes":634,"util":undefined}],796:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -145589,7 +146119,7 @@ exports.Validation = { } }; -},{}],796:[function(require,module,exports){ +},{}],797:[function(require,module,exports){ 'use strict'; /*! @@ -145610,7 +146140,7 @@ module.exports = typeof isValidUTF8 === 'object' ? isValidUTF8.Validation.isValidUTF8 : isValidUTF8; -},{"./Validation.fallback":795}],797:[function(require,module,exports){ +},{"./Validation.fallback":796}],798:[function(require,module,exports){ 'use strict'; /*! @@ -146599,7 +147129,7 @@ function cleanupWebsocketResources(error) { delete this._queue; } -},{"./Extensions":789,"./PerMessageDeflate":790,"./Receiver":792,"./Receiver.hixie":791,"./Sender":794,"./Sender.hixie":793,"create-hash":197,"events":undefined,"http":undefined,"https":undefined,"options":595,"readable-stream":642,"ultron":765,"url":undefined,"util":undefined}],798:[function(require,module,exports){ +},{"./Extensions":790,"./PerMessageDeflate":791,"./Receiver":793,"./Receiver.hixie":792,"./Sender":795,"./Sender.hixie":794,"create-hash":197,"events":undefined,"http":undefined,"https":undefined,"options":596,"readable-stream":643,"ultron":765,"url":undefined,"util":undefined}],799:[function(require,module,exports){ /*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik @@ -147155,7 +147685,7 @@ function abortConnection(socket, code, name) { } } -},{"./Extensions":789,"./PerMessageDeflate":790,"./WebSocket":797,"create-hash":197,"events":undefined,"http":undefined,"options":595,"tls":undefined,"url":undefined,"util":undefined}],799:[function(require,module,exports){ +},{"./Extensions":790,"./PerMessageDeflate":791,"./WebSocket":798,"create-hash":197,"events":undefined,"http":undefined,"options":596,"tls":undefined,"url":undefined,"util":undefined}],800:[function(require,module,exports){ // Generated by CoffeeScript 1.10.0 (function() { "use strict"; @@ -147169,7 +147699,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{}],800:[function(require,module,exports){ +},{}],801:[function(require,module,exports){ // Generated by CoffeeScript 1.10.0 (function() { "use strict"; @@ -147205,7 +147735,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{}],801:[function(require,module,exports){ +},{}],802:[function(require,module,exports){ // Generated by CoffeeScript 1.10.0 (function() { "use strict"; @@ -147750,7 +148280,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./bom":799,"./processors":800,"events":undefined,"sax":657,"timers":undefined,"xmlbuilder":818}],802:[function(require,module,exports){ +},{"./bom":800,"./processors":801,"events":undefined,"sax":658,"timers":undefined,"xmlbuilder":819}],803:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLAttribute, create; @@ -147784,7 +148314,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476}],803:[function(require,module,exports){ +},{"lodash/create":477}],804:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier; @@ -147855,7 +148385,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLDeclaration":810,"./XMLDocType":811,"./XMLElement":812,"./XMLStringifier":816}],804:[function(require,module,exports){ +},{"./XMLDeclaration":811,"./XMLDocType":812,"./XMLElement":813,"./XMLStringifier":817}],805:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLCData, XMLNode, create, @@ -147906,7 +148436,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLNode":813,"lodash/create":476}],805:[function(require,module,exports){ +},{"./XMLNode":814,"lodash/create":477}],806:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLComment, XMLNode, create, @@ -147957,7 +148487,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLNode":813,"lodash/create":476}],806:[function(require,module,exports){ +},{"./XMLNode":814,"lodash/create":477}],807:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLDTDAttList, create; @@ -148027,7 +148557,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476}],807:[function(require,module,exports){ +},{"lodash/create":477}],808:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLDTDElement, create; @@ -148075,7 +148605,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476}],808:[function(require,module,exports){ +},{"lodash/create":477}],809:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLDTDEntity, create, isObject; @@ -148161,7 +148691,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476,"lodash/isObject":489}],809:[function(require,module,exports){ +},{"lodash/create":477,"lodash/isObject":490}],810:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLDTDNotation, create; @@ -148219,7 +148749,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476}],810:[function(require,module,exports){ +},{"lodash/create":477}],811:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLDeclaration, XMLNode, create, isObject, @@ -148286,7 +148816,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLNode":813,"lodash/create":476,"lodash/isObject":489}],811:[function(require,module,exports){ +},{"./XMLNode":814,"lodash/create":477,"lodash/isObject":490}],812:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject; @@ -148476,7 +149006,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLCData":804,"./XMLComment":805,"./XMLDTDAttList":806,"./XMLDTDElement":807,"./XMLDTDEntity":808,"./XMLDTDNotation":809,"./XMLProcessingInstruction":814,"lodash/create":476,"lodash/isObject":489}],812:[function(require,module,exports){ +},{"./XMLCData":805,"./XMLComment":806,"./XMLDTDAttList":807,"./XMLDTDElement":808,"./XMLDTDEntity":809,"./XMLDTDNotation":810,"./XMLProcessingInstruction":815,"lodash/create":477,"lodash/isObject":490}],813:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject, @@ -148690,7 +149220,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLAttribute":802,"./XMLNode":813,"./XMLProcessingInstruction":814,"lodash/create":476,"lodash/every":478,"lodash/isFunction":487,"lodash/isObject":489}],813:[function(require,module,exports){ +},{"./XMLAttribute":803,"./XMLNode":814,"./XMLProcessingInstruction":815,"lodash/create":477,"lodash/every":479,"lodash/isFunction":488,"lodash/isObject":490}],814:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject, @@ -149023,7 +149553,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLCData":804,"./XMLComment":805,"./XMLDeclaration":810,"./XMLDocType":811,"./XMLElement":812,"./XMLRaw":815,"./XMLText":817,"lodash/isEmpty":486,"lodash/isFunction":487,"lodash/isObject":489}],814:[function(require,module,exports){ +},{"./XMLCData":805,"./XMLComment":806,"./XMLDeclaration":811,"./XMLDocType":812,"./XMLElement":813,"./XMLRaw":816,"./XMLText":818,"lodash/isEmpty":487,"lodash/isFunction":488,"lodash/isObject":490}],815:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLProcessingInstruction, create; @@ -149076,7 +149606,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"lodash/create":476}],815:[function(require,module,exports){ +},{"lodash/create":477}],816:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLNode, XMLRaw, create, @@ -149127,7 +149657,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLNode":813,"lodash/create":476}],816:[function(require,module,exports){ +},{"./XMLNode":814,"lodash/create":477}],817:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLStringifier, @@ -149299,7 +149829,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{}],817:[function(require,module,exports){ +},{}],818:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLNode, XMLText, create, @@ -149350,7 +149880,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLNode":813,"lodash/create":476}],818:[function(require,module,exports){ +},{"./XMLNode":814,"lodash/create":477}],819:[function(require,module,exports){ // Generated by CoffeeScript 1.9.1 (function() { var XMLBuilder, assign; @@ -149366,7 +149896,7 @@ function abortConnection(socket, code, name) { }).call(this); -},{"./XMLBuilder":803,"lodash/assign":474}],819:[function(require,module,exports){ +},{"./XMLBuilder":804,"lodash/assign":475}],820:[function(require,module,exports){ var http = require('http') , https = require('https') , url = require('url') @@ -149466,7 +149996,7 @@ Client.prototype.methodCall = function methodCall(method, params, callback) { module.exports = Client -},{"./deserializer":821,"./serializer":822,"http":undefined,"https":undefined,"url":undefined}],820:[function(require,module,exports){ +},{"./deserializer":822,"./serializer":823,"http":undefined,"https":undefined,"url":undefined}],821:[function(require,module,exports){ var dateFormatter = exports // Source: http://webcloud.se/log/JavaScript-and-ISO-8601/ @@ -149549,7 +150079,7 @@ function zeroPad(digit, length) { } -},{}],821:[function(require,module,exports){ +},{}],822:[function(require,module,exports){ var sax = require('sax') , dateFormatter = require('./date_formatter') @@ -149870,7 +150400,7 @@ Deserializer.prototype.endMethodCall = function(data) { module.exports = Deserializer -},{"./date_formatter":820,"sax":825}],822:[function(require,module,exports){ +},{"./date_formatter":821,"sax":826}],823:[function(require,module,exports){ var xmlBuilder = require('xmlbuilder') , dateFormatter = require('./date_formatter') @@ -150067,7 +150597,7 @@ function appendBuffer(value, xml) { } -},{"./date_formatter":820,"xmlbuilder":828}],823:[function(require,module,exports){ +},{"./date_formatter":821,"xmlbuilder":829}],824:[function(require,module,exports){ var http = require('http') , https = require('https') , url = require('url') @@ -150139,7 +150669,7 @@ Server.prototype.__proto__ = EventEmitter.prototype module.exports = Server -},{"./deserializer":821,"./serializer":822,"events":undefined,"http":undefined,"https":undefined,"url":undefined}],824:[function(require,module,exports){ +},{"./deserializer":822,"./serializer":823,"events":undefined,"http":undefined,"https":undefined,"url":undefined}],825:[function(require,module,exports){ var Client = require('./client') , Server = require('./server') @@ -150198,7 +150728,7 @@ xmlrpc.createSecureServer = function(options) { } -},{"./client":819,"./server":823}],825:[function(require,module,exports){ +},{"./client":820,"./server":824}],826:[function(require,module,exports){ // wrapper for non-node envs ;(function (sax) { @@ -151216,7 +151746,7 @@ function write (chunk) { })(typeof exports === "undefined" ? sax = {} : exports) -},{"stream":undefined}],826:[function(require,module,exports){ +},{"stream":undefined}],827:[function(require,module,exports){ (function() { var XMLBuilder, XMLFragment; var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { @@ -151296,7 +151826,7 @@ function write (chunk) { module.exports = XMLBuilder; }).call(this); -},{"./XMLFragment":827}],827:[function(require,module,exports){ +},{"./XMLFragment":828}],828:[function(require,module,exports){ (function() { var XMLFragment; var __hasProp = Object.prototype.hasOwnProperty; @@ -151670,7 +152200,7 @@ function write (chunk) { module.exports = XMLFragment; }).call(this); -},{}],828:[function(require,module,exports){ +},{}],829:[function(require,module,exports){ (function() { var XMLBuilder; XMLBuilder = require('./XMLBuilder'); @@ -151679,7 +152209,7 @@ function write (chunk) { }; }).call(this); -},{"./XMLBuilder":826}],829:[function(require,module,exports){ +},{"./XMLBuilder":827}],830:[function(require,module,exports){ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; @@ -151700,7 +152230,7 @@ function extend() { return target } -},{}],830:[function(require,module,exports){ +},{}],831:[function(require,module,exports){ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; @@ -151719,7 +152249,7 @@ function extend(target) { return target } -},{}],831:[function(require,module,exports){ +},{}],832:[function(require,module,exports){ const { setTimeout } = require('timers'); // A cache that expires. @@ -151775,7 +152305,7 @@ module.exports = class Cache extends Map { } }; -},{"timers":undefined}],832:[function(require,module,exports){ +},{"timers":undefined}],833:[function(require,module,exports){ const utils = require('./utils'); const FORMATS = require('./formats'); @@ -152027,7 +152557,7 @@ exports.addFormatMeta = format => { return format; }; -},{"./formats":833,"./utils":839}],833:[function(require,module,exports){ +},{"./formats":834,"./utils":840}],834:[function(require,module,exports){ /** * http://en.wikipedia.org/wiki/YouTube#Quality_and_formats */ @@ -152553,7 +153083,7 @@ module.exports = { }; -},{}],834:[function(require,module,exports){ +},{}],835:[function(require,module,exports){ const PassThrough = require('stream').PassThrough; const getInfo = require('./info'); const utils = require('./utils'); @@ -152762,7 +153292,7 @@ ytdl.downloadFromInfo = (info, options) => { return stream; }; -},{"../package.json":841,"./format-utils":832,"./info":836,"./sig":837,"./url-utils":838,"./utils":839,"m3u8stream":502,"miniget":555,"stream":undefined}],835:[function(require,module,exports){ +},{"../package.json":842,"./format-utils":833,"./info":837,"./sig":838,"./url-utils":839,"./utils":840,"m3u8stream":503,"miniget":556,"stream":undefined}],836:[function(require,module,exports){ const utils = require('./utils'); const qs = require('querystring'); const { parseTimestamp } = require('m3u8stream'); @@ -153129,7 +153659,7 @@ exports.getChapters = info => { })); }; -},{"./utils":839,"m3u8stream":502,"querystring":undefined}],836:[function(require,module,exports){ +},{"./utils":840,"m3u8stream":503,"querystring":undefined}],837:[function(require,module,exports){ const querystring = require('querystring'); const sax = require('sax'); const miniget = require('miniget'); @@ -153618,7 +154148,7 @@ exports.validateURL = urlUtils.validateURL; exports.getURLVideoID = urlUtils.getURLVideoID; exports.getVideoID = urlUtils.getVideoID; -},{"./cache":831,"./format-utils":832,"./info-extras":835,"./sig":837,"./url-utils":838,"./utils":839,"miniget":555,"querystring":undefined,"sax":840,"timers":undefined}],837:[function(require,module,exports){ +},{"./cache":832,"./format-utils":833,"./info-extras":836,"./sig":838,"./url-utils":839,"./utils":840,"miniget":556,"querystring":undefined,"sax":841,"timers":undefined}],838:[function(require,module,exports){ const querystring = require('querystring'); const Cache = require('./cache'); const utils = require('./utils'); @@ -153866,7 +154396,7 @@ exports.decipherFormats = async(formats, html5player, options) => { return decipheredFormats; }; -},{"./cache":831,"./utils":839,"querystring":undefined}],838:[function(require,module,exports){ +},{"./cache":832,"./utils":840,"querystring":undefined}],839:[function(require,module,exports){ /** * Get video ID. * @@ -153959,7 +154489,7 @@ exports.validateURL = string => { } }; -},{}],839:[function(require,module,exports){ +},{}],840:[function(require,module,exports){ const miniget = require('miniget'); @@ -154144,9 +154674,9 @@ exports.checkForUpdates = () => { return null; }; -},{"../package.json":841,"miniget":555}],840:[function(require,module,exports){ -arguments[4][506][0].apply(exports,arguments) -},{"dup":506,"stream":undefined,"string_decoder":undefined}],841:[function(require,module,exports){ +},{"../package.json":842,"miniget":556}],841:[function(require,module,exports){ +arguments[4][507][0].apply(exports,arguments) +},{"dup":507,"stream":undefined,"string_decoder":undefined}],842:[function(require,module,exports){ module.exports={ "name": "ytdl-core", "description": "YouTube video downloader in pure javascript.", @@ -154155,7 +154685,7 @@ module.exports={ "video", "download" ], - "version": "4.8.3", + "version": "4.9.0", "repository": { "type": "git", "url": "git://github.com/fent/node-ytdl-core.git" @@ -154207,7 +154737,7 @@ module.exports={ "license": "MIT" } -},{}],842:[function(require,module,exports){ +},{}],843:[function(require,module,exports){ var bops = require("bops"); @@ -154266,7 +154796,7 @@ function consolidate(buffers) { } -},{"bops":105}],843:[function(require,module,exports){ +},{"bops":105}],844:[function(require,module,exports){ /* Copyright (C) 1999 Masanao Izumo * Version: 1.0.0.1 * LastModified: Dec 25 1999 @@ -155022,7 +155552,7 @@ exports.inflate = function (input) { }; -},{"./buffer-io":842,"bops":105}],844:[function(require,module,exports){ +},{"./buffer-io":843,"bops":105}],845:[function(require,module,exports){ // Tom Robinson // Kris Kowal @@ -155462,7 +155992,7 @@ var decodeDateTime = function (date, time) { } -},{"./inflate":843,"bops":105}],"bluebird":[function(require,module,exports){ +},{"./inflate":844,"bops":105}],"bluebird":[function(require,module,exports){ "use strict"; var old; if (typeof Promise !== "undefined") old = Promise; @@ -157013,4 +157543,3 @@ exports.Response = Response; exports.FetchError = FetchError; },{"encoding":113,"http":undefined,"https":undefined,"stream":undefined,"url":undefined,"zlib":undefined}]},{},[727]); -