diff --git a/.env b/.env new file mode 100644 index 0000000..b962dc7 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +MODERATOR_PASSWORD="aaa" \ No newline at end of file diff --git a/Moo Moo.html b/Moo Moo.html new file mode 100644 index 0000000..f5b677a --- /dev/null +++ b/Moo Moo.html @@ -0,0 +1,42 @@ +Moo Moo
YOU DIED
\ No newline at end of file diff --git a/README.md b/README.md index 7eccfb3..970fee7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# sanctuary [![Maintenance](https://img.shields.io/badge/Maintained%3F-no-inactive.svg)](https://GitHub.com/Picoseconds/sanctuary/graphs/commit-activity) [![Written in TypeScript](https://img.shields.io/badge/types-typescript-success)](https://github.com/microsoft/TypeScript/) +# sanctuary [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-active.svg)](https://GitHub.com/FuriousBird/sanctuary/graphs/commit-activity) [![Written in TypeScript](https://img.shields.io/badge/types-typescript-success)](https://github.com/microsoft/TypeScript/) Sanctuary is a private server implementation for the game MooMoo.io. ## Features diff --git a/Redirector.json b/Redirector.json new file mode 100644 index 0000000..4a254b3 --- /dev/null +++ b/Redirector.json @@ -0,0 +1,42 @@ +{ + "createdBy": "Redirector v3.5.3", + "createdAt": "2024-02-21T15:42:52.335Z", + "redirects": [ + { + "description": "moomoo", + "exampleUrl": "https://moomoo.io/assets/index-fkjeh222rkg.js", + "exampleResult": "https://7953-128-78-208-189.ngrok-free.app/customclient", + "error": null, + "includePattern": "https://moomoo.io/assets/index-*.js", + "excludePattern": "", + "patternDesc": "none", + "redirectUrl": "https://7953-128-78-208-189.ngrok-free.app/customclient", + "patternType": "W", + "processMatches": "noProcessing", + "disabled": false, + "grouped": false, + "appliesTo": [ + "main_frame", + "script" + ] + }, + { + "description": "block challenges_cloudflare", + "exampleUrl": "https://challenges.cloudflare.com/turnstile/v0/api.js", + "exampleResult": "https://example.com", + "error": null, + "includePattern": "https://challenges.cloudflare.com/*", + "excludePattern": "", + "patternDesc": "", + "redirectUrl": "https://example.com", + "patternType": "W", + "processMatches": "noProcessing", + "disabled": true, + "grouped": false, + "appliesTo": [ + "main_frame", + "script" + ] + } + ] +} \ No newline at end of file diff --git a/nodemon.json b/nodemon.json new file mode 100644 index 0000000..7e8debd --- /dev/null +++ b/nodemon.json @@ -0,0 +1,6 @@ +{ + "ignore": ["**/*.test.ts", "**/*.spec.ts", "node_modules"], + "watch": ["src"], + "exec": "npm start", + "ext": "ts" + } \ No newline at end of file diff --git a/package.json b/package.json index 3ff5c21..692f051 100755 --- a/package.json +++ b/package.json @@ -4,8 +4,10 @@ "description": "A private server with administration interface for the popular online game MooMoo.io", "main": "index.js", "scripts": { - "start": "npm run build && node lib/server.js", - "build": "tsc -b tsconfig.json" + "start": "npm run build && npm run copycustom && node lib/server.js", + "copycustom": "copyfiles customclient.js lib/", + "build": "tsc -b tsconfig.json", + "dev": "nodemon" }, "keywords": [], "author": "Picoseconds", @@ -13,11 +15,12 @@ "devDependencies": { "@types/node": "^14.0.24", "cz-conventional-changelog": "3.2.0", - "standard-version": "^8.0.2", + "nodemon": "^2.0.22", + "standard-version": "^9.5.0", + "ts-node": "^10.9.1", "typescript": "^3.9.2" }, "dependencies": { - "@types/dotenv": "^8.2.0", "@types/express": "^4.17.7", "@types/lowdb": "^1.0.9", "@types/msgpack-lite": "^0.1.7", @@ -27,13 +30,14 @@ "@types/ws": "^7.2.6", "ansi-escapes": "^4.3.1", "array-buffer-to-hex": "^1.0.0", - "chalk": "^4.1.0", + "chalk": "^4.1.2", "commander": "^6.0.0", + "copyfiles": "^2.4.1", "dotenv": "^8.2.0", "express": "^4.17.1", - "extract-text-webpack-plugin": "^3.0.2", "fast-sha256": "^1.3.0", "lowdb": "^1.0.0", + "mini-css-extract-plugin": "^2.7.5", "msgpack-lite": "^0.1.26", "nanotimer": "^0.3.15", "node-brigadier": "^0.0.12", diff --git a/src/customclient.js b/src/customclient.js new file mode 100644 index 0000000..0523800 --- /dev/null +++ b/src/customclient.js @@ -0,0 +1,6668 @@ +let vultr = { + servers:[{"region":"us-west","name":"XJ","key":"gs-kklqg-tmkzs","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"us-west","name":"CU","key":"gs-kklqg-vrxgl","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"us-west","name":"DH","key":"gs-kklqg-689zz","playerCapacity":40,"playerCount":26,"version":"1.22"},{"region":"us-west","name":"ZE","key":"gs-kklqg-r5ggq","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"us-west","name":"US","key":"gs-kklqg-d2p42","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"us-west","name":"CX","key":"gs-kklqg-hvgq6","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"us-west","name":"PX","key":"gs-kklqg-sh7v9","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"us-west","name":"UA","key":"gs-kklqg-lkr8n","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"us-west","name":"PS","key":"gs-kklqg-97csv","playerCapacity":40,"playerCount":4,"version":"1.22"},{"region":"us-west","name":"CN","key":"gs-kklqg-ns5ml","playerCapacity":40,"playerCount":4,"version":"1.22"},{"region":"us-west","name":"AN","key":"gs-kklqg-skps6","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"us-west","name":"ZP","key":"gs-kklqg-dfh4r","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"us-west","name":"TD","key":"gs-kklqg-fzmgd","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"us-west","name":"SK","key":"gs-kklqg-mgqqj","playerCapacity":40,"playerCount":4,"version":"1.22"},{"region":"us-west","name":"YT","key":"gs-kklqg-x9h57","playerCapacity":40,"playerCount":12,"version":"1.22"},{"region":"us-west","name":"JX","key":"gs-kklqg-gw5ht","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"us-west","name":"ZN","key":"gs-kklqg-kwbrd","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"us-west","name":"JE","key":"gs-kklqg-t4hhb","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"us-west","name":"UA","key":"gs-kklqg-mzspz","playerCapacity":40,"playerCount":6,"version":"1.22"},{"region":"us-east","name":"DF","key":"gs-nmp6j-jqntb","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"us-east","name":"KH","key":"gs-nmp6j-trs5q","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"us-east","name":"GE","key":"gs-nmp6j-ccqbt","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"us-east","name":"PG","key":"gs-nmp6j-xbtl6","playerCapacity":40,"playerCount":4,"version":"1.22"},{"region":"us-east","name":"GE","key":"gs-nmp6j-649sk","playerCapacity":40,"playerCount":37,"version":"1.22"},{"region":"eu-west","name":"FK","key":"gs-t698r-v5jp7","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"eu-west","name":"NU","key":"gs-t698r-wllm2","playerCapacity":40,"playerCount":14,"version":"1.22"},{"region":"eu-west","name":"WH","key":"gs-t698r-qkktq","playerCapacity":40,"playerCount":39,"version":"1.22"},{"region":"eu-west","name":"CM","key":"gs-t698r-x5wwn","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"eu-west","name":"HB","key":"gs-t698r-w96gx","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"gb","name":"GT","key":"gs-qbllj-v74tf","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"gb","name":"HY","key":"gs-qbllj-rwr8r","playerCapacity":40,"playerCount":17,"version":"1.22"},{"region":"gb","name":"WM","key":"gs-qbllj-gvjrh","playerCapacity":40,"playerCount":4,"version":"1.22"},{"region":"gb","name":"BE","key":"gs-qbllj-q88x9","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"gb","name":"ZS","key":"gs-qbllj-pv7r9","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"gb","name":"HP","key":"gs-qbllj-5kh28","playerCapacity":40,"playerCount":38,"version":"1.22"},{"region":"au","name":"YT","key":"gs-jg44s-cgkpv","playerCapacity":40,"playerCount":3,"version":"1.22"},{"region":"au","name":"JN","key":"gs-jg44s-g7cpp","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"au","name":"DP","key":"gs-jg44s-lmd72","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"sg","name":"PE","key":"gs-4xkrw-mw6fm","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"sg","name":"NF","key":"gs-4xkrw-zcsld","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"sg","name":"JN","key":"gs-4xkrw-5zzrd","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"sg","name":"PV","key":"gs-4xkrw-llb47","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"sg","name":"NS","key":"gs-4xkrw-lvwtn","playerCapacity":40,"playerCount":16,"version":"1.22"},{"region":"sg","name":"TC","key":"gs-4xkrw-qkgnp","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"sg","name":"HZ","key":"gs-4xkrw-9wl4h","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"sg","name":"GX","key":"gs-4xkrw-45gj5","playerCapacity":40,"playerCount":2,"version":"1.22"},{"region":"sg","name":"FS","key":"gs-4xkrw-lfqgq","playerCapacity":40,"playerCount":1,"version":"1.22"},{"region":"sg","name":"GY","key":"gs-4xkrw-k5667","playerCapacity":40,"playerCount":0,"version":"1.22"},{"region":"sg","name":"SP","key":"gs-4xkrw-thjzm","playerCapacity":40,"playerCount":1,"version":"1.22"}] +} +window.vultr = vultr + + +! function(e) { + var t = {}; + + function n(i) { + if (t[i]) return t[i].exports; + var r = t[i] = { + i: i, + l: !1, + exports: {} + }; + return e[i].call(r.exports, r, r.exports, n), r.l = !0, r.exports + } + n.m = e, n.c = t, n.d = function(e, t, i) { + n.o(e, t) || Object.defineProperty(e, t, { + enumerable: !0, + get: i + }) + }, n.r = function(e) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(e, "__esModule", { + value: !0 + }) + }, n.t = function(e, t) { + if (1 & t && (e = n(e)), 8 & t) return e; + if (4 & t && "object" == typeof e && e && e.__esModule) return e; + var i = Object.create(null); + if (n.r(i), Object.defineProperty(i, "default", { + enumerable: !0, + value: e + }), 2 & t && "string" != typeof e) + for (var r in e) n.d(i, r, function(t) { + return e[t] + }.bind(null, r)); + return i + }, n.n = function(e) { + var t = e && e.__esModule ? function() { + return e.default + } : function() { + return e + }; + return n.d(t, "a", t), t + }, n.o = function(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + }, n.p = "", n(n.s = 21) +}([function(e, t, n) { + var i = t.global = n(25), + r = t.hasBuffer = i && !!i.isBuffer, + s = t.hasArrayBuffer = "undefined" != typeof ArrayBuffer, + a = t.isArray = n(5); + t.isArrayBuffer = s ? function(e) { + return e instanceof ArrayBuffer || p(e) + } : m; + var o = t.isBuffer = r ? i.isBuffer : m, + c = t.isView = s ? ArrayBuffer.isView || y("ArrayBuffer", "buffer") : m; + t.alloc = d, t.concat = function(e, n) { + n || (n = 0, Array.prototype.forEach.call(e, (function(e) { + n += e.length + }))); + var i = this !== t && this || e[0], + r = d.call(i, n), + s = 0; + return Array.prototype.forEach.call(e, (function(e) { + s += f.copy.call(e, r, s) + })), r + }, t.from = function(e) { + return "string" == typeof e ? function(e) { + var t = 3 * e.length, + n = d.call(this, t), + i = f.write.call(n, e); + return t !== i && (n = f.slice.call(n, 0, i)), n + }.call(this, e) : g(this).from(e) + }; + var l = t.Array = n(28), + h = t.Buffer = n(29), + u = t.Uint8Array = n(30), + f = t.prototype = n(6); + + function d(e) { + return g(this).alloc(e) + } + var p = y("ArrayBuffer"); + + function g(e) { + return o(e) ? h : c(e) ? u : a(e) ? l : r ? h : s ? u : l + } + + function m() { + return !1 + } + + function y(e, t) { + return e = "[object " + e + "]", + function(n) { + return null != n && {}.toString.call(t ? n[t] : n) === e + } + } +}, function(e, t, n) { + var i = n(5); + t.createCodec = o, t.install = function(e) { + for (var t in e) s.prototype[t] = a(s.prototype[t], e[t]) + }, t.filter = function(e) { + return i(e) ? function(e) { + return e = e.slice(), + function(n) { + return e.reduce(t, n) + }; + + function t(e, t) { + return t(e) + } + }(e) : e + }; + var r = n(0); + + function s(e) { + if (!(this instanceof s)) return new s(e); + this.options = e, this.init() + } + + function a(e, t) { + return e && t ? function() { + return e.apply(this, arguments), t.apply(this, arguments) + } : e || t + } + + function o(e) { + return new s(e) + } + s.prototype.init = function() { + var e = this.options; + return e && e.uint8array && (this.bufferish = r.Uint8Array), this + }, t.preset = o({ + preset: !0 + }) +}, function(e, t, n) { + var i = n(3).ExtBuffer, + r = n(32), + s = n(33), + a = n(1); + + function o() { + var e = this.options; + return this.encode = function(e) { + var t = s.getWriteType(e); + return function(e, n) { + var i = t[typeof n]; + if (!i) throw new Error('Unsupported type "' + typeof n + '": ' + n); + i(e, n) + } + }(e), e && e.preset && r.setExtPackers(this), this + } + a.install({ + addExtPacker: function(e, t, n) { + n = a.filter(n); + var r = t.name; + r && "Object" !== r ? (this.extPackers || (this.extPackers = {}))[r] = s : (this.extEncoderList || (this.extEncoderList = [])).unshift([t, s]); + + function s(t) { + return n && (t = n(t)), new i(t, e) + } + }, + getExtPacker: function(e) { + var t = this.extPackers || (this.extPackers = {}), + n = e.constructor, + i = n && n.name && t[n.name]; + if (i) return i; + for (var r = this.extEncoderList || (this.extEncoderList = []), s = r.length, a = 0; a < s; a++) { + var o = r[a]; + if (n === o[0]) return o[1] + } + }, + init: o + }), t.preset = o.call(a.preset) +}, function(e, t, n) { + t.ExtBuffer = function e(t, n) { + if (!(this instanceof e)) return new e(t, n); + this.buffer = i.from(t), this.type = n + }; + var i = n(0) +}, function(e, t) { + t.read = function(e, t, n, i, r) { + var s, a, o = 8 * r - i - 1, + c = (1 << o) - 1, + l = c >> 1, + h = -7, + u = n ? r - 1 : 0, + f = n ? -1 : 1, + d = e[t + u]; + for (u += f, s = d & (1 << -h) - 1, d >>= -h, h += o; h > 0; s = 256 * s + e[t + u], u += f, h -= 8); + for (a = s & (1 << -h) - 1, s >>= -h, h += i; h > 0; a = 256 * a + e[t + u], u += f, h -= 8); + if (0 === s) s = 1 - l; + else { + if (s === c) return a ? NaN : 1 / 0 * (d ? -1 : 1); + a += Math.pow(2, i), s -= l + } + return (d ? -1 : 1) * a * Math.pow(2, s - i) + }, t.write = function(e, t, n, i, r, s) { + var a, o, c, l = 8 * s - r - 1, + h = (1 << l) - 1, + u = h >> 1, + f = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + d = i ? 0 : s - 1, + p = i ? 1 : -1, + g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0; + for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (o = isNaN(t) ? 1 : 0, a = h) : (a = Math.floor(Math.log(t) / Math.LN2), t * (c = Math.pow(2, -a)) < 1 && (a--, c *= 2), (t += a + u >= 1 ? f / c : f * Math.pow(2, 1 - u)) * c >= 2 && (a++, c /= 2), a + u >= h ? (o = 0, a = h) : a + u >= 1 ? (o = (t * c - 1) * Math.pow(2, r), a += u) : (o = t * Math.pow(2, u - 1) * Math.pow(2, r), a = 0)); r >= 8; e[n + d] = 255 & o, d += p, o /= 256, r -= 8); + for (a = a << r | o, l += r; l > 0; e[n + d] = 255 & a, d += p, a /= 256, l -= 8); + e[n + d - p] |= 128 * g + } +}, function(e, t) { + var n = {}.toString; + e.exports = Array.isArray || function(e) { + return "[object Array]" == n.call(e) + } +}, function(e, t, n) { + var i = n(31); + t.copy = c, t.slice = l, t.toString = function(e, t, n) { + return (!a && r.isBuffer(this) ? this.toString : i.toString).apply(this, arguments) + }, t.write = function(e) { + return function() { + return (this[e] || i[e]).apply(this, arguments) + } + }("write"); + var r = n(0), + s = r.global, + a = r.hasBuffer && "TYPED_ARRAY_SUPPORT" in s, + o = a && !s.TYPED_ARRAY_SUPPORT; + + function c(e, t, n, s) { + var a = r.isBuffer(this), + c = r.isBuffer(e); + if (a && c) return this.copy(e, t, n, s); + if (o || a || c || !r.isView(this) || !r.isView(e)) return i.copy.call(this, e, t, n, s); + var h = n || null != s ? l.call(this, n, s) : this; + return e.set(h, t), h.length + } + + function l(e, t) { + var n = this.slice || !o && this.subarray; + if (n) return n.call(this, e, t); + var i = r.alloc.call(this, t - e); + return c.call(this, i, 0, e, t), i + } +}, function(e, t, n) { + (function(e) { + ! function(t) { + var n, i = "undefined", + r = i !== typeof e && e, + s = i !== typeof Uint8Array && Uint8Array, + a = i !== typeof ArrayBuffer && ArrayBuffer, + o = [0, 0, 0, 0, 0, 0, 0, 0], + c = Array.isArray || function(e) { + return !!e && "[object Array]" == Object.prototype.toString.call(e) + }, + l = 4294967296; + + function h(e, c, h) { + var b = c ? 0 : 4, + x = c ? 4 : 0, + S = c ? 0 : 3, + T = c ? 1 : 2, + I = c ? 2 : 1, + E = c ? 3 : 0, + M = c ? y : v, + A = c ? k : w, + P = O.prototype, + B = "is" + e, + C = "_" + B; + return P.buffer = void 0, P.offset = 0, P[C] = !0, P.toNumber = R, P.toString = function(e) { + var t = this.buffer, + n = this.offset, + i = _(t, n + b), + r = _(t, n + x), + s = "", + a = !h && 2147483648 & i; + for (a && (i = ~i, r = l - r), e = e || 10;;) { + var o = i % e * l + r; + if (i = Math.floor(i / e), r = Math.floor(o / e), s = (o % e).toString(e) + s, !i && !r) break + } + return a && (s = "-" + s), s + }, P.toJSON = R, P.toArray = u, r && (P.toBuffer = f), s && (P.toArrayBuffer = d), O[B] = function(e) { + return !(!e || !e[C]) + }, t[e] = O, O; + + function O(e, t, r, c) { + return this instanceof O ? function(e, t, r, c, h) { + if (s && a && (t instanceof a && (t = new s(t)), c instanceof a && (c = new s(c))), t || r || c || n) { + if (!p(t, r)) h = r, c = t, r = 0, t = new(n || Array)(8); + e.buffer = t, e.offset = r |= 0, i !== typeof c && ("string" == typeof c ? function(e, t, n, i) { + var r = 0, + s = n.length, + a = 0, + o = 0; + "-" === n[0] && r++; + for (var c = r; r < s;) { + var h = parseInt(n[r++], i); + if (!(h >= 0)) break; + o = o * i + h, a = a * i + Math.floor(o / l), o %= l + } + c && (a = ~a, o ? o = l - o : a++), j(e, t + b, a), j(e, t + x, o) + }(t, r, c, h || 10) : p(c, h) ? g(t, r, c, h) : "number" == typeof h ? (j(t, r + b, c), j(t, r + x, h)) : c > 0 ? M(t, r, c) : c < 0 ? A(t, r, c) : g(t, r, o, 0)) + } else e.buffer = m(o, 0) + }(this, e, t, r, c) : new O(e, t, r, c) + } + + function R() { + var e = this.buffer, + t = this.offset, + n = _(e, t + b), + i = _(e, t + x); + return h || (n |= 0), n ? n * l + i : i + } + + function j(e, t, n) { + e[t + E] = 255 & n, n >>= 8, e[t + I] = 255 & n, n >>= 8, e[t + T] = 255 & n, n >>= 8, e[t + S] = 255 & n + } + + function _(e, t) { + return 16777216 * e[t + S] + (e[t + T] << 16) + (e[t + I] << 8) + e[t + E] + } + } + + function u(e) { + var t = this.buffer, + i = this.offset; + return n = null, !1 !== e && 0 === i && 8 === t.length && c(t) ? t : m(t, i) + } + + function f(t) { + var i = this.buffer, + s = this.offset; + if (n = r, !1 !== t && 0 === s && 8 === i.length && e.isBuffer(i)) return i; + var a = new r(8); + return g(a, 0, i, s), a + } + + function d(e) { + var t = this.buffer, + i = this.offset, + r = t.buffer; + if (n = s, !1 !== e && 0 === i && r instanceof a && 8 === r.byteLength) return r; + var o = new s(8); + return g(o, 0, t, i), o.buffer + } + + function p(e, t) { + var n = e && e.length; + return t |= 0, n && t + 8 <= n && "string" != typeof e[t] + } + + function g(e, t, n, i) { + t |= 0, i |= 0; + for (var r = 0; r < 8; r++) e[t++] = 255 & n[i++] + } + + function m(e, t) { + return Array.prototype.slice.call(e, t, t + 8) + } + + function y(e, t, n) { + for (var i = t + 8; i > t;) e[--i] = 255 & n, n /= 256 + } + + function k(e, t, n) { + var i = t + 8; + for (n++; i > t;) e[--i] = 255 & -n ^ 255, n /= 256 + } + + function v(e, t, n) { + for (var i = t + 8; t < i;) e[t++] = 255 & n, n /= 256 + } + + function w(e, t, n) { + var i = t + 8; + for (n++; t < i;) e[t++] = 255 & -n ^ 255, n /= 256 + } + h("Uint64BE", !0, !0), h("Int64BE", !0, !1), h("Uint64LE", !1, !0), h("Int64LE", !1, !1) + }("string" != typeof t.nodeName ? t : this || {}) + }).call(this, n(11).Buffer) +}, function(e, t, n) { + var i = n(3).ExtBuffer, + r = n(35), + s = n(17).readUint8, + a = n(36), + o = n(1); + + function c() { + var e = this.options; + return this.decode = function(e) { + var t = a.getReadToken(e); + return function(e) { + var n = s(e), + i = t[n]; + if (!i) throw new Error("Invalid type: " + (n ? "0x" + n.toString(16) : n)); + return i(e) + } + }(e), e && e.preset && r.setExtUnpackers(this), this + } + o.install({ + addExtUnpacker: function(e, t) { + (this.extUnpackers || (this.extUnpackers = []))[e] = o.filter(t) + }, + getExtUnpacker: function(e) { + return (this.extUnpackers || (this.extUnpackers = []))[e] || function(t) { + return new i(t, e) + } + }, + init: c + }), t.preset = c.call(o.preset) +}, function(e, t, n) { + t.encode = function(e, t) { + var n = new i(t); + return n.write(e), n.read() + }; + var i = n(10).EncodeBuffer +}, function(e, t, n) { + t.EncodeBuffer = r; + var i = n(2).preset; + + function r(e) { + if (!(this instanceof r)) return new r(e); + if (e && (this.options = e, e.codec)) { + var t = this.codec = e.codec; + t.bufferish && (this.bufferish = t.bufferish) + } + } + n(14).FlexEncoder.mixin(r.prototype), r.prototype.codec = i, r.prototype.write = function(e) { + this.codec.encode(this, e) + } +}, function(e, t, n) { + "use strict"; + (function(e) { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + var i = n(26), + r = n(4), + s = n(27); + + function a() { + return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 + } + + function o(e, t) { + if (a() < t) throw new RangeError("Invalid typed array length"); + return c.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = c.prototype : (null === e && (e = new c(t)), e.length = t), e + } + + function c(e, t, n) { + if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c)) return new c(e, t, n); + if ("number" == typeof e) { + if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string"); + return u(this, e) + } + return l(this, e, t, n) + } + + function l(e, t, n, i) { + if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); + return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function(e, t, n, i) { + if (t.byteLength, n < 0 || t.byteLength < n) throw new RangeError("'offset' is out of bounds"); + if (t.byteLength < n + (i || 0)) throw new RangeError("'length' is out of bounds"); + return t = void 0 === n && void 0 === i ? new Uint8Array(t) : void 0 === i ? new Uint8Array(t, n) : new Uint8Array(t, n, i), c.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = c.prototype : e = f(e, t), e + }(e, t, n, i) : "string" == typeof t ? function(e, t, n) { + if ("string" == typeof n && "" !== n || (n = "utf8"), !c.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding'); + var i = 0 | p(t, n), + r = (e = o(e, i)).write(t, n); + return r !== i && (e = e.slice(0, r)), e + }(e, t, n) : function(e, t) { + if (c.isBuffer(t)) { + var n = 0 | d(t.length); + return 0 === (e = o(e, n)).length || t.copy(e, 0, 0, n), e + } + if (t) { + if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || function(e) { + return e != e + }(t.length) ? o(e, 0) : f(e, t); + if ("Buffer" === t.type && s(t.data)) return f(e, t.data) + } + throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") + }(e, t) + } + + function h(e) { + if ("number" != typeof e) throw new TypeError('"size" argument must be a number'); + if (e < 0) throw new RangeError('"size" argument must not be negative') + } + + function u(e, t) { + if (h(t), e = o(e, t < 0 ? 0 : 0 | d(t)), !c.TYPED_ARRAY_SUPPORT) + for (var n = 0; n < t; ++n) e[n] = 0; + return e + } + + function f(e, t) { + var n = t.length < 0 ? 0 : 0 | d(t.length); + e = o(e, n); + for (var i = 0; i < n; i += 1) e[i] = 255 & t[i]; + return e + } + + function d(e) { + if (e >= a()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a().toString(16) + " bytes"); + return 0 | e + } + + function p(e, t) { + if (c.isBuffer(e)) return e.length; + if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength; + "string" != typeof e && (e = "" + e); + var n = e.length; + if (0 === n) return 0; + for (var i = !1;;) switch (t) { + case "ascii": + case "latin1": + case "binary": + return n; + case "utf8": + case "utf-8": + case void 0: + return z(e).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * n; + case "hex": + return n >>> 1; + case "base64": + return H(e).length; + default: + if (i) return z(e).length; + t = ("" + t).toLowerCase(), i = !0 + } + } + + function g(e, t, n) { + var i = e[t]; + e[t] = e[n], e[n] = i + } + + function m(e, t, n, i, r) { + if (0 === e.length) return -1; + if ("string" == typeof n ? (i = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, isNaN(n) && (n = r ? 0 : e.length - 1), n < 0 && (n = e.length + n), n >= e.length) { + if (r) return -1; + n = e.length - 1 + } else if (n < 0) { + if (!r) return -1; + n = 0 + } + if ("string" == typeof t && (t = c.from(t, i)), c.isBuffer(t)) return 0 === t.length ? -1 : y(e, t, n, i, r); + if ("number" == typeof t) return t &= 255, c.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : y(e, [t], n, i, r); + throw new TypeError("val must be string, number or Buffer") + } + + function y(e, t, n, i, r) { + var s, a = 1, + o = e.length, + c = t.length; + if (void 0 !== i && ("ucs2" === (i = String(i).toLowerCase()) || "ucs-2" === i || "utf16le" === i || "utf-16le" === i)) { + if (e.length < 2 || t.length < 2) return -1; + a = 2, o /= 2, c /= 2, n /= 2 + } + + function l(e, t) { + return 1 === a ? e[t] : e.readUInt16BE(t * a) + } + if (r) { + var h = -1; + for (s = n; s < o; s++) + if (l(e, s) === l(t, -1 === h ? 0 : s - h)) { + if (-1 === h && (h = s), s - h + 1 === c) return h * a + } else - 1 !== h && (s -= s - h), h = -1 + } else + for (n + c > o && (n = o - c), s = n; s >= 0; s--) { + for (var u = !0, f = 0; f < c; f++) + if (l(e, s + f) !== l(t, f)) { + u = !1; + break + } if (u) return s + } + return -1 + } + + function k(e, t, n, i) { + n = Number(n) || 0; + var r = e.length - n; + i ? (i = Number(i)) > r && (i = r) : i = r; + var s = t.length; + if (s % 2 != 0) throw new TypeError("Invalid hex string"); + i > s / 2 && (i = s / 2); + for (var a = 0; a < i; ++a) { + var o = parseInt(t.substr(2 * a, 2), 16); + if (isNaN(o)) return a; + e[n + a] = o + } + return a + } + + function v(e, t, n, i) { + return V(z(t, e.length - n), e, n, i) + } + + function w(e, t, n, i) { + return V(function(e) { + for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n)); + return t + }(t), e, n, i) + } + + function b(e, t, n, i) { + return w(e, t, n, i) + } + + function x(e, t, n, i) { + return V(H(t), e, n, i) + } + + function S(e, t, n, i) { + return V(function(e, t) { + for (var n, i, r, s = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) i = (n = e.charCodeAt(a)) >> 8, r = n % 256, s.push(r), s.push(i); + return s + }(t, e.length - n), e, n, i) + } + + function T(e, t, n) { + return 0 === t && n === e.length ? i.fromByteArray(e) : i.fromByteArray(e.slice(t, n)) + } + + function I(e, t, n) { + n = Math.min(e.length, n); + for (var i = [], r = t; r < n;) { + var s, a, o, c, l = e[r], + h = null, + u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; + if (r + u <= n) switch (u) { + case 1: + l < 128 && (h = l); + break; + case 2: + 128 == (192 & (s = e[r + 1])) && (c = (31 & l) << 6 | 63 & s) > 127 && (h = c); + break; + case 3: + s = e[r + 1], a = e[r + 2], 128 == (192 & s) && 128 == (192 & a) && (c = (15 & l) << 12 | (63 & s) << 6 | 63 & a) > 2047 && (c < 55296 || c > 57343) && (h = c); + break; + case 4: + s = e[r + 1], a = e[r + 2], o = e[r + 3], 128 == (192 & s) && 128 == (192 & a) && 128 == (192 & o) && (c = (15 & l) << 18 | (63 & s) << 12 | (63 & a) << 6 | 63 & o) > 65535 && c < 1114112 && (h = c) + } + null === h ? (h = 65533, u = 1) : h > 65535 && (h -= 65536, i.push(h >>> 10 & 1023 | 55296), h = 56320 | 1023 & h), i.push(h), r += u + } + return function(e) { + var t = e.length; + if (t <= E) return String.fromCharCode.apply(String, e); + for (var n = "", i = 0; i < t;) n += String.fromCharCode.apply(String, e.slice(i, i += E)); + return n + }(i) + } + t.Buffer = c, t.SlowBuffer = function(e) { + return +e != e && (e = 0), c.alloc(+e) + }, t.INSPECT_MAX_BYTES = 50, c.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function() { + try { + var e = new Uint8Array(1); + return e.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function() { + return 42 + } + }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength + } catch (e) { + return !1 + } + }(), t.kMaxLength = a(), c.poolSize = 8192, c._augment = function(e) { + return e.__proto__ = c.prototype, e + }, c.from = function(e, t, n) { + return l(null, e, t, n) + }, c.TYPED_ARRAY_SUPPORT && (c.prototype.__proto__ = Uint8Array.prototype, c.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && c[Symbol.species] === c && Object.defineProperty(c, Symbol.species, { + value: null, + configurable: !0 + })), c.alloc = function(e, t, n) { + return function(e, t, n, i) { + return h(t), t <= 0 ? o(e, t) : void 0 !== n ? "string" == typeof i ? o(e, t).fill(n, i) : o(e, t).fill(n) : o(e, t) + }(null, e, t, n) + }, c.allocUnsafe = function(e) { + return u(null, e) + }, c.allocUnsafeSlow = function(e) { + return u(null, e) + }, c.isBuffer = function(e) { + return !(null == e || !e._isBuffer) + }, c.compare = function(e, t) { + if (!c.isBuffer(e) || !c.isBuffer(t)) throw new TypeError("Arguments must be Buffers"); + if (e === t) return 0; + for (var n = e.length, i = t.length, r = 0, s = Math.min(n, i); r < s; ++r) + if (e[r] !== t[r]) { + n = e[r], i = t[r]; + break + } return n < i ? -1 : i < n ? 1 : 0 + }, c.isEncoding = function(e) { + switch (String(e).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return !0; + default: + return !1 + } + }, c.concat = function(e, t) { + if (!s(e)) throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === e.length) return c.alloc(0); + var n; + if (void 0 === t) + for (t = 0, n = 0; n < e.length; ++n) t += e[n].length; + var i = c.allocUnsafe(t), + r = 0; + for (n = 0; n < e.length; ++n) { + var a = e[n]; + if (!c.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers'); + a.copy(i, r), r += a.length + } + return i + }, c.byteLength = p, c.prototype._isBuffer = !0, c.prototype.swap16 = function() { + var e = this.length; + if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); + for (var t = 0; t < e; t += 2) g(this, t, t + 1); + return this + }, c.prototype.swap32 = function() { + var e = this.length; + if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); + for (var t = 0; t < e; t += 4) g(this, t, t + 3), g(this, t + 1, t + 2); + return this + }, c.prototype.swap64 = function() { + var e = this.length; + if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); + for (var t = 0; t < e; t += 8) g(this, t, t + 7), g(this, t + 1, t + 6), g(this, t + 2, t + 5), g(this, t + 3, t + 4); + return this + }, c.prototype.toString = function() { + var e = 0 | this.length; + return 0 === e ? "" : 0 === arguments.length ? I(this, 0, e) : function(e, t, n) { + var i = !1; + if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; + if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return ""; + if ((n >>>= 0) <= (t >>>= 0)) return ""; + for (e || (e = "utf8");;) switch (e) { + case "hex": + return P(this, t, n); + case "utf8": + case "utf-8": + return I(this, t, n); + case "ascii": + return M(this, t, n); + case "latin1": + case "binary": + return A(this, t, n); + case "base64": + return T(this, t, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return B(this, t, n); + default: + if (i) throw new TypeError("Unknown encoding: " + e); + e = (e + "").toLowerCase(), i = !0 + } + }.apply(this, arguments) + }, c.prototype.equals = function(e) { + if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); + return this === e || 0 === c.compare(this, e) + }, c.prototype.inspect = function() { + var e = "", + n = t.INSPECT_MAX_BYTES; + return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")), "" + }, c.prototype.compare = function(e, t, n, i, r) { + if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); + if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === i && (i = 0), void 0 === r && (r = this.length), t < 0 || n > e.length || i < 0 || r > this.length) throw new RangeError("out of range index"); + if (i >= r && t >= n) return 0; + if (i >= r) return -1; + if (t >= n) return 1; + if (this === e) return 0; + for (var s = (r >>>= 0) - (i >>>= 0), a = (n >>>= 0) - (t >>>= 0), o = Math.min(s, a), l = this.slice(i, r), h = e.slice(t, n), u = 0; u < o; ++u) + if (l[u] !== h[u]) { + s = l[u], a = h[u]; + break + } return s < a ? -1 : a < s ? 1 : 0 + }, c.prototype.includes = function(e, t, n) { + return -1 !== this.indexOf(e, t, n) + }, c.prototype.indexOf = function(e, t, n) { + return m(this, e, t, n, !0) + }, c.prototype.lastIndexOf = function(e, t, n) { + return m(this, e, t, n, !1) + }, c.prototype.write = function(e, t, n, i) { + if (void 0 === t) i = "utf8", n = this.length, t = 0; + else if (void 0 === n && "string" == typeof t) i = t, n = this.length, t = 0; + else { + if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + t |= 0, isFinite(n) ? (n |= 0, void 0 === i && (i = "utf8")) : (i = n, n = void 0) + } + var r = this.length - t; + if ((void 0 === n || n > r) && (n = r), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); + i || (i = "utf8"); + for (var s = !1;;) switch (i) { + case "hex": + return k(this, e, t, n); + case "utf8": + case "utf-8": + return v(this, e, t, n); + case "ascii": + return w(this, e, t, n); + case "latin1": + case "binary": + return b(this, e, t, n); + case "base64": + return x(this, e, t, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return S(this, e, t, n); + default: + if (s) throw new TypeError("Unknown encoding: " + i); + i = ("" + i).toLowerCase(), s = !0 + } + }, c.prototype.toJSON = function() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + } + }; + var E = 4096; + + function M(e, t, n) { + var i = ""; + n = Math.min(e.length, n); + for (var r = t; r < n; ++r) i += String.fromCharCode(127 & e[r]); + return i + } + + function A(e, t, n) { + var i = ""; + n = Math.min(e.length, n); + for (var r = t; r < n; ++r) i += String.fromCharCode(e[r]); + return i + } + + function P(e, t, n) { + var i = e.length; + (!t || t < 0) && (t = 0), (!n || n < 0 || n > i) && (n = i); + for (var r = "", s = t; s < n; ++s) r += F(e[s]); + return r + } + + function B(e, t, n) { + for (var i = e.slice(t, n), r = "", s = 0; s < i.length; s += 2) r += String.fromCharCode(i[s] + 256 * i[s + 1]); + return r + } + + function C(e, t, n) { + if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); + if (e + t > n) throw new RangeError("Trying to access beyond buffer length") + } + + function O(e, t, n, i, r, s) { + if (!c.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (t > r || t < s) throw new RangeError('"value" argument is out of bounds'); + if (n + i > e.length) throw new RangeError("Index out of range") + } + + function R(e, t, n, i) { + t < 0 && (t = 65535 + t + 1); + for (var r = 0, s = Math.min(e.length - n, 2); r < s; ++r) e[n + r] = (t & 255 << 8 * (i ? r : 1 - r)) >>> 8 * (i ? r : 1 - r) + } + + function j(e, t, n, i) { + t < 0 && (t = 4294967295 + t + 1); + for (var r = 0, s = Math.min(e.length - n, 4); r < s; ++r) e[n + r] = t >>> 8 * (i ? r : 3 - r) & 255 + } + + function _(e, t, n, i, r, s) { + if (n + i > e.length) throw new RangeError("Index out of range"); + if (n < 0) throw new RangeError("Index out of range") + } + + function U(e, t, n, i, s) { + return s || _(e, 0, n, 4), r.write(e, t, n, i, 23, 4), n + 4 + } + + function D(e, t, n, i, s) { + return s || _(e, 0, n, 8), r.write(e, t, n, i, 52, 8), n + 8 + } + c.prototype.slice = function(e, t) { + var n, i = this.length; + if ((e = ~~e) < 0 ? (e += i) < 0 && (e = 0) : e > i && (e = i), (t = void 0 === t ? i : ~~t) < 0 ? (t += i) < 0 && (t = 0) : t > i && (t = i), t < e && (t = e), c.TYPED_ARRAY_SUPPORT)(n = this.subarray(e, t)).__proto__ = c.prototype; + else { + var r = t - e; + n = new c(r, void 0); + for (var s = 0; s < r; ++s) n[s] = this[s + e] + } + return n + }, c.prototype.readUIntLE = function(e, t, n) { + e |= 0, t |= 0, n || C(e, t, this.length); + for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256);) i += this[e + s] * r; + return i + }, c.prototype.readUIntBE = function(e, t, n) { + e |= 0, t |= 0, n || C(e, t, this.length); + for (var i = this[e + --t], r = 1; t > 0 && (r *= 256);) i += this[e + --t] * r; + return i + }, c.prototype.readUInt8 = function(e, t) { + return t || C(e, 1, this.length), this[e] + }, c.prototype.readUInt16LE = function(e, t) { + return t || C(e, 2, this.length), this[e] | this[e + 1] << 8 + }, c.prototype.readUInt16BE = function(e, t) { + return t || C(e, 2, this.length), this[e] << 8 | this[e + 1] + }, c.prototype.readUInt32LE = function(e, t) { + return t || C(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] + }, c.prototype.readUInt32BE = function(e, t) { + return t || C(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) + }, c.prototype.readIntLE = function(e, t, n) { + e |= 0, t |= 0, n || C(e, t, this.length); + for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256);) i += this[e + s] * r; + return i >= (r *= 128) && (i -= Math.pow(2, 8 * t)), i + }, c.prototype.readIntBE = function(e, t, n) { + e |= 0, t |= 0, n || C(e, t, this.length); + for (var i = t, r = 1, s = this[e + --i]; i > 0 && (r *= 256);) s += this[e + --i] * r; + return s >= (r *= 128) && (s -= Math.pow(2, 8 * t)), s + }, c.prototype.readInt8 = function(e, t) { + return t || C(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] + }, c.prototype.readInt16LE = function(e, t) { + t || C(e, 2, this.length); + var n = this[e] | this[e + 1] << 8; + return 32768 & n ? 4294901760 | n : n + }, c.prototype.readInt16BE = function(e, t) { + t || C(e, 2, this.length); + var n = this[e + 1] | this[e] << 8; + return 32768 & n ? 4294901760 | n : n + }, c.prototype.readInt32LE = function(e, t) { + return t || C(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 + }, c.prototype.readInt32BE = function(e, t) { + return t || C(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] + }, c.prototype.readFloatLE = function(e, t) { + return t || C(e, 4, this.length), r.read(this, e, !0, 23, 4) + }, c.prototype.readFloatBE = function(e, t) { + return t || C(e, 4, this.length), r.read(this, e, !1, 23, 4) + }, c.prototype.readDoubleLE = function(e, t) { + return t || C(e, 8, this.length), r.read(this, e, !0, 52, 8) + }, c.prototype.readDoubleBE = function(e, t) { + return t || C(e, 8, this.length), r.read(this, e, !1, 52, 8) + }, c.prototype.writeUIntLE = function(e, t, n, i) { + e = +e, t |= 0, n |= 0, i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); + var r = 1, + s = 0; + for (this[t] = 255 & e; ++s < n && (r *= 256);) this[t + s] = e / r & 255; + return t + n + }, c.prototype.writeUIntBE = function(e, t, n, i) { + e = +e, t |= 0, n |= 0, i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); + var r = n - 1, + s = 1; + for (this[t + r] = 255 & e; --r >= 0 && (s *= 256);) this[t + r] = e / s & 255; + return t + n + }, c.prototype.writeUInt8 = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 1, 255, 0), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1 + }, c.prototype.writeUInt16LE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0), t + 2 + }, c.prototype.writeUInt16BE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1), t + 2 + }, c.prototype.writeUInt32LE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : j(this, e, t, !0), t + 4 + }, c.prototype.writeUInt32BE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : j(this, e, t, !1), t + 4 + }, c.prototype.writeIntLE = function(e, t, n, i) { + if (e = +e, t |= 0, !i) { + var r = Math.pow(2, 8 * n - 1); + O(this, e, t, n, r - 1, -r) + } + var s = 0, + a = 1, + o = 0; + for (this[t] = 255 & e; ++s < n && (a *= 256);) e < 0 && 0 === o && 0 !== this[t + s - 1] && (o = 1), this[t + s] = (e / a >> 0) - o & 255; + return t + n + }, c.prototype.writeIntBE = function(e, t, n, i) { + if (e = +e, t |= 0, !i) { + var r = Math.pow(2, 8 * n - 1); + O(this, e, t, n, r - 1, -r) + } + var s = n - 1, + a = 1, + o = 0; + for (this[t + s] = 255 & e; --s >= 0 && (a *= 256);) e < 0 && 0 === o && 0 !== this[t + s + 1] && (o = 1), this[t + s] = (e / a >> 0) - o & 255; + return t + n + }, c.prototype.writeInt8 = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 1, 127, -128), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 + }, c.prototype.writeInt16LE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0), t + 2 + }, c.prototype.writeInt16BE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1), t + 2 + }, c.prototype.writeInt32LE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 4, 2147483647, -2147483648), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : j(this, e, t, !0), t + 4 + }, c.prototype.writeInt32BE = function(e, t, n) { + return e = +e, t |= 0, n || O(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : j(this, e, t, !1), t + 4 + }, c.prototype.writeFloatLE = function(e, t, n) { + return U(this, e, t, !0, n) + }, c.prototype.writeFloatBE = function(e, t, n) { + return U(this, e, t, !1, n) + }, c.prototype.writeDoubleLE = function(e, t, n) { + return D(this, e, t, !0, n) + }, c.prototype.writeDoubleBE = function(e, t, n) { + return D(this, e, t, !1, n) + }, c.prototype.copy = function(e, t, n, i) { + if (n || (n = 0), i || 0 === i || (i = this.length), t >= e.length && (t = e.length), t || (t = 0), i > 0 && i < n && (i = n), i === n) return 0; + if (0 === e.length || 0 === this.length) return 0; + if (t < 0) throw new RangeError("targetStart out of bounds"); + if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds"); + if (i < 0) throw new RangeError("sourceEnd out of bounds"); + i > this.length && (i = this.length), e.length - t < i - n && (i = e.length - t + n); + var r, s = i - n; + if (this === e && n < t && t < i) + for (r = s - 1; r >= 0; --r) e[r + t] = this[r + n]; + else if (s < 1e3 || !c.TYPED_ARRAY_SUPPORT) + for (r = 0; r < s; ++r) e[r + t] = this[r + n]; + else Uint8Array.prototype.set.call(e, this.subarray(n, n + s), t); + return s + }, c.prototype.fill = function(e, t, n, i) { + if ("string" == typeof e) { + if ("string" == typeof t ? (i = t, t = 0, n = this.length) : "string" == typeof n && (i = n, n = this.length), 1 === e.length) { + var r = e.charCodeAt(0); + r < 256 && (e = r) + } + if (void 0 !== i && "string" != typeof i) throw new TypeError("encoding must be a string"); + if ("string" == typeof i && !c.isEncoding(i)) throw new TypeError("Unknown encoding: " + i) + } else "number" == typeof e && (e &= 255); + if (t < 0 || this.length < t || this.length < n) throw new RangeError("Out of range index"); + if (n <= t) return this; + var s; + if (t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0), "number" == typeof e) + for (s = t; s < n; ++s) this[s] = e; + else { + var a = c.isBuffer(e) ? e : z(new c(e, i).toString()), + o = a.length; + for (s = 0; s < n - t; ++s) this[s + t] = a[s % o] + } + return this + }; + var L = /[^+\/0-9A-Za-z-_]/g; + + function F(e) { + return e < 16 ? "0" + e.toString(16) : e.toString(16) + } + + function z(e, t) { + var n; + t = t || 1 / 0; + for (var i = e.length, r = null, s = [], a = 0; a < i; ++a) { + if ((n = e.charCodeAt(a)) > 55295 && n < 57344) { + if (!r) { + if (n > 56319) { + (t -= 3) > -1 && s.push(239, 191, 189); + continue + } + if (a + 1 === i) { + (t -= 3) > -1 && s.push(239, 191, 189); + continue + } + r = n; + continue + } + if (n < 56320) { + (t -= 3) > -1 && s.push(239, 191, 189), r = n; + continue + } + n = 65536 + (r - 55296 << 10 | n - 56320) + } else r && (t -= 3) > -1 && s.push(239, 191, 189); + if (r = null, n < 128) { + if ((t -= 1) < 0) break; + s.push(n) + } else if (n < 2048) { + if ((t -= 2) < 0) break; + s.push(n >> 6 | 192, 63 & n | 128) + } else if (n < 65536) { + if ((t -= 3) < 0) break; + s.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128) + } else { + if (!(n < 1114112)) throw new Error("Invalid code point"); + if ((t -= 4) < 0) break; + s.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128) + } + } + return s + } + + function H(e) { + return i.toByteArray(function(e) { + if ((e = function(e) { + return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") + }(e).replace(L, "")).length < 2) return ""; + for (; e.length % 4 != 0;) e += "="; + return e + }(e)) + } + + function V(e, t, n, i) { + for (var r = 0; r < i && !(r + n >= t.length || r >= e.length); ++r) t[r + n] = e[r]; + return r + } + }).call(this, n(12)) +}, function(e, t) { + var n; + n = function() { + return this + }(); + try { + n = n || new Function("return this")() + } catch (e) { + "object" == typeof window && (n = window) + } + e.exports = n +}, function(e, t) { + for (var n = t.uint8 = new Array(256), i = 0; i <= 255; i++) n[i] = r(i); + + function r(e) { + return function(t) { + var n = t.reserve(1); + t.buffer[n] = e + } + } +}, function(e, t, n) { + t.FlexDecoder = s, t.FlexEncoder = a; + var i = n(0), + r = "BUFFER_SHORTAGE"; + + function s() { + if (!(this instanceof s)) return new s + } + + function a() { + if (!(this instanceof a)) return new a + } + + function o() { + throw new Error("method not implemented: write()") + } + + function c() { + throw new Error("method not implemented: fetch()") + } + + function l() { + return this.buffers && this.buffers.length ? (this.flush(), this.pull()) : this.fetch() + } + + function h(e) { + (this.buffers || (this.buffers = [])).push(e) + } + + function u() { + return (this.buffers || (this.buffers = [])).shift() + } + + function f(e) { + return function(t) { + for (var n in e) t[n] = e[n]; + return t + } + } + s.mixin = f({ + bufferish: i, + write: function(e) { + var t = this.offset ? i.prototype.slice.call(this.buffer, this.offset) : this.buffer; + this.buffer = t ? e ? this.bufferish.concat([t, e]) : t : e, this.offset = 0 + }, + fetch: c, + flush: function() { + for (; this.offset < this.buffer.length;) { + var e, t = this.offset; + try { + e = this.fetch() + } catch (e) { + if (e && e.message != r) throw e; + this.offset = t; + break + } + this.push(e) + } + }, + push: h, + pull: u, + read: l, + reserve: function(e) { + var t = this.offset, + n = t + e; + if (n > this.buffer.length) throw new Error(r); + return this.offset = n, t + }, + offset: 0 + }), s.mixin(s.prototype), a.mixin = f({ + bufferish: i, + write: o, + fetch: function() { + var e = this.start; + if (e < this.offset) { + var t = this.start = this.offset; + return i.prototype.slice.call(this.buffer, e, t) + } + }, + flush: function() { + for (; this.start < this.offset;) { + var e = this.fetch(); + e && this.push(e) + } + }, + push: h, + pull: function() { + var e = this.buffers || (this.buffers = []), + t = e.length > 1 ? this.bufferish.concat(e) : e[0]; + return e.length = 0, t + }, + read: l, + reserve: function(e) { + var t = 0 | e; + if (this.buffer) { + var n = this.buffer.length, + i = 0 | this.offset, + r = i + t; + if (r < n) return this.offset = r, i; + this.flush(), e = Math.max(e, Math.min(2 * n, this.maxBufferSize)) + } + return e = Math.max(e, this.minBufferSize), this.buffer = this.bufferish.alloc(e), this.start = 0, this.offset = t, 0 + }, + send: function(e) { + var t = e.length; + if (t > this.minBufferSize) this.flush(), this.push(e); + else { + var n = this.reserve(t); + i.prototype.copy.call(e, this.buffer, n) + } + }, + maxBufferSize: 65536, + minBufferSize: 2048, + offset: 0, + start: 0 + }), a.mixin(a.prototype) +}, function(e, t, n) { + t.decode = function(e, t) { + var n = new i(t); + return n.write(e), n.read() + }; + var i = n(16).DecodeBuffer +}, function(e, t, n) { + t.DecodeBuffer = r; + var i = n(8).preset; + + function r(e) { + if (!(this instanceof r)) return new r(e); + if (e && (this.options = e, e.codec)) { + var t = this.codec = e.codec; + t.bufferish && (this.bufferish = t.bufferish) + } + } + n(14).FlexDecoder.mixin(r.prototype), r.prototype.codec = i, r.prototype.fetch = function() { + return this.codec.decode(this) + } +}, function(e, t, n) { + var i = n(4), + r = n(7), + s = r.Uint64BE, + a = r.Int64BE; + t.getReadFormat = function(e) { + var t = o.hasArrayBuffer && e && e.binarraybuffer, + n = e && e.int64; + return { + map: l && e && e.usemap ? u : h, + array: f, + str: d, + bin: t ? g : p, + ext: m, + uint8: y, + uint16: v, + uint32: b, + uint64: S(8, n ? E : T), + int8: k, + int16: w, + int32: x, + int64: S(8, n ? M : I), + float32: S(4, A), + float64: S(8, P) + } + }, t.readUint8 = y; + var o = n(0), + c = n(6), + l = "undefined" != typeof Map; + + function h(e, t) { + var n, i = {}, + r = new Array(t), + s = new Array(t), + a = e.codec.decode; + for (n = 0; n < t; n++) r[n] = a(e), s[n] = a(e); + for (n = 0; n < t; n++) i[r[n]] = s[n]; + return i + } + + function u(e, t) { + var n, i = new Map, + r = new Array(t), + s = new Array(t), + a = e.codec.decode; + for (n = 0; n < t; n++) r[n] = a(e), s[n] = a(e); + for (n = 0; n < t; n++) i.set(r[n], s[n]); + return i + } + + function f(e, t) { + for (var n = new Array(t), i = e.codec.decode, r = 0; r < t; r++) n[r] = i(e); + return n + } + + function d(e, t) { + var n = e.reserve(t), + i = n + t; + return c.toString.call(e.buffer, "utf-8", n, i) + } + + function p(e, t) { + var n = e.reserve(t), + i = n + t, + r = c.slice.call(e.buffer, n, i); + return o.from(r) + } + + function g(e, t) { + var n = e.reserve(t), + i = n + t, + r = c.slice.call(e.buffer, n, i); + return o.Uint8Array.from(r).buffer + } + + function m(e, t) { + var n = e.reserve(t + 1), + i = e.buffer[n++], + r = n + t, + s = e.codec.getExtUnpacker(i); + if (!s) throw new Error("Invalid ext type: " + (i ? "0x" + i.toString(16) : i)); + return s(c.slice.call(e.buffer, n, r)) + } + + function y(e) { + var t = e.reserve(1); + return e.buffer[t] + } + + function k(e) { + var t = e.reserve(1), + n = e.buffer[t]; + return 128 & n ? n - 256 : n + } + + function v(e) { + var t = e.reserve(2), + n = e.buffer; + return n[t++] << 8 | n[t] + } + + function w(e) { + var t = e.reserve(2), + n = e.buffer, + i = n[t++] << 8 | n[t]; + return 32768 & i ? i - 65536 : i + } + + function b(e) { + var t = e.reserve(4), + n = e.buffer; + return 16777216 * n[t++] + (n[t++] << 16) + (n[t++] << 8) + n[t] + } + + function x(e) { + var t = e.reserve(4), + n = e.buffer; + return n[t++] << 24 | n[t++] << 16 | n[t++] << 8 | n[t] + } + + function S(e, t) { + return function(n) { + var i = n.reserve(e); + return t.call(n.buffer, i, !0) + } + } + + function T(e) { + return new s(this, e).toNumber() + } + + function I(e) { + return new a(this, e).toNumber() + } + + function E(e) { + return new s(this, e) + } + + function M(e) { + return new a(this, e) + } + + function A(e) { + return i.read(this, e, !1, 23, 4) + } + + function P(e) { + return i.read(this, e, !1, 52, 8) + } +}, function(e, t, n) { + ! function(t) { + e.exports = t; + var n = "listeners", + i = { + on: function(e, t) { + return a(this, e).push(t), this + }, + once: function(e, t) { + var n = this; + return i.originalListener = t, a(n, e).push(i), n; + + function i() { + s.call(n, e, i), t.apply(this, arguments) + } + }, + off: s, + emit: function(e, t) { + var n = this, + i = a(n, e, !0); + if (!i) return !1; + var r = arguments.length; + if (1 === r) i.forEach((function(e) { + e.call(n) + })); + else if (2 === r) i.forEach((function(e) { + e.call(n, t) + })); + else { + var s = Array.prototype.slice.call(arguments, 1); + i.forEach((function(e) { + e.apply(n, s) + })) + } + return !!i.length + } + }; + + function r(e) { + for (var t in i) e[t] = i[t]; + return e + } + + function s(e, t) { + var i; + if (arguments.length) { + if (t) { + if (i = a(this, e, !0)) { + if (!(i = i.filter((function(e) { + return e !== t && e.originalListener !== t + }))).length) return s.call(this, e); + this[n][e] = i + } + } else if ((i = this[n]) && (delete i[e], !Object.keys(i).length)) return s.call(this) + } else delete this[n]; + return this + } + + function a(e, t, i) { + if (!i || e[n]) { + var r = e[n] || (e[n] = {}); + return r[t] || (r[t] = []) + } + } + r(t.prototype), t.mixin = r + }(( + /** + * event-lite.js - Light-weight EventEmitter (less than 1KB when gzipped) + * + * @copyright Yusuke Kawasaki + * @license MIT + * @constructor + * @see https://github.com/kawanet/event-lite + * @see http://kawanet.github.io/event-lite/EventLite.html + * @example + * var EventLite = require("event-lite"); + * + * function MyClass() {...} // your class + * + * EventLite.mixin(MyClass.prototype); // import event methods + * + * var obj = new MyClass(); + * obj.on("foo", function() {...}); // add event listener + * obj.once("bar", function() {...}); // add one-time event listener + * obj.emit("foo"); // dispatch event + * obj.emit("bar"); // dispatch another event + * obj.off("foo"); // remove event listener + */ + function e() { + if (!(this instanceof e)) return new e + })) +}, function(e, t, n) { + (function(t) { + e.exports.maxScreenWidth = 1920, e.exports.maxScreenHeight = 1080, e.exports.serverUpdateRate = 9, e.exports.maxPlayers = t && -1 != t.argv.indexOf("--largeserver") ? 80 : 40, e.exports.maxPlayersHard = e.exports.maxPlayers + 10, e.exports.collisionDepth = 6, e.exports.minimapRate = 3e3, e.exports.colGrid = 10, e.exports.clientSendRate = 5, e.exports.healthBarWidth = 50, e.exports.healthBarPad = 4.5, e.exports.iconPadding = 15, e.exports.iconPad = .9, e.exports.deathFadeout = 3e3, e.exports.crownIconScale = 60, e.exports.crownPad = 35, e.exports.chatCountdown = 3e3, e.exports.chatCooldown = 500, e.exports.inSandbox = t && "mm_exp" === t.env.VULTR_SCHEME, e.exports.maxAge = 100, e.exports.gatherAngle = Math.PI / 2.6, e.exports.gatherWiggle = 10, e.exports.hitReturnRatio = .25, e.exports.hitAngle = Math.PI / 2, e.exports.playerScale = 35, e.exports.playerSpeed = .0016, e.exports.playerDecel = .993, e.exports.nameY = 34, e.exports.skinColors = ["#bf8f54", "#cbb091", "#896c4b", "#fadadc", "#ececec", "#c37373", "#4c4c4c", "#ecaff7", "#738cc3", "#8bc373"], e.exports.animalCount = 7, e.exports.aiTurnRandom = .06, e.exports.cowNames = ["Sid", "Steph", "Bmoe", "Romn", "Jononthecool", "Fiona", "Vince", "Nathan", "Nick", "Flappy", "Ronald", "Otis", "Pepe", "Mc Donald", "Theo", "Fabz", "Oliver", "Jeff", "Jimmy", "Helena", "Reaper", "Ben", "Alan", "Naomi", "XYZ", "Clever", "Jeremy", "Mike", "Destined", "Stallion", "Allison", "Meaty", "Sophia", "Vaja", "Joey", "Pendy", "Murdoch", "Theo", "Jared", "July", "Sonia", "Mel", "Dexter", "Quinn", "Milky"], e.exports.shieldAngle = Math.PI / 3, e.exports.weaponVariants = [{ + id: 0, + src: "", + xp: 0, + val: 1 + }, { + id: 1, + src: "_g", + xp: 3e3, + val: 1.1 + }, { + id: 2, + src: "_d", + xp: 7e3, + val: 1.18 + }, { + id: 3, + src: "_r", + poison: !0, + xp: 12e3, + val: 1.18 + }], e.exports.fetchVariant = function(t) { + for (var n = t.weaponXP[t.weaponIndex] || 0, i = e.exports.weaponVariants.length - 1; i >= 0; --i) + if (n >= e.exports.weaponVariants[i].xp) return e.exports.weaponVariants[i] + }, e.exports.resourceTypes = ["wood", "food", "stone", "points"], e.exports.areaCount = 7, e.exports.treesPerArea = 9, e.exports.bushesPerArea = 3, e.exports.totalRocks = 32, e.exports.goldOres = 7, e.exports.riverWidth = 724, e.exports.riverPadding = 114, e.exports.waterCurrent = .0011, e.exports.waveSpeed = 1e-4, e.exports.waveMax = 1.3, e.exports.treeScales = [150, 160, 165, 175], e.exports.bushScales = [80, 85, 95], e.exports.rockScales = [80, 85, 90], e.exports.snowBiomeTop = 2400, e.exports.snowSpeed = .75, e.exports.maxNameLength = 15, e.exports.mapScale = 14400, e.exports.mapPingScale = 40, e.exports.mapPingTime = 2200 + }).call(this, n(41)) +}, function(e, t) { + var n = { + utf8: { + stringToBytes: function(e) { + return n.bin.stringToBytes(unescape(encodeURIComponent(e))) + }, + bytesToString: function(e) { + return decodeURIComponent(escape(n.bin.bytesToString(e))) + } + }, + bin: { + stringToBytes: function(e) { + for (var t = [], n = 0; n < e.length; n++) t.push(255 & e.charCodeAt(n)); + return t + }, + bytesToString: function(e) { + for (var t = [], n = 0; n < e.length; n++) t.push(String.fromCharCode(e[n])); + return t.join("") + } + } + }; + e.exports = n +}, function(e, t, n) { + "use strict"; + window.loadedScript = !0; + var i = "127.0.0.1" !== location.hostname && !location.hostname.startsWith("192.168."); + n(22); + var r = n(23), + s = n(42), + a = n(43), + o = n(19), + c = n(44), + l = n(45), + h = (n(46), n(47)), + u = n(48), + f = n(55), + d = n(56), + p = n(57), + g = n(58).obj, + m = new a.TextManager, + y = new(n(59))("moomoo.io", 3e3, o.maxPlayers, 5, !1); //INITIALIZE THE SERVER OBJECT? #YESS y is the object i search + y.debugLog = !1; + var k = !1; + + function v() { + w(e) + } + + function w(e) { + y.start((function(t, n, a, c=null) { + + if (c==null){ + //use url arg "server" + let urlc = new URLSearchParams(window.location.search).get("server"); + + if (urlc==null){ + console.log("NO SERVER URL FOUND"); + c = "ws://localhost:3000/mooomoo"; + c = "wss://7953-128-78-208-189.ngrok-free.app/moomoo"; //last prevails (ws doesn't work anyway for localhost) + } else{ + console.log("FOUND IN URL: ",urlc); + c="wss://"+urlc+"/moomoo" + } + + } + // e && (c += "&token=" + encodeURIComponent(e)), r.connect(c, (function(e) { + // MODIFIED, see above + e && r.connect(c, (function(e) { + Bi(), setInterval(() => Bi(), 2500), e ? ft(e) : (ue.onclick = s.checkTrusted((function() { + ! function() { + var e = ++bt > 1, + t = Date.now() - wt > vt; + e && t ? (wt = Date.now(), xt()) : Tn() + }() + })), s.hookTouchEvents(ue), fe.onclick = s.checkTrusted((function() { + Oi("https://krunker.io") + })), s.hookTouchEvents(fe), pe.onclick = s.checkTrusted((function() { + setTimeout((function() { + ! function() { + var e = xe.value, + t = prompt("party key", e); + t && (window.onbeforeunload = void 0, window.location.href = "/?server=" + t) + }() + }), 10) + })), s.hookTouchEvents(pe), ge.onclick = s.checkTrusted((function() { + Ae.classList.contains("showing") ? (Ae.classList.remove("showing"), me.innerText = "Settings") : (Ae.classList.add("showing"), me.innerText = "Close") + })), s.hookTouchEvents(ge), ye.onclick = s.checkTrusted((function() { + yn(), "block" != Ye.style.display ? Ut() : Ye.style.display = "none" + })), s.hookTouchEvents(ye), ke.onclick = s.checkTrusted((function() { + "block" != Qe.style.display ? (Qe.style.display = "block", Ye.style.display = "none", an(), Gt()) : Qe.style.display = "none" + })), s.hookTouchEvents(ke), ve.onclick = s.checkTrusted((function() { + rn() + })), s.hookTouchEvents(ve), Ne.onclick = s.checkTrusted((function() { + xn() + })), s.hookTouchEvents(Ne), function() { + for (var e = 0; e < jn.length; ++e) { + var t = new Image; + t.onload = function() { + this.isLoaded = !0 + }, t.src = ".././img/icons/" + jn[e] + ".png", Rn[jn[e]] = t + } + }(), Pe.style.display = "none", Me.style.display = "block", Le.value = E("moo_name") || "", function() { + var e = E("native_resolution"); + Zt(e ? "true" == e : "undefined" != typeof cordova), A = "true" == E("show_ping"), Ie.hidden = !A, E("moo_moosic"), setInterval((function() { + window.cordova && (document.getElementById("downloadButtonContainer").classList.add("cordova"), document.getElementById("mobileDownloadButtonContainer").classList.add("cordova")) + }), 1e3), en(), s.removeAllChildren(Ce); + for (var t = 0; t < l.weapons.length + l.list.length; ++t) ! function(e) { + s.generateElement({ + id: "actionBarItem" + e, + class: "actionBarItem", + style: "display:none", + onmouseout: function() { + Tt() + }, + parent: Ce + }) + }(t); + for (t = 0; t < l.list.length + l.weapons.length; ++t) ! function(e) { + var t = document.createElement("canvas"); + t.width = t.height = 66; + var n = t.getContext("2d"); + if (n.translate(t.width / 2, t.height / 2), n.imageSmoothingEnabled = !1, n.webkitImageSmoothingEnabled = !1, n.mozImageSmoothingEnabled = !1, l.weapons[e]) { + n.rotate(Math.PI / 4 + Math.PI); + var i = new Image; + Zn[l.weapons[e].src] = i, i.onload = function() { + this.isLoaded = !0; + var i = 1 / (this.height / this.width), + r = l.weapons[e].iPad || 1; + n.drawImage(this, -t.width * r * o.iconPad * i / 2, -t.height * r * o.iconPad / 2, t.width * r * i * o.iconPad, t.height * r * o.iconPad), n.fillStyle = "rgba(0, 0, 70, 0.1)", n.globalCompositeOperation = "source-atop", n.fillRect(-t.width / 2, -t.height / 2, t.width, t.height), document.getElementById("actionBarItem" + e).style.backgroundImage = "url(" + t.toDataURL() + ")" + }, i.src = ".././img/weapons/" + l.weapons[e].src + ".png", (r = document.getElementById("actionBarItem" + e)).onmouseover = s.checkTrusted((function() { + Tt(l.weapons[e], !0) + })), r.onclick = s.checkTrusted((function() { + Sn(e, !0) + })), s.hookTouchEvents(r) + } else { + i = ri(l.list[e - l.weapons.length], !0); + var r, a = Math.min(t.width - o.iconPadding, i.width); + n.globalAlpha = 1, n.drawImage(i, -a / 2, -a / 2, a, a), n.fillStyle = "rgba(0, 0, 70, 0.1)", n.globalCompositeOperation = "source-atop", n.fillRect(-a / 2, -a / 2, a, a), document.getElementById("actionBarItem" + e).style.backgroundImage = "url(" + t.toDataURL() + ")", (r = document.getElementById("actionBarItem" + e)).onmouseover = s.checkTrusted((function() { + Tt(l.list[e - l.weapons.length]) + })), r.onclick = s.checkTrusted((function() { + Sn(e - l.weapons.length) + })), s.hookTouchEvents(r) + } + }(t); + Le.ontouchstart = s.checkTrusted((function(e) { + e.preventDefault(); + var t = prompt("enter name", e.currentTarget.value); + e.currentTarget.value = t.slice(0, 15) + })), Se.checked = M, Se.onchange = s.checkTrusted((function(e) { + Zt(e.target.checked) + })), Te.checked = A, Te.onchange = s.checkTrusted((function(e) { + A = Te.checked, Ie.hidden = !A, I("show_ping", A ? "true" : "false") + })) + }()) + }), { + id: st, + d: ft, + 1: En, + 2: vi, + 4: wi, + 33: Ti, + 5: Ln, + 6: li, + a: gi, + aa: pi, + 7: Wn, + 8: hi, + sp: ui, + 9: xi, + h: Si, + 11: Pn, + 12: Cn, + 13: Bn, + 14: bi, + 15: Dn, + 16: Un, + 17: $t, + 18: fi, + 19: di, + 20: Ci, + ac: Ot, + ad: _t, + an: Bt, + st: Rt, + sa: jt, + us: Nt, + ch: hn, + mm: Wt, + t: Mn, + p: Yt, + pp: Pi + }), pt(), setTimeout(() => gt(), 3e3) + }), (function(e) { + console.error("Vultr error:", e), alert("Error:\n" + e), ft("disconnected") + })) + } + var b, x = new g(o, s), + S = Math.PI, + T = 2 * S; + + function I(e, t) { + b && localStorage.setItem(e, t) + } + + function E(e) { + return b ? localStorage.getItem(e) : null + } + Math.lerpAngle = function(e, t, n) { + Math.abs(t - e) > S && (e > t ? t += T : e += T); + var i = t + (e - t) * n; + return i >= 0 && i <= T ? i : i % T + }, CanvasRenderingContext2D.prototype.roundRect = function(e, t, n, i, r) { + return n < 2 * r && (r = n / 2), i < 2 * r && (r = i / 2), r < 0 && (r = 0), this.beginPath(), this.moveTo(e + r, t), this.arcTo(e + n, t, e + n, t + i, r), this.arcTo(e + n, t + i, e, t + i, r), this.arcTo(e, t + i, e, t, r), this.arcTo(e, t, e + n, t, r), this.closePath(), this + }, "undefined" != typeof Storage && (b = !0), false, window.checkTerms = function(e) { + e ? (consentBlock.style.display = "none", I("consent", 1)) : $("#consentShake").effect("shake") + }; + var M, A, P, B, C, O, R, j, _, U, D, L, F, z, H = E("moofoll"), + V = 1, + q = Date.now(), + Y = [], + W = [], + X = [], + N = [], + G = [], + J = new p(d, G, W, Y, nt, l, o, s), + K = n(70), + Q = n(71), + Z = new K(Y, Q, W, l, null, o, s), + ee = 1, + te = 0, + ne = 0, + ie = 0, + re = { + id: -1, + startX: 0, + startY: 0, + currentX: 0, + currentY: 0 + }, + se = { + id: -1, + startX: 0, + startY: 0, + currentX: 0, + currentY: 0 + }, + ae = 0, + oe = o.maxScreenWidth, + ce = o.maxScreenHeight, + le = !1, + he = (document.getElementById("ad-container"), document.getElementById("mainMenu")), + ue = document.getElementById("enterGame"), + fe = document.getElementById("promoImg"), + de = document.getElementById("partyButton"), + pe = document.getElementById("joinPartyButton"), + ge = document.getElementById("settingsButton"), + me = ge.getElementsByTagName("span")[0], + ye = document.getElementById("allianceButton"), + ke = document.getElementById("storeButton"), + ve = document.getElementById("chatButton"), + we = document.getElementById("gameCanvas"), + be = we.getContext("2d"), + xe = document.getElementById("serverBrowser"), + Se = document.getElementById("nativeResolution"), + Te = document.getElementById("showPing"), + Ie = (document.getElementById("playMusic"), document.getElementById("pingDisplay")), + Ee = document.getElementById("shutdownDisplay"), + Me = document.getElementById("menuCardHolder"), + Ae = document.getElementById("guideCard"), + Pe = document.getElementById("loadingText"), + Be = document.getElementById("gameUI"), + Ce = document.getElementById("actionBar"), + Oe = document.getElementById("scoreDisplay"), + Re = document.getElementById("foodDisplay"), + je = document.getElementById("woodDisplay"), + _e = document.getElementById("stoneDisplay"), + Ue = document.getElementById("killCounter"), + De = document.getElementById("leaderboardData"), + Le = document.getElementById("nameInput"), + Fe = document.getElementById("itemInfoHolder"), + ze = document.getElementById("ageText"), + He = document.getElementById("ageBarBody"), + Ve = document.getElementById("upgradeHolder"), + qe = document.getElementById("upgradeCounter"), + Ye = document.getElementById("allianceMenu"), + We = document.getElementById("allianceHolder"), + Xe = document.getElementById("allianceManager"), + Ne = document.getElementById("mapDisplay"), + Ge = document.getElementById("diedText"), + Je = document.getElementById("skinColorHolder"), + Ke = Ne.getContext("2d"); + Ne.width = 300, Ne.height = 300; + var Qe = document.getElementById("storeMenu"), + $e = document.getElementById("storeHolder"), + Ze = document.getElementById("noticationDisplay"), + et = f.hats, + tt = f.accessories, + nt = new h(c, N, s, o), + it = "#525252", + rt = "#3d3f42"; + + function st(e) { + X = e.teams + } + + //removed youtube featured + + var lt = !0, + ht = !1, + ut = !1; + + function ft(e) { + r.close(), dt(e) + } + + function dt(e) { + he.style.display = "block", Be.style.display = "none", Me.style.display = "none", Ge.style.display = "none", Pe.style.display = "block", Pe.innerHTML = e + "reload" + } + window.onblur = function() { + lt = !1 + }, window.onfocus = function() { + lt = !0, R && R.alive && yn() + }, window.onload = function() { + ht = !0, v() + }, window.captchaCallback = function() { + ut = !0, v() + }, we.oncontextmenu = function() { + return !1 + }; + + //MODIFED, THIS IS A NEW FEATURE + function customnewfeaturenooverridelongname(){ + let inpdiv = document.createElement("div"); + let inp = document.createElement("input"); + let inpbutton = document.createElement("button"); + inpbutton.innerHTML = "Join"; + + inpbutton.addEventListener("click", function(){ + let serverip = inp.value; + if(serverip){ + //TODO: ping the server + window.history.replaceState({}, "", "/?server=" + encodeURIComponent(serverip)); + y.callback(0,0,0, serverip);//this should start the server correctly + } + }); + + let stylediveee = document.createElement("style"); + stylediveee.innerHTML = ` + #custom-server-addr-id { + background-color: #3d3f42; + } + `; + + inp.id = "custom-server-addr-id"; + inp.setAttribute("placeholder", "server ip"); + inpdiv.appendChild(inp); + inpdiv.appendChild(inpbutton); + inpdiv.appendChild(stylediveee); + xe.appendChild(inpdiv); + }; + customnewfeaturenooverridelongname(); + + function pt() { + //MODIFIED, don't add servers to the server list + + // var e, t, n = "", + // i = 0; + // for (var r in y.servers) { + // for (var s = y.servers[r], a = 0, c = 0; c < s.length; c++) + // for (var l = 0; l < s[c].games.length; l++) a += s[c].games[l].playerCount; + // i += a; + // var h = y.regionInfo[r].name; + // n += ""; + // for (var u = 0; u < s.length; u++) + // for (var f = s[u], d = 0; d < f.games.length; d++) { + // var p = f.games[d], + // g = 1 * f.index + d + 1, + // m = y.server && y.server.region === f.region && y.server.index === f.index && y.gameIndex == d, + // k = h + " " + g + " [" + Math.min(p.playerCount, o.maxPlayers) + "/" + o.maxPlayers + "]"; + // let e = y.stripRegion(r) + ":" + u + ":" + d; + // m && (de.getElementsByTagName("span")[0].innerText = e), n += "" + // } + // n += "" + // } + // n += "", xe.innerHTML = n, "sandbox.moomoo.io" == location.hostname ? (e = "Back to MooMoo", t = "//moomoo.io/") : (e = "Try the sandbox", t = "//sandbox.moomoo.io/"), document.getElementById("altServer").innerHTML = "" + e + "arrow_forward_ios" + } + + function gt() { + // var e = new XMLHttpRequest; + // e.onreadystatechange = function() { + // 4 == this.readyState && (200 == this.status ? (window.vultr = JSON.parse(this.responseText), y.processServers(vultr.servers), pt()) : console.error("Failed to load server data with status code:", this.status)) + // }, e.open("GET", "/serverData", !0), e.send() + } + //MODIFIED, REMOVED SERVER SELECTION UPDATES + // xe.addEventListener("change", s.checkTrusted((function() { + // let e = xe.value.split(":"); + // y.switchServer(e[0], e[1], e[2]) + // }))); + var mt = document.getElementById("pre-content-container"), + yt = null, + kt = null; + // window.cpmstarAPI((function(e) { + // e.game.setTarget(mt), kt = e + // })); + var vt = 3e5, + wt = 0, + bt = 0; + + function xt() { + //removed ads + } + + function St() { + mt.style.display = "none", Tn() + } + + function Tt(e, t, n) { + if (R && e) + if (s.removeAllChildren(Fe), Fe.classList.add("visible"), s.generateElement({ + id: "itemInfoName", + text: s.capitalizeFirst(e.name), + parent: Fe + }), s.generateElement({ + id: "itemInfoDesc", + text: e.desc, + parent: Fe + }), n); + else if (t) s.generateElement({ + class: "itemInfoReq", + text: e.type ? "secondary" : "primary", + parent: Fe + }); + else { + for (var i = 0; i < e.req.length; i += 2) s.generateElement({ + class: "itemInfoReq", + html: e.req[i] + " x" + e.req[i + 1] + "", + parent: Fe + }); + e.group.limit && s.generateElement({ + class: "itemInfoLmt", + text: (R.itemCounts[e.group.id] || 0) + "/" + e.group.limit, + parent: Fe + }) + } else Fe.classList.remove("visible") + } + window.showPreAd = xt; + var It, Et, Mt, At = [], + Pt = []; + + function Bt(e, t) { + At.push({ + sid: e, + name: t + }), Ct() + } + + function Ct() { + if (At[0]) { + var e = At[0]; + s.removeAllChildren(Ze), Ze.style.display = "block", s.generateElement({ + class: "notificationText", + text: e.name, + parent: Ze + }), s.generateElement({ + class: "notifButton", + html: "", + parent: Ze, + onclick: function() { + Dt(0) + }, + hookTouch: !0 + }), s.generateElement({ + class: "notifButton", + html: "", + parent: Ze, + onclick: function() { + Dt(1) + }, + hookTouch: !0 + }) + } else Ze.style.display = "none" + } + + function Ot(e) { + X.push(e), "block" == Ye.style.display && Ut() + } + + function Rt(e, t) { + R && (R.team = e, R.isOwner = t, "block" == Ye.style.display && Ut()) + } + + function jt(e) { + Pt = e, "block" == Ye.style.display && Ut() + } + + function _t(e) { + for (var t = X.length - 1; t >= 0; t--) X[t].sid == e && X.splice(t, 1); + "block" == Ye.style.display && Ut() + } + + function Ut() { + if (R && R.alive) { + if (an(), Qe.style.display = "none", Ye.style.display = "block", s.removeAllChildren(We), R.team) + for (var e = 0; e < Pt.length; e += 2) ! function(e) { + var t = s.generateElement({ + class: "allianceItem", + style: "color:" + (Pt[e] == R.sid ? "#fff" : "rgba(255,255,255,0.6)"), + text: Pt[e + 1], + parent: We + }); + R.isOwner && Pt[e] != R.sid && s.generateElement({ + class: "joinAlBtn", + text: "Kick", + onclick: function() { + Lt(Pt[e]) + }, + hookTouch: !0, + parent: t + }) + }(e); + else if (X.length) + for (e = 0; e < X.length; ++e) ! function(e) { + var t = s.generateElement({ + class: "allianceItem", + style: "color:" + (X[e].sid == R.team ? "#fff" : "rgba(255,255,255,0.6)"), + text: X[e].sid, + parent: We + }); + s.generateElement({ + class: "joinAlBtn", + text: "Join", + onclick: function() { + Ft(e) + }, + hookTouch: !0, + parent: t + }) + }(e); + else s.generateElement({ + class: "allianceItem", + text: "No Tribes Yet", + parent: We + }); + s.removeAllChildren(Xe), R.team ? s.generateElement({ + class: "allianceButtonM", + style: "width: 360px", + text: R.isOwner ? "Delete Tribe" : "Leave Tribe", + onclick: function() { + Ht() + }, + hookTouch: !0, + parent: Xe + }) : (s.generateElement({ + tag: "input", + type: "text", + id: "allianceInput", + maxLength: 7, + placeholder: "unique name", + ontouchstart: function(e) { + e.preventDefault(); + var t = prompt("unique name", e.currentTarget.value); + e.currentTarget.value = t.slice(0, 7) + }, + parent: Xe + }), s.generateElement({ + tag: "div", + class: "allianceButtonM", + style: "width: 140px;", + text: "Create", + onclick: function() { + zt() + }, + hookTouch: !0, + parent: Xe + })) + } + } + + function Dt(e) { + r.send("11", At[0].sid, e), At.splice(0, 1), Ct() + } + + function Lt(e) { + r.send("12", e) + } + + function Ft(e) { + r.send("10", X[e].sid) + } + + function zt() { + r.send("8", document.getElementById("allianceInput").value) + } + + function Ht() { + At = [], Ct(), r.send("9") + } + var Vt, qt = []; + + function Yt(e, t) { + for (var n = 0; n < qt.length; ++n) + if (!qt[n].active) { + Vt = qt[n]; + break + } Vt || (Vt = new function() { + this.init = function(e, t) { + this.scale = 0, this.x = e, this.y = t, this.active = !0 + }, this.update = function(e, t) { + this.active && (this.scale += .05 * t, this.scale >= o.mapPingScale ? this.active = !1 : (e.globalAlpha = 1 - Math.max(0, this.scale / o.mapPingScale), e.beginPath(), e.arc(this.x / o.mapScale * Ne.width, this.y / o.mapScale * Ne.width, this.scale, 0, 2 * Math.PI), e.stroke())) + } + }, qt.push(Vt)), Vt.init(e, t) + } + + function Wt(e) { + Et = e + } + var Xt = 0; + + function Nt(e, t, n) { + n ? e ? R.tailIndex = t : R.tails[t] = 1 : e ? R.skinIndex = t : R.skins[t] = 1, "block" == Qe.style.display && Gt() + } + + function Gt() { + if (R) { + s.removeAllChildren($e); + for (var e = Xt, t = e ? tt : et, n = 0; n < t.length; ++n) t[n].dontSell || function(n) { + var i = s.generateElement({ + id: "storeDisplay" + n, + class: "storeItem", + onmouseout: function() { + Tt() + }, + onmouseover: function() { + Tt(t[n], !1, !0) + }, + parent: $e + }); + s.hookTouchEvents(i, !0), s.generateElement({ + tag: "img", + class: "hatPreview", + src: "../img/" + (e ? "accessories/access_" : "hats/hat_") + t[n].id + (t[n].topSprite ? "_p" : "") + ".png", + parent: i + }), s.generateElement({ + tag: "span", + text: t[n].name, + parent: i + }), (e ? R.tails[t[n].id] : R.skins[t[n].id]) ? (e ? R.tailIndex : R.skinIndex) == t[n].id ? s.generateElement({ + class: "joinAlBtn", + style: "margin-top: 5px", + text: "Unequip", + onclick: function() { + Jt(0, e) + }, + hookTouch: !0, + parent: i + }) : s.generateElement({ + class: "joinAlBtn", + style: "margin-top: 5px", + text: "Equip", + onclick: function() { + Jt(t[n].id, e) + }, + hookTouch: !0, + parent: i + }) : (s.generateElement({ + class: "joinAlBtn", + style: "margin-top: 5px", + text: "Buy", + onclick: function() { + Kt(t[n].id, e) + }, + hookTouch: !0, + parent: i + }), s.generateElement({ + tag: "span", + class: "itemPrice", + text: t[n].price, + parent: i + })) + }(n) + } + } + + function Jt(e, t) { + r.send("13c", 0, e, t) + } + + function Kt(e, t) { + r.send("13c", 1, e, t) + } + + function Qt() { + Qe.style.display = "none", Ye.style.display = "none", an() + } + + function $t(e, t) { + e && (t ? R.weapons = e : R.items = e); + for (var n = 0; n < l.list.length; ++n) { + var i = l.weapons.length + n; + document.getElementById("actionBarItem" + i).style.display = R.items.indexOf(l.list[n].id) >= 0 ? "inline-block" : "none" + } + for (n = 0; n < l.weapons.length; ++n) document.getElementById("actionBarItem" + n).style.display = R.weapons[l.weapons[n].type] == l.weapons[n].id ? "inline-block" : "none" + } + + function Zt(e) { + M = e, V = e && window.devicePixelRatio || 1, Se.checked = e, I("native_resolution", e.toString()), un() + } + + function en() { + for (var e = "", t = 0; t < o.skinColors.length; ++t) e += t == ae ? "
" : "
"; + Je.innerHTML = e + } + var tn = document.getElementById("chatBox"), + nn = document.getElementById("chatHolder"); + + function rn() { + on ? setTimeout((function() { + var e = prompt("chat message"); + e && sn(e) + }), 1) : "block" == nn.style.display ? (tn.value && sn(tn.value), an()) : (Qe.style.display = "none", Ye.style.display = "none", nn.style.display = "block", tn.focus(), yn()), tn.value = "" + } + + function sn(e) { + r.send("ch", e.slice(0, 30)) + } + + function an() { + tn.value = "", nn.style.display = "none" + } + var on, cn, ln = ["cunt", "whore", "fuck", "shit", "faggot", "nigger", "nigga", "dick", "vagina", "minge", "cock", "rape", "cum", "sex", "tits", "penis", "clit", "pussy", "meatcurtain", "jizz", "prune", "douche", "wanker", "damn", "bitch", "dick", "fag", "bastard"]; + + function hn(e, t) { + var n = Ii(e); + n && (n.chatMessage = function(e) { + for (var t, n = 0; n < ln.length; ++n) + if (e.indexOf(ln[n]) > -1) { + t = ""; + for (var i = 0; i < ln[n].length; ++i) t += t.length ? "o" : "M"; + var r = new RegExp(ln[n], "g"); + e = e.replace(r, t) + } return e + }(t), n.chatCountdown = o.chatCountdown) + } + + function un() { + F = window.innerWidth, z = window.innerHeight; + var e = Math.max(F / oe, z / ce) * V; + we.width = F * V, we.height = z * V, we.style.width = F + "px", we.style.height = z + "px", be.setTransform(e, 0, 0, e, (F * V - oe * e) / 2, (z * V - ce * e) / 2) + } + + function fn(e) { + (on = e) ? Ae.classList.add("touch"): Ae.classList.remove("touch") + } + + function dn(e) { + e.preventDefault(), e.stopPropagation(), fn(!0); + for (var t = 0; t < e.changedTouches.length; t++) { + var n = e.changedTouches[t]; + n.identifier == re.id ? (re.id = -1, bn()) : n.identifier == se.id && (se.id = -1, R.buildIndex >= 0 && (O = 1, vn()), O = 0, vn()) + } + } + + function pn() { + return R ? (-1 != se.id ? cn = Math.atan2(se.currentY - se.startY, se.currentX - se.startX) : R.lockDir || on || (cn = Math.atan2(ie - z / 2, ne - F / 2)), s.fixTo(cn || 0, 2)) : 0 + } + window.addEventListener("resize", s.checkTrusted(un)), un(), fn(!1), window.setUsingTouch = fn, we.addEventListener("touchmove", s.checkTrusted((function(e) { + e.preventDefault(), e.stopPropagation(), fn(!0); + for (var t = 0; t < e.changedTouches.length; t++) { + var n = e.changedTouches[t]; + n.identifier == re.id ? (re.currentX = n.pageX, re.currentY = n.pageY, bn()) : n.identifier == se.id && (se.currentX = n.pageX, se.currentY = n.pageY, O = 1) + } + })), !1), we.addEventListener("touchstart", s.checkTrusted((function(e) { + e.preventDefault(), e.stopPropagation(), fn(!0); + for (var t = 0; t < e.changedTouches.length; t++) { + var n = e.changedTouches[t]; + n.pageX < document.body.scrollWidth / 2 && -1 == re.id ? (re.id = n.identifier, re.startX = re.currentX = n.pageX, re.startY = re.currentY = n.pageY, bn()) : n.pageX > document.body.scrollWidth / 2 && -1 == se.id && (se.id = n.identifier, se.startX = se.currentX = n.pageX, se.startY = se.currentY = n.pageY, R.buildIndex < 0 && (O = 1, vn())) + } + })), !1), we.addEventListener("touchend", s.checkTrusted(dn), !1), we.addEventListener("touchcancel", s.checkTrusted(dn), !1), we.addEventListener("touchleave", s.checkTrusted(dn), !1), we.addEventListener("mousemove", (function(e) { + e.preventDefault(), e.stopPropagation(), fn(!1), ne = e.clientX, ie = e.clientY + }), !1), we.addEventListener("mousedown", (function(e) { + fn(!1), 1 != O && (O = 1, vn()) + }), !1), we.addEventListener("mouseup", (function(e) { + fn(!1), 0 != O && (O = 0, vn()) + }), !1); + var gn = {}, + mn = { + 87: [0, -1], + 38: [0, -1], + 83: [0, 1], + 40: [0, 1], + 65: [-1, 0], + 37: [-1, 0], + 68: [1, 0], + 39: [1, 0] + }; + + function yn() { + gn = {}, r.send("rmd") + } + + function kn() { + return "block" != Ye.style.display && "block" != nn.style.display + } + + function vn() { + R && R.alive && r.send("c", O, R.buildIndex >= 0 ? pn() : null) + } + window.addEventListener("keydown", s.checkTrusted((function(e) { + var t = e.which || e.keyCode || 0; + 27 == t ? Qt() : R && R.alive && kn() && (gn[t] || (gn[t] = 1, 69 == t ? r.send("7", 1) : 67 == t ? (Mt || (Mt = {}), Mt.x = R.x, Mt.y = R.y) : 88 == t ? (R.lockDir = R.lockDir ? 0 : 1, r.send("7", 0)) : null != R.weapons[t - 49] ? Sn(R.weapons[t - 49], !0) : null != R.items[t - 49 - R.weapons.length] ? Sn(R.items[t - 49 - R.weapons.length]) : 81 == t ? Sn(R.items[0]) : 82 == t ? xn() : mn[t] ? bn() : 32 == t && (O = 1, vn()))) + }))), window.addEventListener("keyup", s.checkTrusted((function(e) { + if (R && R.alive) { + var t = e.which || e.keyCode || 0; + 13 == t ? rn() : kn() && gn[t] && (gn[t] = 0, mn[t] ? bn() : 32 == t && (O = 0, vn())) + } + }))); + var wn = void 0; + + function bn() { + var e = function() { + var e = 0, + t = 0; + if (-1 != re.id) e += re.currentX - re.startX, t += re.currentY - re.startY; + else + for (var n in mn) { + var i = mn[n]; + e += !!gn[n] * i[0], t += !!gn[n] * i[1] + } + return 0 == e && 0 == t ? void 0 : s.fixTo(Math.atan2(t, e), 2) + }(); + (null == wn || null == e || Math.abs(e - wn) > .3) && (r.send("33", e), wn = e) + } + + function xn() { + r.send("14", 1) + } + + function Sn(e, t) { + r.send("5", e, t) + } + + function Tn() { + I("moo_name", Le.value), !le && r.connected && (le = !0, x.stop("menu"), dt("Loading..."), r.send("sp", { + name: Le.value, + moofoll: H, + skin: ae + })) + } + var In = !0; + + function En(e) { + Pe.style.display = "none", Me.style.display = "block", he.style.display = "none", gn = {}, j = e, O = 0, le = !0, In && (In = !1, N.length = 0) + } + + function Mn(e, t, n, i) { + m.showText(e, t, 50, .18, 500, Math.abs(n), n >= 0 ? "#fff" : "#8ecc51") + } + var An = 99999; + + function Pn() { + le = !1; + try { + factorem.refreshAds([2], !0) + } catch (e) {} + Be.style.display = "none", Qt(), It = { + x: R.x, + y: R.y + }, Pe.style.display = "none", Ge.style.display = "block", Ge.style.fontSize = "0px", An = 0, setTimeout((function() { + Me.style.display = "block", he.style.display = "block", Ge.style.display = "none" + }), o.deathFadeout), gt() + } + + function Bn(e) { + R && nt.removeAllItems(e) + } + + function Cn(e) { + nt.disableBySid(e) + } + + function On() { + Oe.innerText = R.points, Re.innerText = R.food, je.innerText = R.wood, _e.innerText = R.stone, Ue.innerText = R.kills + } + var Rn = {}, + jn = ["crown", "skull"], + _n = []; + + function Un(e, t) { + if (R.upgradePoints = e, R.upgrAge = t, e > 0) { + _n.length = 0, s.removeAllChildren(Ve); + for (var n = 0; n < l.weapons.length; ++n) l.weapons[n].age == t && (null == l.weapons[n].pre || R.weapons.indexOf(l.weapons[n].pre) >= 0) && (s.generateElement({ + id: "upgradeItem" + n, + class: "actionBarItem", + onmouseout: function() { + Tt() + }, + parent: Ve + }).style.backgroundImage = document.getElementById("actionBarItem" + n).style.backgroundImage, _n.push(n)); + for (n = 0; n < l.list.length; ++n) + if (l.list[n].age == t && (null == l.list[n].pre || R.items.indexOf(l.list[n].pre) >= 0)) { + var i = l.weapons.length + n; + s.generateElement({ + id: "upgradeItem" + i, + class: "actionBarItem", + onmouseout: function() { + Tt() + }, + parent: Ve + }).style.backgroundImage = document.getElementById("actionBarItem" + i).style.backgroundImage, _n.push(i) + } for (n = 0; n < _n.length; n++) ! function(e) { + var t = document.getElementById("upgradeItem" + e); + t.onmouseover = function() { + l.weapons[e] ? Tt(l.weapons[e], !0) : Tt(l.list[e - l.weapons.length]) + }, t.onclick = s.checkTrusted((function() { + r.send("6", e) + })), s.hookTouchEvents(t) + }(_n[n]); + _n.length ? (Ve.style.display = "block", qe.style.display = "block", qe.innerHTML = "SELECT ITEMS (" + e + ")") : (Ve.style.display = "none", qe.style.display = "none", Tt()) + } else Ve.style.display = "none", qe.style.display = "none", Tt() + } + + function Dn(e, t, n) { + null != e && (R.XP = e), null != t && (R.maxXP = t), null != n && (R.age = n), n == o.maxAge ? (ze.innerHTML = "MAX AGE", He.style.width = "100%") : (ze.innerHTML = "AGE " + R.age, He.style.width = R.XP / R.maxXP * 100 + "%") + } + + function Ln(e) { + s.removeAllChildren(De); + for (var t = 1, n = 0; n < e.length; n += 3) ! function(n) { + s.generateElement({ + class: "leaderHolder", + parent: De, + children: [s.generateElement({ + class: "leaderboardItem", + style: "color:" + (e[n] == j ? "#fff" : "rgba(255,255,255,0.6)"), + text: t + ". " + ("" != e[n + 1] ? e[n + 1] : "unknown") + }), s.generateElement({ + class: "leaderScore", + text: s.kFormat(e[n + 2]) || "0" + })] + }) + }(n), t++ + } + + function Fn(e, t, n, i) { + be.save(), be.setTransform(1, 0, 0, 1, 0, 0), be.scale(V, V); + var r = 50; + be.beginPath(), be.arc(e, t, r, 0, 2 * Math.PI, !1), be.closePath(), be.fillStyle = "rgba(255, 255, 255, 0.3)", be.fill(), r = 50; + var s = n - e, + a = i - t, + o = Math.sqrt(Math.pow(s, 2) + Math.pow(a, 2)), + c = o > r ? o / r : 1; + s /= c, a /= c, be.beginPath(), be.arc(e + s, t + a, .5 * r, 0, 2 * Math.PI, !1), be.closePath(), be.fillStyle = "white", be.fill(), be.restore() + } + + function zn(e, t, n) { + for (var i = 0; i < G.length; ++i)(_ = G[i]).active && _.layer == e && (_.update(P), _.active && ki(_.x - t, _.y - n, _.scale) && (be.save(), be.translate(_.x - t, _.y - n), be.rotate(_.dir), Vn(0, 0, _, be, 1), be.restore())) + } + var Hn = {}; + + function Vn(e, t, n, i, r) { + if (n.src) { + var s = l.projectiles[n.indx].src, + a = Hn[s]; + a || ((a = new Image).onload = function() { + this.isLoaded = !0 + }, a.src = ".././img/weapons/" + s + ".png", Hn[s] = a), a.isLoaded && i.drawImage(a, e - n.scale / 2, t - n.scale / 2, n.scale, n.scale) + } else 1 == n.indx && (i.fillStyle = "#939393", si(e, t, n.scale, i)) + } + + function qn(e, t, n, i) { + var r = o.riverWidth + i, + s = o.mapScale / 2 - t - r / 2; + s < ce && s + r > 0 && n.fillRect(0, s, oe, r) + } + + function Yn(e, t, n) { + for (var i, r, s, a = 0; a < N.length; ++a)(_ = N[a]).active && (r = _.x + _.xWiggle - t, s = _.y + _.yWiggle - n, 0 == e && _.update(P), _.layer == e && ki(r, s, _.scale + (_.blocker || 0)) && (be.globalAlpha = _.hideFromEnemy ? .6 : 1, _.isItem ? (i = ri(_), be.save(), be.translate(r, s), be.rotate(_.dir), be.drawImage(i, -i.width / 2, -i.height / 2), _.blocker && (be.strokeStyle = "#db6e6e", be.globalAlpha = .3, be.lineWidth = 6, si(0, 0, _.blocker, be, !1, !0)), be.restore()) : (i = ni(_), be.drawImage(i, r - i.width / 2, s - i.height / 2)))) + } + + function Wn(e, t, n) { + (_ = Ii(e)) && _.startAnim(t, n) + } + + function Xn(e, t, n) { + be.globalAlpha = 1; + for (var i = 0; i < W.length; ++i)(_ = W[i]).zIndex == n && (_.animate(P), _.visible && (_.skinRot += .002 * P, L = (_ == R ? pn() : _.dir) + _.dirPlus, be.save(), be.translate(_.x - e, _.y - t), be.rotate(L), Nn(_, be), be.restore())) + } + + function Nn(e, t) { + (t = t || be).lineWidth = 5.5, t.lineJoin = "miter"; + var n = Math.PI / 4 * (l.weapons[e.weaponIndex].armS || 1), + i = e.buildIndex < 0 && l.weapons[e.weaponIndex].hndS || 1, + r = e.buildIndex < 0 && l.weapons[e.weaponIndex].hndD || 1; + if (e.tailIndex > 0 && function(e, t, n) { + if (!(Gn = Qn[e])) { + var i = new Image; + i.onload = function() { + this.isLoaded = !0, this.onload = null + }, i.src = ".././img/accessories/access_" + e + ".png", Qn[e] = i, Gn = i + } + var r = $n[e]; + if (!r) { + for (var s = 0; s < tt.length; ++s) + if (tt[s].id == e) { + r = tt[s]; + break + } $n[e] = r + } + Gn.isLoaded && (t.save(), t.translate(-20 - (r.xOff || 0), 0), r.spin && t.rotate(n.skinRot), t.drawImage(Gn, -r.scale / 2, -r.scale / 2, r.scale, r.scale), t.restore()) + }(e.tailIndex, t, e), e.buildIndex < 0 && !l.weapons[e.weaponIndex].aboveHand && (ei(l.weapons[e.weaponIndex], o.weaponVariants[e.weaponVariant].src, e.scale, 0, t), null == l.weapons[e.weaponIndex].projectile || l.weapons[e.weaponIndex].hideProjectile || Vn(e.scale, 0, l.projectiles[l.weapons[e.weaponIndex].projectile], be)), t.fillStyle = o.skinColors[e.skinColor], si(e.scale * Math.cos(n), e.scale * Math.sin(n), 14), si(e.scale * r * Math.cos(-n * i), e.scale * r * Math.sin(-n * i), 14), e.buildIndex < 0 && l.weapons[e.weaponIndex].aboveHand && (ei(l.weapons[e.weaponIndex], o.weaponVariants[e.weaponVariant].src, e.scale, 0, t), null == l.weapons[e.weaponIndex].projectile || l.weapons[e.weaponIndex].hideProjectile || Vn(e.scale, 0, l.projectiles[l.weapons[e.weaponIndex].projectile], be)), e.buildIndex >= 0) { + var s = ri(l.list[e.buildIndex]); + t.drawImage(s, e.scale - l.list[e.buildIndex].holdOffset, -s.width / 2) + } + si(0, 0, e.scale, t), e.skinIndex > 0 && (t.rotate(Math.PI / 2), function e(t, n, i, r) { + if (!(Gn = Jn[t])) { + var s = new Image; + s.onload = function() { + this.isLoaded = !0, this.onload = null + }, s.src = ".././img/hats/hat_" + t + ".png", Jn[t] = s, Gn = s + } + var a = i || Kn[t]; + if (!a) { + for (var o = 0; o < et.length; ++o) + if (et[o].id == t) { + a = et[o]; + break + } Kn[t] = a + } + Gn.isLoaded && n.drawImage(Gn, -a.scale / 2, -a.scale / 2, a.scale, a.scale), !i && a.topSprite && (n.save(), n.rotate(r.skinRot), e(t + "_top", n, a, r), n.restore()) + }(e.skinIndex, t, null, e)) + } + var Gn, Jn = {}, + Kn = {}, + Qn = {}, + $n = {}, + Zn = {}; + + function ei(e, t, n, i, r) { + var s = e.src + (t || ""), + a = Zn[s]; + a || ((a = new Image).onload = function() { + this.isLoaded = !0 + }, a.src = ".././img/weapons/" + s + ".png", Zn[s] = a), a.isLoaded && r.drawImage(a, n + e.xOff - e.length / 2, i + e.yOff - e.width / 2, e.length, e.width) + } + var ti = {}; + + function ni(e) { + var t = e.y >= o.mapScale - o.snowBiomeTop ? 2 : e.y <= o.snowBiomeTop ? 1 : 0, + n = e.type + "_" + e.scale + "_" + t, + i = ti[n]; + if (!i) { + var r = document.createElement("canvas"); + r.width = r.height = 2.1 * e.scale + 5.5; + var a = r.getContext("2d"); + if (a.translate(r.width / 2, r.height / 2), a.rotate(s.randFloat(0, Math.PI)), a.strokeStyle = it, a.lineWidth = 5.5, 0 == e.type) + for (var c, l = 0; l < 2; ++l) ai(a, 7, c = _.scale * (l ? .5 : 1), .7 * c), a.fillStyle = t ? l ? "#fff" : "#e3f1f4" : l ? "#b4db62" : "#9ebf57", a.fill(), l || a.stroke(); + else if (1 == e.type) + if (2 == t) a.fillStyle = "#606060", ai(a, 6, .3 * e.scale, .71 * e.scale), a.fill(), a.stroke(), a.fillStyle = "#89a54c", si(0, 0, .55 * e.scale, a), a.fillStyle = "#a5c65b", si(0, 0, .3 * e.scale, a, !0); + else { + var h; + ! function(e, t, n, i) { + var r, a = Math.PI / 2 * 3, + o = Math.PI / 6; + e.beginPath(), e.moveTo(0, -i); + for (var c = 0; c < 6; c++) r = s.randInt(n + .9, 1.2 * n), e.quadraticCurveTo(Math.cos(a + o) * r, Math.sin(a + o) * r, Math.cos(a + 2 * o) * i, Math.sin(a + 2 * o) * i), a += 2 * o; + e.lineTo(0, -i), e.closePath() + }(a, 0, _.scale, .7 * _.scale), a.fillStyle = t ? "#e3f1f4" : "#89a54c", a.fill(), a.stroke(), a.fillStyle = t ? "#6a64af" : "#c15555"; + var u = T / 4; + for (l = 0; l < 4; ++l) si((h = s.randInt(_.scale / 3.5, _.scale / 2.3)) * Math.cos(u * l), h * Math.sin(u * l), s.randInt(10, 12), a) + } + else 2 != e.type && 3 != e.type || (a.fillStyle = 2 == e.type ? 2 == t ? "#938d77" : "#939393" : "#e0c655", ai(a, 3, e.scale, e.scale), a.fill(), a.stroke(), a.fillStyle = 2 == e.type ? 2 == t ? "#b2ab90" : "#bcbcbc" : "#ebdca3", ai(a, 3, .55 * e.scale, .65 * e.scale), a.fill()); + i = r, ti[n] = i + } + return i + } + var ii = []; + + function ri(e, t) { + var n = ii[e.id]; + if (!n || t) { + var i = document.createElement("canvas"); + i.width = i.height = 2.5 * e.scale + 5.5 + (l.list[e.id].spritePadding || 0); + var r = i.getContext("2d"); + if (r.translate(i.width / 2, i.height / 2), r.rotate(t ? 0 : Math.PI / 2), r.strokeStyle = it, r.lineWidth = 5.5 * (t ? i.width / 81 : 1), "apple" == e.name) { + r.fillStyle = "#c15555", si(0, 0, e.scale, r), r.fillStyle = "#89a54c"; + var a = -Math.PI / 2; + ! function(e, t, n, i, r) { + var s = e + 25 * Math.cos(i), + a = t + 25 * Math.sin(i); + r.moveTo(e, t), r.beginPath(), r.quadraticCurveTo((e + s) / 2 + 10 * Math.cos(i + Math.PI / 2), (t + a) / 2 + 10 * Math.sin(i + Math.PI / 2), s, a), r.quadraticCurveTo((e + s) / 2 - 10 * Math.cos(i + Math.PI / 2), (t + a) / 2 - 10 * Math.sin(i + Math.PI / 2), e, t), r.closePath(), r.fill(), r.stroke() + }(e.scale * Math.cos(a), e.scale * Math.sin(a), 0, a + Math.PI / 2, r) + } else if ("cookie" == e.name) { + r.fillStyle = "#cca861", si(0, 0, e.scale, r), r.fillStyle = "#937c4b"; + for (var o = T / (h = 4), c = 0; c < h; ++c) si((u = s.randInt(e.scale / 2.5, e.scale / 1.7)) * Math.cos(o * c), u * Math.sin(o * c), s.randInt(4, 5), r, !0) + } else if ("cheese" == e.name) { + var h, u; + for (r.fillStyle = "#f4f3ac", si(0, 0, e.scale, r), r.fillStyle = "#c3c28b", o = T / (h = 4), c = 0; c < h; ++c) si((u = s.randInt(e.scale / 2.5, e.scale / 1.7)) * Math.cos(o * c), u * Math.sin(o * c), s.randInt(4, 5), r, !0) + } else if ("wood wall" == e.name || "stone wall" == e.name || "castle wall" == e.name) { + r.fillStyle = "castle wall" == e.name ? "#83898e" : "wood wall" == e.name ? "#a5974c" : "#939393"; + var f = "castle wall" == e.name ? 4 : 3; + ai(r, f, 1.1 * e.scale, 1.1 * e.scale), r.fill(), r.stroke(), r.fillStyle = "castle wall" == e.name ? "#9da4aa" : "wood wall" == e.name ? "#c9b758" : "#bcbcbc", ai(r, f, .65 * e.scale, .65 * e.scale), r.fill() + } else if ("spikes" == e.name || "greater spikes" == e.name || "poison spikes" == e.name || "spinning spikes" == e.name) { + r.fillStyle = "poison spikes" == e.name ? "#7b935d" : "#939393"; + var d = .6 * e.scale; + ai(r, "spikes" == e.name ? 5 : 6, e.scale, d), r.fill(), r.stroke(), r.fillStyle = "#a5974c", si(0, 0, d, r), r.fillStyle = "#c9b758", si(0, 0, d / 2, r, !0) + } else if ("windmill" == e.name || "faster windmill" == e.name || "power mill" == e.name) r.fillStyle = "#a5974c", si(0, 0, e.scale, r), r.fillStyle = "#c9b758", ci(0, 0, 1.5 * e.scale, 29, 4, r), r.fillStyle = "#a5974c", si(0, 0, .5 * e.scale, r); + else if ("mine" == e.name) r.fillStyle = "#939393", ai(r, 3, e.scale, e.scale), r.fill(), r.stroke(), r.fillStyle = "#bcbcbc", ai(r, 3, .55 * e.scale, .65 * e.scale), r.fill(); + else if ("sapling" == e.name) + for (c = 0; c < 2; ++c) ai(r, 7, d = e.scale * (c ? .5 : 1), .7 * d), r.fillStyle = c ? "#b4db62" : "#9ebf57", r.fill(), c || r.stroke(); + else if ("pit trap" == e.name) r.fillStyle = "#a5974c", ai(r, 3, 1.1 * e.scale, 1.1 * e.scale), r.fill(), r.stroke(), r.fillStyle = it, ai(r, 3, .65 * e.scale, .65 * e.scale), r.fill(); + else if ("boost pad" == e.name) r.fillStyle = "#7e7f82", oi(0, 0, 2 * e.scale, 2 * e.scale, r), r.fill(), r.stroke(), r.fillStyle = "#dbd97d", + function(e, t) { + t = t || be; + var n = e * (Math.sqrt(3) / 2); + t.beginPath(), t.moveTo(0, -n / 2), t.lineTo(-e / 2, n / 2), t.lineTo(e / 2, n / 2), t.lineTo(0, -n / 2), t.fill(), t.closePath() + }(1 * e.scale, r); + else if ("turret" == e.name) r.fillStyle = "#a5974c", si(0, 0, e.scale, r), r.fill(), r.stroke(), r.fillStyle = "#939393", oi(0, -25, .9 * e.scale, 50, r), si(0, 0, .6 * e.scale, r), r.fill(), r.stroke(); + else if ("platform" == e.name) { + r.fillStyle = "#cebd5f"; + var p = 2 * e.scale, + g = p / 4, + m = -e.scale / 2; + for (c = 0; c < 4; ++c) oi(m - g / 2, 0, g, 2 * e.scale, r), r.fill(), r.stroke(), m += p / 4 + } else "healing pad" == e.name ? (r.fillStyle = "#7e7f82", oi(0, 0, 2 * e.scale, 2 * e.scale, r), r.fill(), r.stroke(), r.fillStyle = "#db6e6e", ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "spawn pad" == e.name ? (r.fillStyle = "#7e7f82", oi(0, 0, 2 * e.scale, 2 * e.scale, r), r.fill(), r.stroke(), r.fillStyle = "#71aad6", si(0, 0, .6 * e.scale, r)) : "blocker" == e.name ? (r.fillStyle = "#7e7f82", si(0, 0, e.scale, r), r.fill(), r.stroke(), r.rotate(Math.PI / 4), r.fillStyle = "#db6e6e", ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "teleporter" == e.name && (r.fillStyle = "#7e7f82", si(0, 0, e.scale, r), r.fill(), r.stroke(), r.rotate(Math.PI / 4), r.fillStyle = "#d76edb", si(0, 0, .5 * e.scale, r, !0)); + n = i, t || (ii[e.id] = n) + } + return n + } + + function si(e, t, n, i, r, s) { + (i = i || be).beginPath(), i.arc(e, t, n, 0, 2 * Math.PI), s || i.fill(), r || i.stroke() + } + + function ai(e, t, n, i) { + var r, s, a = Math.PI / 2 * 3, + o = Math.PI / t; + e.beginPath(), e.moveTo(0, -n); + for (var c = 0; c < t; c++) r = Math.cos(a) * n, s = Math.sin(a) * n, e.lineTo(r, s), a += o, r = Math.cos(a) * i, s = Math.sin(a) * i, e.lineTo(r, s), a += o; + e.lineTo(0, -n), e.closePath() + } + + function oi(e, t, n, i, r, s) { + r.fillRect(e - n / 2, t - i / 2, n, i), s || r.strokeRect(e - n / 2, t - i / 2, n, i) + } + + function ci(e, t, n, i, r, s, a) { + s.save(), s.translate(e, t), r = Math.ceil(r / 2); + for (var o = 0; o < r; o++) oi(0, 0, 2 * n, i, s, a), s.rotate(Math.PI / r); + s.restore() + } + + function li(e) { + for (var t = 0; t < e.length;) nt.add(e[t], e[t + 1], e[t + 2], e[t + 3], e[t + 4], e[t + 5], l.list[e[t + 6]], !0, e[t + 7] >= 0 ? { + sid: e[t + 7] + } : null), t += 8 + } + + function hi(e, t) { + (_ = Mi(t)) && (_.xWiggle += o.gatherWiggle * Math.cos(e), _.yWiggle += o.gatherWiggle * Math.sin(e)) + } + + function ui(e, t) { + (_ = Mi(e)) && (_.dir = t, _.xWiggle += o.gatherWiggle * Math.cos(t + Math.PI), _.yWiggle += o.gatherWiggle * Math.sin(t + Math.PI)) + } + + function fi(e, t, n, i, r, s, a, o) { + lt && (J.addProjectile(e, t, n, i, r, s, null, null, a).sid = o) + } + + function di(e, t) { + for (var n = 0; n < G.length; ++n) G[n].sid == e && (G[n].range = t) + } + + function pi(e) { + (_ = Ei(e)) && _.startAnim() + } + + function gi(e) { + for (var t = 0; t < Y.length; ++t) Y[t].forcePos = !Y[t].visible, Y[t].visible = !1; + if (e) { + var n = Date.now(); + for (t = 0; t < e.length;)(_ = Ei(e[t])) ? (_.index = e[t + 1], _.t1 = void 0 === _.t2 ? n : _.t2, _.t2 = n, _.x1 = _.x, _.y1 = _.y, _.x2 = e[t + 2], _.y2 = e[t + 3], _.d1 = void 0 === _.d2 ? e[t + 4] : _.d2, _.d2 = e[t + 4], _.health = e[t + 5], _.dt = 0, _.visible = !0) : ((_ = Z.spawn(e[t + 2], e[t + 3], e[t + 4], e[t + 1])).x2 = _.x, _.y2 = _.y, _.d2 = _.dir, _.health = e[t + 5], Z.aiTypes[e[t + 1]].name || (_.name = o.cowNames[e[t + 6]]), _.forcePos = !0, _.sid = e[t], _.visible = !0), t += 7 + } + } + var mi = {}; + + function yi(e, t) { + var n = e.index, + i = mi[n]; + if (!i) { + var r = new Image; + r.onload = function() { + this.isLoaded = !0, this.onload = null + }, r.src = ".././img/animals/" + e.src + ".png", i = r, mi[n] = i + } + if (i.isLoaded) { + var s = 1.2 * e.scale * (e.spriteMlt || 1); + t.drawImage(i, -s, -s, 2 * s, 2 * s) + } + } + + function ki(e, t, n) { + return e + n >= 0 && e - n <= oe && t + n >= 0 && t - n <= ce + } + + function vi(e, t) { + var n = function(e) { + for (var t = 0; t < W.length; ++t) + if (W[t].id == e) return W[t]; + return null + }(e[0]); + n || (n = new u(e[0], e[1], o, s, J, nt, W, Y, l, et, tt), W.push(n)), n.spawn(t ? H : null), n.visible = !1, n.x2 = void 0, n.y2 = void 0, n.setData(e), t && (U = (R = n).x, D = R.y, $t(), On(), Dn(), Un(0), Be.style.display = "block") + } + + function wi(e) { + for (var t = 0; t < W.length; t++) + if (W[t].id == e) { + W.splice(t, 1); + break + } + } + + function bi(e, t) { + R && (R.itemCounts[e] = t) + } + + function xi(e, t, n) { + R && (R[e] = t, n && On()) + } + + function Si(e, t) { + (_ = Ii(e)) && (_.health = t) + } + + function Ti(e) { + for (var t = Date.now(), n = 0; n < W.length; ++n) W[n].forcePos = !W[n].visible, W[n].visible = !1; + for (n = 0; n < e.length;)(_ = Ii(e[n])) && (_.t1 = void 0 === _.t2 ? t : _.t2, _.t2 = t, _.x1 = _.x, _.y1 = _.y, _.x2 = e[n + 1], _.y2 = e[n + 2], _.d1 = void 0 === _.d2 ? e[n + 3] : _.d2, _.d2 = e[n + 3], _.dt = 0, _.buildIndex = e[n + 4], _.weaponIndex = e[n + 5], _.weaponVariant = e[n + 6], _.team = e[n + 7], _.isLeader = e[n + 8], _.skinIndex = e[n + 9], _.tailIndex = e[n + 10], _.iconIndex = e[n + 11], _.zIndex = e[n + 12], _.visible = !0), n += 13 + } + + function Ii(e) { + for (var t = 0; t < W.length; ++t) + if (W[t].sid == e) return W[t]; + return null + } + + function Ei(e) { + for (var t = 0; t < Y.length; ++t) + if (Y[t].sid == e) return Y[t]; + return null + } + + function Mi(e) { + for (var t = 0; t < N.length; ++t) + if (N[t].sid == e) return N[t]; + return null + } + var Ai = -1; + + function Pi() { + var e = Date.now() - Ai; + window.pingTime = e, Ie.innerText = "Ping: " + e + " ms" + } + + function Bi() { + Ai = Date.now(), r.send("pp") + } + + function Ci(e) { + if (!(e < 0)) { + var t = Math.floor(e / 60), + n = e % 60; + n = ("0" + n).slice(-2), Ee.innerText = "Server restarting in " + t + ":" + n, Ee.hidden = !1 + } + } + + function Oi(e) { + window.open(e, "_blank") + } + window.requestAnimFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(e) { + window.setTimeout(e, 1e3 / 60) + }, + function() { + var e = o.mapScale / 2; + nt.add(0, e, e + 200, 0, o.treeScales[3], 0), nt.add(1, e, e - 480, 0, o.treeScales[3], 0), nt.add(2, e + 300, e + 450, 0, o.treeScales[3], 0), nt.add(3, e - 950, e - 130, 0, o.treeScales[2], 0), nt.add(4, e - 750, e - 400, 0, o.treeScales[3], 0), nt.add(5, e - 700, e + 400, 0, o.treeScales[2], 0), nt.add(6, e + 800, e - 200, 0, o.treeScales[3], 0), nt.add(7, e - 260, e + 340, 0, o.bushScales[3], 1), nt.add(8, e + 760, e + 310, 0, o.bushScales[3], 1), nt.add(9, e - 800, e + 100, 0, o.bushScales[3], 1), nt.add(10, e - 800, e + 300, 0, l.list[4].scale, l.list[4].id, l.list[10]), nt.add(11, e + 650, e - 390, 0, l.list[4].scale, l.list[4].id, l.list[10]), nt.add(12, e - 400, e - 450, 0, o.rockScales[2], 2) + }(), + function e() { + B = Date.now(), P = B - q, q = B, + function() { + if (R && (!C || B - C >= 1e3 / o.clientSendRate) && (C = B, r.send("2", pn())), An < 120 && (An += .1 * P, Ge.style.fontSize = Math.min(Math.round(An), 120) + "px"), R) { + var e = s.getDistance(U, D, R.x, R.y), + t = s.getDirection(R.x, R.y, U, D), + n = Math.min(.01 * e * P, e); + e > .05 ? (U += n * Math.cos(t), D += n * Math.sin(t)) : (U = R.x, D = R.y) + } else U = o.mapScale / 2, D = o.mapScale / 2; + for (var i = B - 1e3 / o.serverUpdateRate, a = 0; a < W.length + Y.length; ++a) + if ((_ = W[a] || Y[a - W.length]) && _.visible) + if (_.forcePos) _.x = _.x2, _.y = _.y2, _.dir = _.d2; + else { + var c = _.t2 - _.t1, + l = (i - _.t1) / c; + _.dt += P; + var h = Math.min(1.7, _.dt / 170), + u = _.x2 - _.x1; + _.x = _.x1 + u * h, u = _.y2 - _.y1, _.y = _.y1 + u * h, _.dir = Math.lerpAngle(_.d2, _.d1, Math.min(1.2, l)) + } var f = U - oe / 2, + d = D - ce / 2; + o.snowBiomeTop - d <= 0 && o.mapScale - o.snowBiomeTop - d >= ce ? (be.fillStyle = "#b6db66", be.fillRect(0, 0, oe, ce)) : o.mapScale - o.snowBiomeTop - d <= 0 ? (be.fillStyle = "#dbc666", be.fillRect(0, 0, oe, ce)) : o.snowBiomeTop - d >= ce ? (be.fillStyle = "#fff", be.fillRect(0, 0, oe, ce)) : o.snowBiomeTop - d >= 0 ? (be.fillStyle = "#fff", be.fillRect(0, 0, oe, o.snowBiomeTop - d), be.fillStyle = "#b6db66", be.fillRect(0, o.snowBiomeTop - d, oe, ce - (o.snowBiomeTop - d))) : (be.fillStyle = "#b6db66", be.fillRect(0, 0, oe, o.mapScale - o.snowBiomeTop - d), be.fillStyle = "#dbc666", be.fillRect(0, o.mapScale - o.snowBiomeTop - d, oe, ce - (o.mapScale - o.snowBiomeTop - d))), In || ((ee += te * o.waveSpeed * P) >= o.waveMax ? (ee = o.waveMax, te = -1) : ee <= 1 && (ee = te = 1), be.globalAlpha = 1, be.fillStyle = "#dbc666", qn(f, d, be, o.riverPadding), be.fillStyle = "#91b2db", qn(f, d, be, 250 * (ee - 1))), be.lineWidth = 4, be.strokeStyle = "#000", be.globalAlpha = .06, be.beginPath(); + for (var p = -U; p < oe; p += ce / 18) p > 0 && (be.moveTo(p, 0), be.lineTo(p, ce)); + for (var g = -D; g < ce; g += ce / 18) p > 0 && (be.moveTo(0, g), be.lineTo(oe, g)); + for (be.stroke(), be.globalAlpha = 1, be.strokeStyle = it, Yn(-1, f, d), be.globalAlpha = 1, be.lineWidth = 5.5, zn(0, f, d), Xn(f, d, 0), be.globalAlpha = 1, a = 0; a < Y.length; ++a)(_ = Y[a]).active && _.visible && (_.animate(P), be.save(), be.translate(_.x - f, _.y - d), be.rotate(_.dir + _.dirPlus - Math.PI / 2), yi(_, be), be.restore()); + if (Yn(0, f, d), zn(1, f, d), Yn(1, f, d), Xn(f, d, 1), Yn(2, f, d), Yn(3, f, d), be.fillStyle = "#000", be.globalAlpha = .09, f <= 0 && be.fillRect(0, 0, -f, ce), o.mapScale - f <= oe) { + var y = Math.max(0, -d); + be.fillRect(o.mapScale - f, y, oe - (o.mapScale - f), ce - y) + } + if (d <= 0 && be.fillRect(-f, 0, oe + f, -d), o.mapScale - d <= ce) { + var k = Math.max(0, -f), + v = 0; + o.mapScale - f <= oe && (v = oe - (o.mapScale - f)), be.fillRect(k, o.mapScale - d, oe - k - v, ce - (o.mapScale - d)) + } + for (be.globalAlpha = 1, be.fillStyle = "rgba(0, 0, 70, 0.35)", be.fillRect(0, 0, oe, ce), be.strokeStyle = rt, a = 0; a < W.length + Y.length; ++a) + if ((_ = W[a] || Y[a - W.length]).visible && (10 != _.skinIndex || _ == R || _.team && _.team == R.team)) { + var w = (_.team ? "[" + _.team + "] " : "") + (_.name || ""); + if ("" != w) { + if (be.font = (_.nameScale || 30) + "px Hammersmith One", be.fillStyle = "#fff", be.textBaseline = "middle", be.textAlign = "center", be.lineWidth = _.nameScale ? 11 : 8, be.lineJoin = "round", be.strokeText(w, _.x - f, _.y - d - _.scale - o.nameY), be.fillText(w, _.x - f, _.y - d - _.scale - o.nameY), _.isLeader && Rn.crown.isLoaded) { + var b = o.crownIconScale; + k = _.x - f - b / 2 - be.measureText(w).width / 2 - o.crownPad, be.drawImage(Rn.crown, k, _.y - d - _.scale - o.nameY - b / 2 - 5, b, b) + } + 1 == _.iconIndex && Rn.skull.isLoaded && (b = o.crownIconScale, k = _.x - f - b / 2 + be.measureText(w).width / 2 + o.crownPad, be.drawImage(Rn.skull, k, _.y - d - _.scale - o.nameY - b / 2 - 5, b, b)) + } + _.health > 0 && (o.healthBarWidth, be.fillStyle = rt, be.roundRect(_.x - f - o.healthBarWidth - o.healthBarPad, _.y - d + _.scale + o.nameY, 2 * o.healthBarWidth + 2 * o.healthBarPad, 17, 8), be.fill(), be.fillStyle = _ == R || _.team && _.team == R.team ? "#8ecc51" : "#cc5151", be.roundRect(_.x - f - o.healthBarWidth, _.y - d + _.scale + o.nameY + o.healthBarPad, 2 * o.healthBarWidth * (_.health / _.maxHealth), 17 - 2 * o.healthBarPad, 7), be.fill()) + } for (m.update(P, be, f, d), a = 0; a < W.length; ++a) + if ((_ = W[a]).visible && _.chatCountdown > 0) { + _.chatCountdown -= P, _.chatCountdown <= 0 && (_.chatCountdown = 0), be.font = "32px Hammersmith One"; + var x = be.measureText(_.chatMessage); + be.textBaseline = "middle", be.textAlign = "center", k = _.x - f, y = _.y - _.scale - d - 90; + var S = x.width + 17; + be.fillStyle = "rgba(0,0,0,0.2)", be.roundRect(k - S / 2, y - 23.5, S, 47, 6), be.fill(), be.fillStyle = "#fff", be.fillText(_.chatMessage, k, y) + }! + function(e) { + if (R && R.alive) { + Ke.clearRect(0, 0, Ne.width, Ne.height), Ke.strokeStyle = "#fff", Ke.lineWidth = 4; + for (var t = 0; t < qt.length; ++t)(Vt = qt[t]).update(Ke, e); + if (Ke.globalAlpha = 1, Ke.fillStyle = "#fff", si(R.x / o.mapScale * Ne.width, R.y / o.mapScale * Ne.height, 7, Ke, !0), Ke.fillStyle = "rgba(255,255,255,0.35)", R.team && Et) + for (t = 0; t < Et.length;) si(Et[t] / o.mapScale * Ne.width, Et[t + 1] / o.mapScale * Ne.height, 7, Ke, !0), t += 2; + It && (Ke.fillStyle = "#fc5553", Ke.font = "34px Hammersmith One", Ke.textBaseline = "middle", Ke.textAlign = "center", Ke.fillText("x", It.x / o.mapScale * Ne.width, It.y / o.mapScale * Ne.height)), Mt && (Ke.fillStyle = "#fff", Ke.font = "34px Hammersmith One", Ke.textBaseline = "middle", Ke.textAlign = "center", Ke.fillText("x", Mt.x / o.mapScale * Ne.width, Mt.y / o.mapScale * Ne.height)) + } + }(P), -1 !== re.id && Fn(re.startX, re.startY, re.currentX, re.currentY), -1 !== se.id && Fn(se.startX, se.startY, se.currentX, se.currentY) + }(), requestAnimFrame(e) + }(), window.openLink = Oi, window.aJoinReq = Dt, window.follmoo = function() { + H || (H = !0, I("moofoll", 1)) + }, window.kickFromClan = Lt, window.sendJoin = Ft, window.leaveAlliance = Ht, window.createAlliance = zt, window.storeBuy = Kt, window.storeEquip = Jt, window.showItemInfo = Tt, window.selectSkinColor = function(e) { + ae = e, en() + }, window.changeStoreIndex = function(e) { + Xt != e && (Xt = e, Gt()) + }, window.config = o +}, function(e, t) { + ! function(e, t, n) { + function i(e, t) { + return typeof e === t + } + var r = [], + s = [], + a = { + _version: "3.5.0", + _config: { + classPrefix: "", + enableClasses: !0, + enableJSClass: !0, + usePrefixes: !0 + }, + _q: [], + on: function(e, t) { + var n = this; + setTimeout((function() { + t(n[e]) + }), 0) + }, + addTest: function(e, t, n) { + s.push({ + name: e, + fn: t, + options: n + }) + }, + addAsyncTest: function(e) { + s.push({ + name: null, + fn: e + }) + } + }, + o = function() {}; + o.prototype = a, o = new o; + var c = t.documentElement, + l = "svg" === c.nodeName.toLowerCase(); + o.addTest("passiveeventlisteners", (function() { + var t = !1; + try { + var n = Object.defineProperty({}, "passive", { + get: function() { + t = !0 + } + }); + e.addEventListener("test", null, n) + } catch (e) {} + return t + })), + function() { + var e, t, n, a, c, l; + for (var h in s) + if (s.hasOwnProperty(h)) { + if (e = [], (t = s[h]).name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length)) + for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase()); + for (a = i(t.fn, "function") ? t.fn() : t.fn, c = 0; c < e.length; c++) 1 === (l = e[c].split(".")).length ? o[l[0]] = a : (!o[l[0]] || o[l[0]] instanceof Boolean || (o[l[0]] = new Boolean(o[l[0]])), o[l[0]][l[1]] = a), r.push((a ? "" : "no-") + l.join("-")) + } + }(), + function(e) { + var t = c.className, + n = o._config.classPrefix || ""; + if (l && (t = t.baseVal), o._config.enableJSClass) { + var i = new RegExp("(^|\\s)" + n + "no-js(\\s|$)"); + t = t.replace(i, "$1" + n + "js$2") + } + o._config.enableClasses && (t += " " + n + e.join(" " + n), l ? c.className.baseVal = t : c.className = t) + }(r), delete a.addTest, delete a.addAsyncTest; + for (var h = 0; h < o._q.length; h++) o._q[h](); + e.Modernizr = o + }(window, document) +}, function(e, t, n) { + var i = n(24); + n(19), e.exports = { + socket: null, + connected: !1, + socketId: -1, + connect: function(e, t, n) { + if (!this.socket) { + var r = this; + try { + var s = !1, + a = e; + this.socket = new WebSocket(a), this.socket.binaryType = "arraybuffer", this.socket.onmessage = function(e) { + var t = new Uint8Array(e.data), + s = i.decode(t), + a = s[0]; + t = s[1], "io-init" == a ? r.socketId = t[0] : n[a].apply(void 0, t) + }, this.socket.onopen = function() { + r.connected = !0, t() + }, this.socket.onclose = function(e) { + r.connected = !1, 4001 == e.code ? t("Invalid Connection") : s || t("disconnected") + }, this.socket.onerror = function(e) { + this.socket && this.socket.readyState != WebSocket.OPEN && (s = !0, console.error("Socket error", arguments), t("Socket error")) + } + } catch (e) { + console.warn("Socket connection error:", e), t(e) + } + } + }, + send: function(e) { + var t = Array.prototype.slice.call(arguments, 1), + n = i.encode([e, t]); + this.socket.send(n) + }, + socketReady: function() { + return this.socket && this.connected + }, + close: function() { + this.socket && this.socket.close() + } + } +}, function(e, t, n) { + t.encode = n(9).encode, t.decode = n(15).decode, t.Encoder = n(37).Encoder, t.Decoder = n(38).Decoder, t.createCodec = n(39).createCodec, t.codec = n(40).codec +}, function(e, t, n) { + (function(t) { + function n(e) { + return e && e.isBuffer && e + } + e.exports = n(void 0 !== t && t) || n(this.Buffer) || n("undefined" != typeof window && window.Buffer) || this.Buffer + }).call(this, n(11).Buffer) +}, function(e, t, n) { + "use strict"; + t.byteLength = function(e) { + var t = l(e), + n = t[0], + i = t[1]; + return 3 * (n + i) / 4 - i + }, t.toByteArray = function(e) { + var t, n, i = l(e), + a = i[0], + o = i[1], + c = new s(function(e, t, n) { + return 3 * (t + n) / 4 - n + }(0, a, o)), + h = 0, + u = o > 0 ? a - 4 : a; + for (n = 0; n < u; n += 4) t = r[e.charCodeAt(n)] << 18 | r[e.charCodeAt(n + 1)] << 12 | r[e.charCodeAt(n + 2)] << 6 | r[e.charCodeAt(n + 3)], c[h++] = t >> 16 & 255, c[h++] = t >> 8 & 255, c[h++] = 255 & t; + return 2 === o && (t = r[e.charCodeAt(n)] << 2 | r[e.charCodeAt(n + 1)] >> 4, c[h++] = 255 & t), 1 === o && (t = r[e.charCodeAt(n)] << 10 | r[e.charCodeAt(n + 1)] << 4 | r[e.charCodeAt(n + 2)] >> 2, c[h++] = t >> 8 & 255, c[h++] = 255 & t), c + }, t.fromByteArray = function(e) { + for (var t, n = e.length, r = n % 3, s = [], a = 0, o = n - r; a < o; a += 16383) s.push(u(e, a, a + 16383 > o ? o : a + 16383)); + return 1 === r ? (t = e[n - 1], s.push(i[t >> 2] + i[t << 4 & 63] + "==")) : 2 === r && (t = (e[n - 2] << 8) + e[n - 1], s.push(i[t >> 10] + i[t >> 4 & 63] + i[t << 2 & 63] + "=")), s.join("") + }; + for (var i = [], r = [], s = "undefined" != typeof Uint8Array ? Uint8Array : Array, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", o = 0, c = a.length; o < c; ++o) i[o] = a[o], r[a.charCodeAt(o)] = o; + + function l(e) { + var t = e.length; + if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); + var n = e.indexOf("="); + return -1 === n && (n = t), [n, n === t ? 0 : 4 - n % 4] + } + + function h(e) { + return i[e >> 18 & 63] + i[e >> 12 & 63] + i[e >> 6 & 63] + i[63 & e] + } + + function u(e, t, n) { + for (var i, r = [], s = t; s < n; s += 3) i = (e[s] << 16 & 16711680) + (e[s + 1] << 8 & 65280) + (255 & e[s + 2]), r.push(h(i)); + return r.join("") + } + r["-".charCodeAt(0)] = 62, r["_".charCodeAt(0)] = 63 +}, function(e, t) { + var n = {}.toString; + e.exports = Array.isArray || function(e) { + return "[object Array]" == n.call(e) + } +}, function(e, t, n) { + var i = n(0); + + function r(e) { + return new Array(e) + }(t = e.exports = r(0)).alloc = r, t.concat = i.concat, t.from = function(e) { + if (!i.isBuffer(e) && i.isView(e)) e = i.Uint8Array.from(e); + else if (i.isArrayBuffer(e)) e = new Uint8Array(e); + else { + if ("string" == typeof e) return i.from.call(t, e); + if ("number" == typeof e) throw new TypeError('"value" argument must not be a number') + } + return Array.prototype.slice.call(e) + } +}, function(e, t, n) { + var i = n(0), + r = i.global; + + function s(e) { + return new r(e) + }(t = e.exports = i.hasBuffer ? s(0) : []).alloc = i.hasBuffer && r.alloc || s, t.concat = i.concat, t.from = function(e) { + if (!i.isBuffer(e) && i.isView(e)) e = i.Uint8Array.from(e); + else if (i.isArrayBuffer(e)) e = new Uint8Array(e); + else { + if ("string" == typeof e) return i.from.call(t, e); + if ("number" == typeof e) throw new TypeError('"value" argument must not be a number') + } + return r.from && 1 !== r.from.length ? r.from(e) : new r(e) + } +}, function(e, t, n) { + var i = n(0); + + function r(e) { + return new Uint8Array(e) + }(t = e.exports = i.hasArrayBuffer ? r(0) : []).alloc = r, t.concat = i.concat, t.from = function(e) { + if (i.isView(e)) { + var n = e.byteOffset, + r = e.byteLength; + (e = e.buffer).byteLength !== r && (e.slice ? e = e.slice(n, n + r) : (e = new Uint8Array(e)).byteLength !== r && (e = Array.prototype.slice.call(e, n, n + r))) + } else { + if ("string" == typeof e) return i.from.call(t, e); + if ("number" == typeof e) throw new TypeError('"value" argument must not be a number') + } + return new Uint8Array(e) + } +}, function(e, t) { + t.copy = function(e, t, n, i) { + var r; + n || (n = 0), i || 0 === i || (i = this.length), t || (t = 0); + var s = i - n; + if (e === this && n < t && t < i) + for (r = s - 1; r >= 0; r--) e[r + t] = this[r + n]; + else + for (r = 0; r < s; r++) e[r + t] = this[r + n]; + return s + }, t.toString = function(e, t, n) { + var i = 0 | t; + n || (n = this.length); + for (var r = "", s = 0; i < n;)(s = this[i++]) < 128 ? r += String.fromCharCode(s) : (192 == (224 & s) ? s = (31 & s) << 6 | 63 & this[i++] : 224 == (240 & s) ? s = (15 & s) << 12 | (63 & this[i++]) << 6 | 63 & this[i++] : 240 == (248 & s) && (s = (7 & s) << 18 | (63 & this[i++]) << 12 | (63 & this[i++]) << 6 | 63 & this[i++]), s >= 65536 ? (s -= 65536, r += String.fromCharCode(55296 + (s >>> 10), 56320 + (1023 & s))) : r += String.fromCharCode(s)); + return r + }, t.write = function(e, t) { + for (var n = t || (t |= 0), i = e.length, r = 0, s = 0; s < i;)(r = e.charCodeAt(s++)) < 128 ? this[n++] = r : r < 2048 ? (this[n++] = 192 | r >>> 6, this[n++] = 128 | 63 & r) : r < 55296 || r > 57343 ? (this[n++] = 224 | r >>> 12, this[n++] = 128 | r >>> 6 & 63, this[n++] = 128 | 63 & r) : (r = 65536 + (r - 55296 << 10 | e.charCodeAt(s++) - 56320), this[n++] = 240 | r >>> 18, this[n++] = 128 | r >>> 12 & 63, this[n++] = 128 | r >>> 6 & 63, this[n++] = 128 | 63 & r); + return n - t + } +}, function(e, t, n) { + t.setExtPackers = function(e) { + e.addExtPacker(14, Error, [u, c]), e.addExtPacker(1, EvalError, [u, c]), e.addExtPacker(2, RangeError, [u, c]), e.addExtPacker(3, ReferenceError, [u, c]), e.addExtPacker(4, SyntaxError, [u, c]), e.addExtPacker(5, TypeError, [u, c]), e.addExtPacker(6, URIError, [u, c]), e.addExtPacker(10, RegExp, [h, c]), e.addExtPacker(11, Boolean, [l, c]), e.addExtPacker(12, String, [l, c]), e.addExtPacker(13, Date, [Number, c]), e.addExtPacker(15, Number, [l, c]), "undefined" != typeof Uint8Array && (e.addExtPacker(17, Int8Array, a), e.addExtPacker(18, Uint8Array, a), e.addExtPacker(19, Int16Array, a), e.addExtPacker(20, Uint16Array, a), e.addExtPacker(21, Int32Array, a), e.addExtPacker(22, Uint32Array, a), e.addExtPacker(23, Float32Array, a), "undefined" != typeof Float64Array && e.addExtPacker(24, Float64Array, a), "undefined" != typeof Uint8ClampedArray && e.addExtPacker(25, Uint8ClampedArray, a), e.addExtPacker(26, ArrayBuffer, a), e.addExtPacker(29, DataView, a)), r.hasBuffer && e.addExtPacker(27, s, r.from) + }; + var i, r = n(0), + s = r.global, + a = r.Uint8Array.from, + o = { + name: 1, + message: 1, + stack: 1, + columnNumber: 1, + fileName: 1, + lineNumber: 1 + }; + + function c(e) { + return i || (i = n(9).encode), i(e) + } + + function l(e) { + return e.valueOf() + } + + function h(e) { + (e = RegExp.prototype.toString.call(e).split("/")).shift(); + var t = [e.pop()]; + return t.unshift(e.join("/")), t + } + + function u(e) { + var t = {}; + for (var n in o) t[n] = e[n]; + return t + } +}, function(e, t, n) { + var i = n(5), + r = n(7), + s = r.Uint64BE, + a = r.Int64BE, + o = n(0), + c = n(6), + l = n(34), + h = n(13).uint8, + u = n(3).ExtBuffer, + f = "undefined" != typeof Uint8Array, + d = "undefined" != typeof Map, + p = []; + p[1] = 212, p[2] = 213, p[4] = 214, p[8] = 215, p[16] = 216, t.getWriteType = function(e) { + var t = l.getWriteToken(e), + n = e && e.useraw, + r = f && e && e.binarraybuffer, + g = r ? o.isArrayBuffer : o.isBuffer, + m = r ? function(e, t) { + w(e, new Uint8Array(t)) + } : w, + y = d && e && e.usemap ? function(e, n) { + if (!(n instanceof Map)) return b(e, n); + var i = n.size; + t[i < 16 ? 128 + i : i <= 65535 ? 222 : 223](e, i); + var r = e.codec.encode; + n.forEach((function(t, n, i) { + r(e, n), r(e, t) + })) + } : b; + return { + boolean: function(e, n) { + t[n ? 195 : 194](e, n) + }, + function: v, + number: function(e, n) { + var i = 0 | n; + n === i ? t[-32 <= i && i <= 127 ? 255 & i : 0 <= i ? i <= 255 ? 204 : i <= 65535 ? 205 : 206 : -128 <= i ? 208 : -32768 <= i ? 209 : 210](e, i) : t[203](e, n) + }, + object: n ? function(e, n) { + if (g(n)) return function(e, n) { + var i = n.length; + t[i < 32 ? 160 + i : i <= 65535 ? 218 : 219](e, i), e.send(n) + }(e, n); + k(e, n) + } : k, + string: function(e) { + return function(n, i) { + var r = i.length, + s = 5 + 3 * r; + n.offset = n.reserve(s); + var a = n.buffer, + o = e(r), + l = n.offset + o; + r = c.write.call(a, i, l); + var h = e(r); + if (o !== h) { + var u = l + h - o, + f = l + r; + c.copy.call(a, a, u, l, f) + } + t[1 === h ? 160 + r : h <= 3 ? 215 + h : 219](n, r), n.offset += r + } + }(n ? function(e) { + return e < 32 ? 1 : e <= 65535 ? 3 : 5 + } : function(e) { + return e < 32 ? 1 : e <= 255 ? 2 : e <= 65535 ? 3 : 5 + }), + symbol: v, + undefined: v + }; + + function k(e, n) { + if (null === n) return v(e, n); + if (g(n)) return m(e, n); + if (i(n)) return function(e, n) { + var i = n.length; + t[i < 16 ? 144 + i : i <= 65535 ? 220 : 221](e, i); + for (var r = e.codec.encode, s = 0; s < i; s++) r(e, n[s]) + }(e, n); + if (s.isUint64BE(n)) return function(e, n) { + t[207](e, n.toArray()) + }(e, n); + if (a.isInt64BE(n)) return function(e, n) { + t[211](e, n.toArray()) + }(e, n); + var r = e.codec.getExtPacker(n); + if (r && (n = r(n)), n instanceof u) return function(e, n) { + var i = n.buffer, + r = i.length, + s = p[r] || (r < 255 ? 199 : r <= 65535 ? 200 : 201); + t[s](e, r), h[n.type](e), e.send(i) + }(e, n); + y(e, n) + } + + function v(e, n) { + t[192](e, n) + } + + function w(e, n) { + var i = n.length; + t[i < 255 ? 196 : i <= 65535 ? 197 : 198](e, i), e.send(n) + } + + function b(e, n) { + var i = Object.keys(n), + r = i.length; + t[r < 16 ? 128 + r : r <= 65535 ? 222 : 223](e, r); + var s = e.codec.encode; + i.forEach((function(t) { + s(e, t), s(e, n[t]) + })) + } + } +}, function(e, t, n) { + var i = n(4), + r = n(7), + s = r.Uint64BE, + a = r.Int64BE, + o = n(13).uint8, + c = n(0), + l = c.global, + h = c.hasBuffer && "TYPED_ARRAY_SUPPORT" in l && !l.TYPED_ARRAY_SUPPORT, + u = c.hasBuffer && l.prototype || {}; + + function f() { + var e = o.slice(); + return e[196] = d(196), e[197] = p(197), e[198] = g(198), e[199] = d(199), e[200] = p(200), e[201] = g(201), e[202] = m(202, 4, u.writeFloatBE || v, !0), e[203] = m(203, 8, u.writeDoubleBE || w, !0), e[204] = d(204), e[205] = p(205), e[206] = g(206), e[207] = m(207, 8, y), e[208] = d(208), e[209] = p(209), e[210] = g(210), e[211] = m(211, 8, k), e[217] = d(217), e[218] = p(218), e[219] = g(219), e[220] = p(220), e[221] = g(221), e[222] = p(222), e[223] = g(223), e + } + + function d(e) { + return function(t, n) { + var i = t.reserve(2), + r = t.buffer; + r[i++] = e, r[i] = n + } + } + + function p(e) { + return function(t, n) { + var i = t.reserve(3), + r = t.buffer; + r[i++] = e, r[i++] = n >>> 8, r[i] = n + } + } + + function g(e) { + return function(t, n) { + var i = t.reserve(5), + r = t.buffer; + r[i++] = e, r[i++] = n >>> 24, r[i++] = n >>> 16, r[i++] = n >>> 8, r[i] = n + } + } + + function m(e, t, n, i) { + return function(r, s) { + var a = r.reserve(t + 1); + r.buffer[a++] = e, n.call(r.buffer, s, a, i) + } + } + + function y(e, t) { + new s(this, t, e) + } + + function k(e, t) { + new a(this, t, e) + } + + function v(e, t) { + i.write(this, e, t, !1, 23, 4) + } + + function w(e, t) { + i.write(this, e, t, !1, 52, 8) + } + t.getWriteToken = function(e) { + return e && e.uint8array ? function() { + var e = f(); + return e[202] = m(202, 4, v), e[203] = m(203, 8, w), e + }() : h || c.hasBuffer && e && e.safe ? function() { + var e = o.slice(); + return e[196] = m(196, 1, l.prototype.writeUInt8), e[197] = m(197, 2, l.prototype.writeUInt16BE), e[198] = m(198, 4, l.prototype.writeUInt32BE), e[199] = m(199, 1, l.prototype.writeUInt8), e[200] = m(200, 2, l.prototype.writeUInt16BE), e[201] = m(201, 4, l.prototype.writeUInt32BE), e[202] = m(202, 4, l.prototype.writeFloatBE), e[203] = m(203, 8, l.prototype.writeDoubleBE), e[204] = m(204, 1, l.prototype.writeUInt8), e[205] = m(205, 2, l.prototype.writeUInt16BE), e[206] = m(206, 4, l.prototype.writeUInt32BE), e[207] = m(207, 8, y), e[208] = m(208, 1, l.prototype.writeInt8), e[209] = m(209, 2, l.prototype.writeInt16BE), e[210] = m(210, 4, l.prototype.writeInt32BE), e[211] = m(211, 8, k), e[217] = m(217, 1, l.prototype.writeUInt8), e[218] = m(218, 2, l.prototype.writeUInt16BE), e[219] = m(219, 4, l.prototype.writeUInt32BE), e[220] = m(220, 2, l.prototype.writeUInt16BE), e[221] = m(221, 4, l.prototype.writeUInt32BE), e[222] = m(222, 2, l.prototype.writeUInt16BE), e[223] = m(223, 4, l.prototype.writeUInt32BE), e + }() : f() + } +}, function(e, t, n) { + t.setExtUnpackers = function(e) { + e.addExtUnpacker(14, [o, l(Error)]), e.addExtUnpacker(1, [o, l(EvalError)]), e.addExtUnpacker(2, [o, l(RangeError)]), e.addExtUnpacker(3, [o, l(ReferenceError)]), e.addExtUnpacker(4, [o, l(SyntaxError)]), e.addExtUnpacker(5, [o, l(TypeError)]), e.addExtUnpacker(6, [o, l(URIError)]), e.addExtUnpacker(10, [o, c]), e.addExtUnpacker(11, [o, h(Boolean)]), e.addExtUnpacker(12, [o, h(String)]), e.addExtUnpacker(13, [o, h(Date)]), e.addExtUnpacker(15, [o, h(Number)]), "undefined" != typeof Uint8Array && (e.addExtUnpacker(17, h(Int8Array)), e.addExtUnpacker(18, h(Uint8Array)), e.addExtUnpacker(19, [u, h(Int16Array)]), e.addExtUnpacker(20, [u, h(Uint16Array)]), e.addExtUnpacker(21, [u, h(Int32Array)]), e.addExtUnpacker(22, [u, h(Uint32Array)]), e.addExtUnpacker(23, [u, h(Float32Array)]), "undefined" != typeof Float64Array && e.addExtUnpacker(24, [u, h(Float64Array)]), "undefined" != typeof Uint8ClampedArray && e.addExtUnpacker(25, h(Uint8ClampedArray)), e.addExtUnpacker(26, u), e.addExtUnpacker(29, [u, h(DataView)])), r.hasBuffer && e.addExtUnpacker(27, h(s)) + }; + var i, r = n(0), + s = r.global, + a = { + name: 1, + message: 1, + stack: 1, + columnNumber: 1, + fileName: 1, + lineNumber: 1 + }; + + function o(e) { + return i || (i = n(15).decode), i(e) + } + + function c(e) { + return RegExp.apply(null, e) + } + + function l(e) { + return function(t) { + var n = new e; + for (var i in a) n[i] = t[i]; + return n + } + } + + function h(e) { + return function(t) { + return new e(t) + } + } + + function u(e) { + return new Uint8Array(e).buffer + } +}, function(e, t, n) { + var i = n(17); + + function r(e) { + var t, n = new Array(256); + for (t = 0; t <= 127; t++) n[t] = s(t); + for (t = 128; t <= 143; t++) n[t] = o(t - 128, e.map); + for (t = 144; t <= 159; t++) n[t] = o(t - 144, e.array); + for (t = 160; t <= 191; t++) n[t] = o(t - 160, e.str); + for (n[192] = s(null), n[193] = null, n[194] = s(!1), n[195] = s(!0), n[196] = a(e.uint8, e.bin), n[197] = a(e.uint16, e.bin), n[198] = a(e.uint32, e.bin), n[199] = a(e.uint8, e.ext), n[200] = a(e.uint16, e.ext), n[201] = a(e.uint32, e.ext), n[202] = e.float32, n[203] = e.float64, n[204] = e.uint8, n[205] = e.uint16, n[206] = e.uint32, n[207] = e.uint64, n[208] = e.int8, n[209] = e.int16, n[210] = e.int32, n[211] = e.int64, n[212] = o(1, e.ext), n[213] = o(2, e.ext), n[214] = o(4, e.ext), n[215] = o(8, e.ext), n[216] = o(16, e.ext), n[217] = a(e.uint8, e.str), n[218] = a(e.uint16, e.str), n[219] = a(e.uint32, e.str), n[220] = a(e.uint16, e.array), n[221] = a(e.uint32, e.array), n[222] = a(e.uint16, e.map), n[223] = a(e.uint32, e.map), t = 224; t <= 255; t++) n[t] = s(t - 256); + return n + } + + function s(e) { + return function() { + return e + } + } + + function a(e, t) { + return function(n) { + var i = e(n); + return t(n, i) + } + } + + function o(e, t) { + return function(n) { + return t(n, e) + } + } + t.getReadToken = function(e) { + var t = i.getReadFormat(e); + return e && e.useraw ? function(e) { + var t, n = r(e).slice(); + for (n[217] = n[196], n[218] = n[197], n[219] = n[198], t = 160; t <= 191; t++) n[t] = o(t - 160, e.bin); + return n + }(t) : r(t) + } +}, function(e, t, n) { + t.Encoder = s; + var i = n(18), + r = n(10).EncodeBuffer; + + function s(e) { + if (!(this instanceof s)) return new s(e); + r.call(this, e) + } + s.prototype = new r, i.mixin(s.prototype), s.prototype.encode = function(e) { + this.write(e), this.emit("data", this.read()) + }, s.prototype.end = function(e) { + arguments.length && this.encode(e), this.flush(), this.emit("end") + } +}, function(e, t, n) { + t.Decoder = s; + var i = n(18), + r = n(16).DecodeBuffer; + + function s(e) { + if (!(this instanceof s)) return new s(e); + r.call(this, e) + } + s.prototype = new r, i.mixin(s.prototype), s.prototype.decode = function(e) { + arguments.length && this.write(e), this.flush() + }, s.prototype.push = function(e) { + this.emit("data", e) + }, s.prototype.end = function(e) { + this.decode(e), this.emit("end") + } +}, function(e, t, n) { + n(8), n(2), t.createCodec = n(1).createCodec +}, function(e, t, n) { + n(8), n(2), t.codec = { + preset: n(1).preset + } +}, function(e, t) { + var n, i, r = e.exports = {}; + + function s() { + throw new Error("setTimeout has not been defined") + } + + function a() { + throw new Error("clearTimeout has not been defined") + } + + function o(e) { + if (n === setTimeout) return setTimeout(e, 0); + if ((n === s || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); + try { + return n(e, 0) + } catch (t) { + try { + return n.call(null, e, 0) + } catch (t) { + return n.call(this, e, 0) + } + } + }! function() { + try { + n = "function" == typeof setTimeout ? setTimeout : s + } catch (e) { + n = s + } + try { + i = "function" == typeof clearTimeout ? clearTimeout : a + } catch (e) { + i = a + } + }(); + var c, l = [], + h = !1, + u = -1; + + function f() { + h && c && (h = !1, c.length ? l = c.concat(l) : u = -1, l.length && d()) + } + + function d() { + if (!h) { + var e = o(f); + h = !0; + for (var t = l.length; t;) { + for (c = l, l = []; ++u < t;) c && c[u].run(); + u = -1, t = l.length + } + c = null, h = !1, + function(e) { + if (i === clearTimeout) return clearTimeout(e); + if ((i === a || !i) && clearTimeout) return i = clearTimeout, clearTimeout(e); + try { + i(e) + } catch (t) { + try { + return i.call(null, e) + } catch (t) { + return i.call(this, e) + } + } + }(e) + } + } + + function p(e, t) { + this.fun = e, this.array = t + } + + function g() {} + r.nextTick = function(e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + l.push(new p(e, t)), 1 !== l.length || h || o(d) + }, p.prototype.run = function() { + this.fun.apply(null, this.array) + }, r.title = "browser", r.browser = !0, r.env = {}, r.argv = [], r.version = "", r.versions = {}, r.on = g, r.addListener = g, r.once = g, r.off = g, r.removeListener = g, r.removeAllListeners = g, r.emit = g, r.prependListener = g, r.prependOnceListener = g, r.listeners = function(e) { + return [] + }, r.binding = function(e) { + throw new Error("process.binding is not supported") + }, r.cwd = function() { + return "/" + }, r.chdir = function(e) { + throw new Error("process.chdir is not supported") + }, r.umask = function() { + return 0 + } +}, function(e, t) { + var n = Math.abs, + i = (Math.cos, Math.sin, Math.pow, Math.sqrt), + r = (n = Math.abs, Math.atan2), + s = Math.PI; + e.exports.randInt = function(e, t) { + return Math.floor(Math.random() * (t - e + 1)) + e + }, e.exports.randFloat = function(e, t) { + return Math.random() * (t - e + 1) + e + }, e.exports.lerp = function(e, t, n) { + return e + (t - e) * n + }, e.exports.decel = function(e, t) { + return e > 0 ? e = Math.max(0, e - t) : e < 0 && (e = Math.min(0, e + t)), e + }, e.exports.getDistance = function(e, t, n, r) { + return i((n -= e) * n + (r -= t) * r) + }, e.exports.getDirection = function(e, t, n, i) { + return r(t - i, e - n) + }, e.exports.getAngleDist = function(e, t) { + var i = n(t - e) % (2 * s); + return i > s ? 2 * s - i : i + }, e.exports.isNumber = function(e) { + return "number" == typeof e && !isNaN(e) && isFinite(e) + }, e.exports.isString = function(e) { + return e && "string" == typeof e + }, e.exports.kFormat = function(e) { + return e > 999 ? (e / 1e3).toFixed(1) + "k" : e + }, e.exports.capitalizeFirst = function(e) { + return e.charAt(0).toUpperCase() + e.slice(1) + }, e.exports.fixTo = function(e, t) { + return parseFloat(e.toFixed(t)) + }, e.exports.sortByPoints = function(e, t) { + return parseFloat(t.points) - parseFloat(e.points) + }, e.exports.lineInRect = function(e, t, n, i, r, s, a, o) { + var c = r, + l = a; + if (r > a && (c = a, l = r), l > n && (l = n), c < e && (c = e), c > l) return !1; + var h = s, + u = o, + f = a - r; + if (Math.abs(f) > 1e-7) { + var d = (o - s) / f, + p = s - d * r; + h = d * c + p, u = d * l + p + } + if (h > u) { + var g = u; + u = h, h = g + } + return u > i && (u = i), h < t && (h = t), !(h > u) + }, e.exports.containsPoint = function(e, t, n) { + var i = e.getBoundingClientRect(), + r = i.left + window.scrollX, + s = i.top + window.scrollY, + a = i.width, + o = i.height; + return t > r && t < r + a && n > s && n < s + o + }, e.exports.mousifyTouchEvent = function(e) { + var t = e.changedTouches[0]; + e.screenX = t.screenX, e.screenY = t.screenY, e.clientX = t.clientX, e.clientY = t.clientY, e.pageX = t.pageX, e.pageY = t.pageY + }, e.exports.hookTouchEvents = function(t, n) { + var i = !n, + r = !1; + + function s(n) { + e.exports.mousifyTouchEvent(n), window.setUsingTouch(!0), i && (n.preventDefault(), n.stopPropagation()), r && (t.onclick && t.onclick(n), t.onmouseout && t.onmouseout(n), r = !1) + } + t.addEventListener("touchstart", e.exports.checkTrusted((function(n) { + e.exports.mousifyTouchEvent(n), window.setUsingTouch(!0), i && (n.preventDefault(), n.stopPropagation()), t.onmouseover && t.onmouseover(n), r = !0 + })), !1), t.addEventListener("touchmove", e.exports.checkTrusted((function(n) { + e.exports.mousifyTouchEvent(n), window.setUsingTouch(!0), i && (n.preventDefault(), n.stopPropagation()), e.exports.containsPoint(t, n.pageX, n.pageY) ? r || (t.onmouseover && t.onmouseover(n), r = !0) : r && (t.onmouseout && t.onmouseout(n), r = !1) + })), !1), t.addEventListener("touchend", e.exports.checkTrusted(s), !1), t.addEventListener("touchcancel", e.exports.checkTrusted(s), !1), t.addEventListener("touchleave", e.exports.checkTrusted(s), !1) + }, e.exports.removeAllChildren = function(e) { + for (; e.hasChildNodes();) e.removeChild(e.lastChild) + }, e.exports.generateElement = function(t) { + var n = document.createElement(t.tag || "div"); + + function i(e, i) { + t[e] && (n[i] = t[e]) + } + for (var r in i("text", "textContent"), i("html", "innerHTML"), i("class", "className"), t) { + switch (r) { + case "tag": + case "text": + case "html": + case "class": + case "style": + case "hookTouch": + case "parent": + case "children": + continue + } + n[r] = t[r] + } + if (n.onclick && (n.onclick = e.exports.checkTrusted(n.onclick)), n.onmouseover && (n.onmouseover = e.exports.checkTrusted(n.onmouseover)), n.onmouseout && (n.onmouseout = e.exports.checkTrusted(n.onmouseout)), t.style && (n.style.cssText = t.style), t.hookTouch && e.exports.hookTouchEvents(n), t.parent && t.parent.appendChild(n), t.children) + for (var s = 0; s < t.children.length; s++) n.appendChild(t.children[s]); + return n + }, e.exports.eventIsTrusted = function(e) { + return !e || "boolean" != typeof e.isTrusted || e.isTrusted + }, e.exports.checkTrusted = function(t) { + return function(n) { + n && n instanceof Event && e.exports.eventIsTrusted(n) && t(n) + } + }, e.exports.randomString = function(e) { + for (var t = "", n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", i = 0; i < e; i++) t += n.charAt(Math.floor(Math.random() * n.length)); + return t + }, e.exports.countInArray = function(e, t) { + for (var n = 0, i = 0; i < e.length; i++) e[i] === t && n++; + return n + } +}, function(e, t) { + e.exports.AnimText = function() { + this.init = function(e, t, n, i, r, s, a) { + this.x = e, this.y = t, this.color = a, this.scale = n, this.startScale = this.scale, this.maxScale = 1.5 * n, this.scaleSpeed = .7, this.speed = i, this.life = r, this.text = s + }, this.update = function(e) { + this.life && (this.life -= e, this.y -= this.speed * e, this.scale += this.scaleSpeed * e, this.scale >= this.maxScale ? (this.scale = this.maxScale, this.scaleSpeed *= -1) : this.scale <= this.startScale && (this.scale = this.startScale, this.scaleSpeed = 0), this.life <= 0 && (this.life = 0)) + }, this.render = function(e, t, n) { + e.fillStyle = this.color, e.font = this.scale + "px Hammersmith One", e.fillText(this.text, this.x - t, this.y - n) + } + }, e.exports.TextManager = function() { + this.texts = [], this.update = function(e, t, n, i) { + t.textBaseline = "middle", t.textAlign = "center"; + for (var r = 0; r < this.texts.length; ++r) this.texts[r].life && (this.texts[r].update(e), this.texts[r].render(t, n, i)) + }, this.showText = function(t, n, i, r, s, a, o) { + for (var c, l = 0; l < this.texts.length; ++l) + if (!this.texts[l].life) { + c = this.texts[l]; + break + } c || (c = new e.exports.AnimText, this.texts.push(c)), c.init(t, n, i, r, s, a, o) + } + } +}, function(e, t) { + e.exports = function(e) { + this.sid = e, this.init = function(e, t, n, i, r, s, a) { + s = s || {}, this.sentTo = {}, this.gridLocations = [], this.active = !0, this.doUpdate = s.doUpdate, this.x = e, this.y = t, this.dir = n, this.xWiggle = 0, this.yWiggle = 0, this.scale = i, this.type = r, this.id = s.id, this.owner = a, this.name = s.name, this.isItem = null != this.id, this.group = s.group, this.health = s.health, this.layer = 2, null != this.group ? this.layer = this.group.layer : 0 == this.type ? this.layer = 3 : 2 == this.type ? this.layer = 0 : 4 == this.type && (this.layer = -1), this.colDiv = s.colDiv || 1, this.blocker = s.blocker, this.ignoreCollision = s.ignoreCollision, this.dontGather = s.dontGather, this.hideFromEnemy = s.hideFromEnemy, this.friction = s.friction, this.projDmg = s.projDmg, this.dmg = s.dmg, this.pDmg = s.pDmg, this.pps = s.pps, this.zIndex = s.zIndex || 0, this.turnSpeed = s.turnSpeed, this.req = s.req, this.trap = s.trap, this.healCol = s.healCol, this.teleport = s.teleport, this.boostSpeed = s.boostSpeed, this.projectile = s.projectile, this.shootRange = s.shootRange, this.shootRate = s.shootRate, this.shootCount = this.shootRate, this.spawnPoint = s.spawnPoint + }, this.changeHealth = function(e, t) { + return this.health += e, this.health <= 0 + }, this.getScale = function(e, t) { + return e = e || 1, this.scale * (this.isItem || 2 == this.type || 3 == this.type || 4 == this.type ? 1 : .6 * e) * (t ? 1 : this.colDiv) + }, this.visibleToPlayer = function(e) { + return !this.hideFromEnemy || this.owner && (this.owner == e || this.owner.team && e.team == this.owner.team) + }, this.update = function(e) { + this.active && (this.xWiggle && (this.xWiggle *= Math.pow(.99, e)), this.yWiggle && (this.yWiggle *= Math.pow(.99, e)), this.turnSpeed && (this.dir += this.turnSpeed * e)) + } + } +}, function(e, t) { + e.exports.groups = [{ + id: 0, + name: "food", + layer: 0 + }, { + id: 1, + name: "walls", + place: !0, + limit: 30, + layer: 0 + }, { + id: 2, + name: "spikes", + place: !0, + limit: 15, + layer: 0 + }, { + id: 3, + name: "mill", + place: !0, + limit: 7, + layer: 1 + }, { + id: 4, + name: "mine", + place: !0, + limit: 1, + layer: 0 + }, { + id: 5, + name: "trap", + place: !0, + limit: 6, + layer: -1 + }, { + id: 6, + name: "booster", + place: !0, + limit: 12, + layer: -1 + }, { + id: 7, + name: "turret", + place: !0, + limit: 2, + layer: 1 + }, { + id: 8, + name: "watchtower", + place: !0, + limit: 12, + layer: 1 + }, { + id: 9, + name: "buff", + place: !0, + limit: 4, + layer: -1 + }, { + id: 10, + name: "spawn", + place: !0, + limit: 1, + layer: -1 + }, { + id: 11, + name: "sapling", + place: !0, + limit: 2, + layer: 0 + }, { + id: 12, + name: "blocker", + place: !0, + limit: 3, + layer: -1 + }, { + id: 13, + name: "teleporter", + place: !0, + limit: 2, + layer: -1 + }], t.projectiles = [{ + indx: 0, + layer: 0, + src: "arrow_1", + dmg: 25, + speed: 1.6, + scale: 103, + range: 1e3 + }, { + indx: 1, + layer: 1, + dmg: 25, + scale: 20 + }, { + indx: 0, + layer: 0, + src: "arrow_1", + dmg: 35, + speed: 2.5, + scale: 103, + range: 1200 + }, { + indx: 0, + layer: 0, + src: "arrow_1", + dmg: 30, + speed: 2, + scale: 103, + range: 1200 + }, { + indx: 1, + layer: 1, + dmg: 16, + scale: 20 + }, { + indx: 0, + layer: 0, + src: "bullet_1", + dmg: 50, + speed: 3.6, + scale: 160, + range: 1400 + }], t.weapons = [{ + id: 0, + type: 0, + name: "tool hammer", + desc: "tool for gathering all resources", + src: "hammer_1", + length: 140, + width: 140, + xOff: -3, + yOff: 18, + dmg: 25, + range: 65, + gather: 1, + speed: 300 + }, { + id: 1, + type: 0, + age: 2, + name: "hand axe", + desc: "gathers resources at a higher rate", + src: "axe_1", + length: 140, + width: 140, + xOff: 3, + yOff: 24, + dmg: 30, + spdMult: 1, + range: 70, + gather: 2, + speed: 400 + }, { + id: 2, + type: 0, + age: 8, + pre: 1, + name: "great axe", + desc: "deal more damage and gather more resources", + src: "great_axe_1", + length: 140, + width: 140, + xOff: -8, + yOff: 25, + dmg: 35, + spdMult: 1, + range: 75, + gather: 4, + speed: 400 + }, { + id: 3, + type: 0, + age: 2, + name: "short sword", + desc: "increased attack power but slower move speed", + src: "sword_1", + iPad: 1.3, + length: 130, + width: 210, + xOff: -8, + yOff: 46, + dmg: 35, + spdMult: .85, + range: 110, + gather: 1, + speed: 300 + }, { + id: 4, + type: 0, + age: 8, + pre: 3, + name: "katana", + desc: "greater range and damage", + src: "samurai_1", + iPad: 1.3, + length: 130, + width: 210, + xOff: -8, + yOff: 59, + dmg: 40, + spdMult: .8, + range: 118, + gather: 1, + speed: 300 + }, { + id: 5, + type: 0, + age: 2, + name: "polearm", + desc: "long range melee weapon", + src: "spear_1", + iPad: 1.3, + length: 130, + width: 210, + xOff: -8, + yOff: 53, + dmg: 45, + knock: .2, + spdMult: .82, + range: 142, + gather: 1, + speed: 700 + }, { + id: 6, + type: 0, + age: 2, + name: "bat", + desc: "fast long range melee weapon", + src: "bat_1", + iPad: 1.3, + length: 110, + width: 180, + xOff: -8, + yOff: 53, + dmg: 20, + knock: .7, + range: 110, + gather: 1, + speed: 300 + }, { + id: 7, + type: 0, + age: 2, + name: "daggers", + desc: "really fast short range weapon", + src: "dagger_1", + iPad: .8, + length: 110, + width: 110, + xOff: 18, + yOff: 0, + dmg: 20, + knock: .1, + range: 65, + gather: 1, + hitSlow: .1, + spdMult: 1.13, + speed: 100 + }, { + id: 8, + type: 0, + age: 2, + name: "stick", + desc: "great for gathering but very weak", + src: "stick_1", + length: 140, + width: 140, + xOff: 3, + yOff: 24, + dmg: 1, + spdMult: 1, + range: 70, + gather: 7, + speed: 400 + }, { + id: 9, + type: 1, + age: 6, + name: "hunting bow", + desc: "bow used for ranged combat and hunting", + src: "bow_1", + req: ["wood", 4], + length: 120, + width: 120, + xOff: -6, + yOff: 0, + projectile: 0, + spdMult: .75, + speed: 600 + }, { + id: 10, + type: 1, + age: 6, + name: "great hammer", + desc: "hammer used for destroying structures", + src: "great_hammer_1", + length: 140, + width: 140, + xOff: -9, + yOff: 25, + dmg: 10, + spdMult: .88, + range: 75, + sDmg: 7.5, + gather: 1, + speed: 400 + }, { + id: 11, + type: 1, + age: 6, + name: "wooden shield", + desc: "blocks projectiles and reduces melee damage", + src: "shield_1", + length: 120, + width: 120, + shield: .2, + xOff: 6, + yOff: 0, + spdMult: .7 + }, { + id: 12, + type: 1, + age: 8, + pre: 9, + name: "crossbow", + desc: "deals more damage and has greater range", + src: "crossbow_1", + req: ["wood", 5], + aboveHand: !0, + armS: .75, + length: 120, + width: 120, + xOff: -4, + yOff: 0, + projectile: 2, + spdMult: .7, + speed: 700 + }, { + id: 13, + type: 1, + age: 9, + pre: 12, + name: "repeater crossbow", + desc: "high firerate crossbow with reduced damage", + src: "crossbow_2", + req: ["wood", 10], + aboveHand: !0, + armS: .75, + length: 120, + width: 120, + xOff: -4, + yOff: 0, + projectile: 3, + spdMult: .7, + speed: 230 + }, { + id: 14, + type: 1, + age: 6, + name: "mc grabby", + desc: "steals resources from enemies", + src: "grab_1", + length: 130, + width: 210, + xOff: -8, + yOff: 53, + dmg: 0, + steal: 250, + knock: .2, + spdMult: 1.05, + range: 125, + gather: 0, + speed: 700 + }, { + id: 15, + type: 1, + age: 9, + pre: 12, + name: "musket", + desc: "slow firerate but high damage and range", + src: "musket_1", + req: ["stone", 10], + aboveHand: !0, + rec: .35, + armS: .6, + hndS: .3, + hndD: 1.6, + length: 205, + width: 205, + xOff: 25, + yOff: 0, + projectile: 5, + hideProjectile: !0, + spdMult: .6, + speed: 1500 + }], e.exports.list = [{ + group: e.exports.groups[0], + name: "apple", + desc: "restores 20 health when consumed", + req: ["food", 10], + consume: function(e) { + return e.changeHealth(20, e) + }, + scale: 22, + holdOffset: 15 + }, { + age: 3, + group: e.exports.groups[0], + name: "cookie", + desc: "restores 40 health when consumed", + req: ["food", 15], + consume: function(e) { + return e.changeHealth(40, e) + }, + scale: 27, + holdOffset: 15 + }, { + age: 7, + group: e.exports.groups[0], + name: "cheese", + desc: "restores 30 health and another 50 over 5 seconds", + req: ["food", 25], + consume: function(e) { + return !!(e.changeHealth(30, e) || e.health < 100) && (e.dmgOverTime.dmg = -10, e.dmgOverTime.doer = e, e.dmgOverTime.time = 5, !0) + }, + scale: 27, + holdOffset: 15 + }, { + group: e.exports.groups[1], + name: "wood wall", + desc: "provides protection for your village", + req: ["wood", 10], + projDmg: !0, + health: 380, + scale: 50, + holdOffset: 20, + placeOffset: -5 + }, { + age: 3, + group: e.exports.groups[1], + name: "stone wall", + desc: "provides improved protection for your village", + req: ["stone", 25], + health: 900, + scale: 50, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + pre: 1, + group: e.exports.groups[1], + name: "castle wall", + desc: "provides powerful protection for your village", + req: ["stone", 35], + health: 1500, + scale: 52, + holdOffset: 20, + placeOffset: -5 + }, { + group: e.exports.groups[2], + name: "spikes", + desc: "damages enemies when they touch them", + req: ["wood", 20, "stone", 5], + health: 400, + dmg: 20, + scale: 49, + spritePadding: -23, + holdOffset: 8, + placeOffset: -5 + }, { + age: 5, + group: e.exports.groups[2], + name: "greater spikes", + desc: "damages enemies when they touch them", + req: ["wood", 30, "stone", 10], + health: 500, + dmg: 35, + scale: 52, + spritePadding: -23, + holdOffset: 8, + placeOffset: -5 + }, { + age: 9, + pre: 1, + group: e.exports.groups[2], + name: "poison spikes", + desc: "poisons enemies when they touch them", + req: ["wood", 35, "stone", 15], + health: 600, + dmg: 30, + pDmg: 5, + scale: 52, + spritePadding: -23, + holdOffset: 8, + placeOffset: -5 + }, { + age: 9, + pre: 2, + group: e.exports.groups[2], + name: "spinning spikes", + desc: "damages enemies when they touch them", + req: ["wood", 30, "stone", 20], + health: 500, + dmg: 45, + turnSpeed: .003, + scale: 52, + spritePadding: -23, + holdOffset: 8, + placeOffset: -5 + }, { + group: e.exports.groups[3], + name: "windmill", + desc: "generates gold over time", + req: ["wood", 50, "stone", 10], + health: 400, + pps: 1, + turnSpeed: .0016, + spritePadding: 25, + iconLineMult: 12, + scale: 45, + holdOffset: 20, + placeOffset: 5 + }, { + age: 5, + pre: 1, + group: e.exports.groups[3], + name: "faster windmill", + desc: "generates more gold over time", + req: ["wood", 60, "stone", 20], + health: 500, + pps: 1.5, + turnSpeed: .0025, + spritePadding: 25, + iconLineMult: 12, + scale: 47, + holdOffset: 20, + placeOffset: 5 + }, { + age: 8, + pre: 1, + group: e.exports.groups[3], + name: "power mill", + desc: "generates more gold over time", + req: ["wood", 100, "stone", 50], + health: 800, + pps: 2, + turnSpeed: .005, + spritePadding: 25, + iconLineMult: 12, + scale: 47, + holdOffset: 20, + placeOffset: 5 + }, { + age: 5, + group: e.exports.groups[4], + type: 2, + name: "mine", + desc: "allows you to mine stone", + req: ["wood", 20, "stone", 100], + iconLineMult: 12, + scale: 65, + holdOffset: 20, + placeOffset: 0 + }, { + age: 5, + group: e.exports.groups[11], + type: 0, + name: "sapling", + desc: "allows you to farm wood", + req: ["wood", 150], + iconLineMult: 12, + colDiv: .5, + scale: 110, + holdOffset: 50, + placeOffset: -15 + }, { + age: 4, + group: e.exports.groups[5], + name: "pit trap", + desc: "pit that traps enemies if they walk over it", + req: ["wood", 30, "stone", 30], + trap: !0, + ignoreCollision: !0, + hideFromEnemy: !0, + health: 500, + colDiv: .2, + scale: 50, + holdOffset: 20, + placeOffset: -5 + }, { + age: 4, + group: e.exports.groups[6], + name: "boost pad", + desc: "provides boost when stepped on", + req: ["stone", 20, "wood", 5], + ignoreCollision: !0, + boostSpeed: 1.5, + health: 150, + colDiv: .7, + scale: 45, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + group: e.exports.groups[7], + doUpdate: !0, + name: "turret", + desc: "defensive structure that shoots at enemies", + req: ["wood", 200, "stone", 150], + health: 800, + projectile: 1, + shootRange: 700, + shootRate: 2200, + scale: 43, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + group: e.exports.groups[8], + name: "platform", + desc: "platform to shoot over walls and cross over water", + req: ["wood", 20], + ignoreCollision: !0, + zIndex: 1, + health: 300, + scale: 43, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + group: e.exports.groups[9], + name: "healing pad", + desc: "standing on it will slowly heal you", + req: ["wood", 30, "food", 10], + ignoreCollision: !0, + healCol: 15, + health: 400, + colDiv: .7, + scale: 45, + holdOffset: 20, + placeOffset: -5 + }, { + age: 9, + group: e.exports.groups[10], + name: "spawn pad", + desc: "you will spawn here when you die but it will dissapear", + req: ["wood", 100, "stone", 100], + health: 400, + ignoreCollision: !0, + spawnPoint: !0, + scale: 45, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + group: e.exports.groups[12], + name: "blocker", + desc: "blocks building in radius", + req: ["wood", 30, "stone", 25], + ignoreCollision: !0, + blocker: 300, + health: 400, + colDiv: .7, + scale: 45, + holdOffset: 20, + placeOffset: -5 + }, { + age: 7, + group: e.exports.groups[13], + name: "teleporter", + desc: "teleports you to a random point on the map", + req: ["wood", 60, "stone", 60], + ignoreCollision: !0, + teleport: !0, + health: 200, + colDiv: .7, + scale: 45, + holdOffset: 20, + placeOffset: -5 + }]; + for (var n = 0; n < e.exports.list.length; ++n) e.exports.list[n].id = n, e.exports.list[n].pre && (e.exports.list[n].pre = n - e.exports.list[n].pre) +}, function(e, t) { + e.exports = {} +}, function(e, t) { + var n = Math.floor, + i = Math.abs, + r = Math.cos, + s = Math.sin, + a = (Math.pow, Math.sqrt); + e.exports = function(e, t, o, c, l, h) { + var u, f; + this.objects = t, this.grids = {}, this.updateObjects = []; + var d = c.mapScale / c.colGrid; + this.setObjectGrids = function(e) { + for (var t = Math.min(c.mapScale, Math.max(0, e.x)), n = Math.min(c.mapScale, Math.max(0, e.y)), i = 0; i < c.colGrid; ++i) { + u = i * d; + for (var r = 0; r < c.colGrid; ++r) f = r * d, t + e.scale >= u && t - e.scale <= u + d && n + e.scale >= f && n - e.scale <= f + d && (this.grids[i + "_" + r] || (this.grids[i + "_" + r] = []), this.grids[i + "_" + r].push(e), e.gridLocations.push(i + "_" + r)) + } + }, this.removeObjGrid = function(e) { + for (var t, n = 0; n < e.gridLocations.length; ++n)(t = this.grids[e.gridLocations[n]].indexOf(e)) >= 0 && this.grids[e.gridLocations[n]].splice(t, 1) + }, this.disableObj = function(e) { + if (e.active = !1, h) { + e.owner && e.pps && (e.owner.pps -= e.pps), this.removeObjGrid(e); + var t = this.updateObjects.indexOf(e); + t >= 0 && this.updateObjects.splice(t, 1) + } + }, this.hitObj = function(e, t) { + for (var n = 0; n < l.length; ++n) l[n].active && (e.sentTo[l[n].id] && (e.active ? l[n].canSee(e) && h.send(l[n].id, "8", o.fixTo(t, 1), e.sid) : h.send(l[n].id, "12", e.sid)), e.active || e.owner != l[n] || l[n].changeItemCount(e.group.id, -1)) + }; + var p, g, m = []; + this.getGridArrays = function(e, t, i) { + u = n(e / d), f = n(t / d), m.length = 0; + try { + this.grids[u + "_" + f] && m.push(this.grids[u + "_" + f]), e + i >= (u + 1) * d && ((p = this.grids[u + 1 + "_" + f]) && m.push(p), f && t - i <= f * d ? (p = this.grids[u + 1 + "_" + (f - 1)]) && m.push(p) : t + i >= (f + 1) * d && (p = this.grids[u + 1 + "_" + (f + 1)]) && m.push(p)), u && e - i <= u * d && ((p = this.grids[u - 1 + "_" + f]) && m.push(p), f && t - i <= f * d ? (p = this.grids[u - 1 + "_" + (f - 1)]) && m.push(p) : t + i >= (f + 1) * d && (p = this.grids[u - 1 + "_" + (f + 1)]) && m.push(p)), t + i >= (f + 1) * d && (p = this.grids[u + "_" + (f + 1)]) && m.push(p), f && t - i <= f * d && (p = this.grids[u + "_" + (f - 1)]) && m.push(p) + } catch (e) {} + return m + }, this.add = function(n, i, r, s, a, o, c, l, u) { + g = null; + for (var f = 0; f < t.length; ++f) + if (t[f].sid == n) { + g = t[f]; + break + } if (!g) + for (f = 0; f < t.length; ++f) + if (!t[f].active) { + g = t[f]; + break + } g || (g = new e(n), t.push(g)), l && (g.sid = n), g.init(i, r, s, a, o, c, u), h && (this.setObjectGrids(g), g.doUpdate && this.updateObjects.push(g)) + }, this.disableBySid = function(e) { + for (var n = 0; n < t.length; ++n) + if (t[n].sid == e) { + this.disableObj(t[n]); + break + } + }, this.removeAllItems = function(e, n) { + for (var i = 0; i < t.length; ++i) t[i].active && t[i].owner && t[i].owner.sid == e && this.disableObj(t[i]); + n && n.broadcast("13", e) + }, this.fetchSpawnObj = function(e) { + for (var n = null, i = 0; i < t.length; ++i) + if ((g = t[i]).active && g.owner && g.owner.sid == e && g.spawnPoint) { + n = [g.x, g.y], this.disableObj(g), h.broadcast("12", g.sid), g.owner && g.owner.changeItemCount(g.group.id, -1); + break + } return n + }, this.checkItemLocation = function(e, n, i, r, s, a, l) { + for (var h = 0; h < t.length; ++h) { + var u = t[h].blocker ? t[h].blocker : t[h].getScale(r, t[h].isItem); + if (t[h].active && o.getDistance(e, n, t[h].x, t[h].y) < i + u) return !1 + } + return !(!a && 18 != s && n >= c.mapScale / 2 - c.riverWidth / 2 && n <= c.mapScale / 2 + c.riverWidth / 2) + }, this.addProjectile = function(e, t, n, i, r) { + for (var s, a = items.projectiles[r], c = 0; c < projectiles.length; ++c) + if (!projectiles[c].active) { + s = projectiles[c]; + break + } s || (s = new Projectile(l, o), projectiles.push(s)), s.init(r, e, t, n, a.speed, i, a.scale) + }, this.checkCollision = function(e, t, n) { + n = n || 1; + var l = e.x - t.x, + h = e.y - t.y, + u = e.scale + t.scale; + if (i(l) <= u || i(h) <= u) { + u = e.scale + (t.getScale ? t.getScale() : t.scale); + var f = a(l * l + h * h) - u; + if (f <= 0) { + if (t.ignoreCollision) !t.trap || e.noTrap || t.owner == e || t.owner && t.owner.team && t.owner.team == e.team ? t.boostSpeed ? (e.xVel += n * t.boostSpeed * (t.weightM || 1) * r(t.dir), e.yVel += n * t.boostSpeed * (t.weightM || 1) * s(t.dir)) : t.healCol ? e.healCol = t.healCol : t.teleport && (e.x = o.randInt(0, c.mapScale), e.y = o.randInt(0, c.mapScale)) : (e.lockMove = !0, t.hideFromEnemy = !1); + else { + var d = o.getDirection(e.x, e.y, t.x, t.y); + if (o.getDistance(e.x, e.y, t.x, t.y), t.isPlayer ? (f = -1 * f / 2, e.x += f * r(d), e.y += f * s(d), t.x -= f * r(d), t.y -= f * s(d)) : (e.x = t.x + u * r(d), e.y = t.y + u * s(d), e.xVel *= .75, e.yVel *= .75), t.dmg && t.owner != e && (!t.owner || !t.owner.team || t.owner.team != e.team)) { + e.changeHealth(-t.dmg, t.owner, t); + var p = 1.5 * (t.weightM || 1); + e.xVel += p * r(d), e.yVel += p * s(d), !t.pDmg || e.skin && e.skin.poisonRes || (e.dmgOverTime.dmg = t.pDmg, e.dmgOverTime.time = 5, e.dmgOverTime.doer = t.owner), e.colDmg && t.health && (t.changeHealth(-e.colDmg) && this.disableObj(t), this.hitObj(t, o.getDirection(e.x, e.y, t.x, t.y))) + } + } + return t.zIndex > e.zIndex && (e.zIndex = t.zIndex), !0 + } + } + return !1 + } + } +}, function(e, t, n) { + var i = new(n(49)); + i.addWords("jew", "black", "baby", "child", "white", "porn", "pedo", "trump", "clinton", "hitler", "nazi", "gay", "pride", "sex", "pleasure", "touch", "poo", "kids", "rape", "white power", "nigga", "nig nog", "doggy", "rapist", "boner", "nigger", "nigg", "finger", "nogger", "nagger", "nig", "fag", "gai", "pole", "stripper", "penis", "vagina", "pussy", "nazi", "hitler", "stalin", "burn", "chamber", "cock", "peen", "dick", "spick", "nieger", "die", "satan", "n|ig", "nlg", "cunt", "c0ck", "fag", "lick", "condom", "anal", "shit", "phile", "little", "kids", "free KR", "tiny", "sidney", "ass", "kill", ".io", "(dot)", "[dot]", "mini", "whiore", "whore", "faggot", "github", "1337", "666", "satan", "senpa", "discord", "d1scord", "mistik", ".io", "senpa.io", "sidney", "sid", "senpaio", "vries", "asa"); + var r = Math.abs, + s = Math.cos, + a = Math.sin, + o = Math.pow, + c = Math.sqrt; + e.exports = function(e, t, n, l, h, u, f, d, p, g, m, y, k, v) { + this.id = e, this.sid = t, this.tmpScore = 0, this.team = null, this.skinIndex = 0, this.tailIndex = 0, this.hitTime = 0, this.tails = {}; + for (var w = 0; w < m.length; ++w) m[w].price <= 0 && (this.tails[m[w].id] = 1); + for (this.skins = {}, w = 0; w < g.length; ++w) g[w].price <= 0 && (this.skins[g[w].id] = 1); + this.points = 0, this.dt = 0, this.hidden = !1, this.itemCounts = {}, this.isPlayer = !0, this.pps = 0, this.moveDir = void 0, this.skinRot = 0, this.lastPing = 0, this.iconIndex = 0, this.skinColor = 0, this.spawn = function(e) { + this.active = !0, this.alive = !0, this.lockMove = !1, this.lockDir = !1, this.minimapCounter = 0, this.chatCountdown = 0, this.shameCount = 0, this.shameTimer = 0, this.sentTo = {}, this.gathering = 0, this.autoGather = 0, this.animTime = 0, this.animSpeed = 0, this.mouseState = 0, this.buildIndex = -1, this.weaponIndex = 0, this.dmgOverTime = {}, this.noMovTimer = 0, this.maxXP = 300, this.XP = 0, this.age = 1, this.kills = 0, this.upgrAge = 2, this.upgradePoints = 0, this.x = 0, this.y = 0, this.zIndex = 0, this.xVel = 0, this.yVel = 0, this.slowMult = 1, this.dir = 0, this.dirPlus = 0, this.targetDir = 0, this.targetAngle = 0, this.maxHealth = 100, this.health = this.maxHealth, this.scale = n.playerScale, this.speed = n.playerSpeed, this.resetMoveDir(), this.resetResources(e), this.items = [0, 3, 6, 10], this.weapons = [0], this.shootCount = 0, this.weaponXP = [], this.reloads = {} + }, this.resetMoveDir = function() { + this.moveDir = void 0 + }, this.resetResources = function(e) { + for (var t = 0; t < n.resourceTypes.length; ++t) this[n.resourceTypes[t]] = e ? 100 : 0 + }, this.addItem = function(e) { + var t = p.list[e]; + if (t) { + for (var n = 0; n < this.items.length; ++n) + if (p.list[this.items[n]].group == t.group) return this.buildIndex == this.items[n] && (this.buildIndex = e), this.items[n] = e, !0; + return this.items.push(e), !0 + } + return !1 + }, this.setUserData = function(e) { + if (e) { + this.name = "unknown"; + var t = e.name + "", + r = !1, + s = (t = (t = (t = (t = t.slice(0, n.maxNameLength)).replace(/[^\w:\(\)\/? -]+/gim, " ")).replace(/[^\x00-\x7F]/g, " ")).trim()).toLowerCase().replace(/\s/g, "").replace(/1/g, "i").replace(/0/g, "o").replace(/5/g, "s"); + for (var a of i.list) + if (-1 != s.indexOf(a)) { + r = !0; + break + } t.length > 0 && !r && (this.name = t), this.skinColor = 0, n.skinColors[e.skin] && (this.skinColor = e.skin) + } + }, this.getData = function() { + return [this.id, this.sid, this.name, l.fixTo(this.x, 2), l.fixTo(this.y, 2), l.fixTo(this.dir, 3), this.health, this.maxHealth, this.scale, this.skinColor] + }, this.setData = function(e) { + this.id = e[0], this.sid = e[1], this.name = e[2], this.x = e[3], this.y = e[4], this.dir = e[5], this.health = e[6], this.maxHealth = e[7], this.scale = e[8], this.skinColor = e[9] + }; + var b = 0; + this.update = function(e) { + if (this.alive) { + if (this.shameTimer > 0 && (this.shameTimer -= e, this.shameTimer <= 0 && (this.shameTimer = 0, this.shameCount = 0)), (b -= e) <= 0) { + var t = (this.skin && this.skin.healthRegen ? this.skin.healthRegen : 0) + (this.tail && this.tail.healthRegen ? this.tail.healthRegen : 0); + t && this.changeHealth(t, this), this.dmgOverTime.dmg && (this.changeHealth(-this.dmgOverTime.dmg, this.dmgOverTime.doer), this.dmgOverTime.time -= 1, this.dmgOverTime.time <= 0 && (this.dmgOverTime.dmg = 0)), this.healCol && this.changeHealth(this.healCol, this), b = 1e3 + } + if (this.alive) { + if (this.slowMult < 1 && (this.slowMult += 8e-4 * e, this.slowMult > 1 && (this.slowMult = 1)), this.noMovTimer += e, (this.xVel || this.yVel) && (this.noMovTimer = 0), this.lockMove) this.xVel = 0, this.yVel = 0; + else { + var i = (this.buildIndex >= 0 ? .5 : 1) * (p.weapons[this.weaponIndex].spdMult || 1) * (this.skin && this.skin.spdMult || 1) * (this.tail && this.tail.spdMult || 1) * (this.y <= n.snowBiomeTop ? this.skin && this.skin.coldM ? 1 : n.snowSpeed : 1) * this.slowMult; + !this.zIndex && this.y >= n.mapScale / 2 - n.riverWidth / 2 && this.y <= n.mapScale / 2 + n.riverWidth / 2 && (this.skin && this.skin.watrImm ? (i *= .75, this.xVel += .4 * n.waterCurrent * e) : (i *= .33, this.xVel += n.waterCurrent * e)); + var r = null != this.moveDir ? s(this.moveDir) : 0, + d = null != this.moveDir ? a(this.moveDir) : 0, + g = c(r * r + d * d); + 0 != g && (r /= g, d /= g), r && (this.xVel += r * this.speed * i * e), d && (this.yVel += d * this.speed * i * e) + } + var m; + this.zIndex = 0, this.lockMove = !1, this.healCol = 0; + for (var y = l.getDistance(0, 0, this.xVel * e, this.yVel * e), k = Math.min(4, Math.max(1, Math.round(y / 40))), v = 1 / k, w = 0; w < k; ++w) { + this.xVel && (this.x += this.xVel * e * v), this.yVel && (this.y += this.yVel * e * v), m = u.getGridArrays(this.x, this.y, this.scale); + for (var x = 0; x < m.length; ++x) + for (var S = 0; S < m[x].length; ++S) m[x][S].active && u.checkCollision(this, m[x][S], v) + } + for (w = (I = f.indexOf(this)) + 1; w < f.length; ++w) f[w] != this && f[w].alive && u.checkCollision(this, f[w]); + if (this.xVel && (this.xVel *= o(n.playerDecel, e), this.xVel <= .01 && this.xVel >= -.01 && (this.xVel = 0)), this.yVel && (this.yVel *= o(n.playerDecel, e), this.yVel <= .01 && this.yVel >= -.01 && (this.yVel = 0)), this.x - this.scale < 0 ? this.x = this.scale : this.x + this.scale > n.mapScale && (this.x = n.mapScale - this.scale), this.y - this.scale < 0 ? this.y = this.scale : this.y + this.scale > n.mapScale && (this.y = n.mapScale - this.scale), this.buildIndex < 0) + if (this.reloads[this.weaponIndex] > 0) this.reloads[this.weaponIndex] -= e, this.gathering = this.mouseState; + else if (this.gathering || this.autoGather) { + var T = !0; + if (null != p.weapons[this.weaponIndex].gather) this.gather(f); + else if (null != p.weapons[this.weaponIndex].projectile && this.hasRes(p.weapons[this.weaponIndex], this.skin ? this.skin.projCost : 0)) { + this.useRes(p.weapons[this.weaponIndex], this.skin ? this.skin.projCost : 0), this.noMovTimer = 0; + var I = p.weapons[this.weaponIndex].projectile, + E = 2 * this.scale, + M = this.skin && this.skin.aMlt ? this.skin.aMlt : 1; + p.weapons[this.weaponIndex].rec && (this.xVel -= p.weapons[this.weaponIndex].rec * s(this.dir), this.yVel -= p.weapons[this.weaponIndex].rec * a(this.dir)), h.addProjectile(this.x + E * s(this.dir), this.y + E * a(this.dir), this.dir, p.projectiles[I].range * M, p.projectiles[I].speed * M, I, this, null, this.zIndex) + } else T = !1; + this.gathering = this.mouseState, T && (this.reloads[this.weaponIndex] = p.weapons[this.weaponIndex].speed * (this.skin && this.skin.atkSpd || 1)) + } + } + } + }, this.addWeaponXP = function(e) { + this.weaponXP[this.weaponIndex] || (this.weaponXP[this.weaponIndex] = 0), this.weaponXP[this.weaponIndex] += e + }, this.earnXP = function(e) { + this.age < n.maxAge && (this.XP += e, this.XP >= this.maxXP ? (this.age < n.maxAge ? (this.age++, this.XP = 0, this.maxXP *= 1.2) : this.XP = this.maxXP, this.upgradePoints++, y.send(this.id, "16", this.upgradePoints, this.upgrAge), y.send(this.id, "15", this.XP, l.fixTo(this.maxXP, 1), this.age)) : y.send(this.id, "15", this.XP)) + }, this.changeHealth = function(e, t) { + if (e > 0 && this.health >= this.maxHealth) return !1; + e < 0 && this.skin && (e *= this.skin.dmgMult || 1), e < 0 && this.tail && (e *= this.tail.dmgMult || 1), e < 0 && (this.hitTime = Date.now()), this.health += e, this.health > this.maxHealth && (e -= this.health - this.maxHealth, this.health = this.maxHealth), this.health <= 0 && this.kill(t); + for (var n = 0; n < f.length; ++n) this.sentTo[f[n].id] && y.send(f[n].id, "h", this.sid, Math.round(this.health)); + return !t || !t.canSee(this) || t == this && e < 0 || y.send(t.id, "t", Math.round(this.x), Math.round(this.y), Math.round(-e), 1), !0 + }, this.kill = function(e) { + e && e.alive && (e.kills++, e.skin && e.skin.goldSteal ? k(e, Math.round(this.points / 2)) : k(e, Math.round(100 * this.age * (e.skin && e.skin.kScrM ? e.skin.kScrM : 1))), y.send(e.id, "9", "kills", e.kills, 1)), this.alive = !1, y.send(this.id, "11"), v() + }, this.addResource = function(e, t, i) { + !i && t > 0 && this.addWeaponXP(t), 3 == e ? k(this, t, !0) : (this[n.resourceTypes[e]] += t, y.send(this.id, "9", n.resourceTypes[e], this[n.resourceTypes[e]], 1)) + }, this.changeItemCount = function(e, t) { + this.itemCounts[e] = this.itemCounts[e] || 0, this.itemCounts[e] += t, y.send(this.id, "14", e, this.itemCounts[e]) + }, this.buildItem = function(e) { + var t = this.scale + e.scale + (e.placeOffset || 0), + n = this.x + t * s(this.dir), + i = this.y + t * a(this.dir); + if (this.canBuild(e) && !(e.consume && this.skin && this.skin.noEat) && (e.consume || u.checkItemLocation(n, i, e.scale, .6, e.id, !1, this))) { + var r = !1; + if (e.consume) { + if (this.hitTime) { + var o = Date.now() - this.hitTime; + this.hitTime = 0, o <= 120 ? (this.shameCount++, this.shameCount >= 8 && (this.shameTimer = 3e4, this.shameCount = 0)) : (this.shameCount -= 2, this.shameCount <= 0 && (this.shameCount = 0)) + } + this.shameTimer <= 0 && (r = e.consume(this)) + } else r = !0, e.group.limit && this.changeItemCount(e.group.id, 1), e.pps && (this.pps += e.pps), u.add(u.objects.length, n, i, this.dir, e.scale, e.type, e, !1, this); + r && (this.useRes(e), this.buildIndex = -1) + } + }, this.hasRes = function(e, t) { + for (var n = 0; n < e.req.length;) { + if (this[e.req[n]] < Math.round(e.req[n + 1] * (t || 1))) return !1; + n += 2 + } + return !0 + }, this.useRes = function(e, t) { + if (!n.inSandbox) + for (var i = 0; i < e.req.length;) this.addResource(n.resourceTypes.indexOf(e.req[i]), -Math.round(e.req[i + 1] * (t || 1))), i += 2 + }, this.canBuild = function(e) { + return !!n.inSandbox || !(e.group.limit && this.itemCounts[e.group.id] >= e.group.limit) && this.hasRes(e) + }, this.gather = function() { + this.noMovTimer = 0, this.slowMult -= p.weapons[this.weaponIndex].hitSlow || .3, this.slowMult < 0 && (this.slowMult = 0); + for (var e, t, i, r = n.fetchVariant(this), o = r.poison, c = r.val, h = {}, g = u.getGridArrays(this.x, this.y, p.weapons[this.weaponIndex].range), m = 0; m < g.length; ++m) + for (var y = 0; y < g[m].length; ++y) + if ((t = g[m][y]).active && !t.dontGather && !h[t.sid] && t.visibleToPlayer(this) && l.getDistance(this.x, this.y, t.x, t.y) - t.scale <= p.weapons[this.weaponIndex].range && (e = l.getDirection(t.x, t.y, this.x, this.y), l.getAngleDist(e, this.dir) <= n.gatherAngle)) { + if (h[t.sid] = 1, t.health) { + if (t.changeHealth(-p.weapons[this.weaponIndex].dmg * c * (p.weapons[this.weaponIndex].sDmg || 1) * (this.skin && this.skin.bDmg ? this.skin.bDmg : 1), this)) { + for (var k = 0; k < t.req.length;) this.addResource(n.resourceTypes.indexOf(t.req[k]), t.req[k + 1]), k += 2; + u.disableObj(t) + } + } else { + this.earnXP(4 * p.weapons[this.weaponIndex].gather); + var v = p.weapons[this.weaponIndex].gather + (3 == t.type ? 4 : 0); + this.skin && this.skin.extraGold && this.addResource(3, 1), this.addResource(t.type, v) + } + i = !0, u.hitObj(t, e) + } for (y = 0; y < f.length + d.length; ++y) + if ((t = f[y] || d[y - f.length]) != this && t.alive && (!t.team || t.team != this.team) && l.getDistance(this.x, this.y, t.x, t.y) - 1.8 * t.scale <= p.weapons[this.weaponIndex].range && (e = l.getDirection(t.x, t.y, this.x, this.y), l.getAngleDist(e, this.dir) <= n.gatherAngle)) { + var w = p.weapons[this.weaponIndex].steal; + w && t.addResource && (w = Math.min(t.points || 0, w), this.addResource(3, w), t.addResource(3, -w)); + var b = c; + null != t.weaponIndex && p.weapons[t.weaponIndex].shield && l.getAngleDist(e + Math.PI, t.dir) <= n.shieldAngle && (b = p.weapons[t.weaponIndex].shield); + var x = p.weapons[this.weaponIndex].dmg * (this.skin && this.skin.dmgMultO ? this.skin.dmgMultO : 1) * (this.tail && this.tail.dmgMultO ? this.tail.dmgMultO : 1), + S = .3 * (t.weightM || 1) + (p.weapons[this.weaponIndex].knock || 0); + t.xVel += S * s(e), t.yVel += S * a(e), this.skin && this.skin.healD && this.changeHealth(x * b * this.skin.healD, this), this.tail && this.tail.healD && this.changeHealth(x * b * this.tail.healD, this), t.skin && t.skin.dmg && 1 == b && this.changeHealth(-x * t.skin.dmg, t), t.tail && t.tail.dmg && 1 == b && this.changeHealth(-x * t.tail.dmg, t), !(t.dmgOverTime && this.skin && this.skin.poisonDmg) || t.skin && t.skin.poisonRes || (t.dmgOverTime.dmg = this.skin.poisonDmg, t.dmgOverTime.time = this.skin.poisonTime || 1, t.dmgOverTime.doer = this), !t.dmgOverTime || !o || t.skin && t.skin.poisonRes || (t.dmgOverTime.dmg = 5, t.dmgOverTime.time = 5, t.dmgOverTime.doer = this), t.skin && t.skin.dmgK && (this.xVel -= t.skin.dmgK * s(e), this.yVel -= t.skin.dmgK * a(e)), t.changeHealth(-x * b, this, this) + } this.sendAnimation(i ? 1 : 0) + }, this.sendAnimation = function(e) { + for (var t = 0; t < f.length; ++t) this.sentTo[f[t].id] && this.canSee(f[t]) && y.send(f[t].id, "7", this.sid, e ? 1 : 0, this.weaponIndex) + }; + var x = 0, + S = 0; + this.animate = function(e) { + this.animTime > 0 && (this.animTime -= e, this.animTime <= 0 ? (this.animTime = 0, this.dirPlus = 0, x = 0, S = 0) : 0 == S ? (x += e / (this.animSpeed * n.hitReturnRatio), this.dirPlus = l.lerp(0, this.targetAngle, Math.min(1, x)), x >= 1 && (x = 1, S = 1)) : (x -= e / (this.animSpeed * (1 - n.hitReturnRatio)), this.dirPlus = l.lerp(0, this.targetAngle, Math.max(0, x)))) + }, this.startAnim = function(e, t) { + this.animTime = this.animSpeed = p.weapons[t].speed, this.targetAngle = e ? -n.hitAngle : -Math.PI, x = 0, S = 0 + }, this.canSee = function(e) { + if (!e) return !1; + if (e.skin && e.skin.invisTimer && e.noMovTimer >= e.skin.invisTimer) return !1; + var t = r(e.x - this.x) - e.scale, + i = r(e.y - this.y) - e.scale; + return t <= n.maxScreenWidth / 2 * 1.3 && i <= n.maxScreenHeight / 2 * 1.3 + } + } +}, function(e, t, n) { + const i = n(50).words, + r = n(51).array; + e.exports = class { + constructor(e = {}) { + Object.assign(this, { + list: e.emptyList && [] || Array.prototype.concat.apply(i, [r, e.list || []]), + exclude: e.exclude || [], + placeHolder: e.placeHolder || "*", + regex: e.regex || /[^a-zA-Z0-9|\$|\@]|\^/g, + replaceRegex: e.replaceRegex || /\w/g + }) + } + isProfane(e) { + return this.list.filter(t => { + const n = new RegExp(`\\b${t.replace(/(\W)/g,"\\$1")}\\b`, "gi"); + return !this.exclude.includes(t.toLowerCase()) && n.test(e) + }).length > 0 || !1 + } + replaceWord(e) { + return e.replace(this.regex, "").replace(this.replaceRegex, this.placeHolder) + } + clean(e) { + return e.split(/\b/).map(e => this.isProfane(e) ? this.replaceWord(e) : e).join("") + } + addWords() { + let e = Array.from(arguments); + this.list.push(...e), e.map(e => e.toLowerCase()).forEach(e => { + this.exclude.includes(e) && this.exclude.splice(this.exclude.indexOf(e), 1) + }) + } + removeWords() { + this.exclude.push(...Array.from(arguments).map(e => e.toLowerCase())) + } + } +}, function(e) { + e.exports = { + words: ["ahole", "anus", "ash0le", "ash0les", "asholes", "ass", "Ass Monkey", "Assface", "assh0le", "assh0lez", "asshole", "assholes", "assholz", "asswipe", "azzhole", "bassterds", "bastard", "bastards", "bastardz", "basterds", "basterdz", "Biatch", "bitch", "bitches", "Blow Job", "boffing", "butthole", "buttwipe", "c0ck", "c0cks", "c0k", "Carpet Muncher", "cawk", "cawks", "Clit", "cnts", "cntz", "cock", "cockhead", "cock-head", "cocks", "CockSucker", "cock-sucker", "crap", "cum", "cunt", "cunts", "cuntz", "dick", "dild0", "dild0s", "dildo", "dildos", "dilld0", "dilld0s", "dominatricks", "dominatrics", "dominatrix", "dyke", "enema", "f u c k", "f u c k e r", "fag", "fag1t", "faget", "fagg1t", "faggit", "faggot", "fagg0t", "fagit", "fags", "fagz", "faig", "faigs", "fart", "flipping the bird", "fuck", "fucker", "fuckin", "fucking", "fucks", "Fudge Packer", "fuk", "Fukah", "Fuken", "fuker", "Fukin", "Fukk", "Fukkah", "Fukken", "Fukker", "Fukkin", "g00k", "God-damned", "h00r", "h0ar", "h0re", "hells", "hoar", "hoor", "hoore", "jackoff", "jap", "japs", "jerk-off", "jisim", "jiss", "jizm", "jizz", "knob", "knobs", "knobz", "kunt", "kunts", "kuntz", "Lezzian", "Lipshits", "Lipshitz", "masochist", "masokist", "massterbait", "masstrbait", "masstrbate", "masterbaiter", "masterbate", "masterbates", "Motha Fucker", "Motha Fuker", "Motha Fukkah", "Motha Fukker", "Mother Fucker", "Mother Fukah", "Mother Fuker", "Mother Fukkah", "Mother Fukker", "mother-fucker", "Mutha Fucker", "Mutha Fukah", "Mutha Fuker", "Mutha Fukkah", "Mutha Fukker", "n1gr", "nastt", "nigger;", "nigur;", "niiger;", "niigr;", "orafis", "orgasim;", "orgasm", "orgasum", "oriface", "orifice", "orifiss", "packi", "packie", "packy", "paki", "pakie", "paky", "pecker", "peeenus", "peeenusss", "peenus", "peinus", "pen1s", "penas", "penis", "penis-breath", "penus", "penuus", "Phuc", "Phuck", "Phuk", "Phuker", "Phukker", "polac", "polack", "polak", "Poonani", "pr1c", "pr1ck", "pr1k", "pusse", "pussee", "pussy", "puuke", "puuker", "queer", "queers", "queerz", "qweers", "qweerz", "qweir", "recktum", "rectum", "retard", "sadist", "scank", "schlong", "screwing", "semen", "sex", "sexy", "Sh!t", "sh1t", "sh1ter", "sh1ts", "sh1tter", "sh1tz", "shit", "shits", "shitter", "Shitty", "Shity", "shitz", "Shyt", "Shyte", "Shytty", "Shyty", "skanck", "skank", "skankee", "skankey", "skanks", "Skanky", "slag", "slut", "sluts", "Slutty", "slutz", "son-of-a-bitch", "tit", "turd", "va1jina", "vag1na", "vagiina", "vagina", "vaj1na", "vajina", "vullva", "vulva", "w0p", "wh00r", "wh0re", "whore", "xrated", "xxx", "b!+ch", "bitch", "blowjob", "clit", "arschloch", "fuck", "shit", "ass", "asshole", "b!tch", "b17ch", "b1tch", "bastard", "bi+ch", "boiolas", "buceta", "c0ck", "cawk", "chink", "cipa", "clits", "cock", "cum", "cunt", "dildo", "dirsa", "ejakulate", "fatass", "fcuk", "fuk", "fux0r", "hoer", "hore", "jism", "kawk", "l3itch", "l3i+ch", "lesbian", "masturbate", "masterbat*", "masterbat3", "motherfucker", "s.o.b.", "mofo", "nazi", "nigga", "nigger", "nutsack", "phuck", "pimpis", "pusse", "pussy", "scrotum", "sh!t", "shemale", "shi+", "sh!+", "slut", "smut", "teets", "tits", "boobs", "b00bs", "teez", "testical", "testicle", "titt", "w00se", "jackoff", "wank", "whoar", "whore", "*damn", "*dyke", "*fuck*", "*shit*", "@$$", "amcik", "andskota", "arse*", "assrammer", "ayir", "bi7ch", "bitch*", "bollock*", "breasts", "butt-pirate", "cabron", "cazzo", "chraa", "chuj", "Cock*", "cunt*", "d4mn", "daygo", "dego", "dick*", "dike*", "dupa", "dziwka", "ejackulate", "Ekrem*", "Ekto", "enculer", "faen", "fag*", "fanculo", "fanny", "feces", "feg", "Felcher", "ficken", "fitt*", "Flikker", "foreskin", "Fotze", "Fu(*", "fuk*", "futkretzn", "gook", "guiena", "h0r", "h4x0r", "hell", "helvete", "hoer*", "honkey", "Huevon", "hui", "injun", "jizz", "kanker*", "kike", "klootzak", "kraut", "knulle", "kuk", "kuksuger", "Kurac", "kurwa", "kusi*", "kyrpa*", "lesbo", "mamhoon", "masturbat*", "merd*", "mibun", "monkleigh", "mouliewop", "muie", "mulkku", "muschi", "nazis", "nepesaurio", "nigger*", "orospu", "paska*", "perse", "picka", "pierdol*", "pillu*", "pimmel", "piss*", "pizda", "poontsee", "poop", "porn", "p0rn", "pr0n", "preteen", "pula", "pule", "puta", "puto", "qahbeh", "queef*", "rautenberg", "schaffer", "scheiss*", "schlampe", "schmuck", "screw", "sh!t*", "sharmuta", "sharmute", "shipal", "shiz", "skribz", "skurwysyn", "sphencter", "spic", "spierdalaj", "splooge", "suka", "b00b*", "testicle*", "titt*", "twat", "vittu", "wank*", "wetback*", "wichser", "wop*", "yed", "zabourah"] + } +}, function(e, t, n) { + e.exports = { + object: n(52), + array: n(53), + regex: n(54) + } +}, function(e, t) { + e.exports = { + "4r5e": 1, + "5h1t": 1, + "5hit": 1, + a55: 1, + anal: 1, + anus: 1, + ar5e: 1, + arrse: 1, + arse: 1, + ass: 1, + "ass-fucker": 1, + asses: 1, + assfucker: 1, + assfukka: 1, + asshole: 1, + assholes: 1, + asswhole: 1, + a_s_s: 1, + "b!tch": 1, + b00bs: 1, + b17ch: 1, + b1tch: 1, + ballbag: 1, + balls: 1, + ballsack: 1, + bastard: 1, + beastial: 1, + beastiality: 1, + bellend: 1, + bestial: 1, + bestiality: 1, + "bi+ch": 1, + biatch: 1, + bitch: 1, + bitcher: 1, + bitchers: 1, + bitches: 1, + bitchin: 1, + bitching: 1, + bloody: 1, + "blow job": 1, + blowjob: 1, + blowjobs: 1, + boiolas: 1, + bollock: 1, + bollok: 1, + boner: 1, + boob: 1, + boobs: 1, + booobs: 1, + boooobs: 1, + booooobs: 1, + booooooobs: 1, + breasts: 1, + buceta: 1, + bugger: 1, + bum: 1, + "bunny fucker": 1, + butt: 1, + butthole: 1, + buttmuch: 1, + buttplug: 1, + c0ck: 1, + c0cksucker: 1, + "carpet muncher": 1, + cawk: 1, + chink: 1, + cipa: 1, + cl1t: 1, + clit: 1, + clitoris: 1, + clits: 1, + cnut: 1, + cock: 1, + "cock-sucker": 1, + cockface: 1, + cockhead: 1, + cockmunch: 1, + cockmuncher: 1, + cocks: 1, + cocksuck: 1, + cocksucked: 1, + cocksucker: 1, + cocksucking: 1, + cocksucks: 1, + cocksuka: 1, + cocksukka: 1, + cok: 1, + cokmuncher: 1, + coksucka: 1, + coon: 1, + cox: 1, + crap: 1, + cum: 1, + cummer: 1, + cumming: 1, + cums: 1, + cumshot: 1, + cunilingus: 1, + cunillingus: 1, + cunnilingus: 1, + cunt: 1, + cuntlick: 1, + cuntlicker: 1, + cuntlicking: 1, + cunts: 1, + cyalis: 1, + cyberfuc: 1, + cyberfuck: 1, + cyberfucked: 1, + cyberfucker: 1, + cyberfuckers: 1, + cyberfucking: 1, + d1ck: 1, + damn: 1, + dick: 1, + dickhead: 1, + dildo: 1, + dildos: 1, + dink: 1, + dinks: 1, + dirsa: 1, + dlck: 1, + "dog-fucker": 1, + doggin: 1, + dogging: 1, + donkeyribber: 1, + doosh: 1, + duche: 1, + dyke: 1, + ejaculate: 1, + ejaculated: 1, + ejaculates: 1, + ejaculating: 1, + ejaculatings: 1, + ejaculation: 1, + ejakulate: 1, + "f u c k": 1, + "f u c k e r": 1, + f4nny: 1, + fag: 1, + fagging: 1, + faggitt: 1, + faggot: 1, + faggs: 1, + fagot: 1, + fagots: 1, + fags: 1, + fanny: 1, + fannyflaps: 1, + fannyfucker: 1, + fanyy: 1, + fatass: 1, + fcuk: 1, + fcuker: 1, + fcuking: 1, + feck: 1, + fecker: 1, + felching: 1, + fellate: 1, + fellatio: 1, + fingerfuck: 1, + fingerfucked: 1, + fingerfucker: 1, + fingerfuckers: 1, + fingerfucking: 1, + fingerfucks: 1, + fistfuck: 1, + fistfucked: 1, + fistfucker: 1, + fistfuckers: 1, + fistfucking: 1, + fistfuckings: 1, + fistfucks: 1, + flange: 1, + fook: 1, + fooker: 1, + fuck: 1, + fucka: 1, + fucked: 1, + fucker: 1, + fuckers: 1, + fuckhead: 1, + fuckheads: 1, + fuckin: 1, + fucking: 1, + fuckings: 1, + fuckingshitmotherfucker: 1, + fuckme: 1, + fucks: 1, + fuckwhit: 1, + fuckwit: 1, + "fudge packer": 1, + fudgepacker: 1, + fuk: 1, + fuker: 1, + fukker: 1, + fukkin: 1, + fuks: 1, + fukwhit: 1, + fukwit: 1, + fux: 1, + fux0r: 1, + f_u_c_k: 1, + gangbang: 1, + gangbanged: 1, + gangbangs: 1, + gaylord: 1, + gaysex: 1, + goatse: 1, + God: 1, + "god-dam": 1, + "god-damned": 1, + goddamn: 1, + goddamned: 1, + hardcoresex: 1, + hell: 1, + heshe: 1, + hoar: 1, + hoare: 1, + hoer: 1, + homo: 1, + hore: 1, + horniest: 1, + horny: 1, + hotsex: 1, + "jack-off": 1, + jackoff: 1, + jap: 1, + "jerk-off": 1, + jism: 1, + jiz: 1, + jizm: 1, + jizz: 1, + kawk: 1, + knob: 1, + knobead: 1, + knobed: 1, + knobend: 1, + knobhead: 1, + knobjocky: 1, + knobjokey: 1, + kock: 1, + kondum: 1, + kondums: 1, + kum: 1, + kummer: 1, + kumming: 1, + kums: 1, + kunilingus: 1, + "l3i+ch": 1, + l3itch: 1, + labia: 1, + lust: 1, + lusting: 1, + m0f0: 1, + m0fo: 1, + m45terbate: 1, + ma5terb8: 1, + ma5terbate: 1, + masochist: 1, + "master-bate": 1, + masterb8: 1, + "masterbat*": 1, + masterbat3: 1, + masterbate: 1, + masterbation: 1, + masterbations: 1, + masturbate: 1, + "mo-fo": 1, + mof0: 1, + mofo: 1, + mothafuck: 1, + mothafucka: 1, + mothafuckas: 1, + mothafuckaz: 1, + mothafucked: 1, + mothafucker: 1, + mothafuckers: 1, + mothafuckin: 1, + mothafucking: 1, + mothafuckings: 1, + mothafucks: 1, + "mother fucker": 1, + motherfuck: 1, + motherfucked: 1, + motherfucker: 1, + motherfuckers: 1, + motherfuckin: 1, + motherfucking: 1, + motherfuckings: 1, + motherfuckka: 1, + motherfucks: 1, + muff: 1, + mutha: 1, + muthafecker: 1, + muthafuckker: 1, + muther: 1, + mutherfucker: 1, + n1gga: 1, + n1gger: 1, + nazi: 1, + nigg3r: 1, + nigg4h: 1, + nigga: 1, + niggah: 1, + niggas: 1, + niggaz: 1, + nigger: 1, + niggers: 1, + nob: 1, + "nob jokey": 1, + nobhead: 1, + nobjocky: 1, + nobjokey: 1, + numbnuts: 1, + nutsack: 1, + orgasim: 1, + orgasims: 1, + orgasm: 1, + orgasms: 1, + p0rn: 1, + pawn: 1, + pecker: 1, + penis: 1, + penisfucker: 1, + phonesex: 1, + phuck: 1, + phuk: 1, + phuked: 1, + phuking: 1, + phukked: 1, + phukking: 1, + phuks: 1, + phuq: 1, + pigfucker: 1, + pimpis: 1, + piss: 1, + pissed: 1, + pisser: 1, + pissers: 1, + pisses: 1, + pissflaps: 1, + pissin: 1, + pissing: 1, + pissoff: 1, + poop: 1, + porn: 1, + porno: 1, + pornography: 1, + pornos: 1, + prick: 1, + pricks: 1, + pron: 1, + pube: 1, + pusse: 1, + pussi: 1, + pussies: 1, + pussy: 1, + pussys: 1, + rectum: 1, + retard: 1, + rimjaw: 1, + rimming: 1, + "s hit": 1, + "s.o.b.": 1, + sadist: 1, + schlong: 1, + screwing: 1, + scroat: 1, + scrote: 1, + scrotum: 1, + semen: 1, + sex: 1, + "sh!+": 1, + "sh!t": 1, + sh1t: 1, + shag: 1, + shagger: 1, + shaggin: 1, + shagging: 1, + shemale: 1, + "shi+": 1, + shit: 1, + shitdick: 1, + shite: 1, + shited: 1, + shitey: 1, + shitfuck: 1, + shitfull: 1, + shithead: 1, + shiting: 1, + shitings: 1, + shits: 1, + shitted: 1, + shitter: 1, + shitters: 1, + shitting: 1, + shittings: 1, + shitty: 1, + skank: 1, + slut: 1, + sluts: 1, + smegma: 1, + smut: 1, + snatch: 1, + "son-of-a-bitch": 1, + spac: 1, + spunk: 1, + s_h_i_t: 1, + t1tt1e5: 1, + t1tties: 1, + teets: 1, + teez: 1, + testical: 1, + testicle: 1, + tit: 1, + titfuck: 1, + tits: 1, + titt: 1, + tittie5: 1, + tittiefucker: 1, + titties: 1, + tittyfuck: 1, + tittywank: 1, + titwank: 1, + tosser: 1, + turd: 1, + tw4t: 1, + twat: 1, + twathead: 1, + twatty: 1, + twunt: 1, + twunter: 1, + v14gra: 1, + v1gra: 1, + vagina: 1, + viagra: 1, + vulva: 1, + w00se: 1, + wang: 1, + wank: 1, + wanker: 1, + wanky: 1, + whoar: 1, + whore: 1, + willies: 1, + willy: 1, + xrated: 1, + xxx: 1 + } +}, function(e, t) { + e.exports = ["4r5e", "5h1t", "5hit", "a55", "anal", "anus", "ar5e", "arrse", "arse", "ass", "ass-fucker", "asses", "assfucker", "assfukka", "asshole", "assholes", "asswhole", "a_s_s", "b!tch", "b00bs", "b17ch", "b1tch", "ballbag", "balls", "ballsack", "bastard", "beastial", "beastiality", "bellend", "bestial", "bestiality", "bi+ch", "biatch", "bitch", "bitcher", "bitchers", "bitches", "bitchin", "bitching", "bloody", "blow job", "blowjob", "blowjobs", "boiolas", "bollock", "bollok", "boner", "boob", "boobs", "booobs", "boooobs", "booooobs", "booooooobs", "breasts", "buceta", "bugger", "bum", "bunny fucker", "butt", "butthole", "buttmuch", "buttplug", "c0ck", "c0cksucker", "carpet muncher", "cawk", "chink", "cipa", "cl1t", "clit", "clitoris", "clits", "cnut", "cock", "cock-sucker", "cockface", "cockhead", "cockmunch", "cockmuncher", "cocks", "cocksuck", "cocksucked", "cocksucker", "cocksucking", "cocksucks", "cocksuka", "cocksukka", "cok", "cokmuncher", "coksucka", "coon", "cox", "crap", "cum", "cummer", "cumming", "cums", "cumshot", "cunilingus", "cunillingus", "cunnilingus", "cunt", "cuntlick", "cuntlicker", "cuntlicking", "cunts", "cyalis", "cyberfuc", "cyberfuck", "cyberfucked", "cyberfucker", "cyberfuckers", "cyberfucking", "d1ck", "damn", "dick", "dickhead", "dildo", "dildos", "dink", "dinks", "dirsa", "dlck", "dog-fucker", "doggin", "dogging", "donkeyribber", "doosh", "duche", "dyke", "ejaculate", "ejaculated", "ejaculates", "ejaculating", "ejaculatings", "ejaculation", "ejakulate", "f u c k", "f u c k e r", "f4nny", "fag", "fagging", "faggitt", "faggot", "faggs", "fagot", "fagots", "fags", "fanny", "fannyflaps", "fannyfucker", "fanyy", "fatass", "fcuk", "fcuker", "fcuking", "feck", "fecker", "felching", "fellate", "fellatio", "fingerfuck", "fingerfucked", "fingerfucker", "fingerfuckers", "fingerfucking", "fingerfucks", "fistfuck", "fistfucked", "fistfucker", "fistfuckers", "fistfucking", "fistfuckings", "fistfucks", "flange", "fook", "fooker", "fuck", "fucka", "fucked", "fucker", "fuckers", "fuckhead", "fuckheads", "fuckin", "fucking", "fuckings", "fuckingshitmotherfucker", "fuckme", "fucks", "fuckwhit", "fuckwit", "fudge packer", "fudgepacker", "fuk", "fuker", "fukker", "fukkin", "fuks", "fukwhit", "fukwit", "fux", "fux0r", "f_u_c_k", "gangbang", "gangbanged", "gangbangs", "gaylord", "gaysex", "goatse", "God", "god-dam", "god-damned", "goddamn", "goddamned", "hardcoresex", "hell", "heshe", "hoar", "hoare", "hoer", "homo", "hore", "horniest", "horny", "hotsex", "jack-off", "jackoff", "jap", "jerk-off", "jism", "jiz", "jizm", "jizz", "kawk", "knob", "knobead", "knobed", "knobend", "knobhead", "knobjocky", "knobjokey", "kock", "kondum", "kondums", "kum", "kummer", "kumming", "kums", "kunilingus", "l3i+ch", "l3itch", "labia", "lust", "lusting", "m0f0", "m0fo", "m45terbate", "ma5terb8", "ma5terbate", "masochist", "master-bate", "masterb8", "masterbat*", "masterbat3", "masterbate", "masterbation", "masterbations", "masturbate", "mo-fo", "mof0", "mofo", "mothafuck", "mothafucka", "mothafuckas", "mothafuckaz", "mothafucked", "mothafucker", "mothafuckers", "mothafuckin", "mothafucking", "mothafuckings", "mothafucks", "mother fucker", "motherfuck", "motherfucked", "motherfucker", "motherfuckers", "motherfuckin", "motherfucking", "motherfuckings", "motherfuckka", "motherfucks", "muff", "mutha", "muthafecker", "muthafuckker", "muther", "mutherfucker", "n1gga", "n1gger", "nazi", "nigg3r", "nigg4h", "nigga", "niggah", "niggas", "niggaz", "nigger", "niggers", "nob", "nob jokey", "nobhead", "nobjocky", "nobjokey", "numbnuts", "nutsack", "orgasim", "orgasims", "orgasm", "orgasms", "p0rn", "pawn", "pecker", "penis", "penisfucker", "phonesex", "phuck", "phuk", "phuked", "phuking", "phukked", "phukking", "phuks", "phuq", "pigfucker", "pimpis", "piss", "pissed", "pisser", "pissers", "pisses", "pissflaps", "pissin", "pissing", "pissoff", "poop", "porn", "porno", "pornography", "pornos", "prick", "pricks", "pron", "pube", "pusse", "pussi", "pussies", "pussy", "pussys", "rectum", "retard", "rimjaw", "rimming", "s hit", "s.o.b.", "sadist", "schlong", "screwing", "scroat", "scrote", "scrotum", "semen", "sex", "sh!+", "sh!t", "sh1t", "shag", "shagger", "shaggin", "shagging", "shemale", "shi+", "shit", "shitdick", "shite", "shited", "shitey", "shitfuck", "shitfull", "shithead", "shiting", "shitings", "shits", "shitted", "shitter", "shitters", "shitting", "shittings", "shitty", "skank", "slut", "sluts", "smegma", "smut", "snatch", "son-of-a-bitch", "spac", "spunk", "s_h_i_t", "t1tt1e5", "t1tties", "teets", "teez", "testical", "testicle", "tit", "titfuck", "tits", "titt", "tittie5", "tittiefucker", "titties", "tittyfuck", "tittywank", "titwank", "tosser", "turd", "tw4t", "twat", "twathead", "twatty", "twunt", "twunter", "v14gra", "v1gra", "vagina", "viagra", "vulva", "w00se", "wang", "wank", "wanker", "wanky", "whoar", "whore", "willies", "willy", "xrated", "xxx"] +}, function(e, t) { + e.exports = /\b(4r5e|5h1t|5hit|a55|anal|anus|ar5e|arrse|arse|ass|ass-fucker|asses|assfucker|assfukka|asshole|assholes|asswhole|a_s_s|b!tch|b00bs|b17ch|b1tch|ballbag|balls|ballsack|bastard|beastial|beastiality|bellend|bestial|bestiality|bi\+ch|biatch|bitch|bitcher|bitchers|bitches|bitchin|bitching|bloody|blow job|blowjob|blowjobs|boiolas|bollock|bollok|boner|boob|boobs|booobs|boooobs|booooobs|booooooobs|breasts|buceta|bugger|bum|bunny fucker|butt|butthole|buttmuch|buttplug|c0ck|c0cksucker|carpet muncher|cawk|chink|cipa|cl1t|clit|clitoris|clits|cnut|cock|cock-sucker|cockface|cockhead|cockmunch|cockmuncher|cocks|cocksuck|cocksucked|cocksucker|cocksucking|cocksucks|cocksuka|cocksukka|cok|cokmuncher|coksucka|coon|cox|crap|cum|cummer|cumming|cums|cumshot|cunilingus|cunillingus|cunnilingus|cunt|cuntlick|cuntlicker|cuntlicking|cunts|cyalis|cyberfuc|cyberfuck|cyberfucked|cyberfucker|cyberfuckers|cyberfucking|d1ck|damn|dick|dickhead|dildo|dildos|dink|dinks|dirsa|dlck|dog-fucker|doggin|dogging|donkeyribber|doosh|duche|dyke|ejaculate|ejaculated|ejaculates|ejaculating|ejaculatings|ejaculation|ejakulate|f u c k|f u c k e r|f4nny|fag|fagging|faggitt|faggot|faggs|fagot|fagots|fags|fanny|fannyflaps|fannyfucker|fanyy|fatass|fcuk|fcuker|fcuking|feck|fecker|felching|fellate|fellatio|fingerfuck|fingerfucked|fingerfucker|fingerfuckers|fingerfucking|fingerfucks|fistfuck|fistfucked|fistfucker|fistfuckers|fistfucking|fistfuckings|fistfucks|flange|fook|fooker|fuck|fucka|fucked|fucker|fuckers|fuckhead|fuckheads|fuckin|fucking|fuckings|fuckingshitmotherfucker|fuckme|fucks|fuckwhit|fuckwit|fudge packer|fudgepacker|fuk|fuker|fukker|fukkin|fuks|fukwhit|fukwit|fux|fux0r|f_u_c_k|gangbang|gangbanged|gangbangs|gaylord|gaysex|goatse|God|god-dam|god-damned|goddamn|goddamned|hardcoresex|hell|heshe|hoar|hoare|hoer|homo|hore|horniest|horny|hotsex|jack-off|jackoff|jap|jerk-off|jism|jiz|jizm|jizz|kawk|knob|knobead|knobed|knobend|knobhead|knobjocky|knobjokey|kock|kondum|kondums|kum|kummer|kumming|kums|kunilingus|l3i\+ch|l3itch|labia|lust|lusting|m0f0|m0fo|m45terbate|ma5terb8|ma5terbate|masochist|master-bate|masterb8|masterbat*|masterbat3|masterbate|masterbation|masterbations|masturbate|mo-fo|mof0|mofo|mothafuck|mothafucka|mothafuckas|mothafuckaz|mothafucked|mothafucker|mothafuckers|mothafuckin|mothafucking|mothafuckings|mothafucks|mother fucker|motherfuck|motherfucked|motherfucker|motherfuckers|motherfuckin|motherfucking|motherfuckings|motherfuckka|motherfucks|muff|mutha|muthafecker|muthafuckker|muther|mutherfucker|n1gga|n1gger|nazi|nigg3r|nigg4h|nigga|niggah|niggas|niggaz|nigger|niggers|nob|nob jokey|nobhead|nobjocky|nobjokey|numbnuts|nutsack|orgasim|orgasims|orgasm|orgasms|p0rn|pawn|pecker|penis|penisfucker|phonesex|phuck|phuk|phuked|phuking|phukked|phukking|phuks|phuq|pigfucker|pimpis|piss|pissed|pisser|pissers|pisses|pissflaps|pissin|pissing|pissoff|poop|porn|porno|pornography|pornos|prick|pricks|pron|pube|pusse|pussi|pussies|pussy|pussys|rectum|retard|rimjaw|rimming|s hit|s.o.b.|sadist|schlong|screwing|scroat|scrote|scrotum|semen|sex|sh!\+|sh!t|sh1t|shag|shagger|shaggin|shagging|shemale|shi\+|shit|shitdick|shite|shited|shitey|shitfuck|shitfull|shithead|shiting|shitings|shits|shitted|shitter|shitters|shitting|shittings|shitty|skank|slut|sluts|smegma|smut|snatch|son-of-a-bitch|spac|spunk|s_h_i_t|t1tt1e5|t1tties|teets|teez|testical|testicle|tit|titfuck|tits|titt|tittie5|tittiefucker|titties|tittyfuck|tittywank|titwank|tosser|turd|tw4t|twat|twathead|twatty|twunt|twunter|v14gra|v1gra|vagina|viagra|vulva|w00se|wang|wank|wanker|wanky|whoar|whore|willies|willy|xrated|xxx)\b/gi +}, function(e, t) { + e.exports.hats = [{ + id: 45, + name: "Shame!", + dontSell: !0, + price: 0, + scale: 120, + desc: "hacks are for losers" + }, { + id: 51, + name: "Moo Cap", + price: 0, + scale: 120, + desc: "coolest mooer around" + }, { + id: 50, + name: "Apple Cap", + price: 0, + scale: 120, + desc: "apple farms remembers" + }, { + id: 28, + name: "Moo Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 29, + name: "Pig Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 30, + name: "Fluff Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 36, + name: "Pandou Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 37, + name: "Bear Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 38, + name: "Monkey Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 44, + name: "Polar Head", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 35, + name: "Fez Hat", + price: 0, + scale: 120, + desc: "no effect" + }, { + id: 42, + name: "Enigma Hat", + price: 0, + scale: 120, + desc: "join the enigma army" + }, { + id: 43, + name: "Blitz Hat", + price: 0, + scale: 120, + desc: "hey everybody i'm blitz" + }, { + id: 49, + name: "Bob XIII Hat", + price: 0, + scale: 120, + desc: "like and subscribe" + }, { + id: 57, + name: "Pumpkin", + price: 50, + scale: 120, + desc: "Spooooky" + }, { + id: 8, + name: "Bummle Hat", + price: 100, + scale: 120, + desc: "no effect" + }, { + id: 2, + name: "Straw Hat", + price: 500, + scale: 120, + desc: "no effect" + }, { + id: 15, + name: "Winter Cap", + price: 600, + scale: 120, + desc: "allows you to move at normal speed in snow", + coldM: 1 + }, { + id: 5, + name: "Cowboy Hat", + price: 1e3, + scale: 120, + desc: "no effect" + }, { + id: 4, + name: "Ranger Hat", + price: 2e3, + scale: 120, + desc: "no effect" + }, { + id: 18, + name: "Explorer Hat", + price: 2e3, + scale: 120, + desc: "no effect" + }, { + id: 31, + name: "Flipper Hat", + price: 2500, + scale: 120, + desc: "have more control while in water", + watrImm: !0 + }, { + id: 1, + name: "Marksman Cap", + price: 3e3, + scale: 120, + desc: "increases arrow speed and range", + aMlt: 1.3 + }, { + id: 10, + name: "Bush Gear", + price: 3e3, + scale: 160, + desc: "allows you to disguise yourself as a bush" + }, { + id: 48, + name: "Halo", + price: 3e3, + scale: 120, + desc: "no effect" + }, { + id: 6, + name: "Soldier Helmet", + price: 4e3, + scale: 120, + desc: "reduces damage taken but slows movement", + spdMult: .94, + dmgMult: .75 + }, { + id: 23, + name: "Anti Venom Gear", + price: 4e3, + scale: 120, + desc: "makes you immune to poison", + poisonRes: 1 + }, { + id: 13, + name: "Medic Gear", + price: 5e3, + scale: 110, + desc: "slowly regenerates health over time", + healthRegen: 3 + }, { + id: 9, + name: "Miners Helmet", + price: 5e3, + scale: 120, + desc: "earn 1 extra gold per resource", + extraGold: 1 + }, { + id: 32, + name: "Musketeer Hat", + price: 5e3, + scale: 120, + desc: "reduces cost of projectiles", + projCost: .5 + }, { + id: 7, + name: "Bull Helmet", + price: 6e3, + scale: 120, + desc: "increases damage done but drains health", + healthRegen: -5, + dmgMultO: 1.5, + spdMult: .96 + }, { + id: 22, + name: "Emp Helmet", + price: 6e3, + scale: 120, + desc: "turrets won't attack but you move slower", + antiTurret: 1, + spdMult: .7 + }, { + id: 12, + name: "Booster Hat", + price: 6e3, + scale: 120, + desc: "increases your movement speed", + spdMult: 1.16 + }, { + id: 26, + name: "Barbarian Armor", + price: 8e3, + scale: 120, + desc: "knocks back enemies that attack you", + dmgK: .6 + }, { + id: 21, + name: "Plague Mask", + price: 1e4, + scale: 120, + desc: "melee attacks deal poison damage", + poisonDmg: 5, + poisonTime: 6 + }, { + id: 46, + name: "Bull Mask", + price: 1e4, + scale: 120, + desc: "bulls won't target you unless you attack them", + bullRepel: 1 + }, { + id: 14, + name: "Windmill Hat", + topSprite: !0, + price: 1e4, + scale: 120, + desc: "generates points while worn", + pps: 1.5 + }, { + id: 11, + name: "Spike Gear", + topSprite: !0, + price: 1e4, + scale: 120, + desc: "deal damage to players that damage you", + dmg: .45 + }, { + id: 53, + name: "Turret Gear", + topSprite: !0, + price: 1e4, + scale: 120, + desc: "you become a walking turret", + turret: { + proj: 1, + range: 700, + rate: 2500 + }, + spdMult: .7 + }, { + id: 20, + name: "Samurai Armor", + price: 12e3, + scale: 120, + desc: "increased attack speed and fire rate", + atkSpd: .78 + }, { + id: 58, + name: "Dark Knight", + price: 12e3, + scale: 120, + desc: "restores health when you deal damage", + healD: .4 + }, { + id: 27, + name: "Scavenger Gear", + price: 15e3, + scale: 120, + desc: "earn double points for each kill", + kScrM: 2 + }, { + id: 40, + name: "Tank Gear", + price: 15e3, + scale: 120, + desc: "increased damage to buildings but slower movement", + spdMult: .3, + bDmg: 3.3 + }, { + id: 52, + name: "Thief Gear", + price: 15e3, + scale: 120, + desc: "steal half of a players gold when you kill them", + goldSteal: .5 + }, { + id: 55, + name: "Bloodthirster", + price: 2e4, + scale: 120, + desc: "Restore Health when dealing damage. And increased damage", + healD: .25, + dmgMultO: 1.2 + }, { + id: 56, + name: "Assassin Gear", + price: 2e4, + scale: 120, + desc: "Go invisible when not moving. Can't eat. Increased speed", + noEat: !0, + spdMult: 1.1, + invisTimer: 1e3 + }], e.exports.accessories = [{ + id: 12, + name: "Snowball", + price: 1e3, + scale: 105, + xOff: 18, + desc: "no effect" + }, { + id: 9, + name: "Tree Cape", + price: 1e3, + scale: 90, + desc: "no effect" + }, { + id: 10, + name: "Stone Cape", + price: 1e3, + scale: 90, + desc: "no effect" + }, { + id: 3, + name: "Cookie Cape", + price: 1500, + scale: 90, + desc: "no effect" + }, { + id: 8, + name: "Cow Cape", + price: 2e3, + scale: 90, + desc: "no effect" + }, { + id: 11, + name: "Monkey Tail", + price: 2e3, + scale: 97, + xOff: 25, + desc: "Super speed but reduced damage", + spdMult: 1.35, + dmgMultO: .2 + }, { + id: 17, + name: "Apple Basket", + price: 3e3, + scale: 80, + xOff: 12, + desc: "slowly regenerates health over time", + healthRegen: 1 + }, { + id: 6, + name: "Winter Cape", + price: 3e3, + scale: 90, + desc: "no effect" + }, { + id: 4, + name: "Skull Cape", + price: 4e3, + scale: 90, + desc: "no effect" + }, { + id: 5, + name: "Dash Cape", + price: 5e3, + scale: 90, + desc: "no effect" + }, { + id: 2, + name: "Dragon Cape", + price: 6e3, + scale: 90, + desc: "no effect" + }, { + id: 1, + name: "Super Cape", + price: 8e3, + scale: 90, + desc: "no effect" + }, { + id: 7, + name: "Troll Cape", + price: 8e3, + scale: 90, + desc: "no effect" + }, { + id: 14, + name: "Thorns", + price: 1e4, + scale: 115, + xOff: 20, + desc: "no effect" + }, { + id: 15, + name: "Blockades", + price: 1e4, + scale: 95, + xOff: 15, + desc: "no effect" + }, { + id: 20, + name: "Devils Tail", + price: 1e4, + scale: 95, + xOff: 20, + desc: "no effect" + }, { + id: 16, + name: "Sawblade", + price: 12e3, + scale: 90, + spin: !0, + xOff: 0, + desc: "deal damage to players that damage you", + dmg: .15 + }, { + id: 13, + name: "Angel Wings", + price: 15e3, + scale: 138, + xOff: 22, + desc: "slowly regenerates health over time", + healthRegen: 3 + }, { + id: 19, + name: "Shadow Wings", + price: 15e3, + scale: 138, + xOff: 22, + desc: "increased movement speed", + spdMult: 1.1 + }, { + id: 18, + name: "Blood Wings", + price: 2e4, + scale: 178, + xOff: 26, + desc: "restores health when you deal damage", + healD: .2 + }, { + id: 21, + name: "Corrupt X Wings", + price: 2e4, + scale: 178, + xOff: 26, + desc: "deal damage to players that damage you", + dmg: .25 + }] +}, function(e, t) { + e.exports = function(e, t, n, i, r, s, a) { + this.init = function(e, t, n, i, r, s, o, c, l) { + this.active = !0, this.indx = e, this.x = t, this.y = n, this.dir = i, this.skipMov = !0, this.speed = r, this.dmg = s, this.scale = c, this.range = o, this.owner = l, a && (this.sentTo = {}) + }; + var o, c = []; + this.update = function(l) { + if (this.active) { + var h, u = this.speed * l; + if (this.skipMov ? this.skipMov = !1 : (this.x += u * Math.cos(this.dir), this.y += u * Math.sin(this.dir), this.range -= u, this.range <= 0 && (this.x += this.range * Math.cos(this.dir), this.y += this.range * Math.sin(this.dir), u = 1, this.range = 0, this.active = !1)), a) { + for (var f = 0; f < e.length; ++f) !this.sentTo[e[f].id] && e[f].canSee(this) && (this.sentTo[e[f].id] = 1, a.send(e[f].id, "18", s.fixTo(this.x, 1), s.fixTo(this.y, 1), s.fixTo(this.dir, 2), s.fixTo(this.range, 1), this.speed, this.indx, this.layer, this.sid)); + for (c.length = 0, f = 0; f < e.length + t.length; ++f) !(o = e[f] || t[f - e.length]).alive || o == this.owner || this.owner.team && o.team == this.owner.team || s.lineInRect(o.x - o.scale, o.y - o.scale, o.x + o.scale, o.y + o.scale, this.x, this.y, this.x + u * Math.cos(this.dir), this.y + u * Math.sin(this.dir)) && c.push(o); + for (var d = n.getGridArrays(this.x, this.y, this.scale), p = 0; p < d.length; ++p) + for (var g = 0; g < d[p].length; ++g) h = (o = d[p][g]).getScale(), o.active && this.ignoreObj != o.sid && this.layer <= o.layer && c.indexOf(o) < 0 && !o.ignoreCollision && s.lineInRect(o.x - h, o.y - h, o.x + h, o.y + h, this.x, this.y, this.x + u * Math.cos(this.dir), this.y + u * Math.sin(this.dir)) && c.push(o); + if (c.length > 0) { + var m = null, + y = null, + k = null; + for (f = 0; f < c.length; ++f) k = s.getDistance(this.x, this.y, c[f].x, c[f].y), (null == y || k < y) && (y = k, m = c[f]); + if (m.isPlayer || m.isAI) { + var v = .3 * (m.weightM || 1); + m.xVel += v * Math.cos(this.dir), m.yVel += v * Math.sin(this.dir), null != m.weaponIndex && i.weapons[m.weaponIndex].shield && s.getAngleDist(this.dir + Math.PI, m.dir) <= r.shieldAngle || m.changeHealth(-this.dmg, this.owner, this.owner) + } else + for (m.projDmg && m.health && m.changeHealth(-this.dmg) && n.disableObj(m), f = 0; f < e.length; ++f) e[f].active && (m.sentTo[e[f].id] && (m.active ? e[f].canSee(m) && a.send(e[f].id, "8", s.fixTo(this.dir, 2), m.sid) : a.send(e[f].id, "12", m.sid)), m.active || m.owner != e[f] || e[f].changeItemCount(m.group.id, -1)); + for (this.active = !1, f = 0; f < e.length; ++f) this.sentTo[e[f].id] && a.send(e[f].id, "19", this.sid, s.fixTo(y, 1)) + } + } + } + } + } +}, function(e, t) { + e.exports = function(e, t, n, i, r, s, a, o, c) { + this.addProjectile = function(l, h, u, f, d, p, g, m, y) { + for (var k, v = s.projectiles[p], w = 0; w < t.length; ++w) + if (!t[w].active) { + k = t[w]; + break + } return k || ((k = new e(n, i, r, s, a, o, c)).sid = t.length, t.push(k)), k.init(p, l, h, u, d, v.dmg, f, v.scale, g), k.ignoreObj = m, k.layer = y || v.layer, k.src = v.src, k + } + } +}, function(e, t) { + e.exports.obj = function(e, t) { + var n; + this.sounds = [], this.active = !0, this.play = function(t, i, r) { + i && this.active && ((n = this.sounds[t]) || (n = new Howl({ + src: ".././sound/" + t + ".mp3" + }), this.sounds[t] = n), r && n.isPlaying || (n.isPlaying = !0, n.play(), n.volume((i || 1) * e.volumeMult), n.loop(r))) + }, this.toggleMute = function(e, t) { + (n = this.sounds[e]) && n.mute(t) + }, this.stop = function(e) { + (n = this.sounds[e]) && (n.stop(), n.isPlaying = !1) + } + } +}, function(e, t, n) { + var i = n(60), + r = n(67); + + function s(e, t, n, i, r) { + "localhost" == location.hostname && (window.location.hostname = "127.0.0.1"), this.debugLog = !1, this.baseUrl = e, this.lobbySize = n, this.devPort = t, this.lobbySpread = i, this.rawIPs = !!r, this.server = void 0, this.gameIndex = void 0, this.callback = void 0, this.errorCallback = void 0, this.processServers(vultr.servers) + } + s.prototype.regionInfo = { + 0: { + name: "Local", + latitude: 0, + longitude: 0 + }, + "vultr:1": { + name: "New Jersey", + latitude: 40.1393329, + longitude: -75.8521818 + }, + "vultr:2": { + name: "Chicago", + latitude: 41.8339037, + longitude: -87.872238 + }, + "vultr:3": { + name: "Dallas", + latitude: 32.8208751, + longitude: -96.8714229 + }, + "vultr:4": { + name: "Seattle", + latitude: 47.6149942, + longitude: -122.4759879 + }, + "vultr:5": { + name: "Los Angeles", + latitude: 34.0207504, + longitude: -118.691914 + }, + "vultr:6": { + name: "Atlanta", + latitude: 33.7676334, + longitude: -84.5610332 + }, + "vultr:7": { + name: "Amsterdam", + latitude: 52.3745287, + longitude: 4.7581878 + }, + "vultr:8": { + name: "London", + latitude: 51.5283063, + longitude: -.382486 + }, + "vultr:9": { + name: "Frankfurt", + latitude: 50.1211273, + longitude: 8.496137 + }, + "vultr:12": { + name: "Silicon Valley", + latitude: 37.4024714, + longitude: -122.3219752 + }, + "vultr:19": { + name: "Sydney", + latitude: -33.8479715, + longitude: 150.651084 + }, + "vultr:24": { + name: "Paris", + latitude: 48.8588376, + longitude: 2.2773454 + }, + "vultr:25": { + name: "Tokyo", + latitude: 35.6732615, + longitude: 139.569959 + }, + "vultr:39": { + name: "Miami", + latitude: 25.7823071, + longitude: -80.3012156 + }, + "vultr:40": { + name: "Singapore", + latitude: 1.3147268, + longitude: 103.7065876 + } + }, s.prototype.start = function(e, t) { + //modified + + this.callback = e, this.errorCallback = t; + this.connect(0, 0, 0); + return; + var n = this.parseServerQuery(); + n ? (this.log("Found server in query."), this.password = n[3], this.connect(n[0], n[1], n[2])) : (this.log("Pinging servers..."), this.pingServers()) + }, s.prototype.parseServerQuery = function() { + var e = i.parse(location.href, !0), + t = e.query.server; + if ("string" == typeof t) { + var n = t.split(":"); + if (3 == n.length) { + var r = n[0], + s = parseInt(n[1]), + a = parseInt(n[2]); + return "0" == r || r.startsWith("vultr:") || (r = "vultr:" + r), [r, s, a, e.query.password] + } + this.errorCallback("Invalid number of server parameters in " + t) + } + }, s.prototype.findServer = function(e, t) { + var n = this.servers[e]; + if (Array.isArray(n)) { + for (var i = 0; i < n.length; i++) { + var r = n[i]; + if (r.index == t) return r + } + console.warn("Could not find server in region " + e + " with index " + t + ".") + } else this.errorCallback("No server list for region " + e) + }, s.prototype.pingServers = function() { + var e = this, + t = []; + for (var n in this.servers) + if (this.servers.hasOwnProperty(n)) { + var i = this.servers[n], + r = i[Math.floor(Math.random() * i.length)]; + null != r ? function(i, r) { + var s = new XMLHttpRequest; + s.onreadystatechange = function(i) { + var s = i.target; + if (4 == s.readyState) + if (200 == s.status) { + for (var a = 0; a < t.length; a++) t[a].abort(); + e.log("Connecting to region", r.region); + var o = e.seekServer(r.region); + e.connect(o[0], o[1], o[2]) + } else console.warn("Error pinging " + r.ip + " in region " + n) + }; + var a = "//" + e.serverAddress(r.ip, !0) + ":" + e.serverPort(r) + "/ping"; + s.open("GET", a, !0), s.send(null), e.log("Pinging", a), t.push(s) + }(0, r) : console.log("No target server for region " + n) + } + }, s.prototype.seekServer = function(e, t, n) { + null == n && (n = "random"), null == t && (t = !1); + const i = ["random"]; + var r = this.lobbySize, + s = this.lobbySpread, + a = this.servers[e].flatMap((function(e) { + var t = 0; + return e.games.map((function(n) { + var i = t++; + return { + region: e.region, + index: e.index * e.games.length + i, + gameIndex: i, + gameCount: e.games.length, + playerCount: n.playerCount, + isPrivate: n.isPrivate + } + })) + })).filter((function(e) { + return !e.isPrivate + })).filter((function(e) { + return !t || 0 == e.playerCount && e.gameIndex >= e.gameCount / 2 + })).filter((function(e) { + return "random" == n || i[e.index % i.length].key == n + })).sort((function(e, t) { + return t.playerCount - e.playerCount + })).filter((function(e) { + return e.playerCount < r + })); + if (t && a.reverse(), 0 != a.length) { + var o = Math.min(s, a.length), + c = Math.floor(Math.random() * o), + l = a[c = Math.min(c, a.length - 1)], + h = l.region, + u = (c = Math.floor(l.index / l.gameCount), l.index % l.gameCount); + return this.log("Found server."), [h, c, u] + } + this.errorCallback("No open servers.") + }, s.prototype.connect = function(e, t, n) { + if (!this.connected) { + // var i = this.findServer(e, t); + //n is game index, doesn't matter + let n = 0; + this.callback(1,2,3); //callback doesn't care about what we give it anymore + return; + //MODIFIED + null != i ? (this.log("Connecting to server", i, "with game index", n), 'i.games[n].playerCount >= this.lobbySize ? this.errorCallback("Server is already full.") :', (window.history.replaceState(document.title, document.title, this.generateHref(e, t, n, this.password)), this.server = i, this.gameIndex = n, this.log("Calling callback with address", this.serverAddress(i.ip), "on port", this.serverPort(i), "with game index", n), this.callback(this.serverAddress(i.ip), this.serverPort(i), n))) : this.errorCallback("Failed to find server for region " + e + " and index " + t) + } + }, s.prototype.switchServer = function(e, t, n, i) { + this.switchingServers = !0, window.location.href = this.generateHref(e, t, n, i) + }, s.prototype.generateHref = function(e, t, n, i) { + var r = "/?server=" + (e = this.stripRegion(e)) + ":" + t + ":" + n; + return i && (r += "&password=" + encodeURIComponent(i)), r + }, s.prototype.serverAddress = function(e, t) { + return "127.0.0.1" == e || "7f000001" == e || "903d62ef5d1c2fecdcaeb5e7dd485eff" == e ? window.location.hostname : this.rawIPs ? t ? "ip_" + this.hashIP(e) + "." + this.baseUrl : e : "ip_" + e + "." + this.baseUrl + }, s.prototype.serverPort = function(e) { + return 0 == e.region ? this.devPort : location.protocol.startsWith("https") ? 443 : 80 + }, s.prototype.processServers = function(e) { + for (var t = {}, n = 0; n < e.length; n++) { + var i = e[n], + r = t[i.region]; + null == r && (r = [], t[i.region] = r), r.push(i) + } + for (var s in t) t[s] = t[s].sort((function(e, t) { + return e.index - t.index + })); + this.servers = t + }, s.prototype.ipToHex = function(e) { + return e.split(".").map(e => ("00" + parseInt(e).toString(16)).substr(-2)).join("").toLowerCase() + }, s.prototype.hashIP = function(e) { + return r(this.ipToHex(e)) + }, s.prototype.log = function() { + return this.debugLog ? console.log.apply(void 0, arguments) : console.verbose ? console.verbose.apply(void 0, arguments) : void 0 + }, s.prototype.stripRegion = function(e) { + return e.startsWith("vultr:") ? e = e.slice(6) : e.startsWith("do:") && (e = e.slice(3)), e + }, window.testVultrClient = function() { + var e = 1; + + function t(t, n) { + (t = "" + t) == (n = "" + n) ? console.log(`Assert ${e} passed.`): console.warn(`Assert ${e} failed. Expected ${n}, got ${t}.`), e++ + } + var n = new s("test.io", -1, 5, 1, !1); + n.errorCallback = function(e) {}, n.processServers(function(e) { + var t = []; + for (var n in e) + for (var i = e[n], r = 0; r < i.length; r++) t.push({ + ip: n + ":" + r, + scheme: "testing", + region: n, + index: r, + games: i[r].map(e => ({ + playerCount: e, + isPrivate: !1 + })) + }); + return t + }({ + 1: [ + [0, 0, 0, 0], + [0, 0, 0, 0] + ], + 2: [ + [5, 1, 0, 0], + [0, 0, 0, 0] + ], + 3: [ + [5, 0, 1, 5], + [0, 0, 0, 0] + ], + 4: [ + [5, 1, 1, 5], + [1, 0, 0, 0] + ], + 5: [ + [5, 1, 1, 5], + [1, 0, 4, 0] + ], + 6: [ + [5, 5, 5, 5], + [2, 3, 1, 4] + ], + 7: [ + [5, 5, 5, 5], + [5, 5, 5, 5] + ] + })), t(n.seekServer(1, !1), [1, 0, 0]), t(n.seekServer(1, !0), [1, 1, 3]), t(n.seekServer(2, !1), [2, 0, 1]), t(n.seekServer(2, !0), [2, 1, 3]), t(n.seekServer(3, !1), [3, 0, 2]), t(n.seekServer(3, !0), [3, 1, 3]), t(n.seekServer(4, !1), [4, 0, 1]), t(n.seekServer(4, !0), [4, 1, 3]), t(n.seekServer(5, !1), [5, 1, 2]), t(n.seekServer(5, !0), [5, 1, 3]), t(n.seekServer(6, !1), [6, 1, 3]), t(n.seekServer(6, !0), void 0), t(n.seekServer(7, !1), void 0), t(n.seekServer(7, !0), void 0), console.log("Tests passed.") + }; + var a = function(e, t) { + return e.concat(t) + }; + Array.prototype.flatMap = function(e) { + return function(e, t) { + return t.map(e).reduce(a, []) + }(e, this) + }, e.exports = s +}, function(e, t, n) { + "use strict"; + var i = n(61), + r = n(63); + + function s() { + this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null + } + t.parse = v, t.resolve = function(e, t) { + return v(e, !1, !0).resolve(t) + }, t.resolveObject = function(e, t) { + return e ? v(e, !1, !0).resolveObject(t) : t + }, t.format = function(e) { + return r.isString(e) && (e = v(e)), e instanceof s ? e.format() : s.prototype.format.call(e) + }, t.Url = s; + var a = /^([a-z0-9.+-]+:)/i, + o = /:[0-9]*$/, + c = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + l = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", "\t"]), + h = ["'"].concat(l), + u = ["%", "/", "?", ";", "#"].concat(h), + f = ["/", "?", "#"], + d = /^[+a-z0-9A-Z_-]{0,63}$/, + p = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + g = { + javascript: !0, + "javascript:": !0 + }, + m = { + javascript: !0, + "javascript:": !0 + }, + y = { + http: !0, + https: !0, + ftp: !0, + gopher: !0, + file: !0, + "http:": !0, + "https:": !0, + "ftp:": !0, + "gopher:": !0, + "file:": !0 + }, + k = n(64); + + function v(e, t, n) { + if (e && r.isObject(e) && e instanceof s) return e; + var i = new s; + return i.parse(e, t, n), i + } + s.prototype.parse = function(e, t, n) { + if (!r.isString(e)) throw new TypeError("Parameter 'url' must be a string, not " + typeof e); + var s = e.indexOf("?"), + o = -1 !== s && s < e.indexOf("#") ? "?" : "#", + l = e.split(o); + l[0] = l[0].replace(/\\/g, "/"); + var v = e = l.join(o); + if (v = v.trim(), !n && 1 === e.split("#").length) { + var w = c.exec(v); + if (w) return this.path = v, this.href = v, this.pathname = w[1], w[2] ? (this.search = w[2], this.query = t ? k.parse(this.search.substr(1)) : this.search.substr(1)) : t && (this.search = "", this.query = {}), this + } + var b = a.exec(v); + if (b) { + var x = (b = b[0]).toLowerCase(); + this.protocol = x, v = v.substr(b.length) + } + if (n || b || v.match(/^\/\/[^@\/]+@[^@\/]+/)) { + var S = "//" === v.substr(0, 2); + !S || b && m[b] || (v = v.substr(2), this.slashes = !0) + } + if (!m[b] && (S || b && !y[b])) { + for (var T, I, E = -1, M = 0; M < f.length; M++) - 1 !== (A = v.indexOf(f[M])) && (-1 === E || A < E) && (E = A); + for (-1 !== (I = -1 === E ? v.lastIndexOf("@") : v.lastIndexOf("@", E)) && (T = v.slice(0, I), v = v.slice(I + 1), this.auth = decodeURIComponent(T)), E = -1, M = 0; M < u.length; M++) { + var A; - 1 !== (A = v.indexOf(u[M])) && (-1 === E || A < E) && (E = A) + } - 1 === E && (E = v.length), this.host = v.slice(0, E), v = v.slice(E), this.parseHost(), this.hostname = this.hostname || ""; + var P = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1]; + if (!P) + for (var B = this.hostname.split(/\./), C = (M = 0, B.length); M < C; M++) { + var O = B[M]; + if (O && !O.match(d)) { + for (var R = "", j = 0, _ = O.length; j < _; j++) O.charCodeAt(j) > 127 ? R += "x" : R += O[j]; + if (!R.match(d)) { + var U = B.slice(0, M), + D = B.slice(M + 1), + L = O.match(p); + L && (U.push(L[1]), D.unshift(L[2])), D.length && (v = "/" + D.join(".") + v), this.hostname = U.join("."); + break + } + } + } + this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), P || (this.hostname = i.toASCII(this.hostname)); + var F = this.port ? ":" + this.port : "", + z = this.hostname || ""; + this.host = z + F, this.href += this.host, P && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== v[0] && (v = "/" + v)) + } + if (!g[x]) + for (M = 0, C = h.length; M < C; M++) { + var H = h[M]; + if (-1 !== v.indexOf(H)) { + var V = encodeURIComponent(H); + V === H && (V = escape(H)), v = v.split(H).join(V) + } + } + var q = v.indexOf("#"); - 1 !== q && (this.hash = v.substr(q), v = v.slice(0, q)); + var Y = v.indexOf("?"); + if (-1 !== Y ? (this.search = v.substr(Y), this.query = v.substr(Y + 1), t && (this.query = k.parse(this.query)), v = v.slice(0, Y)) : t && (this.search = "", this.query = {}), v && (this.pathname = v), y[x] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) { + F = this.pathname || ""; + var W = this.search || ""; + this.path = F + W + } + return this.href = this.format(), this + }, s.prototype.format = function() { + var e = this.auth || ""; + e && (e = (e = encodeURIComponent(e)).replace(/%3A/i, ":"), e += "@"); + var t = this.protocol || "", + n = this.pathname || "", + i = this.hash || "", + s = !1, + a = ""; + this.host ? s = e + this.host : this.hostname && (s = e + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (s += ":" + this.port)), this.query && r.isObject(this.query) && Object.keys(this.query).length && (a = k.stringify(this.query)); + var o = this.search || a && "?" + a || ""; + return t && ":" !== t.substr(-1) && (t += ":"), this.slashes || (!t || y[t]) && !1 !== s ? (s = "//" + (s || ""), n && "/" !== n.charAt(0) && (n = "/" + n)) : s || (s = ""), i && "#" !== i.charAt(0) && (i = "#" + i), o && "?" !== o.charAt(0) && (o = "?" + o), t + s + (n = n.replace(/[?#]/g, (function(e) { + return encodeURIComponent(e) + }))) + (o = o.replace("#", "%23")) + i + }, s.prototype.resolve = function(e) { + return this.resolveObject(v(e, !1, !0)).format() + }, s.prototype.resolveObject = function(e) { + if (r.isString(e)) { + var t = new s; + t.parse(e, !1, !0), e = t + } + for (var n = new s, i = Object.keys(this), a = 0; a < i.length; a++) { + var o = i[a]; + n[o] = this[o] + } + if (n.hash = e.hash, "" === e.href) return n.href = n.format(), n; + if (e.slashes && !e.protocol) { + for (var c = Object.keys(e), l = 0; l < c.length; l++) { + var h = c[l]; + "protocol" !== h && (n[h] = e[h]) + } + return y[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = "/"), n.href = n.format(), n + } + if (e.protocol && e.protocol !== n.protocol) { + if (!y[e.protocol]) { + for (var u = Object.keys(e), f = 0; f < u.length; f++) { + var d = u[f]; + n[d] = e[d] + } + return n.href = n.format(), n + } + if (n.protocol = e.protocol, e.host || m[e.protocol]) n.pathname = e.pathname; + else { + for (var p = (e.pathname || "").split("/"); p.length && !(e.host = p.shift());); + e.host || (e.host = ""), e.hostname || (e.hostname = ""), "" !== p[0] && p.unshift(""), p.length < 2 && p.unshift(""), n.pathname = p.join("/") + } + if (n.search = e.search, n.query = e.query, n.host = e.host || "", n.auth = e.auth, n.hostname = e.hostname || e.host, n.port = e.port, n.pathname || n.search) { + var g = n.pathname || "", + k = n.search || ""; + n.path = g + k + } + return n.slashes = n.slashes || e.slashes, n.href = n.format(), n + } + var v = n.pathname && "/" === n.pathname.charAt(0), + w = e.host || e.pathname && "/" === e.pathname.charAt(0), + b = w || v || n.host && e.pathname, + x = b, + S = n.pathname && n.pathname.split("/") || [], + T = (p = e.pathname && e.pathname.split("/") || [], n.protocol && !y[n.protocol]); + if (T && (n.hostname = "", n.port = null, n.host && ("" === S[0] ? S[0] = n.host : S.unshift(n.host)), n.host = "", e.protocol && (e.hostname = null, e.port = null, e.host && ("" === p[0] ? p[0] = e.host : p.unshift(e.host)), e.host = null), b = b && ("" === p[0] || "" === S[0])), w) n.host = e.host || "" === e.host ? e.host : n.host, n.hostname = e.hostname || "" === e.hostname ? e.hostname : n.hostname, n.search = e.search, n.query = e.query, S = p; + else if (p.length) S || (S = []), S.pop(), S = S.concat(p), n.search = e.search, n.query = e.query; + else if (!r.isNullOrUndefined(e.search)) return T && (n.hostname = n.host = S.shift(), (P = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) && (n.auth = P.shift(), n.host = n.hostname = P.shift())), n.search = e.search, n.query = e.query, r.isNull(n.pathname) && r.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.href = n.format(), n; + if (!S.length) return n.pathname = null, n.search ? n.path = "/" + n.search : n.path = null, n.href = n.format(), n; + for (var I = S.slice(-1)[0], E = (n.host || e.host || S.length > 1) && ("." === I || ".." === I) || "" === I, M = 0, A = S.length; A >= 0; A--) "." === (I = S[A]) ? S.splice(A, 1) : ".." === I ? (S.splice(A, 1), M++) : M && (S.splice(A, 1), M--); + if (!b && !x) + for (; M--; M) S.unshift(".."); + !b || "" === S[0] || S[0] && "/" === S[0].charAt(0) || S.unshift(""), E && "/" !== S.join("/").substr(-1) && S.push(""); + var P, B = "" === S[0] || S[0] && "/" === S[0].charAt(0); + return T && (n.hostname = n.host = B ? "" : S.length ? S.shift() : "", (P = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) && (n.auth = P.shift(), n.host = n.hostname = P.shift())), (b = b || n.host && S.length) && !B && S.unshift(""), S.length ? n.pathname = S.join("/") : (n.pathname = null, n.path = null), r.isNull(n.pathname) && r.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.auth = e.auth || n.auth, n.slashes = n.slashes || e.slashes, n.href = n.format(), n + }, s.prototype.parseHost = function() { + var e = this.host, + t = o.exec(e); + t && (":" !== (t = t[0]) && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)), e && (this.hostname = e) + } +}, function(e, t, n) { + (function(e, i) { + var r; /*! https://mths.be/punycode v1.4.1 by @mathias */ + ! function(s) { + t && t.nodeType, e && e.nodeType; + var a = "object" == typeof i && i; + a.global !== a && a.window !== a && a.self; + var o, c = 2147483647, + l = 36, + h = /^xn--/, + u = /[^\x20-\x7E]/, + f = /[\x2E\u3002\uFF0E\uFF61]/g, + d = { + overflow: "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input" + }, + p = Math.floor, + g = String.fromCharCode; + + function m(e) { + throw new RangeError(d[e]) + } + + function y(e, t) { + for (var n = e.length, i = []; n--;) i[n] = t(e[n]); + return i + } + + function k(e, t) { + var n = e.split("@"), + i = ""; + return n.length > 1 && (i = n[0] + "@", e = n[1]), i + y((e = e.replace(f, ".")).split("."), t).join(".") + } + + function v(e) { + for (var t, n, i = [], r = 0, s = e.length; r < s;)(t = e.charCodeAt(r++)) >= 55296 && t <= 56319 && r < s ? 56320 == (64512 & (n = e.charCodeAt(r++))) ? i.push(((1023 & t) << 10) + (1023 & n) + 65536) : (i.push(t), r--) : i.push(t); + return i + } + + function w(e) { + return y(e, (function(e) { + var t = ""; + return e > 65535 && (t += g((e -= 65536) >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), t + g(e) + })).join("") + } + + function b(e) { + return e - 48 < 10 ? e - 22 : e - 65 < 26 ? e - 65 : e - 97 < 26 ? e - 97 : l + } + + function x(e, t) { + return e + 22 + 75 * (e < 26) - ((0 != t) << 5) + } + + function S(e, t, n) { + var i = 0; + for (e = n ? p(e / 700) : e >> 1, e += p(e / t); e > 455; i += l) e = p(e / 35); + return p(i + 36 * e / (e + 38)) + } + + function T(e) { + var t, n, i, r, s, a, o, h, u, f, d = [], + g = e.length, + y = 0, + k = 128, + v = 72; + for ((n = e.lastIndexOf("-")) < 0 && (n = 0), i = 0; i < n; ++i) e.charCodeAt(i) >= 128 && m("not-basic"), d.push(e.charCodeAt(i)); + for (r = n > 0 ? n + 1 : 0; r < g;) { + for (s = y, a = 1, o = l; r >= g && m("invalid-input"), ((h = b(e.charCodeAt(r++))) >= l || h > p((c - y) / a)) && m("overflow"), y += h * a, !(h < (u = o <= v ? 1 : o >= v + 26 ? 26 : o - v)); o += l) a > p(c / (f = l - u)) && m("overflow"), a *= f; + v = S(y - s, t = d.length + 1, 0 == s), p(y / t) > c - k && m("overflow"), k += p(y / t), y %= t, d.splice(y++, 0, k) + } + return w(d) + } + + function I(e) { + var t, n, i, r, s, a, o, h, u, f, d, y, k, w, b, T = []; + for (y = (e = v(e)).length, t = 128, n = 0, s = 72, a = 0; a < y; ++a)(d = e[a]) < 128 && T.push(g(d)); + for (i = r = T.length, r && T.push("-"); i < y;) { + for (o = c, a = 0; a < y; ++a)(d = e[a]) >= t && d < o && (o = d); + for (o - t > p((c - n) / (k = i + 1)) && m("overflow"), n += (o - t) * k, t = o, a = 0; a < y; ++a) + if ((d = e[a]) < t && ++n > c && m("overflow"), d == t) { + for (h = n, u = l; !(h < (f = u <= s ? 1 : u >= s + 26 ? 26 : u - s)); u += l) b = h - f, w = l - f, T.push(g(x(f + b % w, 0))), h = p(b / w); + T.push(g(x(h, 0))), s = S(n, k, i == r), n = 0, ++i + }++ n, ++t + } + return T.join("") + } + o = { + version: "1.4.1", + ucs2: { + decode: v, + encode: w + }, + decode: T, + encode: I, + toASCII: function(e) { + return k(e, (function(e) { + return u.test(e) ? "xn--" + I(e) : e + })) + }, + toUnicode: function(e) { + return k(e, (function(e) { + return h.test(e) ? T(e.slice(4).toLowerCase()) : e + })) + } + }, void 0 === (r = function() { + return o + }.call(t, n, t, e)) || (e.exports = r) + }() + }).call(this, n(62)(e), n(12)) +}, function(e, t) { + e.exports = function(e) { + return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { + enumerable: !0, + get: function() { + return e.l + } + }), Object.defineProperty(e, "id", { + enumerable: !0, + get: function() { + return e.i + } + }), e.webpackPolyfill = 1), e + } +}, function(e, t, n) { + "use strict"; + e.exports = { + isString: function(e) { + return "string" == typeof e + }, + isObject: function(e) { + return "object" == typeof e && null !== e + }, + isNull: function(e) { + return null === e + }, + isNullOrUndefined: function(e) { + return null == e + } + } +}, function(e, t, n) { + "use strict"; + t.decode = t.parse = n(65), t.encode = t.stringify = n(66) +}, function(e, t, n) { + "use strict"; + + function i(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + } + e.exports = function(e, t, n, s) { + t = t || "&", n = n || "="; + var a = {}; + if ("string" != typeof e || 0 === e.length) return a; + var o = /\+/g; + e = e.split(t); + var c = 1e3; + s && "number" == typeof s.maxKeys && (c = s.maxKeys); + var l = e.length; + c > 0 && l > c && (l = c); + for (var h = 0; h < l; ++h) { + var u, f, d, p, g = e[h].replace(o, "%20"), + m = g.indexOf(n); + m >= 0 ? (u = g.substr(0, m), f = g.substr(m + 1)) : (u = g, f = ""), d = decodeURIComponent(u), p = decodeURIComponent(f), i(a, d) ? r(a[d]) ? a[d].push(p) : a[d] = [a[d], p] : a[d] = p + } + return a + }; + var r = Array.isArray || function(e) { + return "[object Array]" === Object.prototype.toString.call(e) + } +}, function(e, t, n) { + "use strict"; + var i = function(e) { + switch (typeof e) { + case "string": + return e; + case "boolean": + return e ? "true" : "false"; + case "number": + return isFinite(e) ? e : ""; + default: + return "" + } + }; + e.exports = function(e, t, n, o) { + return t = t || "&", n = n || "=", null === e && (e = void 0), "object" == typeof e ? s(a(e), (function(a) { + var o = encodeURIComponent(i(a)) + n; + return r(e[a]) ? s(e[a], (function(e) { + return o + encodeURIComponent(i(e)) + })).join(t) : o + encodeURIComponent(i(e[a])) + })).join(t) : o ? encodeURIComponent(i(o)) + n + encodeURIComponent(i(e)) : "" + }; + var r = Array.isArray || function(e) { + return "[object Array]" === Object.prototype.toString.call(e) + }; + + function s(e, t) { + if (e.map) return e.map(t); + for (var n = [], i = 0; i < e.length; i++) n.push(t(e[i], i)); + return n + } + var a = Object.keys || function(e) { + var t = []; + for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.push(n); + return t + } +}, function(e, t, n) { + ! function() { + var t = n(68), + i = n(20).utf8, + r = n(69), + s = n(20).bin, + a = function(e, n) { + e.constructor == String ? e = n && "binary" === n.encoding ? s.stringToBytes(e) : i.stringToBytes(e) : r(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || (e = e.toString()); + for (var o = t.bytesToWords(e), c = 8 * e.length, l = 1732584193, h = -271733879, u = -1732584194, f = 271733878, d = 0; d < o.length; d++) o[d] = 16711935 & (o[d] << 8 | o[d] >>> 24) | 4278255360 & (o[d] << 24 | o[d] >>> 8); + o[c >>> 5] |= 128 << c % 32, o[14 + (c + 64 >>> 9 << 4)] = c; + var p = a._ff, + g = a._gg, + m = a._hh, + y = a._ii; + for (d = 0; d < o.length; d += 16) { + var k = l, + v = h, + w = u, + b = f; + h = y(h = y(h = y(h = y(h = m(h = m(h = m(h = m(h = g(h = g(h = g(h = g(h = p(h = p(h = p(h = p(h, u = p(u, f = p(f, l = p(l, h, u, f, o[d + 0], 7, -680876936), h, u, o[d + 1], 12, -389564586), l, h, o[d + 2], 17, 606105819), f, l, o[d + 3], 22, -1044525330), u = p(u, f = p(f, l = p(l, h, u, f, o[d + 4], 7, -176418897), h, u, o[d + 5], 12, 1200080426), l, h, o[d + 6], 17, -1473231341), f, l, o[d + 7], 22, -45705983), u = p(u, f = p(f, l = p(l, h, u, f, o[d + 8], 7, 1770035416), h, u, o[d + 9], 12, -1958414417), l, h, o[d + 10], 17, -42063), f, l, o[d + 11], 22, -1990404162), u = p(u, f = p(f, l = p(l, h, u, f, o[d + 12], 7, 1804603682), h, u, o[d + 13], 12, -40341101), l, h, o[d + 14], 17, -1502002290), f, l, o[d + 15], 22, 1236535329), u = g(u, f = g(f, l = g(l, h, u, f, o[d + 1], 5, -165796510), h, u, o[d + 6], 9, -1069501632), l, h, o[d + 11], 14, 643717713), f, l, o[d + 0], 20, -373897302), u = g(u, f = g(f, l = g(l, h, u, f, o[d + 5], 5, -701558691), h, u, o[d + 10], 9, 38016083), l, h, o[d + 15], 14, -660478335), f, l, o[d + 4], 20, -405537848), u = g(u, f = g(f, l = g(l, h, u, f, o[d + 9], 5, 568446438), h, u, o[d + 14], 9, -1019803690), l, h, o[d + 3], 14, -187363961), f, l, o[d + 8], 20, 1163531501), u = g(u, f = g(f, l = g(l, h, u, f, o[d + 13], 5, -1444681467), h, u, o[d + 2], 9, -51403784), l, h, o[d + 7], 14, 1735328473), f, l, o[d + 12], 20, -1926607734), u = m(u, f = m(f, l = m(l, h, u, f, o[d + 5], 4, -378558), h, u, o[d + 8], 11, -2022574463), l, h, o[d + 11], 16, 1839030562), f, l, o[d + 14], 23, -35309556), u = m(u, f = m(f, l = m(l, h, u, f, o[d + 1], 4, -1530992060), h, u, o[d + 4], 11, 1272893353), l, h, o[d + 7], 16, -155497632), f, l, o[d + 10], 23, -1094730640), u = m(u, f = m(f, l = m(l, h, u, f, o[d + 13], 4, 681279174), h, u, o[d + 0], 11, -358537222), l, h, o[d + 3], 16, -722521979), f, l, o[d + 6], 23, 76029189), u = m(u, f = m(f, l = m(l, h, u, f, o[d + 9], 4, -640364487), h, u, o[d + 12], 11, -421815835), l, h, o[d + 15], 16, 530742520), f, l, o[d + 2], 23, -995338651), u = y(u, f = y(f, l = y(l, h, u, f, o[d + 0], 6, -198630844), h, u, o[d + 7], 10, 1126891415), l, h, o[d + 14], 15, -1416354905), f, l, o[d + 5], 21, -57434055), u = y(u, f = y(f, l = y(l, h, u, f, o[d + 12], 6, 1700485571), h, u, o[d + 3], 10, -1894986606), l, h, o[d + 10], 15, -1051523), f, l, o[d + 1], 21, -2054922799), u = y(u, f = y(f, l = y(l, h, u, f, o[d + 8], 6, 1873313359), h, u, o[d + 15], 10, -30611744), l, h, o[d + 6], 15, -1560198380), f, l, o[d + 13], 21, 1309151649), u = y(u, f = y(f, l = y(l, h, u, f, o[d + 4], 6, -145523070), h, u, o[d + 11], 10, -1120210379), l, h, o[d + 2], 15, 718787259), f, l, o[d + 9], 21, -343485551), l = l + k >>> 0, h = h + v >>> 0, u = u + w >>> 0, f = f + b >>> 0 + } + return t.endian([l, h, u, f]) + }; + a._ff = function(e, t, n, i, r, s, a) { + var o = e + (t & n | ~t & i) + (r >>> 0) + a; + return (o << s | o >>> 32 - s) + t + }, a._gg = function(e, t, n, i, r, s, a) { + var o = e + (t & i | n & ~i) + (r >>> 0) + a; + return (o << s | o >>> 32 - s) + t + }, a._hh = function(e, t, n, i, r, s, a) { + var o = e + (t ^ n ^ i) + (r >>> 0) + a; + return (o << s | o >>> 32 - s) + t + }, a._ii = function(e, t, n, i, r, s, a) { + var o = e + (n ^ (t | ~i)) + (r >>> 0) + a; + return (o << s | o >>> 32 - s) + t + }, a._blocksize = 16, a._digestsize = 16, e.exports = function(e, n) { + if (null == e) throw new Error("Illegal argument " + e); + var i = t.wordsToBytes(a(e, n)); + return n && n.asBytes ? i : n && n.asString ? s.bytesToString(i) : t.bytesToHex(i) + } + }() +}, function(e, t) { + ! function() { + var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + n = { + rotl: function(e, t) { + return e << t | e >>> 32 - t + }, + rotr: function(e, t) { + return e << 32 - t | e >>> t + }, + endian: function(e) { + if (e.constructor == Number) return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24); + for (var t = 0; t < e.length; t++) e[t] = n.endian(e[t]); + return e + }, + randomBytes: function(e) { + for (var t = []; e > 0; e--) t.push(Math.floor(256 * Math.random())); + return t + }, + bytesToWords: function(e) { + for (var t = [], n = 0, i = 0; n < e.length; n++, i += 8) t[i >>> 5] |= e[n] << 24 - i % 32; + return t + }, + wordsToBytes: function(e) { + for (var t = [], n = 0; n < 32 * e.length; n += 8) t.push(e[n >>> 5] >>> 24 - n % 32 & 255); + return t + }, + bytesToHex: function(e) { + for (var t = [], n = 0; n < e.length; n++) t.push((e[n] >>> 4).toString(16)), t.push((15 & e[n]).toString(16)); + return t.join("") + }, + hexToBytes: function(e) { + for (var t = [], n = 0; n < e.length; n += 2) t.push(parseInt(e.substr(n, 2), 16)); + return t + }, + bytesToBase64: function(e) { + for (var n = [], i = 0; i < e.length; i += 3) + for (var r = e[i] << 16 | e[i + 1] << 8 | e[i + 2], s = 0; s < 4; s++) 8 * i + 6 * s <= 8 * e.length ? n.push(t.charAt(r >>> 6 * (3 - s) & 63)) : n.push("="); + return n.join("") + }, + base64ToBytes: function(e) { + e = e.replace(/[^A-Z0-9+\/]/gi, ""); + for (var n = [], i = 0, r = 0; i < e.length; r = ++i % 4) 0 != r && n.push((t.indexOf(e.charAt(i - 1)) & Math.pow(2, -2 * r + 8) - 1) << 2 * r | t.indexOf(e.charAt(i)) >>> 6 - 2 * r); + return n + } + }; + e.exports = n + }() +}, function(e, t) { + function n(e) { + return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e) + } + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + e.exports = function(e) { + return null != e && (n(e) || function(e) { + return "function" == typeof e.readFloatLE && "function" == typeof e.slice && n(e.slice(0, 0)) + }(e) || !!e._isBuffer) + } +}, function(e, t) { + e.exports = function(e, t, n, i, r, s, a, o, c) { + this.aiTypes = [{ + id: 0, + src: "cow_1", + killScore: 150, + health: 500, + weightM: .8, + speed: 95e-5, + turnSpeed: .001, + scale: 72, + drop: ["food", 50] + }, { + id: 1, + src: "pig_1", + killScore: 200, + health: 800, + weightM: .6, + speed: 85e-5, + turnSpeed: .001, + scale: 72, + drop: ["food", 80] + }, { + id: 2, + name: "Bull", + src: "bull_2", + hostile: !0, + dmg: 20, + killScore: 1e3, + health: 1800, + weightM: .5, + speed: 94e-5, + turnSpeed: 74e-5, + scale: 78, + viewRange: 800, + chargePlayer: !0, + drop: ["food", 100] + }, { + id: 3, + name: "Bully", + src: "bull_1", + hostile: !0, + dmg: 20, + killScore: 2e3, + health: 2800, + weightM: .45, + speed: .001, + turnSpeed: 8e-4, + scale: 90, + viewRange: 900, + chargePlayer: !0, + drop: ["food", 400] + }, { + id: 4, + name: "Wolf", + src: "wolf_1", + hostile: !0, + dmg: 8, + killScore: 500, + health: 300, + weightM: .45, + speed: .001, + turnSpeed: .002, + scale: 84, + viewRange: 800, + chargePlayer: !0, + drop: ["food", 200] + }, { + id: 5, + name: "Quack", + src: "chicken_1", + dmg: 8, + killScore: 2e3, + noTrap: !0, + health: 300, + weightM: .2, + speed: .0018, + turnSpeed: .006, + scale: 70, + drop: ["food", 100] + }, { + id: 6, + name: "MOOSTAFA", + nameScale: 50, + src: "enemy", + hostile: !0, + dontRun: !0, + fixedSpawn: !0, + spawnDelay: 6e4, + noTrap: !0, + colDmg: 100, + dmg: 40, + killScore: 8e3, + health: 18e3, + weightM: .4, + speed: 7e-4, + turnSpeed: .01, + scale: 80, + spriteMlt: 1.8, + leapForce: .9, + viewRange: 1e3, + hitRange: 210, + hitDelay: 1e3, + chargePlayer: !0, + drop: ["food", 100] + }, { + id: 7, + name: "Treasure", + hostile: !0, + nameScale: 35, + src: "crate_1", + fixedSpawn: !0, + spawnDelay: 12e4, + colDmg: 200, + killScore: 5e3, + health: 2e4, + weightM: .1, + speed: 0, + turnSpeed: 0, + scale: 70, + spriteMlt: 1 + }, { + id: 8, + name: "MOOFIE", + src: "wolf_2", + hostile: !0, + fixedSpawn: !0, + dontRun: !0, + hitScare: 4, + spawnDelay: 3e4, + noTrap: !0, + nameScale: 35, + dmg: 10, + colDmg: 100, + killScore: 3e3, + health: 7e3, + weightM: .45, + speed: .0015, + turnSpeed: .002, + scale: 90, + viewRange: 800, + chargePlayer: !0, + drop: ["food", 1e3] + }], this.spawn = function(l, h, u, f) { + for (var d, p = 0; p < e.length; ++p) + if (!e[p].active) { + d = e[p]; + break + } return d || (d = new t(e.length, r, n, i, a, s, o, c), e.push(d)), d.init(l, h, u, f, this.aiTypes[f]), d + } + } +}, function(e, t) { + var n = 2 * Math.PI; + e.exports = function(e, t, i, r, s, a, o, c) { + this.sid = e, this.isAI = !0, this.nameIndex = s.randInt(0, a.cowNames.length - 1), this.init = function(e, t, n, i, r) { + this.x = e, this.y = t, this.startX = r.fixedSpawn ? e : null, this.startY = r.fixedSpawn ? t : null, this.xVel = 0, this.yVel = 0, this.zIndex = 0, this.dir = n, this.dirPlus = 0, this.index = i, this.src = r.src, r.name && (this.name = r.name), this.weightM = r.weightM, this.speed = r.speed, this.killScore = r.killScore, this.turnSpeed = r.turnSpeed, this.scale = r.scale, this.maxHealth = r.health, this.leapForce = r.leapForce, this.health = this.maxHealth, this.chargePlayer = r.chargePlayer, this.viewRange = r.viewRange, this.drop = r.drop, this.dmg = r.dmg, this.hostile = r.hostile, this.dontRun = r.dontRun, this.hitRange = r.hitRange, this.hitDelay = r.hitDelay, this.hitScare = r.hitScare, this.spriteMlt = r.spriteMlt, this.nameScale = r.nameScale, this.colDmg = r.colDmg, this.noTrap = r.noTrap, this.spawnDelay = r.spawnDelay, this.hitWait = 0, this.waitCount = 1e3, this.moveCount = 0, this.targetDir = 0, this.active = !0, this.alive = !0, this.runFrom = null, this.chargeTarget = null, this.dmgOverTime = {} + }; + var l = 0; + this.update = function(e) { + if (this.active) { + if (this.spawnCounter) return this.spawnCounter -= e, void(this.spawnCounter <= 0 && (this.spawnCounter = 0, this.x = this.startX || s.randInt(0, a.mapScale), this.y = this.startY || s.randInt(0, a.mapScale))); + (l -= e) <= 0 && (this.dmgOverTime.dmg && (this.changeHealth(-this.dmgOverTime.dmg, this.dmgOverTime.doer), this.dmgOverTime.time -= 1, this.dmgOverTime.time <= 0 && (this.dmgOverTime.dmg = 0)), l = 1e3); + var r = !1, + o = 1; + if (!this.zIndex && !this.lockMove && this.y >= a.mapScale / 2 - a.riverWidth / 2 && this.y <= a.mapScale / 2 + a.riverWidth / 2 && (o = .33, this.xVel += a.waterCurrent * e), this.lockMove) this.xVel = 0, this.yVel = 0; + else if (this.waitCount > 0) { + if (this.waitCount -= e, this.waitCount <= 0) + if (this.chargePlayer) { + for (var h, u, f, d = 0; d < i.length; ++d) !i[d].alive || i[d].skin && i[d].skin.bullRepel || (f = s.getDistance(this.x, this.y, i[d].x, i[d].y)) <= this.viewRange && (!h || f < u) && (u = f, h = i[d]); + h ? (this.chargeTarget = h, this.moveCount = s.randInt(8e3, 12e3)) : (this.moveCount = s.randInt(1e3, 2e3), this.targetDir = s.randFloat(-Math.PI, Math.PI)) + } else this.moveCount = s.randInt(4e3, 1e4), this.targetDir = s.randFloat(-Math.PI, Math.PI) + } else if (this.moveCount > 0) { + var p = this.speed * o; + if (this.runFrom && this.runFrom.active && (!this.runFrom.isPlayer || this.runFrom.alive) ? (this.targetDir = s.getDirection(this.x, this.y, this.runFrom.x, this.runFrom.y), p *= 1.42) : this.chargeTarget && this.chargeTarget.alive && (this.targetDir = s.getDirection(this.chargeTarget.x, this.chargeTarget.y, this.x, this.y), p *= 1.75, r = !0), this.hitWait && (p *= .3), this.dir != this.targetDir) { + this.dir %= n; + var g = (this.dir - this.targetDir + n) % n, + m = Math.min(Math.abs(g - n), g, this.turnSpeed * e), + y = g - Math.PI >= 0 ? 1 : -1; + this.dir += y * m + n + } + this.dir %= n, this.xVel += p * e * Math.cos(this.dir), this.yVel += p * e * Math.sin(this.dir), this.moveCount -= e, this.moveCount <= 0 && (this.runFrom = null, this.chargeTarget = null, this.waitCount = this.hostile ? 1500 : s.randInt(1500, 6e3)) + } + this.zIndex = 0, this.lockMove = !1; + var k = s.getDistance(0, 0, this.xVel * e, this.yVel * e), + v = Math.min(4, Math.max(1, Math.round(k / 40))), + w = 1 / v; + for (d = 0; d < v; ++d) { + this.xVel && (this.x += this.xVel * e * w), this.yVel && (this.y += this.yVel * e * w), M = t.getGridArrays(this.x, this.y, this.scale); + for (var b = 0; b < M.length; ++b) + for (var x = 0; x < M[b].length; ++x) M[b][x].active && t.checkCollision(this, M[b][x], w) + } + var S, T, I, E = !1; + if (this.hitWait > 0 && (this.hitWait -= e, this.hitWait <= 0)) { + E = !0, this.hitWait = 0, this.leapForce && !s.randInt(0, 2) && (this.xVel += this.leapForce * Math.cos(this.dir), this.yVel += this.leapForce * Math.sin(this.dir)); + for (var M = t.getGridArrays(this.x, this.y, this.hitRange), A = 0; A < M.length; ++A) + for (b = 0; b < M[A].length; ++b)(S = M[A][b]).health && (T = s.getDistance(this.x, this.y, S.x, S.y)) < S.scale + this.hitRange && (S.changeHealth(5 * -this.dmg) && t.disableObj(S), t.hitObj(S, s.getDirection(this.x, this.y, S.x, S.y))); + for (b = 0; b < i.length; ++b) i[b].canSee(this) && c.send(i[b].id, "aa", this.sid) + } + if (r || E) + for (d = 0; d < i.length; ++d)(S = i[d]) && S.alive && (T = s.getDistance(this.x, this.y, S.x, S.y), this.hitRange ? !this.hitWait && T <= this.hitRange + S.scale && (E ? (I = s.getDirection(S.x, S.y, this.x, this.y), S.changeHealth(-this.dmg), S.xVel += .6 * Math.cos(I), S.yVel += .6 * Math.sin(I), this.runFrom = null, this.chargeTarget = null, this.waitCount = 3e3, this.hitWait = s.randInt(0, 2) ? 0 : 600) : this.hitWait = this.hitDelay) : T <= this.scale + S.scale && (I = s.getDirection(S.x, S.y, this.x, this.y), S.changeHealth(-this.dmg), S.xVel += .55 * Math.cos(I), S.yVel += .55 * Math.sin(I))); + this.xVel && (this.xVel *= Math.pow(a.playerDecel, e)), this.yVel && (this.yVel *= Math.pow(a.playerDecel, e)); + var P = this.scale; + this.x - P < 0 ? (this.x = P, this.xVel = 0) : this.x + P > a.mapScale && (this.x = a.mapScale - P, this.xVel = 0), this.y - P < 0 ? (this.y = P, this.yVel = 0) : this.y + P > a.mapScale && (this.y = a.mapScale - P, this.yVel = 0) + } + }, this.canSee = function(e) { + if (!e) return !1; + if (e.skin && e.skin.invisTimer && e.noMovTimer >= e.skin.invisTimer) return !1; + var t = Math.abs(e.x - this.x) - e.scale, + n = Math.abs(e.y - this.y) - e.scale; + return t <= a.maxScreenWidth / 2 * 1.3 && n <= a.maxScreenHeight / 2 * 1.3 + }; + var h = 0, + u = 0; + this.animate = function(e) { + this.animTime > 0 && (this.animTime -= e, this.animTime <= 0 ? (this.animTime = 0, this.dirPlus = 0, h = 0, u = 0) : 0 == u ? (h += e / (this.animSpeed * a.hitReturnRatio), this.dirPlus = s.lerp(0, this.targetAngle, Math.min(1, h)), h >= 1 && (h = 1, u = 1)) : (h -= e / (this.animSpeed * (1 - a.hitReturnRatio)), this.dirPlus = s.lerp(0, this.targetAngle, Math.max(0, h)))) + }, this.startAnim = function() { + this.animTime = this.animSpeed = 600, this.targetAngle = .8 * Math.PI, h = 0, u = 0 + }, this.changeHealth = function(e, t, n) { + if (this.active && (this.health += e, n && (this.hitScare && !s.randInt(0, this.hitScare) ? (this.runFrom = n, this.waitCount = 0, this.moveCount = 2e3) : this.hostile && this.chargePlayer && n.isPlayer ? (this.chargeTarget = n, this.waitCount = 0, this.moveCount = 8e3) : this.dontRun || (this.runFrom = n, this.waitCount = 0, this.moveCount = 2e3)), e < 0 && this.hitRange && s.randInt(0, 1) && (this.hitWait = 500), t && t.canSee(this) && e < 0 && c.send(t.id, "t", Math.round(this.x), Math.round(this.y), Math.round(-e), 1), this.health <= 0 && (this.spawnDelay ? (this.spawnCounter = this.spawnDelay, this.x = -1e6, this.y = -1e6) : (this.x = this.startX || s.randInt(0, a.mapScale), this.y = this.startY || s.randInt(0, a.mapScale)), this.health = this.maxHealth, this.runFrom = null, t && (o(t, this.killScore), this.drop)))) + for (var i = 0; i < this.drop.length;) t.addResource(a.resourceTypes.indexOf(this.drop[i]), this.drop[i + 1]), i += 2 + } + } +}]); +//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/src/moomoo/Agent.ts b/src/moomoo/Agent.ts new file mode 100644 index 0000000..c5f6b71 --- /dev/null +++ b/src/moomoo/Agent.ts @@ -0,0 +1,352 @@ +// @ts-nocheck +import Entity from "./Entity"; +import entities from "./entities.json" +import { randInt, randFloat, eucDistance, getAngle, randomPos } from "./util"; +import Vec2 from "vec2"; +import Game from "./Game"; +import { ItemType } from "../items/UpgradeItems"; +import GameObject from "../gameobjects/GameObject"; +import {shouldHideFromEnemy} from "../items/items" + +import { Packet } from "../packets/Packet"; +import { PacketFactory } from "../packets/PacketFactory"; +import { PacketType } from "../packets/PacketType"; + +var entity_ids: Number[] = []; + +entities = entities.reduce(function (map, obj) { + map[obj.id] = obj; + entity_ids.push(obj.id) + return map; +}, {}); + +function collideCircles(pos1: Vec2, r1: number, pos2: Vec2, r2: number) { + return pos1.distance(pos2) <= r1 + r2; + } + +function collideAgentGameObject(agent: Agent, gameObj: GameObject) { + return collideCircles(agent.location, agent.scale, gameObj.location, gameObj.data === ItemType.PitTrap ? 0.3 * gameObj.realScale : gameObj.realScale); + } + +export default class Agent extends Entity { + + // 0: 16 # id + // 1: 4 # agenttype + // 2: 1761 #posX + // 3: 4502 #posY + // 4: 3.46 #rot? cuz float + // 5: 300 # health + // 6: 2 # damage? + game: Game; + cowNameIndex: number; + spawnCounter: Number = -1; + lockMove: boolean = false; + waitCount: number = 1; + moveCount: number = 0; + active: boolean = true; + targetAngle: number = 0; + turnSpeed: number = 1; + speed: number = 0.8; + viewRange: number; + + maxHealth: number = 10; + health: number = 10; + agent_dat: object; + + constructor(id: number, agenttype: number, location: Vec2, angle: number = 0, velocity: Vec2 = new Vec2(0, 0), game: Game) { + super(id, location, angle, velocity); + this.game = game; + this.cowNameIndex = randInt(1, 45) - 1; + + if (entity_ids.includes(agenttype)) { + this.agent_dat = entities[agenttype]; + } else { + this.agent_dat = entities[0]; + }; + this.agentType = this.agent_dat.id; + this.maxHealth = this.agent_dat.health; + this.chargePlayer = !!this.agent_dat.chargePlayer + + this.turnSpeed = this.agent_dat.turnSpeed || this.turnSpeed; + this.speed = this.agent_dat.speed || this.speed + this.health = this.maxHealth; + this.targetAngle = 0; + this.viewRange = this.agent_dat.viewRange; + let agent_scale = this.agent_dat.scale; + this.scale = agent_scale ? agent_scale : this.scale; //keep default entity scale if none + this.lastDot = 0; //see bundle.js (used for delaying dmgOverTime) (0 by default, every update lastDot-=dt and if negative: apply this.damageOvertime.damage and set to 1second) + } + + getUpdateData() { + return [this.id, this.agent_dat.id || 0, this.location.x, this.location.y, this.angle, this.health, this.cowNameIndex] + } + + update(game: Game, deltaTime: number) { + let dT = 1000*deltaTime; + let can_attack = false; + let speedMultiplier = 1; + + //river + if (!this.zIndex //the ai is not elevated on a platform + && !this.lockMove //the ai is allowed to move + ) { + if (this.y >= game.mapScale / 2 - game.riverWidth / 2 //below top river line + && this.y <= game.mapScale / 2 + game.riverWidth / 2) {//over bottom river line + speedMultiplier = .33; + this.velocity.add(game.waterCurrent * dT, 0);//then set speed slower and accelerate right + } + } + + if (this.lockMove) { + this.velocity.set(0, 0); + } else if (this.waitCount > 0) { + //ai state of waiting, find a goal!!! + this.waitCount -= dT; + if (this.waitCount <= 0) { + + if (this.chargePlayer) { + let selectedTarget; + let selectedDistance:number; + for (let playerIndex = 0; playerIndex < game.state.players.length; ++playerIndex) { + + let player = game.state.players[playerIndex]; + let d = eucDistance( + [this.location.x, this.location.y], + [player.location.x, player.location.y] + ); + + if (!player.dead && !(player.hatId && getHat(player.hatId).bullRepel)) { + if (d <= this.viewRange && (!selectedTarget || d < selectedDistance)) { + selectedDistance = d; + selectedTarget = player; + } + } + }; + if (selectedTarget) { + this.chargeTarget = selectedTarget; + this.moveCount = randInt(8e3, 12e3); + } else { + this.moveCount = randInt(3e3, 3e3); + this.targetAngle = randFloat(-Math.PI, Math.PI); + }; + + } else { + this.moveCount = randInt(4e3, 1e4); + + this.targetAngle = randFloat(-Math.PI, Math.PI); + }; + // this.targetAngle = 0; + + }; + } else if (this.moveCount > 0) { + this.moveCount -= dT; //remove moving time + + + //wait if your moving time has ended + if (this.moveCount <= 0) { + this.runFrom = undefined; + this.chargeTarget = undefined; + this.waitCount = (this.agent_dat.hostile ? 1500 : randInt(1500, 6e3)); + } + + //ai state of moving + var calc_speed = this.speed * speedMultiplier; + if (this.runFrom && ((this.runFrom.active && !this.runFrom.isPlayer) || !this.runFrom?.dead)) { + this.targetAngle = this.runFrom.location.angleTo(this.location); + calc_speed *= 1.42; + } else if (this.chargeTarget && !this.chargeTarget.dead) { + this.targetAngle = Math.atan2(this.chargeTarget.location.y-this.location.y, this.chargeTarget.location.x-this.location.x); + calc_speed *= 1.75; + can_attack = true; + if (this.hitWait) { + calc_speed *= .3; + } + } + let i: number = Math.PI * 2; + if (this.angle != this.targetAngle) { + this.angle %= i; //mod 2pi + let rawdelta: number = (this.angle - this.targetAngle + i) % i; //mod 2pi (get some sort of delta to target) + let m: number = Math.min(Math.abs(rawdelta - i), rawdelta, this.turnSpeed * dT / 20); //then calculate the minimum distance to turn (maximum then being turnspeed) + let y: number = rawdelta - Math.PI >= 0 ? 1 : -1; //finally get a multiplier for the direction to turn + this.angle += y * m + i //change the direction (no idea why add 2pi???) + } + this.angle %= i; //make sure it's clamped between 0 and 2pi + + this.velocity.add(calc_speed * dT / 20 * Math.cos(this.angle), calc_speed * dT / 20 * Math.sin(this.angle)); + + }; + + + + this.tryMoveSmart(dT, game, can_attack); + + // this.location.add(this.velocity.x * deltaTime, this.velocity.y * deltaTime); + // this.location.clamp(new Vec2(this.scale / 2, this.scale / 2), new Vec2(game.mapScale - this.scale / 2, game.mapScale - this.scale / 2)); + + } + + public checkCollision(object:GameObject, location:Vec2) { + let i =1; + + let scaletot = this.scale + object.scale; + + let distance = location.distance(object.location) - scaletot; + + if (distance<0){ + if (object.ignoreCollision){ + + }else{ + let f = Math.atan2(location.y - object.location.y, location.x - object.location.x); + + if (object.isPlayerGameObject()){ + distance = -1 * distance / 2; + location.add(distance * Math.cos(f), distance * Math.sin(f)) + object.location.subtract( distance * Math.cos(f), distance * Math.sin(f)); + } else{ + location = new Vec2(object.location.x + scaletot * Math.cos(f), object.location.y + scaletot * Math.sin(f)); + if(object.dmg && false) { + + this.changeHealth(-object.dmg, object.owner, object); + var p = 1.5 * (object.data.weightM || 1); + this.velocity.add(p*Math.cos(f),p * Math.sin(f)); + // !object.pDmg || this.skin && this.skin.poisonRes || (this.dmgOverTime.dmg = object.pDmg, this.dmgOverTime.time = 5, this.dmgOverTime.doer = object.owner), this.colDmg && object.health && (object.changeHealth(-this.colDmg) && this.disableObj(object), this.hitObj(object, r.getDirection(this.x, this.y, object.x, object.y))) + } + } + } + } + return location; + + if (Math.abs(dx) <= scaletot && Math.abs(dy) <= scaletot) { + // scaletot = this.scale + (object.getScale ? object.getScale() : object.realScale); + let distance = Math.sqrt(dx**2 + dy**2) - scaletot; + if (distance <= 0) { + //we are intersecting + if (object.ignoreCollision){ + switch (object.data){ + case ItemType.PitTrap: + if (!this.agent_dat.noTrap){ + inTrap = true; + } + break; + + case ItemType.BoostPad: + this.velocity.add( + object.boostSpeed * (object.data.weightM || 1) * Math.cos(object.dir), + object.boostSpeed * (object.data.weightM || 1) * Math.sin(object.dir) + ); + break; + // object.healCol ? this.healCol = object.healCol + case ItemType.Teleporter: + this.location = randomPos() + break; + } + } else{ + // var f = r.getDirection(this.x, this.y, object.x, object.y); + var f = object.location.angleTo(location); + // var dist = location.distance(object.location); + if (object.isPlayer){ + distance = -1 * distance / 2; + location.add(distance * Math.cos(f), distance * Math.sin(f)) + object.location.subtract( distance * Math.cos(f), distance * Math.sin(f)); + } else{ + location = new Vec2(object.location.x + scaletot * Math.cos(f), object.location.y + scaletot * Math.sin(f)); + if(object.dmg) { + this.changeHealth(-object.dmg, object.owner, object); + var p = 1.5 * (object.data.weightM || 1); + this.velocity.add(p*Math.cos(f),p * Math.sin(f)); + // !object.pDmg || this.skin && this.skin.poisonRes || (this.dmgOverTime.dmg = object.pDmg, this.dmgOverTime.time = 5, this.dmgOverTime.doer = object.owner), this.colDmg && object.health && (object.changeHealth(-this.colDmg) && this.disableObj(object), this.hitObj(object, r.getDirection(this.x, this.y, object.x, object.y))) + } + } + } + } + } + return location + } + + public tryMoveSmart(deltaTime: number, game:Game){ + + let inTrap = false; + + (this.spikeHit > 0 && --this.spikeHit < 0) && (this.spikeHit = 0); + let newLocation = new Vec2( + this.location.x, + this.location.y + ); + + let packetFactory = PacketFactory.getInstance(); + + // for (let player_to_log of game.state.players){ + + // player_to_log.client?.socket.send( + // packetFactory.serializePacket( + // new Packet( + // PacketType.CHAT, + // [this.id, deltaTime.toFixed(4).toString()] + // ) + // ) + // ); + // } + + newLocation.add(deltaTime * this.velocity.x, deltaTime * this.velocity.y); + + //deceleration + let decel_coeff = game.playerDecel ** deltaTime; + this.velocity.multiply(decel_coeff, decel_coeff); //testing with constants + + let gameObj; + for (gameObj of this.getNearbyGameObjects(game.state, true)){ + newLocation = this.checkCollision(gameObj, newLocation); + } + + newLocation.clamp(new Vec2(35, 35), new Vec2(game.mapScale - 35, game.mapScale - 35)); + this.location = newLocation + + + }; + + + public getNearbyGameObjects(state: GameState, includeHidden = false) { + const RADIUS = process.env.GAMEOBJECT_NEARBY_RADIUS || 1250; + + let gameObjects = []; + + for (let gameObject of state.gameObjects) { + if ( + eucDistance( + [this.location.x, this.location.y], + [gameObject.location.x, gameObject.location.y] + ) < RADIUS + ) { + if ( + !(gameObject.isPlayerGameObject() && + shouldHideFromEnemy(gameObject.data) && + gameObject.isEnemy(this, state.tribes) && + !this.client?.seenGameObjects.includes(gameObject.id)) || includeHidden + ) { + gameObjects.push(gameObject); + } + } + } + + return gameObjects; + } + + getNearbyAgents(state: GameState) { + return super.getNearbyAgents(state, this); + } + + respawn() { + this.spawnCounter = 1000; + this.location = new Vec2(this.startX || randInt(0, this.game.mapWidth), this.startY || randInt(0, this.game.mapHeight)) + } + + + + canSee = function (e: Entity) { + if (!e) return false; + if (e.skin && e.skin.invisTimer && e.noMovTimer >= e.skin.invisTimer) return false; //if invis + var t = Math.abs(e.location.x - this.location.x) - e.scale, //distance to edge of circle + i = Math.abs(e.location.y - this.location.y) - e.scale; //distance to edge of circle + return t <= this.game.maxScreenWidth / 2 * 1.3 && i <= this.game.maxScreenHeight / 2 * 1.3 + }; +} \ No newline at end of file diff --git a/src/moomoo/Entity.ts b/src/moomoo/Entity.ts index 704b2d2..c0d7f3d 100755 --- a/src/moomoo/Entity.ts +++ b/src/moomoo/Entity.ts @@ -1,10 +1,23 @@ import Vec2 from "vec2"; +import Agent from "./Agent"; +import entities from './entities.json'; +import GameState from "./GameState"; +import Player from "./Player"; +import { eucDistance } from "./util"; + +for (let i = 0; i < entities.length; i++) { + console.log(JSON.stringify(entities[i])); + +} export default class Entity { public id: number; public location: Vec2; public angle: number; public velocity: Vec2; + public scale: number = 50; + public zIndex: number = 0; + public isPlayer: boolean = false; constructor(id: number, location: Vec2, angle: number = 0, velocity: Vec2 = new Vec2(0, 0)) { this.id = id; @@ -12,4 +25,46 @@ export default class Entity { this.angle = angle; this.velocity = velocity; } + + getNearbyPlayers(state: GameState, except?: Player) { + const RADIUS = process.env.PLAYER_NEARBY_RADIUS || 1250; + + let players = []; + + for (let player of state.players) { + if (player!==except && !player.dead) { + if ( + eucDistance( + [this.location.x, this.location.y], + [player.location.x, player.location.y] + ) < RADIUS + ) { + players.push(player); + } + } + } + + return players; + } + + getNearbyAgents(state: GameState, except?:Agent) { //careful this does not handle resetting the agent in case of death, has to be handled accordingly + const RADIUS = process.env.PLAYER_NEARBY_RADIUS || 1250; + + let agents = []; + + for (let ag of state.agents) { + if (ag!==except){ + if( + eucDistance( + [this.location.x, this.location.y], + [ag.location.x, ag.location.y] + ) < RADIUS + ) { + agents.push(ag); + } + } + } + + return agents; + } } \ No newline at end of file diff --git a/src/moomoo/Game.ts b/src/moomoo/Game.ts index 412077f..4bc08cc 100755 --- a/src/moomoo/Game.ts +++ b/src/moomoo/Game.ts @@ -22,6 +22,7 @@ import { getHat } from './Hats'; import { WeaponVariant } from './Weapons'; import { ItemType } from '../items/UpgradeItems'; import { getProjectileRange, getProjectileSpeed } from '../projectiles/projectiles'; +import Agent from './Agent'; let currentGame: Game | null = null; @@ -41,6 +42,12 @@ export default class Game { public clients: Client[] = []; public lastTick: number = 0; public started: boolean = false; + public maxScreenWidth: Number = 1920; + public maxScreenHeight: Number = 1080; + public mapScale = 14400; + public waterCurrent = 0.0011; + public riverWidth = 700; + public playerDecel:number = .993; lastUpdate: number = 0; physTimer: NanoTimer | undefined; @@ -86,7 +93,7 @@ export default class Game { const riverGameObjectTypes = [GameObjectType.Mine]; outerLoop: for (let i = 0; i < 200; i++) { - let location = randomPos(14400, 14400); + let location = randomPos(this.mapScale, this.mapScale); let gameObjectType = location.y >= 12e3 ? desertGameObjectTypes[Math.floor(Math.random() * desertGameObjectTypes.length)] : @@ -190,13 +197,13 @@ export default class Game { ) ); } else { - this.kickClient( - client, - "Kicked for hacks" - ); + // this.kickClient( + // client, + // "Kicked for hacks" + // ); } } catch (e) { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } }); @@ -343,6 +350,39 @@ export default class Game { } } + makeAgentUpdateForClient(client: Client, agents: Agent[]) { + let agentUpdate: (number | string | null)[] = []; + + if (client.player) { + + for (let ag of agents) { + // if (!ag.invisible) { + agentUpdate = agentUpdate.concat(ag.getUpdateData()); + + // } + } + } + + return agentUpdate; + } + + sendAgentUpdates() { + let packetFactory = PacketFactory.getInstance(); + + for (let client of Object.values(this.clients)) { + if (client.player){ + let agentsToUpdate = client.player.getNearbyAgents(this.state); + client.socket.send( + packetFactory.serializePacket( + new Packet(PacketType.UPDATE_ANIMALS, [ + this.makeAgentUpdateForClient(client, agentsToUpdate), + ]) + ) + ); + } + } + } + sendLeaderboardUpdates() { let packetFactory = PacketFactory.getInstance(); let leaderboardUpdate: (string | number)[] = []; @@ -372,6 +412,7 @@ export default class Game { */ tick() { this.sendPlayerUpdates(); + this.sendAgentUpdates(); } /** @@ -402,6 +443,35 @@ export default class Game { } } + updateAgents(deltaTime: number){ + // console.log(deltaTime); (in seconds) + + this.state.agents.forEach(agent => { + agent.update(this, deltaTime) + //TODO apply respawn logic + //TODO apply dmgOverTime logic + // var s = false; + // var speedMultiplier = 1; //implicit + // if (!agent.lockMove){//TODO see and add what !this.zIndex means as a condition??? + + // let rivTop = this.mapScale / 2 - this.riverWidth / 2; + // let rivBottom = this.mapScale / 2 + this.riverWidth / 2; + + // if(agent.location.y >= rivTop && agent.location.y <= rivBottom){ + // speedMultiplier = .33; + // console.log("within river"); + + // agent.velocity.add(this.waterCurrent * deltaTime/0.33, 0) + + // } + // if (agent.lockMove){ + // agent.velocity.set(0,0,true) //set speed to 0 + // } + // } + }) + + } + updateProjectiles(deltaTime: number) { let packetFactory = PacketFactory.getInstance(); @@ -826,6 +896,7 @@ export default class Game { physUpdate() { this.updateProjectiles(.1); + this.updateAgents(.1) } /** @@ -969,8 +1040,22 @@ export default class Game { let packetFactory = PacketFactory.getInstance(); switch (packet.type) { + case PacketType.PING: + let player = this.state.players.find( + (plr) => plr.ownerID === client.id + ); + if (player==undefined){ + // console.log("player is undefined, check Game.ts for weird shit happening"); + return; + } + player.client?.socket.send( + packetFactory.serializePacket( + new Packet(PacketType.PING, []) + ) + ); + case PacketType.SPAWN: - if (client.player && !client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (client.player && !client.player.dead) this.kickClient(client, "Kicked for hacks"); if ( "name" in packet.data[0] && @@ -995,7 +1080,7 @@ export default class Game { newPlayer = player; } - newPlayer.location = randomPos(14400, 14400); + newPlayer.location = randomPos(this.mapScale, this.mapScale); newPlayer.name = packet.data[0].name > 15 || packet.data[0].name === "" ? "unknown" @@ -1065,7 +1150,7 @@ export default class Game { client.player.isAttacking = false; } } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } break; case PacketType.PLAYER_MOVE: @@ -1079,7 +1164,7 @@ export default class Game { if (client.player) client.player.angle = packet.data[0]; break; case PacketType.CHAT: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); for (let badWord of badWords) { if (packet.data[0].includes(badWord)) @@ -1103,7 +1188,7 @@ export default class Game { } break; case PacketType.CLAN_CREATE: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.player) { let tribe = this.state.addTribe(packet.data[0], client.player.id); @@ -1122,7 +1207,7 @@ export default class Game { } break; case PacketType.CLAN_REQ_JOIN: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.player && client.player.clanName === null) { let tribe = this.state.tribes.find( @@ -1142,11 +1227,11 @@ export default class Game { ) } } else { - this.kickClient(client, "Kicked for hacks") + // this.kickClient(client, "Kicked for hacks") } break; case PacketType.CLAN_ACC_JOIN: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.tribeJoinQueue.length && client.player && packet.data[1]) { let tribe = this.state.tribes.find( @@ -1213,7 +1298,7 @@ export default class Game { client.player.lastHitTime = 0; client.player.selectedWeapon = client.player.secondaryWeapon; } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } } else { let itemCost = getItemCost(packet.data[0]); @@ -1245,7 +1330,7 @@ export default class Game { } break; case PacketType.LEAVE_CLAN: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.player) { let tribeIndex = this.state.tribes.findIndex(tribe => tribe.membersSIDs.includes(client.player?.id as number)); @@ -1260,7 +1345,7 @@ export default class Game { } break; case PacketType.BUY_AND_EQUIP: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); let isAcc = packet.data[2]; @@ -1268,14 +1353,14 @@ export default class Game { if (isAcc) return; if ((!getHat(packet.data[1]) || getHat(packet.data[1])?.dontSell) && packet.data[1] !== 0) { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); return; } if (client.player) { if (packet.data[0]) { if (client.ownedHats.includes(packet.data[1])) { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } else { if (client.player.points >= (getHat(packet.data[1])?.price || 0)) { client.player.points -= getHat(packet.data[1])?.price || 0; @@ -1316,30 +1401,30 @@ export default class Game { ); } } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } } } break; case PacketType.CLAN_KICK: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.player) { let tribeIndex = this.state.tribes.findIndex(tribe => tribe.ownerSID == client.player?.id); let tribe = this.state.tribes[tribeIndex]; - if (tribeIndex < 0) this.kickClient(client, "Kicked for hacks"); - if (!tribe?.membersSIDs.includes(packet.data[0])) this.kickClient(client, "Kicked for hacks"); + // if (tribeIndex < 0) this.kickClient(client, "Kicked for hacks"); + // if (!tribe?.membersSIDs.includes(packet.data[0])) this.kickClient(client, "Kicked for hacks"); let player = this.state.players.find(player => player.id == packet.data[0]); - if (!player) this.kickClient(client, "Kicked for hacks"); + // if (!player) this.kickClient(client, "Kicked for hacks"); if (player) this.state.leaveClan(player, tribeIndex); } break; case PacketType.SELECT_UPGRADE: - if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); + // if (!client.player || client.player.dead) this.kickClient(client, "Kicked for hacks"); if (client.player) { let item = packet.data[0] as number; @@ -1351,7 +1436,7 @@ export default class Game { let preItem = getPrerequisiteWeapon(item); if (preItem) { - if (!(client.player.weapon == preItem || client.player.secondaryWeapon == preItem)) this.kickClient(client, "Kicked for hacks"); + // if (!(client.player.weapon == preItem || client.player.secondaryWeapon == preItem)) this.kickClient(client, "Kicked for hacks"); } if (Object.values(PrimaryWeapons).includes(item)) { @@ -1368,7 +1453,7 @@ export default class Game { client.player.secondaryWeaponExp = 0; } } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } } else { item -= 16; @@ -1376,13 +1461,13 @@ export default class Game { let preItem = getPrerequisiteItem(item); if (preItem) { - if (!client.player.items.includes(item - preItem)) this.kickClient(client, "Kicked for hacks"); + // if (!client.player.items.includes(item - preItem)) this.kickClient(client, "Kicked for hacks"); } client.player.items[getGroupID(item)] = item; client.player.items = client.player.items.filter(playerItem => playerItem != undefined); } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } } @@ -1425,7 +1510,7 @@ export default class Game { ); } } else { - this.kickClient(client, "Kicked for hacks"); + // this.kickClient(client, "Kicked for hacks"); } break; } diff --git a/src/moomoo/GameState.ts b/src/moomoo/GameState.ts index 7349681..dea854a 100755 --- a/src/moomoo/GameState.ts +++ b/src/moomoo/GameState.ts @@ -9,6 +9,8 @@ import GameObject from "../gameobjects/GameObject"; import { PacketType } from "../packets/PacketType"; import Projectile from "../projectiles/Projectile"; import { getProjectileSpeed, getProjectileRange } from "../projectiles/projectiles"; +import Agent from "./Agent"; +import { randInt, randomPos } from "./util"; export default class GameState { public game: Game; @@ -16,9 +18,13 @@ export default class GameState { public players: Player[] = []; public tribes: Tribe[] = []; public projectiles: Projectile[] = []; + public agents: Agent[] = []; constructor(game: Game) { this.game = game; + for(let i=0; i<20; i++){ + this.addAgentSimple(new Vec2(0,7000)); + } } addProjectile(type: number, location: Vec2, player?: Player, angle = player?.angle, layer = player?.layer) { @@ -108,6 +114,30 @@ export default class GameState { ]; } + // 0: 16 # id + // 1: 4 # agenttype + // 2: 1761 #posX + // 3: 4502 #posY + // 4: 3.46 #rot? cuz float + // 5: 300 # health + // 6: 2 # damage? + addAgentSimple(pos?:Vec2){ + if (typeof pos === "undefined"){ + pos = randomPos(this.game.mapScale, this.game.mapScale); + }; + return this.addAgent(this.agents.length, randInt(3,6),pos, Math.random()*Math.PI*2, this.game); + } + + addAgent(sid: number, agenttype:number, pos:Vec2, dir:number, game: Game) { + if (!pos){ + pos=randomPos(this.game.mapScale, this.game.mapScale); + } + return this.agents[ + this.agents.push(new Agent(sid, agenttype, pos, Math.random()*Math.PI, new Vec2(0,0), this.game)) + // this.agents.push(new Agent(this.agents.length, randInt(0,5), , Math.random()*Math.PI, new Vec2(0,0))) + ]; + } + addTribe(name: string, ownerSID: number) { if (this.tribes.find(tribe => tribe.name == name || tribe.ownerSID == ownerSID)) return false; diff --git a/src/moomoo/Physics.ts b/src/moomoo/Physics.ts index afa3b86..5def427 100755 --- a/src/moomoo/Physics.ts +++ b/src/moomoo/Physics.ts @@ -11,6 +11,7 @@ import { PacketFactory } from "../packets/PacketFactory"; import Projectile from "../projectiles/Projectile"; import { getGame } from "./Game"; import { randomPos } from "./util"; +import Agent from "./Agent"; function collideCircles(pos1: Vec2, r1: number, pos2: Vec2, r2: number) { return pos1.distance(pos2) <= r1 + r2; @@ -75,7 +76,7 @@ function tryMovePlayer(player: Player, delta: number, xVel: number, yVel: number player.location = randomPos(14400 + 35, 14400 - 35); return; } - if (!hasCollision(gameObj.data)) continue; + if (!hasCollision(gameObj.data)) continue;//skip the collision calcs } let dmg = gameObj.dmg; @@ -138,9 +139,9 @@ function tryMovePlayer(player: Player, delta: number, xVel: number, yVel: number player.velocity.add(0.0011 * delta * (1 / .33), 0); } } - - newLocation.clamp(new Vec2(0 + 35, 0 + 35), new Vec2(14400 - 35, 14400 - 35)); - player.location = newLocation.add(delta * xVel, delta * yVel); + newLocation.add(delta * xVel, delta * yVel); + newLocation.clamp(new Vec2(35, 35), new Vec2(player.game.mapScale - 35, player.game.mapScale - 35)); + player.location = newLocation } function movePlayer(player: Player, delta: number, state: GameState) { diff --git a/src/moomoo/Player.ts b/src/moomoo/Player.ts index 85213fc..ff25e45 100755 --- a/src/moomoo/Player.ts +++ b/src/moomoo/Player.ts @@ -28,10 +28,12 @@ import { collideGameObjects } from "./Physics"; import { getHat } from "./Hats"; export default class Player extends Entity { + public scale = 35; public name: string; public skinColor: SkinColor; private _health: number = 100; public game: Game; + public isPlayer: boolean = true; public lastPing: number = 0; public lastDot = 0; @@ -542,23 +544,6 @@ export default class Player extends Entity { } getNearbyPlayers(state: GameState) { - const RADIUS = process.env.PLAYER_NEARBY_RADIUS || 1250; - - let players = []; - - for (let player of state.players) { - if (player !== this && !player.dead) { - if ( - eucDistance( - [this.location.x, this.location.y], - [player.location.x, player.location.y] - ) < RADIUS - ) { - players.push(player); - } - } - } - - return players; + return super.getNearbyPlayers(state, this); } } diff --git a/src/moomoo/entities.json b/src/moomoo/entities.json new file mode 100644 index 0000000..8317c08 --- /dev/null +++ b/src/moomoo/entities.json @@ -0,0 +1,176 @@ +[ + { + "id": 0, + "src": "cow_1", + "killScore": 150, + "health": 500, + "weightM": 0.8, + "speed": 95e-5, + "turnSpeed": 0.001, + "scale": 72, + "drop": [ + "food", + 50 + ] + }, + { + "id": 1, + "src": "pig_1", + "killScore": 200, + "health": 800, + "weightM": 0.6, + "speed": 85e-5, + "turnSpeed": 0.001, + "scale": 72, + "drop": [ + "food", + 80 + ] + }, + { + "id": 2, + "name": "Bull", + "src": "bull_2", + "hostile": true, + "dmg": 20, + "killScore": 1e3, + "health": 1800, + "weightM": 0.5, + "speed": 94e-5, + "turnSpeed": 74e-5, + "scale": 78, + "viewRange": 800, + "chargePlayer": true, + "drop": [ + "food", + 100 + ] + }, + { + "id": 3, + "name": "Bully", + "src": "bull_1", + "hostile": true, + "dmg": 20, + "killScore": 2e3, + "health": 2800, + "weightM": 0.45, + "speed": 0.001, + "turnSpeed": 8e-4, + "scale": 90, + "viewRange": 900, + "chargePlayer": true, + "drop": [ + "food", + 400 + ] + }, + { + "id": 4, + "name": "Wolf", + "src": "wolf_1", + "hostile": true, + "dmg": 8, + "killScore": 500, + "health": 300, + "weightM": 0.45, + "speed": 0.001, + "turnSpeed": 0.002, + "scale": 84, + "viewRange": 800, + "chargePlayer": true, + "drop": [ + "food", + 200 + ] + }, + { + "id": 5, + "name": "Quack", + "src": "chicken_1", + "dmg": 8, + "killScore": 2e3, + "noTrap": true, + "health": 300, + "weightM": 0.2, + "speed": 0.0018, + "turnSpeed": 0.006, + "scale": 70, + "drop": [ + "food", + 100 + ] + }, + { + "id": 6, + "name": "MOOSTAFA", + "nameScale": 50, + "src": "enemy", + "hostile": true, + "dontRun": true, + "fixedSpawn": true, + "spawnDelay": 6e4, + "noTrap": true, + "colDmg": 100, + "dmg": 40, + "killScore": 8e3, + "health": 18e3, + "weightM": 0.4, + "speed": 7e-4, + "turnSpeed": 0.01, + "scale": 80, + "spriteMlt": 1.8, + "leapForce": 0.9, + "viewRange": 1e3, + "hitRange": 210, + "hitDelay": 1e3, + "chargePlayer": true, + "drop": [ + "food", + 100 + ] + }, + { + "id": 7, + "name": "Treasure", + "hostile": true, + "nameScale": 35, + "src": "crate_1", + "fixedSpawn": true, + "spawnDelay": 12e4, + "colDmg": 200, + "killScore": 5e3, + "health": 2e4, + "weightM": 0.1, + "speed": 0, + "turnSpeed": 0, + "scale": 70, + "spriteMlt": 1 + }, + { + "id": 8, + "name": "MOOFIE", + "src": "wolf_2", + "hostile": true, + "fixedSpawn": true, + "dontRun": true, + "hitScare": 4, + "spawnDelay": 3e4, + "noTrap": true, + "nameScale": 35, + "dmg": 10, + "colDmg": 100, + "killScore": 3e3, + "health": 7e3, + "weightM": 0.45, + "speed": 0.0015, + "turnSpeed": 0.002, + "scale": 90, + "viewRange": 800, + "chargePlayer": true, + "drop": [ + "food", + 1e3 + ] + } +] \ No newline at end of file diff --git a/src/moomoo/util.ts b/src/moomoo/util.ts index 9487d40..4d12856 100755 --- a/src/moomoo/util.ts +++ b/src/moomoo/util.ts @@ -63,4 +63,16 @@ function stableSort(array: T[], cmp: Comparator = defaultCmp): T[] { return array; } -export { SkinColor, eucDistance, randomPos, chunk, stableSort }; \ No newline at end of file +function randInt(min:number, max:number) { + return Math.floor(Math.random() * (max - min + 1)) + min; +} +function randFloat(min:number, max:number) { + let cal = (Math.random() * (max - min) + min); + return cal; +} + +function getAngle(x1:number, y1:number, x2:number, y2:number){ + return Math.atan2(y2 - y1, x2 - x1); +} + +export { SkinColor, eucDistance, randomPos, chunk, stableSort, randInt, randFloat, getAngle }; \ No newline at end of file diff --git a/src/packets/PacketFactory.ts b/src/packets/PacketFactory.ts index 78f7b86..66681c5 100755 --- a/src/packets/PacketFactory.ts +++ b/src/packets/PacketFactory.ts @@ -19,25 +19,28 @@ interface PacketTypeMapping { */ let packetTypeMapping: PacketTypeMapping = {}; +//11:death->clan_join_request +//10:clan_join_request->??? + packetTypeMapping[PacketType.ATTACK] = { value: "c", side: Side.Server }; packetTypeMapping[PacketType.AUTO_ATK] = { value: "7", side: Side.Server }; -packetTypeMapping[PacketType.CHAT] = { value: "ch", side: Side.Both }; +packetTypeMapping[PacketType.CHAT] = { value: "ch", side: Side.Both };//ok packetTypeMapping[PacketType.CLAN_ACC_JOIN] = { value: "11", side: Side.Server }; packetTypeMapping[PacketType.DEATH] = { value: "11", side: Side.Client }; -packetTypeMapping[PacketType.CLAN_CREATE] = { value: "8", side: Side.Server }; +packetTypeMapping[PacketType.CLAN_CREATE] = { value: "8", side: Side.Server };//ok packetTypeMapping[PacketType.CLAN_LIST] = { value: "id", side: Side.Client }; packetTypeMapping[PacketType.CLAN_ADD] = { value: "ac", side: Side.Client }; packetTypeMapping[PacketType.CLAN_DEL] = { value: "ad", side: Side.Client }; packetTypeMapping[PacketType.CLAN_KICK] = { value: "12", side: Side.Server }; -packetTypeMapping[PacketType.CLAN_REQ_JOIN] = { value: "10", side: Side.Server }; +packetTypeMapping[PacketType.CLAN_REQ_JOIN] = { value: "11", side: Side.Server }; packetTypeMapping[PacketType.DISCONN] = { value: "d", side: Side.Client }; packetTypeMapping[PacketType.GATHER_ANIM] = { value: "7", side: Side.Client }; -packetTypeMapping[PacketType.BUY_AND_EQUIP] = { value: "13c", side: Side.Server }; -packetTypeMapping[PacketType.HEALTH_UPDATE] = { value: "h", side: Side.Client }; -packetTypeMapping[PacketType.ITEM_BUY] = { value: "13", side: Side.Client }; -packetTypeMapping[PacketType.LEADERBOARD_UPDATE] = { value: "5", side: Side.Client }; +packetTypeMapping[PacketType.BUY_AND_EQUIP] = { value: "13c", side: Side.Server };//ok, maybe side wrong? +packetTypeMapping[PacketType.HEALTH_UPDATE] = { value: "h", side: Side.Client };//ok +packetTypeMapping[PacketType.ITEM_BUY] = { value: "13", side: Side.Client };//outdated see BUY AND EQUIP +packetTypeMapping[PacketType.LEADERBOARD_UPDATE] = { value: "5", side: Side.Client };//conflict packetTypeMapping[PacketType.LEAVE_CLAN] = { value: "9", side: Side.Server }; -packetTypeMapping[PacketType.LOAD_GAME_OBJ] = { value: "6", side: Side.Client }; +packetTypeMapping[PacketType.LOAD_GAME_OBJ] = { value: "6", side: Side.Client };//conflict packetTypeMapping[PacketType.MINIMAP] = { value: "mm", side: Side.Client }; packetTypeMapping[PacketType.PING] = { value: "pp", side: Side.Server }; packetTypeMapping[PacketType.PLAYER_MOVE] = { value: "33", side: Side.Server }; @@ -46,26 +49,26 @@ packetTypeMapping[PacketType.PLAYER_REMOVE] = { value: "4", side: Side.Client }; packetTypeMapping[PacketType.PLAYER_SET_CLAN] = { value: "st", side: Side.Client }; packetTypeMapping[PacketType.PLAYER_START] = { value: "1", side: Side.Client }; packetTypeMapping[PacketType.PLAYER_UPDATE] = { value: "33", side: Side.Client }; -packetTypeMapping[PacketType.SELECT_ITEM] = { value: "5", side: Side.Server }; -packetTypeMapping[PacketType.SELECT_UPGRADE] = { value: "6", side: Side.Server }; +packetTypeMapping[PacketType.SELECT_ITEM] = { value: "5", side: Side.Server };//ok +packetTypeMapping[PacketType.SELECT_UPGRADE] = { value: "6", side: Side.Server };//ok packetTypeMapping[PacketType.SET_ANGLE] = { value: "2", side: Side.Server }; packetTypeMapping[PacketType.SET_CLAN_PLAYERS] = { value: "sa", side: Side.Client }; -packetTypeMapping[PacketType.UPDATE_AGE] = { value: "15", side: Side.Client }; +packetTypeMapping[PacketType.UPDATE_AGE] = { value: "15", side: Side.Client };//ok packetTypeMapping[PacketType.UPDATE_HEALTH] = { value: "h", side: Side.Client }; -packetTypeMapping[PacketType.CLAN_NOTIFY_SERVER] = { value: "14", side: Side.Server }; -packetTypeMapping[PacketType.CLAN_NOTIFY_CLIENT] = { value: "p", side: Side.Client }; +packetTypeMapping[PacketType.CLAN_NOTIFY_SERVER] = { value: "14", side: Side.Server };//old? +packetTypeMapping[PacketType.CLAN_NOTIFY_CLIENT] = { value: "p", side: Side.Client };//old? packetTypeMapping[PacketType.UPDATE_PLACE_LIMIT] = { value: "14", side: Side.Client }; -packetTypeMapping[PacketType.SPAWN] = { value: "sp", side: Side.Server }; +packetTypeMapping[PacketType.SPAWN] = { value: "sp", side: Side.Server };//ok packetTypeMapping[PacketType.UPDATE_ITEMS] = { value: "17", side: Side.Client }; packetTypeMapping[PacketType.UPDATE_STORE] = { value: "us", side: Side.Client }; -packetTypeMapping[PacketType.UPGRADES] = { value: "16", side: Side.Client }; +packetTypeMapping[PacketType.UPGRADES] = { value: "16", side: Side.Client };//ok packetTypeMapping[PacketType.WIGGLE] = { value: "8", side: Side.Client }; -packetTypeMapping[PacketType.WINDOW_FOCUS] = { value: "rmd", side: Side.Server }; -packetTypeMapping[PacketType.PLAYER_ADD] = { value: "2", side: Side.Client }; +packetTypeMapping[PacketType.WINDOW_FOCUS] = { value: "rmd", side: Side.Server };//ok +packetTypeMapping[PacketType.PLAYER_ADD] = { value: "2", side: Side.Client };//ok // packetTypeMapping[PacketType.PLAYER_ATTACK] = { value: "2", side: Side.Client }; packetTypeMapping[PacketType.UPDATE_STATS] = { value: "9", side: Side.Client }; packetTypeMapping[PacketType.IO_INIT] = { value: "io-init", side: Side.Client }; -packetTypeMapping[PacketType.HEALTH_CHANGE] = { value: "t", side: Side.Client }; +packetTypeMapping[PacketType.HEALTH_CHANGE] = { value: "t", side: Side.Client };//ok?? ça marche en tt cas (a comprendre en attaquer???) packetTypeMapping[PacketType.JOIN_REQUEST] = { value: "an", side: Side.Client }; packetTypeMapping[PacketType.REMOVE_GAME_OBJ] = { value: "12", side: Side.Client }; packetTypeMapping[PacketType.ADD_PROJECTILE] = { value: "18", side: Side.Client }; diff --git a/src/server.ts b/src/server.ts index 7858d5c..b412454 100755 --- a/src/server.ts +++ b/src/server.ts @@ -13,6 +13,8 @@ import { startServer } from './moomoo/moomoo'; import { getGame } from './moomoo/Game'; import { TextEncoder } from 'util'; +import path from 'path'; + const app = express(); const server = http.createServer(app); const port = process.env.PORT; @@ -34,6 +36,24 @@ function format(timestamp: number) { return hours.toString().padStart(2, '0') + ':' + minutes.toString().padStart(2, '0') + ':' + seconds.toString().padStart(2, '0'); } +app.get('/customclient', (req, res) => { + // res.send("eeee"); + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Cache-Control', 'no-store') + res.setHeader('Content-Type', "text/javascript") + res.sendFile(path.resolve(__dirname, '../src/customclient.js')); + return; +}); + +app.head('/customclient', (req, res) => { + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Cache-Control', 'no-store') + //mimetype + res.setHeader('Content-Type', "text/javascript") + res.send(""); + return; +}); + app.get('/sanctuary', (req, res) => { if (req.accepts('html')) { res.render('version.html', { version: VERSION, nodeVersion: process.version, uptime: format(process.uptime()) }); diff --git a/yarn.lock b/yarn.lock index c9fd011..92b7307 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,19 +4,19 @@ "@babel/code-frame@^7.0.0": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== "@babel/highlight@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" @@ -25,12 +25,12 @@ "@commitlint/execute-rule@^9.1.1": version "9.1.1" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-9.1.1.tgz#59bfe018d85545881e4bd1a47f9cd155b2df4c2c" + resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.1.tgz" integrity sha512-kCncHMXfVDfmUx1NExl7T+s7udAWEOh039DFGR9R5MWoy+zm2cJsCdsbWFFuNbcPWCKor57ywdIUN2t048P6Yg== "@commitlint/load@>6.1.1": version "9.1.1" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-9.1.1.tgz#8b1580ab821729bbe197e95f960e7cee966402ae" + resolved "https://registry.npmjs.org/@commitlint/load/-/load-9.1.1.tgz" integrity sha512-RCIX44M8nq3bW98vuxA6C2rM0wAnZlneFls2OVi5l2BvD/rsQ2R9CZYwPt/MYU6RbwMmlGhkuHdScwK6pJeUqA== dependencies: "@commitlint/execute-rule" "^9.1.1" @@ -43,7 +43,7 @@ "@commitlint/resolve-extends@^9.1.1": version "9.1.1" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-9.1.1.tgz#8ce703fcd2426ab1f5449906442267e18c995430" + resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.1.tgz" integrity sha512-IxxNaSUT+dPhSCQPAMpQyHQlcSVikDxQWJFP6uwGJUU5rQff+0yQTuC3taWI2NWaATukjNWboAbH2vgBDnrDrg== dependencies: import-fresh "^3.0.0" @@ -53,12 +53,92 @@ "@commitlint/types@^9.1.1": version "9.1.1" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-9.1.1.tgz#d97ebc35d20eed6d8458361cbca5c7cb85d45184" + resolved "https://registry.npmjs.org/@commitlint/types/-/types-9.1.1.tgz" integrity sha512-SXY8bCQ1qacJ8AUTUxjabY8G6OjSmMPLN9MBCzGaKOjpPNX6z8zbXTbk9oU3GHZLtcxweWLCi2n49IRS4iQlwg== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz" + integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "@types/body-parser@*": version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz" integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== dependencies: "@types/connect" "*" @@ -66,26 +146,40 @@ "@types/color-name@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + resolved "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== "@types/connect@*": version "3.4.33" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz" integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== dependencies: "@types/node" "*" -"@types/dotenv@^8.2.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/dotenv/-/dotenv-8.2.0.tgz#5cd64710c3c98e82d9d15844375a33bf1b45d053" - integrity sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw== +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.37.0" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz" + integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== dependencies: - dotenv "*" + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/express-serve-static-core@*": version "4.17.9" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.9.tgz#2d7b34dcfd25ec663c25c85d76608f8b249667f1" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.9.tgz" integrity sha512-DG0BYg6yO+ePW+XoDENYz8zhNGC3jDDEpComMYn7WJc4mY1Us8Rw9ax2YhJXxpyk2SF47PQAoQ0YyVT1a0bEkA== dependencies: "@types/node" "*" @@ -94,7 +188,7 @@ "@types/express@^4.17.7": version "4.17.7" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz" integrity sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ== dependencies: "@types/body-parser" "*" @@ -102,73 +196,78 @@ "@types/qs" "*" "@types/serve-static" "*" +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + "@types/lodash@*": version "4.14.158" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.158.tgz#b38ea8b6fe799acd076d7a8d7ab71c26ef77f785" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.158.tgz" integrity sha512-InCEXJNTv/59yO4VSfuvNrZHt7eeNtWQEgnieIA+mIC+MOWM9arOWG2eQ8Vhk6NbOre6/BidiXhkZYeDY9U35w== "@types/lowdb@^1.0.9": version "1.0.9" - resolved "https://registry.yarnpkg.com/@types/lowdb/-/lowdb-1.0.9.tgz#1f6c27df72dd1c64522cc9a4566796d2dd058d38" + resolved "https://registry.npmjs.org/@types/lowdb/-/lowdb-1.0.9.tgz" integrity sha512-LBRG5EPXFOJDoJc9jACstMhtMP+u+UkPYllBeGQXXKiaHc+uzJs9+/Aynb/5KkX33DtrIiKyzNVTPQc/4RcD6A== dependencies: "@types/lodash" "*" "@types/mime@*": version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" + resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz" integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== "@types/minimist@^1.2.0": version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz" integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== "@types/msgpack-lite@^0.1.7": version "0.1.7" - resolved "https://registry.yarnpkg.com/@types/msgpack-lite/-/msgpack-lite-0.1.7.tgz#91e7cfa16bda0de7ef433f69060689f5013167ff" + resolved "https://registry.npmjs.org/@types/msgpack-lite/-/msgpack-lite-0.1.7.tgz" integrity sha512-OYPf2ExHl0TKuDn7M/356RDyCiqOQEs8f+SfePpbfHJJ7C8mqgp4ShgeUTuE8W7Tui2txbyVPiRiDPeK3D9PPA== dependencies: "@types/node" "*" "@types/nanotimer@^0.3.0": version "0.3.0" - resolved "https://registry.yarnpkg.com/@types/nanotimer/-/nanotimer-0.3.0.tgz#8db511a7ddcac749afd28d312fb275801b5ed51d" + resolved "https://registry.npmjs.org/@types/nanotimer/-/nanotimer-0.3.0.tgz" integrity sha512-D1EtCce8B5vyb/47+xOpBkv4NRvFwSIVBFjbc38RNTsk2GPYYKwWQP7fPp+2AnbM7+W01TCUAmJGLRzfITjuuA== "@types/node@*", "@types/node@^14.0.24": version "14.0.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.25.tgz#7ad8b00a1206d6c9e94810e49f3115f0bcc30456" + resolved "https://registry.npmjs.org/@types/node/-/node-14.0.25.tgz" integrity sha512-okMqUHqrMlGOxfDZliX1yFX5MV6qcd5PpRz96XYtjkM0Ws/hwg23FMUqt6pETrVRZS+EKUB5HY19mmo54EuQbA== "@types/normalize-package-data@^2.4.0": version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/nunjucks@^3.1.3": version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/nunjucks/-/nunjucks-3.1.3.tgz#55fa2bf6fd34641545a6686217324fde66d31164" + resolved "https://registry.npmjs.org/@types/nunjucks/-/nunjucks-3.1.3.tgz" integrity sha512-42IiIIBdoB7ZDwCVhCWYT4fMCj+4TeacuVgh7xyT2du5EhkpA+OFeeDdYTFCUt1MrHb8Aw7ZqFvr8s1bwP9l8w== "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/qs@*": version "6.9.3" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.3.tgz#b755a0934564a200d3efdf88546ec93c369abd03" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.3.tgz" integrity sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA== "@types/range-parser@*": version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== "@types/serve-static@*": version "1.13.4" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.4.tgz#6662a93583e5a6cabca1b23592eb91e12fa80e7c" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz" integrity sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug== dependencies: "@types/express-serve-static-core" "*" @@ -176,491 +275,590 @@ "@types/vec2@^1.6.1": version "1.6.1" - resolved "https://registry.yarnpkg.com/@types/vec2/-/vec2-1.6.1.tgz#4f02685683f8db18b40cfb4ac56b52f76ee10831" + resolved "https://registry.npmjs.org/@types/vec2/-/vec2-1.6.1.tgz" integrity sha512-8Lhxlrz3v+rb0jq3b3WApSEllsmMEQ8tmlUHKEBlOCdQUHhHU0L1BPqAJtihz/YD0bcUYygC7oHCQIB2phsLKQ== "@types/ws@^7.2.6": version "7.2.6" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.6.tgz#516cbfb818310f87b43940460e065eb912a4178d" + resolved "https://registry.npmjs.org/@types/ws/-/ws-7.2.6.tgz" integrity sha512-Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ== dependencies: "@types/node" "*" -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== a-sync-waterfall@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz#75b6b6aa72598b497a125e7a2770f14f4c8a1fa7" + resolved "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz" integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== -accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.9.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== add-stream@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= + resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" + integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.5, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz" integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== dependencies: type-fest "^0.11.0" -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== dependencies: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== array-buffer-to-hex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-to-hex/-/array-buffer-to-hex-1.0.0.tgz#9c76e53010ef7bf7bf8a27ebbb41d24e1d83edf4" + resolved "https://registry.npmjs.org/array-buffer-to-hex/-/array-buffer-to-hex-1.0.0.tgz" integrity sha512-arycdkxgK1cj6s03GDb96tlCxOl1n3kg9M2OHseUc6Pqyqp+lgfceFPmG507eI5V+oxOSEnlOw/dFc7LXBXF4Q== -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-ify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" + integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== asap@^2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -assign-symbols@^1.0.0: +at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async@^2.4.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== binary-extensions@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: - bytes "3.1.0" + bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" +browserslist@^4.14.5, "browserslist@>= 4.21.0": + version "4.21.5" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cachedir@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.2.0.tgz#19afa4305e05d79e417566882e0c8f960f62ff0e" - integrity sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +cachedir@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^6.2.2: version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -chalk@4.1.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +caniuse-lite@^1.0.30001449: + version "1.0.30001486" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz" + integrity sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chokidar@^3.3.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" - integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== +chokidar@^3.3.0, chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.2" -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - restore-cursor "^2.0.0" + restore-cursor "^3.1.0" -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-spinners@^2.5.0: + version "2.9.0" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + wrap-ansi "^7.0.0" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.0.0.tgz#2b270da94f8fb9014455312f829a1129dbf8887e" + resolved "https://registry.npmjs.org/commander/-/commander-6.0.0.tgz" integrity sha512-s7EA+hDtTYNhuXkTlhqew4txMZVdszBmKWSPEMxGr8ru8JXR7bLUFIAtPhcSuFdJQ0ILMxnJi8GkQL0yvDy/YA== commitizen@^4.0.3: - version "4.1.2" - resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-4.1.2.tgz#6095eb825fd3f0d3611df88e6803c69b23307e9a" - integrity sha512-LBxTQKHbVgroMz9ohpm86N+GfJobonGyvDc3zBGdZazbwCLz2tqLa48Rf2TnAdKx7/06W1i1R3SXUt5QW97qVQ== + version "4.3.0" + resolved "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz" + integrity sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw== dependencies: - cachedir "2.2.0" - cz-conventional-changelog "3.2.0" + cachedir "2.3.0" + cz-conventional-changelog "3.3.0" dedent "0.7.0" - detect-indent "6.0.0" - find-node-modules "2.0.0" + detect-indent "6.1.0" + find-node-modules "^2.1.2" find-root "1.1.0" - fs-extra "8.1.0" - glob "7.1.4" - inquirer "6.5.0" + fs-extra "9.1.0" + glob "7.2.3" + inquirer "8.2.5" is-utf8 "^0.2.1" - lodash "4.17.15" - minimist "1.2.5" + lodash "4.17.21" + minimist "1.2.7" strip-bom "4.0.0" - strip-json-comments "3.0.1" - -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" + strip-json-comments "3.1.1" compare-func@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" dot-prop "^5.1.0" -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== dependencies: buffer-from "^1.0.0" @@ -668,74 +866,65 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: - safe-buffer "5.1.2" + safe-buffer "5.2.1" content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -conventional-changelog-angular@^5.0.10: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== +conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-atom@^2.0.7: +conventional-changelog-atom@^2.0.8: version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz" integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== dependencies: q "^1.5.1" -conventional-changelog-codemirror@^2.0.7: +conventional-changelog-codemirror@^2.0.8: version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz" integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== dependencies: q "^1.5.1" conventional-changelog-config-spec@2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" + resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== -conventional-changelog-conventionalcommits@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.3.0.tgz#c4205a659f7ca9d7881f29ee78a4e7d6aeb8b3c2" - integrity sha512-oYHydvZKU+bS8LnGqTMlNrrd7769EsuEHKy4fh1oMdvvDi7fem8U+nvfresJ1IDB8K00Mn4LpiA/lR+7Gs6rgg== - dependencies: - compare-func "^1.3.1" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-conventionalcommits@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz#a02e0b06d11d342fdc0f00c91d78265ed0bc0a62" - integrity sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw== +conventional-changelog-conventionalcommits@^4.5.0, conventional-changelog-conventionalcommits@4.6.3: + version "4.6.3" + resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz" + integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== dependencies: compare-func "^2.0.0" lodash "^4.17.15" q "^1.5.1" -conventional-changelog-core@^4.1.7: - version "4.2.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.1.tgz#f811ad98ab2ff080becafc61407509420c9b447d" - integrity sha512-8cH8/DEoD3e5Q6aeogdR5oaaKs0+mG6+f+Om0ZYt3PNv7Zo0sQhu4bMDRsqAF+UTekTAtP1W/C41jH/fkm8Jtw== +conventional-changelog-core@^4.2.1: + version "4.2.4" + resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== dependencies: add-stream "^1.0.0" - conventional-changelog-writer "^4.0.18" + conventional-changelog-writer "^5.0.0" conventional-commits-parser "^3.2.0" dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "2.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" git-remote-origin-url "^2.0.0" git-semver-tags "^4.1.1" lodash "^4.17.15" @@ -743,40 +932,39 @@ conventional-changelog-core@^4.1.7: q "^1.5.1" read-pkg "^3.0.0" read-pkg-up "^3.0.0" - shelljs "^0.8.3" through2 "^4.0.0" -conventional-changelog-ember@^2.0.8: +conventional-changelog-ember@^2.0.9: version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz" integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== dependencies: q "^1.5.1" -conventional-changelog-eslint@^3.0.8: +conventional-changelog-eslint@^3.0.9: version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz" integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== dependencies: q "^1.5.1" -conventional-changelog-express@^2.0.5: +conventional-changelog-express@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz" integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== dependencies: q "^1.5.1" -conventional-changelog-jquery@^3.0.10: +conventional-changelog-jquery@^3.0.11: version "3.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz" integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== dependencies: q "^1.5.1" -conventional-changelog-jshint@^2.0.7: +conventional-changelog-jshint@^2.0.9: version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz" integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== dependencies: compare-func "^2.0.0" @@ -784,18 +972,17 @@ conventional-changelog-jshint@^2.0.7: conventional-changelog-preset-loader@^2.3.4: version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== -conventional-changelog-writer@^4.0.18: - version "4.0.18" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.18.tgz#10b73baa59c7befc69b360562f8b9cd19e63daf8" - integrity sha512-mAQDCKyB9HsE8Ko5cCM1Jn1AWxXPYV0v8dFPabZRkvsiWUul2YyAqbIaoMKF88Zf2ffnOPSvKhboLf3fnjo5/A== +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== dependencies: - compare-func "^2.0.0" conventional-commits-filter "^2.0.7" dateformat "^3.0.0" - handlebars "^4.7.6" + handlebars "^4.7.7" json-stringify-safe "^5.0.1" lodash "^4.17.15" meow "^8.0.0" @@ -803,86 +990,94 @@ conventional-changelog-writer@^4.0.18: split "^1.0.0" through2 "^4.0.0" -conventional-changelog@3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.21.tgz#4a774e6bf503acfd7e4685bb750da8c0eccf1e0d" - integrity sha512-ZGecVZPEo3aC75VVE4nu85589dDhpMyqfqgUM5Myq6wfKWiNqhDJLSDMsc8qKXshZoY7dqs1hR0H/15kI/G2jQ== - dependencies: - conventional-changelog-angular "^5.0.10" - conventional-changelog-atom "^2.0.7" - conventional-changelog-codemirror "^2.0.7" - conventional-changelog-conventionalcommits "^4.3.0" - conventional-changelog-core "^4.1.7" - conventional-changelog-ember "^2.0.8" - conventional-changelog-eslint "^3.0.8" - conventional-changelog-express "^2.0.5" - conventional-changelog-jquery "^3.0.10" - conventional-changelog-jshint "^2.0.7" +conventional-changelog@3.1.25: + version "3.1.25" + resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz" + integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== + dependencies: + conventional-changelog-angular "^5.0.12" + conventional-changelog-atom "^2.0.8" + conventional-changelog-codemirror "^2.0.8" + conventional-changelog-conventionalcommits "^4.5.0" + conventional-changelog-core "^4.2.1" + conventional-changelog-ember "^2.0.9" + conventional-changelog-eslint "^3.0.9" + conventional-changelog-express "^2.0.6" + conventional-changelog-jquery "^3.0.11" + conventional-changelog-jshint "^2.0.9" conventional-changelog-preset-loader "^2.3.4" conventional-commit-types@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz#7c9214e58eae93e85dd66dbfbafe7e4fffa2365b" + resolved "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz" integrity sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== -conventional-commits-filter@^2.0.6, conventional-commits-filter@^2.0.7: +conventional-commits-filter@^2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.1.0, conventional-commits-parser@^3.2.0: +conventional-commits-parser@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz#9e261b139ca4b7b29bcebbc54460da36894004ca" + resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz" integrity sha512-XmJiXPxsF0JhAKyfA2Nn+rZwYKJ60nanlbSWwwkGwLQFbugsc0gv1rzc7VbbUWAzJfR1qR87/pNgv9NgmxtBMQ== dependencies: - JSONStream "^1.0.4" is-text-path "^1.0.1" + JSONStream "^1.0.4" lodash "^4.17.15" meow "^8.0.0" split2 "^2.0.0" through2 "^4.0.0" trim-off-newlines "^1.0.0" -conventional-recommended-bump@6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.0.9.tgz#49ee74f52fbafcc63e89e2297d020279fea318f0" - integrity sha512-DpRmW1k8CpRrcsXHOPGgHgOd4BMGiq2gtXAveGM8B9pSd9b4r4WKnqp1Fd0vkDtk8l973mIk8KKKUYnKRr9SFw== +conventional-recommended-bump@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" + integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== dependencies: concat-stream "^2.0.0" conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.6" - conventional-commits-parser "^3.1.0" - git-raw-commits "2.0.0" - git-semver-tags "^4.0.0" - meow "^7.0.0" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" q "^1.5.1" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copyfiles@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz" + integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^1.0.4" + noms "0.0.0" + through2 "^2.0.1" + untildify "^4.0.0" + yargs "^16.1.0" core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== cosmiconfig@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: "@types/parse-json" "^4.0.0" @@ -891,16 +1086,14 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cz-conventional-changelog@3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz#6aef1f892d64113343d7e455529089ac9f20e477" + resolved "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz" integrity sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg== dependencies: chalk "^2.4.1" @@ -912,117 +1105,114 @@ cz-conventional-changelog@3.2.0: optionalDependencies: "@commitlint/load" ">6.1.1" -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= +cz-conventional-changelog@3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz" + integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== dependencies: - number-is-nan "^1.0.0" + chalk "^2.4.1" + commitizen "^4.0.3" + conventional-commit-types "^3.0.0" + lodash.map "^4.5.1" + longest "^2.0.1" + word-wrap "^1.0.3" + optionalDependencies: + "@commitlint/load" ">6.1.1" + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== dateformat@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: +decamelize-keys@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== dedent@0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" + clone "^1.0.2" -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-file@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" + integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== -detect-indent@6.0.0, detect-indent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +detect-indent@^6.0.0, detect-indent@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-newline@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== dot-prop@^5.1.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" -dotenv@*, dotenv@^8.2.0: +dotenv@^8.2.0: version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== dotgitignore@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" + resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== dependencies: find-up "^3.0.0" @@ -1030,368 +1220,323 @@ dotgitignore@^2.1.0: ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.284: + version "1.4.393" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.393.tgz" + integrity sha512-Yl1E9pu+7PBKSVHZsuw79QVa8ZonpyxBGI/MnuBumiXpxNuNwFo9iZLAAhQGla/LTAt1A7zR4PwgysukxJc0qA== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -error-ex@^1.2.0, error-ex@^1.3.1: +enhanced-resolve@^5.14.0: + version "5.14.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz" + integrity sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" +es-module-lexer@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz" + integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-lite@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/event-lite/-/event-lite-0.1.2.tgz#838a3e0fdddef8cc90f128006c8e55a4e4e4c11b" + resolved "https://registry.npmjs.org/event-lite/-/event-lite-0.1.2.tgz" integrity sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g== -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" + integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== dependencies: homedir-polyfill "^1.0.1" express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + version "4.18.2" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: - accepts "~1.3.7" + accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" + body-parser "1.20.1" + content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.0" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" + proxy-addr "~2.0.7" + qs "6.11.0" range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - external-editor@^3.0.3: version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-text-webpack-plugin@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" - integrity sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ== - dependencies: - async "^2.4.1" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - webpack-sources "^1.0.1" - -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-sha256@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-sha256/-/fast-sha256-1.3.0.tgz#7916ba2054eeb255982608cccd0f6660c79b7ae6" + resolved "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz" integrity sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ== -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= +figures@^3.0.0, figures@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" -figures@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" -find-node-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.0.0.tgz#5db1fb9e668a3d451db3d618cd167cdd59e41b69" - integrity sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw== +find-node-modules@^2.1.2: + version "2.1.3" + resolved "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz" + integrity sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg== dependencies: - findup-sync "^3.0.0" - merge "^1.2.1" + findup-sync "^4.0.0" + merge "^2.1.1" find-root@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - find-up@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== dependencies: detect-file "^1.0.0" is-glob "^4.0.0" - micromatch "^3.0.4" + micromatch "^4.0.2" resolve-dir "^1.0.1" -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-access@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= - dependencies: - null-check "^1.0.0" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== +fs-extra@9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: + at-least-node "^1.0.0" graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" + jsonfile "^6.0.1" + universalify "^2.0.0" fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -get-caller-file@^2.0.1: +get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0= +get-intrinsic@^1.0.2: + version "1.2.0" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" -git-raw-commits@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" - integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" through2 "^2.0.0" + yargs "^16.2.0" + +git-raw-commits@^2.0.8: + version "2.0.11" + resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" git-remote-origin-url@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= + resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" + integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== dependencies: gitconfiglocal "^1.0.0" pify "^2.3.0" git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== dependencies: meow "^8.0.0" @@ -1399,52 +1544,45 @@ git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: gitconfiglocal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= + resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" + integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== dependencies: ini "^1.3.2" -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.0.5, glob@7.2.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" global-dirs@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== dependencies: ini "^1.3.4" global-modules@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== dependencies: global-prefix "^1.0.1" @@ -1453,8 +1591,8 @@ global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" + integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== dependencies: expand-tilde "^2.0.2" homedir-polyfill "^1.0.1" @@ -1462,15 +1600,15 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -handlebars@^4.7.6: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" neo-async "^2.6.0" @@ -1481,488 +1619,342 @@ handlebars@^4.7.6: hard-rejection@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^3.0.6: - version "3.0.7" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" - integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== + version "3.0.8" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +hosted-git-info@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + lru-cache "^6.0.0" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" + depd "2.0.0" inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@^0.4.24, iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.8: +ieee754@^1.1.13, ieee754@^1.1.8: version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" + integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== + import-fresh@^3.0.0, import-fresh@^3.1.0: version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - ini@^1.3.2, ini@^1.3.4: version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inquirer@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== +inquirer@8.2.5: + version "8.2.5" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" through "^2.3.6" + wrap-ansi "^7.0.0" int64-buffer@^0.1.9: version "0.1.10" - resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-0.1.10.tgz#277b228a87d95ad777d07c13832022406a473423" - integrity sha1-J3siiofZWtd30HwTgyAiQGpHNCM= - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + resolved "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.10.tgz" + integrity sha1-J3siiofZWtd30HwTgyAiQGpHNCM= sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA== ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-core-module@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz" integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-promise@^2.1.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== is-text-path@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= + resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" + integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: text-extensions "^1.0.0" -is-utf8@^0.2.0, is-utf8@^0.2.1: +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-utf8@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stringify-safe@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" jsonparse@^1.2.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + jsonparse "^1.2.0" + through ">=2.2.7 <3" -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== lines-and-columns@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ== load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" pify "^3.0.0" strip-bom "^3.0.0" -loader-utils@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -1970,67 +1962,49 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" lodash.ismatch@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= + resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" + integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== lodash.map@^4.5.1: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + resolved "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== -lodash.template@^4.0.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" +lodash@^4.17.15, lodash@^4.17.21, lodash@4, lodash@4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - lodash._reinterpolate "^3.0.0" - -lodash@4, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - -lodash@4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + chalk "^4.1.0" + is-unicode-supported "^0.1.0" longest@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" - integrity sha1-eB4YMpaqlPbU2RbcM10NF676I/g= - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + resolved "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz" + integrity sha1-eB4YMpaqlPbU2RbcM10NF676I/g= sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== lowdb@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lowdb/-/lowdb-1.0.0.tgz#5243be6b22786ccce30e50c9a33eac36b20c8064" + resolved "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz" integrity sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ== dependencies: graceful-fs "^4.1.3" @@ -2041,94 +2015,34 @@ lowdb@^1.0.0: lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz" integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== meow@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" + resolved "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz" integrity sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg== dependencies: "@types/minimist" "^1.2.0" @@ -2145,172 +2059,196 @@ meow@^8.0.0: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== -merge@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz" + integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.0.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +mini-css-extract-plugin@^2.7.5: + version "2.7.5" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz" + integrity sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ== + dependencies: + schema-utils "^4.0.0" + +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimist-options@4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" +minimist@^1.2.5, minimist@1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== -minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== modify-values@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== msgpack-lite@^0.1.26: version "0.1.26" - resolved "https://registry.yarnpkg.com/msgpack-lite/-/msgpack-lite-0.1.26.tgz#dd3c50b26f059f25e7edee3644418358e2a9ad89" - integrity sha1-3TxQsm8FnyXn7e42REGDWOKprYk= + resolved "https://registry.npmjs.org/msgpack-lite/-/msgpack-lite-0.1.26.tgz" + integrity sha1-3TxQsm8FnyXn7e42REGDWOKprYk= sha512-SZ2IxeqZ1oRFGo0xFGbvBJWMp3yLIY9rlIJyxy8CGrwZn1f0ZK4r6jV/AM1r0FZMDUkWkglOk/eeKIL9g77Nxw== dependencies: event-lite "^0.1.1" ieee754 "^1.1.8" int64-buffer "^0.1.9" isarray "^1.0.0" -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nanotimer@^0.3.15: version "0.3.15" - resolved "https://registry.yarnpkg.com/nanotimer/-/nanotimer-0.3.15.tgz#280d277db9146eca6f8a570b572abaf2a9acc754" - integrity sha1-KA0nfbkUbspvilcLVyq68qmsx1Q= + resolved "https://registry.npmjs.org/nanotimer/-/nanotimer-0.3.15.tgz" + integrity sha1-KA0nfbkUbspvilcLVyq68qmsx1Q= sha512-xj8HcwceqeRbfSuwNIzYhdbyZu3zoiHX3y2cyVB/cLn0RzVCI8ZZVQLZELEUMG2tYEsjqbCLb3b4q1lDC7ENnA== -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.6.0: +neo-async@^2.6.0, neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== node-brigadier@^0.0.12: version "0.0.12" - resolved "https://registry.yarnpkg.com/node-brigadier/-/node-brigadier-0.0.12.tgz#f8dbd6d9c99e67c1feb7978654357fb3729dea8e" + resolved "https://registry.npmjs.org/node-brigadier/-/node-brigadier-0.0.12.tgz" integrity sha512-0chxvERFmTNrvmKJki7+4zyz/iXAJxpfHL1eLbU+HMEAl+DGamNeQeAapiPwnNt8CQrcR6UOnTWtObW+oXjC2g== -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +nodemon@^2.0.22: + version "2.0.22" + resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz" + integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ== + dependencies: + chokidar "^3.5.2" + debug "^3.2.7" + ignore-by-default "^1.0.1" + minimatch "^3.1.2" + pstree.remy "^1.1.8" + semver "^5.7.1" + simple-update-notifier "^1.0.7" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.5" + +noms@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz" + integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -2320,7 +2258,7 @@ normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package- normalize-package-data@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz" integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw== dependencies: hosted-git-info "^3.0.6" @@ -2330,159 +2268,148 @@ normalize-package-data@^3.0.0: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - nunjucks@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.2.tgz#45f915fef0f89fbab38c489dc85025f64859f466" - integrity sha512-KUi85OoF2NMygwODAy28Lh9qHmq5hO3rBlbkYoC8v377h4l8Pt5qFjILl0LWpMbOrZ18CzfVVUvIHUIrtED3sA== + version "3.2.4" + resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz" + integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ== dependencies: a-sync-waterfall "^1.0.0" asap "^2.0.3" commander "^5.1.0" - optionalDependencies: - chokidar "^3.3.0" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" once@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-json@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz" integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ== dependencies: "@babel/code-frame" "^7.0.0" @@ -2492,190 +2419,154 @@ parse-json@^5.0.0: parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" + integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -pify@^2.0.0, pify@^2.3.0: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" +pstree.remy@^1.1.8: + version "1.1.8" + resolved "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + q@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" quick-lru@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: - bytes "3.1.0" - http-errors "1.7.2" + bytes "3.1.2" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - read-pkg-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: find-up "^2.0.0" read-pkg "^3.0.0" read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" @@ -2683,7 +2574,7 @@ read-pkg@^3.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -2691,19 +2582,29 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@3, readable-stream@^3.0.2: +readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@3: version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@~1.0.31: + version "1.0.34" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -2713,315 +2614,242 @@ readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - redent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" strip-indent "^3.0.0" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" + integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== dependencies: expand-tilde "^2.0.0" global-modules "^1.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-global@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" + resolved "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz" integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== dependencies: global-dirs "^0.1.1" -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.17.0: +resolve@^1.10.0, resolve@^1.17.0: version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: is-core-module "^2.1.0" path-parse "^1.0.6" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - onetime "^2.0.0" + onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -run-async@^2.2.0: +run-async@^2.4.0: version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -rxjs@^6.4.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" - integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== +rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: - tslib "^1.9.0" + tslib "^2.1.0" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" +safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= +schema-utils@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== dependencies: - ajv "^5.0.0" + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"semver@2 || 3 || 4 || 5": +schema-utils@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz" + integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +semver@^5.7.1: version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@^6.0.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.1.1, semver@^7.3.2: version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== +semver@~7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.7.2" + http-errors "2.0.0" mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" + ms "2.1.3" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" + +serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.1" + send "0.18.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -shelljs@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== +simple-update-notifier@^1.0.7: + version "1.1.0" + resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz" + integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + semver "~7.0.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" + buffer-from "^1.0.0" + source-map "^0.6.0" -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -3029,12 +2857,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -3042,191 +2870,207 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz" integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== +split@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== dependencies: - extend-shallow "^3.0.0" + through "2" split2@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" + resolved "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz" integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== dependencies: through2 "^2.0.2" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: - through "2" + readable-stream "^3.0.0" -standard-version@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-8.0.2.tgz#02ed7131f83046bd04358dc54f97d42c4b2fd828" - integrity sha512-L8X9KFq2SmVmaeZgUmWHFJMOsEWpjgFAwqic6yIIoveM1kdw1vH4Io03WWxUDjypjGqGU6qUtcJoR8UvOv5w3g== +standard-version@^9.5.0: + version "9.5.0" + resolved "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz" + integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q== dependencies: chalk "^2.4.2" - conventional-changelog "3.1.21" + conventional-changelog "3.1.25" conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.3.0" - conventional-recommended-bump "6.0.9" + conventional-changelog-conventionalcommits "4.6.3" + conventional-recommended-bump "6.1.0" detect-indent "^6.0.0" detect-newline "^3.1.0" dotgitignore "^2.1.0" figures "^3.1.0" - find-up "^4.1.0" - fs-access "^1.0.1" + find-up "^5.0.0" git-semver-tags "^4.0.0" semver "^7.1.1" stringify-package "^1.0.1" - yargs "^15.3.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" + yargs "^16.0.0" -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== steno@^0.4.1: version "0.4.4" - resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb" - integrity sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs= + resolved "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz" + integrity sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs= sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w== dependencies: graceful-fs "^4.1.3" -string-width@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + stringify-package@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" + resolved "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz" integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^4.1.0" + ansi-regex "^5.0.1" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.7: + version "5.3.8" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz" + integrity sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" + +terser@^5.16.8: + version "5.17.3" + resolved "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz" + integrity sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + text-extensions@^1.0.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -through2@^2.0.0, through2@^2.0.2: +through@^2.3.6, "through@>=2.2.7 <3", through@2: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +through2@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^2.0.2: + version "2.0.5" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" @@ -3234,113 +3078,94 @@ through2@^2.0.0, through2@^2.0.2: through2@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== + version "3.0.1" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= - -tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + version "1.0.3" + resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz" + integrity sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg== + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.1.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== type-fest@^0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.18.0: version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@~1.6.18: version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -3348,70 +3173,72 @@ type-is@~1.6.17, type-is@~1.6.18: typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^3.9.2: +typescript@^3.9.2, typescript@>=2.7: version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: version "3.12.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.1.tgz#78307f539f7b9ca5557babb186ea78ad30cc0375" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.1.tgz" integrity sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ== -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" +undefsafe@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz" + integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +update-browserslist-db@^1.0.10: + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -3419,48 +3246,85 @@ validate-npm-package-license@^3.0.1: vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vec2@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/vec2/-/vec2-1.6.1.tgz#45fad8384558fb103000e48d54e60c02804d181d" + resolved "https://registry.npmjs.org/vec2/-/vec2-1.6.1.tgz" integrity sha512-6/1i+Z2JSglrBQYCrjogt8f2X3pFXRpFOncMBrUL+T+640+bOBRRTXvZx3HUnaGelioNmfBLUnIIKdqwjO1hHw== -webpack-sources@^1.0.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.0.0, webpack@^5.1.0: + version "5.82.1" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.82.1.tgz" + integrity sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.14.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.2" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" which@^1.2.14: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" word-wrap@^1.0.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wordwrap@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -3468,60 +3332,58 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== ws@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== xtend@~4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.7.2: version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== +yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==